diff --git a/tests/rest/client/v2_alpha/test_account.py b/tests/rest/client/v2_alpha/test_account.py
index 0d1c0868ce..a60a4a3b87 100644
--- a/tests/rest/client/v2_alpha/test_account.py
+++ b/tests/rest/client/v2_alpha/test_account.py
@@ -15,6 +15,7 @@
# See the License for the specific language governing permissions and
# limitations under the License.
+import json
import os
import re
from email.parser import Parser
@@ -239,3 +240,47 @@ class PasswordResetTestCase(unittest.HomeserverTestCase):
)
self.render(request)
self.assertEquals(expected_code, channel.code, channel.result)
+
+
+class DeactivateTestCase(unittest.HomeserverTestCase):
+
+ servlets = [
+ synapse.rest.admin.register_servlets_for_client_rest_resource,
+ login.register_servlets,
+ account.register_servlets,
+ ]
+
+ def make_homeserver(self, reactor, clock):
+ hs = self.setup_test_homeserver()
+ return hs
+
+ def test_deactivate_account(self):
+ user_id = self.register_user("kermit", "test")
+ tok = self.login("kermit", "test")
+
+ request_data = json.dumps({
+ "auth": {
+ "type": "m.login.password",
+ "user": user_id,
+ "password": "test",
+ },
+ "erase": False,
+ })
+ request, channel = self.make_request(
+ "POST",
+ "account/deactivate",
+ request_data,
+ access_token=tok,
+ )
+ self.render(request)
+ self.assertEqual(request.code, 200)
+
+ store = self.hs.get_datastore()
+
+ # Check that the user has been marked as deactivated.
+ self.assertTrue(self.get_success(store.get_user_deactivated_status(user_id)))
+
+ # Check that this access token has been invalidated.
+ request, channel = self.make_request("GET", "account/whoami")
+ self.render(request)
+ self.assertEqual(request.code, 401)
diff --git a/tests/storage/test_event_metrics.py b/tests/storage/test_event_metrics.py
index 20a068f1fc..1655fcdafc 100644
--- a/tests/storage/test_event_metrics.py
+++ b/tests/storage/test_event_metrics.py
@@ -13,6 +13,8 @@
# See the License for the specific language governing permissions and
# limitations under the License.
+from prometheus_client.exposition import generate_latest
+
from synapse.metrics import REGISTRY
from synapse.types import Requester, UserID
@@ -52,46 +54,29 @@ class ExtremStatisticsTestCase(HomeserverTestCase):
self.reactor.advance(60 * 60 * 1000)
self.pump(1)
- items = list(
+ items = set(
filter(
- lambda x: x.name == "synapse_forward_extremities",
- list(REGISTRY.collect()),
+ lambda x: b"synapse_forward_extremities_" in x,
+ generate_latest(REGISTRY).split(b"\n"),
)
)
- # Check the values are what we want
- buckets = {}
- _count = 0
- _sum = 0
-
- for i in items[0].samples:
- if i[0].endswith("_bucket"):
- buckets[i[1]['le']] = i[2]
- elif i[0].endswith("_count"):
- _count = i[2]
- elif i[0].endswith("_sum"):
- _sum = i[2]
+ expected = set([
+ b'synapse_forward_extremities_bucket{le="1.0"} 0.0',
+ b'synapse_forward_extremities_bucket{le="2.0"} 2.0',
+ b'synapse_forward_extremities_bucket{le="3.0"} 0.0',
+ b'synapse_forward_extremities_bucket{le="5.0"} 0.0',
+ b'synapse_forward_extremities_bucket{le="7.0"} 1.0',
+ b'synapse_forward_extremities_bucket{le="10.0"} 0.0',
+ b'synapse_forward_extremities_bucket{le="15.0"} 0.0',
+ b'synapse_forward_extremities_bucket{le="20.0"} 0.0',
+ b'synapse_forward_extremities_bucket{le="50.0"} 0.0',
+ b'synapse_forward_extremities_bucket{le="100.0"} 0.0',
+ b'synapse_forward_extremities_bucket{le="200.0"} 0.0',
+ b'synapse_forward_extremities_bucket{le="500.0"} 0.0',
+ b'synapse_forward_extremities_bucket{le="+Inf"} 3.0',
+ b'synapse_forward_extremities_count 3.0',
+ b'synapse_forward_extremities_sum 10.0',
+ ])
- # 3 buckets, 2 with 2 extrems, 1 with 6 extrems (bucketed as 7), and
- # +Inf which is all
- self.assertEqual(
- buckets,
- {
- 1.0: 0,
- 2.0: 2,
- 3.0: 0,
- 5.0: 0,
- 7.0: 1,
- 10.0: 0,
- 15.0: 0,
- 20.0: 0,
- 50.0: 0,
- 100.0: 0,
- 200.0: 0,
- 500.0: 0,
- "+Inf": 3,
- },
- )
- # 3 rooms, with 10 total events
- self.assertEqual(_count, 3)
- self.assertEqual(_sum, 10)
+ self.assertEqual(items, expected)
|