Remove redundant get_success calls in test code (#12346)

There are a bunch of places we call get_success on an immediate value, which is unnecessary. Let's rip them out, and remove the redundant functionality in get_success and friends.
This commit is contained in:
Richard van der Hoff 2022-04-01 16:10:31 +01:00 committed by GitHub
parent c4cf916ed7
commit 33ebee47e4
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
13 changed files with 76 additions and 123 deletions

View file

@ -16,7 +16,6 @@
import gc
import hashlib
import hmac
import inspect
import json
import logging
import secrets
@ -519,33 +518,23 @@ class HomeserverTestCase(TestCase):
self.reactor.pump([by] * 100)
def get_success(self, d, by=0.0):
if inspect.isawaitable(d):
d = ensureDeferred(d)
if not isinstance(d, Deferred):
return d
deferred: Deferred[TV] = ensureDeferred(d)
self.pump(by=by)
return self.successResultOf(d)
return self.successResultOf(deferred)
def get_failure(self, d, exc):
"""
Run a Deferred and get a Failure from it. The failure must be of the type `exc`.
"""
if inspect.isawaitable(d):
d = ensureDeferred(d)
if not isinstance(d, Deferred):
return d
deferred: Deferred[Any] = ensureDeferred(d)
self.pump()
return self.failureResultOf(d, exc)
return self.failureResultOf(deferred, 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
deferred: Deferred[TV] = ensureDeferred(d)
results: list = []
deferred.addBoth(results.append)