summary refs log tree commit diff
path: root/tests/storage/test_transactions.py
diff options
context:
space:
mode:
authorTravis Ralston <travpc@gmail.com>2018-10-12 14:49:58 -0600
committerTravis Ralston <travpc@gmail.com>2018-10-12 14:49:58 -0600
commite3586f7c06f3c779e87f9ea3bf4e4ac549a451c9 (patch)
tree2ef1ecdb2f2c6641a81a47adf51fda62343be7e3 /tests/storage/test_transactions.py
parentRemove debugging statement (diff)
parentMake workers work on Py3 (#4027) (diff)
downloadsynapse-e3586f7c06f3c779e87f9ea3bf4e4ac549a451c9.tar.xz
Merge branch 'develop' into travis/fix-federated-group-requests
Diffstat (limited to 'tests/storage/test_transactions.py')
-rw-r--r--tests/storage/test_transactions.py45
1 files changed, 45 insertions, 0 deletions
diff --git a/tests/storage/test_transactions.py b/tests/storage/test_transactions.py
new file mode 100644

index 0000000000..14169afa96 --- /dev/null +++ b/tests/storage/test_transactions.py
@@ -0,0 +1,45 @@ +# -*- coding: utf-8 -*- +# Copyright 2018 New Vector Ltd +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +from tests.unittest import HomeserverTestCase + + +class TransactionStoreTestCase(HomeserverTestCase): + def prepare(self, reactor, clock, homeserver): + self.store = homeserver.get_datastore() + + def test_get_set_transactions(self): + """Tests that we can successfully get a non-existent entry for + destination retries, as well as testing tht we can set and get + correctly. + """ + d = self.store.get_destination_retry_timings("example.com") + r = self.get_success(d) + self.assertIsNone(r) + + d = self.store.set_destination_retry_timings("example.com", 50, 100) + self.get_success(d) + + d = self.store.get_destination_retry_timings("example.com") + r = self.get_success(d) + + self.assert_dict({"retry_last_ts": 50, "retry_interval": 100}, r) + + def test_initial_set_transactions(self): + """Tests that we can successfully set the destination retries (there + was a bug around invalidating the cache that broke this) + """ + d = self.store.set_destination_retry_timings("example.com", 50, 100) + self.get_success(d)