mirror of
https://git.anonymousland.org/anonymousland/synapse.git
synced 2025-05-02 20:34:48 -04:00
Add checks for postgres sequence consistency (#8402)
This commit is contained in:
parent
5e3ca12b15
commit
bd380d942f
8 changed files with 160 additions and 6 deletions
|
@ -14,7 +14,6 @@
|
|||
# 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.
|
||||
|
||||
import gc
|
||||
import hashlib
|
||||
import hmac
|
||||
|
@ -28,6 +27,7 @@ from mock import Mock, patch
|
|||
from canonicaljson import json
|
||||
|
||||
from twisted.internet.defer import Deferred, ensureDeferred, succeed
|
||||
from twisted.python.failure import Failure
|
||||
from twisted.python.threadpool import ThreadPool
|
||||
from twisted.trial import unittest
|
||||
|
||||
|
@ -476,6 +476,35 @@ class HomeserverTestCase(TestCase):
|
|||
self.pump()
|
||||
return self.failureResultOf(d, exc)
|
||||
|
||||
def get_success_or_raise(self, d, by=0.0):
|
||||
"""Drive deferred to completion and return result or raise exception
|
||||
on failure.
|
||||
"""
|
||||
|
||||
if inspect.isawaitable(d):
|
||||
deferred = ensureDeferred(d)
|
||||
if not isinstance(deferred, Deferred):
|
||||
return d
|
||||
|
||||
results = [] # type: list
|
||||
deferred.addBoth(results.append)
|
||||
|
||||
self.pump(by=by)
|
||||
|
||||
if not results:
|
||||
self.fail(
|
||||
"Success result expected on {!r}, found no result instead".format(
|
||||
deferred
|
||||
)
|
||||
)
|
||||
|
||||
result = results[0]
|
||||
|
||||
if isinstance(result, Failure):
|
||||
result.raiseException()
|
||||
|
||||
return result
|
||||
|
||||
def register_user(self, username, password, admin=False):
|
||||
"""
|
||||
Register a user. Requires the Admin API be registered.
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue