def test_fixture_reader_thread2(_dummy_socket): sock = _DummySocket() reader_thread = ReaderThread(sock) reader_thread.start() json_part = json.dumps({'key': 'val'}) json_part = json_part.replace(':', ':\n') msg = json_part http = ('Content-Length: %s\r\n\r\n%s' % (len(msg), msg)) sock.put('msg1\nmsg2\nmsg3\n' + http + http) assert reader_thread.get_next_message('check 1') == 'msg1' assert reader_thread.get_next_message('check 2') == 'msg2' assert reader_thread.get_next_message('check 3') == 'msg3' assert reader_thread.get_next_message('check 4') == json_part assert reader_thread.get_next_message('check 5') == json_part
def test_fixture_reader_thread1(_dummy_socket): sock = _dummy_socket reader_thread = ReaderThread(sock) reader_thread.start() json_part = json.dumps({'key': 'val'}) json_part = json_part.replace(':', ':\n') msg = json_part msg = ('Content-Length: %s\r\n\r\n%s' % (len(msg), msg)).encode('utf-8') # Check that receiving 2 messages at a time we're able to properly deal # with each one. sock.put(msg + msg) assert reader_thread.get_next_message('check 1') == json_part assert reader_thread.get_next_message('check 2') == json_part
def test_fixture_reader_thread3(_dummy_socket): sock = _DummySocket() reader_thread = ReaderThread(sock) reader_thread.start() msg = 'aaaaaaabbbbbbbccccccc' http = ('Content-Length: %s\r\n\r\n%s' % (len(msg), msg)) http *= 2 initial = http for i in range(1, len(http)): while http: sock.put(http[:i]) http = http[i:] assert reader_thread.get_next_message('check 1: %s' % i) == msg assert reader_thread.get_next_message('check 2: %s' % i) == msg http = initial