def test_session_close( doggo_proxy, session: Session, http_doggo_url: str ): client = session.client check_response(session.get(http_doggo_url)) session.close_channel() open_channels = client.get_open_channels() assert len(open_channels) == 0
def test_cooperative_close_denied(session: Session, api_endpoint_address: str, token_address: str, channel_manager_address: str, receiver_address: str): cooperative_close_denied_mock = mock.patch.object( session, 'on_cooperative_close_denied', wraps=session.on_cooperative_close_denied).start() with requests_mock.mock() as server_mock: headers = { HTTPHeaders.TOKEN_ADDRESS: token_address, HTTPHeaders.CONTRACT_ADDRESS: channel_manager_address, HTTPHeaders.RECEIVER_ADDRESS: receiver_address, HTTPHeaders.PRICE: '3' } headers = [headers.copy() for _ in range(2)] headers[1][HTTPHeaders.COST] = '3' url = 'http://{}/something'.format(api_endpoint_address) server_mock.get(url, [ { 'status_code': 402, 'headers': headers[0] }, { 'status_code': 200, 'headers': headers[1], 'text': 'success' }, ]) channel_url = re.compile( 'http://{}/api/1/channels/0x.{{40}}/\d+'.format( api_endpoint_address)) server_mock.delete(channel_url, [{'status_code': 403}]) response = session.get(url) session.close_channel() assert response.text == 'success' assert cooperative_close_denied_mock.call_count == 1 assert session.client.channels[0].state == Channel.State.settling
def test_cooperative_close_denied( session: Session, api_endpoint_address: str, token_address: str, channel_manager_address: str, receiver_address: str ): cooperative_close_denied_mock = mock.patch.object( session, 'on_cooperative_close_denied', wraps=session.on_cooperative_close_denied ).start() with requests_mock.mock(real_http=True) as server_mock: headers = { HTTPHeaders.TOKEN_ADDRESS: token_address, HTTPHeaders.CONTRACT_ADDRESS: channel_manager_address, HTTPHeaders.RECEIVER_ADDRESS: receiver_address, HTTPHeaders.PRICE: '3' } headers = [headers.copy() for _ in range(2)] headers[1][HTTPHeaders.COST] = '3' url = 'http://{}/something'.format(api_endpoint_address) server_mock.get(url, [ {'status_code': 402, 'headers': headers[0]}, {'status_code': 200, 'headers': headers[1], 'text': 'success'}, ]) channel_url = re.compile( 'http://{}/api/1/channels/0x.{{40}}/\d+'.format(api_endpoint_address) ) server_mock.delete(channel_url, [ {'status_code': 403} ]) response = session.get(url) session.close_channel() assert response.text == 'success' assert cooperative_close_denied_mock.call_count == 1 assert session.channel.state == Channel.State.settling