def setUp(self): self.__fake_socket = FakeSocket() self.__fake_run_state = FakeRunState() self.__last_request = None parser = LineRequestParser(10) request_stream = RequestStream(self.__fake_socket, parser.parse_request, max_buffer_size=10, max_request_size=10) self.__fake_handler = ConnectionProcessor(request_stream, self.execute_request, self.__fake_run_state, 5.0) self.__fake_time = 0.0
class TestConnectionHandler(ScalyrTestCase): def setUp(self): super(TestConnectionHandler, self).setUp() self.__fake_socket = FakeSocket() self.__fake_run_state = FakeRunState() self.__last_request = None parser = LineRequestParser(10) request_stream = RequestStream(self.__fake_socket, parser.parse_request, max_buffer_size=10, max_request_size=10) self.__fake_handler = ConnectionProcessor(request_stream, self.execute_request, self.__fake_run_state, 5.0) self.__fake_time = 0.0 def test_basic_case(self): self.__fake_socket.add_input('Hi there\n') self.assertTrue(self.run_single_cycle()) self.assertEquals(self.__last_request, 'Hi there\n') def test_multiple_requests(self): self.__fake_socket.add_input('Hi there\n') self.assertTrue(self.run_single_cycle()) self.assertEquals(self.__last_request, 'Hi there\n') self.advance_time(3.0) self.__fake_socket.add_input('2nd there\n') self.assertTrue(self.run_single_cycle()) self.assertEquals(self.__last_request, '2nd there\n') self.advance_time(3.0) self.assertTrue(self.run_single_cycle()) self.assertIsNone(self.__last_request) def test_inactivity_error(self): self.__fake_socket.add_input('Hi there\n') self.assertTrue(self.run_single_cycle()) self.assertEquals(self.__last_request, 'Hi there\n') self.advance_time(3.0) self.assertTrue(self.run_single_cycle()) self.assertIsNone(self.__last_request) self.advance_time(3.0) self.assertRaises(ConnectionIdleTooLong, self.run_single_cycle) def test_run_state_done(self): self.__fake_socket.add_input('Hi there\nOk\n') self.assertTrue(self.run_single_cycle()) self.assertEquals(self.__last_request, 'Hi there\n') self.__fake_run_state.stop() self.assertFalse(self.run_single_cycle()) self.assertIsNone(self.__last_request) def test_connection_closed(self): self.__fake_socket.add_input('Hi there\n') self.assertTrue(self.run_single_cycle()) self.assertEquals(self.__last_request, 'Hi there\n') self.__fake_socket.close() self.assertFalse(self.run_single_cycle()) self.assertIsNone(self.__last_request) def execute_request(self, request): self.__last_request = request def run_single_cycle(self): self.__last_request = None return self.__fake_handler.run_single_cycle( current_time=self.__fake_time) def advance_time(self, delta): self.__fake_time += delta
class TestConnectionHandler(ScalyrTestCase): def setUp(self): self.__fake_socket = FakeSocket() self.__fake_run_state = FakeRunState() self.__last_request = None parser = LineRequestParser(10) request_stream = RequestStream(self.__fake_socket, parser.parse_request, max_buffer_size=10, max_request_size=10) self.__fake_handler = ConnectionProcessor(request_stream, self.execute_request, self.__fake_run_state, 5.0) self.__fake_time = 0.0 def test_basic_case(self): self.__fake_socket.add_input('Hi there\n') self.assertTrue(self.run_single_cycle()) self.assertEquals(self.__last_request, 'Hi there\n') def test_multiple_requests(self): self.__fake_socket.add_input('Hi there\n') self.assertTrue(self.run_single_cycle()) self.assertEquals(self.__last_request, 'Hi there\n') self.advance_time(3.0) self.__fake_socket.add_input('2nd there\n') self.assertTrue(self.run_single_cycle()) self.assertEquals(self.__last_request, '2nd there\n') self.advance_time(3.0) self.assertTrue(self.run_single_cycle()) self.assertIsNone(self.__last_request) def test_inactivity_error(self): self.__fake_socket.add_input('Hi there\n') self.assertTrue(self.run_single_cycle()) self.assertEquals(self.__last_request, 'Hi there\n') self.advance_time(3.0) self.assertTrue(self.run_single_cycle()) self.assertIsNone(self.__last_request) self.advance_time(3.0) self.assertRaises(ConnectionIdleTooLong, self.run_single_cycle) def test_run_state_done(self): self.__fake_socket.add_input('Hi there\nOk\n') self.assertTrue(self.run_single_cycle()) self.assertEquals(self.__last_request, 'Hi there\n') self.__fake_run_state.stop() self.assertFalse(self.run_single_cycle()) self.assertIsNone(self.__last_request) def test_connection_closed(self): self.__fake_socket.add_input('Hi there\n') self.assertTrue(self.run_single_cycle()) self.assertEquals(self.__last_request, 'Hi there\n') self.__fake_socket.close() self.assertFalse(self.run_single_cycle()) self.assertIsNone(self.__last_request) def execute_request(self, request): self.__last_request = request def run_single_cycle(self): self.__last_request = None return self.__fake_handler.run_single_cycle(current_time=self.__fake_time) def advance_time(self, delta): self.__fake_time += delta