diff options
author | Richard van der Hoff <1389908+richvdh@users.noreply.github.com> | 2020-04-29 12:30:36 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-04-29 12:30:36 +0100 |
commit | c2e1a2110fbe9ead26b4ecbb1afd504ed035a04d (patch) | |
tree | fabef4097b767da1d68d2b955ba186e33d21fa91 /tests/replication/tcp/streams/test_receipts.py | |
parent | Fix fallback value for account_threepid_delegates.email (#7316) (diff) | |
download | synapse-c2e1a2110fbe9ead26b4ecbb1afd504ed035a04d.tar.xz |
Fix limit logic for EventsStream (#7358)
* Factor out functions for injecting events into database I want to add some more flexibility to the tools for injecting events into the database, and I don't want to clutter up HomeserverTestCase with them, so let's factor them out to a new file. * Rework TestReplicationDataHandler This wasn't very easy to work with: the mock wrapping was largely superfluous, and it's useful to be able to inspect the received rows, and clear out the received list. * Fix AssertionErrors being thrown by EventsStream Part of the problem was that there was an off-by-one error in the assertion, but also the limit logic was too simple. Fix it all up and add some tests.
Diffstat (limited to 'tests/replication/tcp/streams/test_receipts.py')
-rw-r--r-- | tests/replication/tcp/streams/test_receipts.py | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/tests/replication/tcp/streams/test_receipts.py b/tests/replication/tcp/streams/test_receipts.py index a0206f7363..c122b8589c 100644 --- a/tests/replication/tcp/streams/test_receipts.py +++ b/tests/replication/tcp/streams/test_receipts.py @@ -12,6 +12,11 @@ # 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. + +# type: ignore + +from mock import Mock + from synapse.replication.tcp.streams._base import ReceiptsStream from tests.replication.tcp.streams._base import BaseStreamTestCase @@ -20,11 +25,14 @@ USER_ID = "@feeling:blue" class ReceiptsStreamTestCase(BaseStreamTestCase): + def _build_replication_data_handler(self): + return Mock(wraps=super()._build_replication_data_handler()) + def test_receipt(self): self.reconnect() # make the client subscribe to the receipts stream - self.test_handler.streams.add("receipts") + self.test_handler.stream_positions.update({"receipts": 0}) # tell the master to send a new receipt self.get_success( |