def setUp(self): query_dict = { ('SELECT energieklasse, epi_imputed FROM energy_labels WHERE energieklasse IS NOT null AND epi_imputed > 0 AND vbo_id = %s', ('0003010000000001',)): [('A', 0.7)], ('SELECT energieklasse, epi_imputed FROM energy_labels WHERE energieklasse IS NOT null AND epi_imputed > 0 AND vbo_id = %s', ('0003010000000002',)): [] } self.connection = get_mock_connection(query_dict) self.energy_label_module = EnergyLabelModule(self.connection, silent=True)
def test_connection_has_option_to_accept_any_query(self): mock_connection = get_mock_connection(strict=False) mock_cursor = mock_connection.cursor() try: mock_cursor.execute('foo') except NotImplementedError: self.fail('Should not raise NotImplementedError when strict=False')
def setUp(self): query_dict = { ("SELECT vbo_id FROM bag WHERE buurt_id = %s", ('BU00000000', )): [("0363010000000006", ), ("0363010000000007", ), ("0363010000000008", )] } self.mock_connection = get_mock_connection(query_dict)
def setUp(self): query_dict = { ("SELECT vbo_id FROM bag WHERE pc6 = %s", ('1000AA', )): [("0363010000000001", ), ("0363010000000002", ), ("0363010000000003", ), ("0363010000000004", ), ("0363010000000005", )] } self.mock_connection = get_mock_connection(query_dict)
def setUp(self): self.region = Region() self.connection = get_mock_connection() self.vbo_id = '0363010000000001' self.placeholder_attributes = {'vbo_id': self.vbo_id} self.placeholder_dwelling = PlaceholderDwelling( self.placeholder_attributes, self.connection) self.region.dwellings.append(self.placeholder_dwelling)
def test_handle_message_with_mask(self): msg = b'\x81\x89\xc0\x9c}"\x94\xd9.v\xe0\xd8<v\x81' mock_connection = utils.get_mock_connection(returns=msg) self.server.handle_message = lambda self, conn, message: message resp = self.server.connection_handler(mock_connection) # setting mask_flag to 0 will have to_bytes() return the unmasked message for comparison resp.headers.mask_flag = 0 self.assertEqual(resp.to_bytes(), b'\x81\tTEST DATA')
def _test_connection_handler_fragmented_message(self, msg1, msg2, msg3, text1, text2, text3): mock_connection = utils.get_mock_connection(returns=msg1 + msg2 + msg3) r1 = self.server.connection_handler(mock_connection) self.assertEqual(r1.headers.fin, 0) r2 = self.server.connection_handler(mock_connection) self.assertEqual(r2.headers.fin, 0) self.server.handle_message = Mock(return_value="TEST") r3 = self.server.connection_handler(mock_connection) self.assertEqual(r3.to_bytes(), msg3)
def test_connection_can_be_used_in_modules_with_strict_false(self): class TestModule(BaseModule): outputs = {'example': {'type': 'float'}} # Note the strict = False, required since else # we get an undefined query. mock_connection = get_mock_connection(strict=False) try: test_module = TestModule(mock_connection, silent=True) except TypeError as e: self.fail(f'Should not raise TypeError "{e}"')
def setUp(self, register_range_mock): query_dict = { ('SELECT vbo_id FROM bag WHERE pc6 = %s', ('1000AA',)): [], ('SELECT energieklasse, epi_imputed FROM energy_labels WHERE energieklasse IS NOT null AND epi_imputed > 0 AND vbo_id = %s', ('0003010000000001',)): [('A', 0.7)], ('SELECT energieklasse, epi_imputed FROM energy_labels WHERE energieklasse IS NOT null AND epi_imputed > 0 AND vbo_id = %s', ('0003010000000002',)): [('B', 1.2)], ('SELECT energieklasse, epi_imputed FROM energy_labels WHERE energieklasse IS NOT null AND epi_imputed > 0 AND vbo_id = %s', ('0003010000000003',)): [], ('SELECT vbo_id FROM bag WHERE buurt_id = %s', ('BU0000000',)): [('0003010000000001',), ('0003010000000002',), ('0003010000000003',)] } self.connection = get_mock_connection(query_dict, strict=False) self.energy_label_prediction_module = EnergyLabelPredictionModule(self.connection, silent=True) self.energy_label_module = EnergyLabelModule(self.connection, silent=True) self.energy_label_regional_module = EnergyLabelRegionalModule(self.connection, silent=True) self.energy_label_class_range_mock = self.energy_label_prediction_module.EnergyLabelClassRange
def setUp(self): query_dict = { ('SELECT vbo_id FROM bag WHERE pc6 = %s', ('1000AA',)): [('0003010000000001',), ('0003010000000002',), ('0003010000000003',)], ('SELECT vbo_id FROM bag WHERE pc6 = %s', ('9999XX',)): [('0003010000000004',), ('0003010000000005',), ('0003010000000006',)], ('SELECT AVG(LN(epi_imputed)) FROM energy_labels WHERE pc6 = %s AND epi_imputed > 0', ('1000AA',)): [(0.5,)], ('SELECT AVG(LN(epi_imputed)) FROM energy_labels WHERE pc6 = %s AND epi_imputed > 0', ('9999XX',)): [(None,)], ('SELECT vbo_id FROM bag WHERE buurt_id = %s', ('BU0000000',)): [('0003010000000001',), ('0003010000000002',), ('0003010000000003',)], ('SELECT vbo_id FROM bag WHERE buurt_id = %s', ('BU0000001',)): [], ('SELECT energieklasse, epi_imputed FROM energy_labels WHERE energieklasse IS NOT null AND epi_imputed > 0 AND vbo_id = %s', ('0003010000000001',)): [('A', 0.7)], ('SELECT energieklasse, epi_imputed FROM energy_labels WHERE energieklasse IS NOT null AND epi_imputed > 0 AND vbo_id = %s', ('0003010000000002',)): [('B', 1.2)], ('SELECT energieklasse, epi_imputed FROM energy_labels WHERE energieklasse IS NOT null AND epi_imputed > 0 AND vbo_id = %s', ('0003010000000003',)): [] } self.connection = get_mock_connection(query_dict) self.energy_label_regional_module = EnergyLabelRegionalModule(self.connection, silent=True) self.energy_label_module = EnergyLabelModule(self.connection, silent=True)
def test_handle_handshake(self): client_handshake = bytes( "GET / HTTP/1.1\r\nSec-WebSocket-Key: dGhlIHNhbXBsZSBub25jZQ==\r\n", "utf-8") self.server.send_http_response = Mock() mock_conn = utils.get_mock_connection() self.server.handle_websocket_handshake(mock_conn, client_handshake) self.server.send_http_response.assert_called_once_with( mock_conn, 101, headers={ "Upgrade": "websocket", "Connection": "Upgrade", "Sec-WebSocket-Accept": "s3pPLMBiTxaQ9kYGzzhZRbK+xOo=" })
def test_connection_handler_pong(self): conn_mock = utils.get_mock_connection(returns=b'\x8a\x00') self._set_connections([conn_mock]) self.server.listen() conn_mock.socket.sendall.assert_not_called()
def setUp(self): self.mock_connection = get_mock_connection(strict=False) self.sampling_module = SamplingModule(self.mock_connection, silent=True)
def setUp(self): self.mock_connection = get_mock_connection(strict=False) self.insulation_module = InsulationModule(self.mock_connection, silent=True)
def test_connection_handler_close(self): conn_mock = utils.get_mock_connection(returns=b'\x88\x00') conn_mock.is_to_be_closed = Mock(return_value=False) resp = self.server.connection_handler(conn_mock) self.assertEqual(resp.to_bytes(), b'\x88\x00')
def test_connection_can_return_multiple_cursors(self): mock_connection = get_mock_connection() mock_cursor_1 = mock_connection.cursor() mock_cursor_2 = mock_connection.cursor() self.assertNotEqual(mock_cursor_1, mock_cursor_2)
def test_connection_handler_ping(self): # connection that returns a PING frame conn_mock = utils.get_mock_connection(returns=b'\x89\x00') self._set_connections([conn_mock]) self.server.listen() conn_mock.socket.sendall.assert_called_with(b'\x8a\x00')
def test_handle_message_without_mask(self): msg = b'\x81\tTEST DATA' mock_connection = utils.get_mock_connection(returns=msg) self.server.handle_message = lambda self, conn, message: message resp = self.server.connection_handler(mock_connection) self.assertEqual(resp.to_bytes(), b'\x81\tTEST DATA')
def _get_mock_bytes_reader(self, bytes=None, handshook=True): conn = utils.get_mock_connection(returns=bytes, handshook=handshook) reader = SocketBytesReader(conn) return reader
def test__close_connection(self): mock_connection = utils.get_mock_connection() mock_connection.close = Mock() self.server._close_connection(mock_connection) mock_connection.close.assert_called_with()
def test_connection_can_return_cursor(self): mock_connection = get_mock_connection() mock_cursor = mock_connection.cursor() self.assertIsInstance(mock_cursor, unittest.mock.Mock)