X-Git-Url: https://osm.etsi.org/gitweb/?a=blobdiff_plain;f=tests%2Funit%2Ftest_connection.py;h=c7f0bb40d7710d3801cc37de8a73010db21eaad4;hb=HEAD;hp=f69b8d6bc2a0a102957f9d1d0a29b59933110472;hpb=dcdf82bbc1ef310379f746518b2dd3b006353cb3;p=osm%2FN2VC.git diff --git a/tests/unit/test_connection.py b/tests/unit/test_connection.py deleted file mode 100644 index f69b8d6..0000000 --- a/tests/unit/test_connection.py +++ /dev/null @@ -1,54 +0,0 @@ -import asyncio -import json -import mock -import pytest -from collections import deque - -from websockets.exceptions import ConnectionClosed - -from .. import base -from juju.client.connection import Connection - - -class WebsocketMock: - def __init__(self, responses): - super().__init__() - self.responses = deque(responses) - self.open = True - - async def send(self, message): - pass - - async def recv(self): - if not self.responses: - await asyncio.sleep(1) # delay to give test time to finish - raise ConnectionClosed(0, 'ran out of responses') - return json.dumps(self.responses.popleft()) - - async def close(self): - self.open = False - - -@pytest.mark.asyncio -async def test_out_of_order(event_loop): - con = Connection(*[None]*4) - ws = WebsocketMock([ - {'request-id': 1}, - {'request-id': 3}, - {'request-id': 2}, - ]) - expected_responses = [ - {'request-id': 1}, - {'request-id': 2}, - {'request-id': 3}, - ] - con._get_sll = mock.MagicMock() - try: - with mock.patch('websockets.connect', base.AsyncMock(return_value=ws)): - await con.open() - actual_responses = [] - for i in range(3): - actual_responses.append(await con.rpc({'version': 1})) - assert actual_responses == expected_responses - finally: - await con.close()