Beispiel #1
0
 def test_block_until_fetch_is_done(self):
     mock_client = MockKustoClient(block=True, record_metadata=True)
     client = PyKustoClient(mock_client)
     self.query_in_background(client.get_databases_names)
     mock_client.release()
     client.wait_for_items()
     # Make sure the fetch query was indeed called
     assert not mock_client.blocked()
     self.assertEqual(self.get_background_query_result(), ('test_db', ))
Beispiel #2
0
 def test_dir_before_fetch_is_done(self):
     mock_client = MockKustoClient(block=True, record_metadata=True)
     client = PyKustoClient(mock_client)
     self.query_in_background(lambda: dir(client))
     # Return the fetch
     mock_client.release()
     client.wait_for_items()
     # Make sure the fetch query was indeed called
     assert not mock_client.blocked()
     self.assertIn('test_db', self.get_background_query_result())
Beispiel #3
0
 def test_column_fetch_slow(self):
     mock_client = MockKustoClient(block=True)
     table = PyKustoClient(mock_client, fetch_by_default=False)['test_db']['mock_table']
     table.refresh()
     mock_client.wait_until_blocked()
     self.assertType(table['foo'], _AnyTypeColumn)
     self.assertType(table['bar'], _AnyTypeColumn)
     self.assertType(table['baz'], _AnyTypeColumn)
     # Return the fetch
     mock_client.release()
     table.wait_for_items()
     # Make sure the fetch query was indeed called
     assert not mock_client.blocked()
Beispiel #4
0
 def test_query_before_fetch_returned(self):
     mock_client = MockKustoClient(block=True, record_metadata=True)
     table = PyKustoClient(mock_client, fetch_by_default=False)['test_db']['mock_table']
     table.refresh()
     mock_client.wait_until_blocked()
     mock_client.do_not_block_next_requests()
     self.query_in_background(Query(table).take(5).execute)
     # Return the fetch
     mock_client.release()
     table.wait_for_items()
     self.get_background_query_result()
     # Make sure the fetch query was indeed called
     assert not mock_client.blocked()
     # Before the fix the order of returned query was reversed
     self.assertEqual(
         [
             RecordedQuery('test_db', '.show table mock_table | project AttributeName, AttributeType | limit 10000'),
             RecordedQuery('test_db', 'mock_table | take 5'),
         ],
         mock_client.recorded_queries,
     )