Ejemplo n.º 1
0
 def test_mapping_access_attribute(self):
     self.assertEqual(
         ' | where (mapField.key) == "bar"',
         Query().where(t.mapField.key == 'bar').render(),
     )
Ejemplo n.º 2
0
 def test_ge(self):
     self.assertEqual(
         ' | where numField >= 10',
         Query().where(t.numField >= 10).render(),
     )
Ejemplo n.º 3
0
 def test_swapped_mod(self):
     self.assertEqual(
         ' | extend foo = 2 % numField',
         Query().extend(foo=2 % t.numField).render(),
     )
Ejemplo n.º 4
0
 def test_swapped_or(self):
     self.assertEqual(
         ' | where 0 or boolField',
         Query().where(0 | t.boolField).render(),
     )
Ejemplo n.º 5
0
 def test_execute_no_table(self):
     self.assertRaises(RuntimeError("No table supplied"),
                       Query().take(5).execute)
Ejemplo n.º 6
0
 def test_to_int(self):
     self.assertEqual(
         ' | extend intFoo = toint(stringField)',
         Query().extend(intFoo=t.stringField.to_int()).render(),
     )
Ejemplo n.º 7
0
 def test_swapped_and(self):
     self.assertEqual(
         ' | where 1 and boolField',
         Query().where(1 & t.boolField).render(),
     )
Ejemplo n.º 8
0
 def test_column_with_dot(self):
     self.assertEqual(
         " | project ['foo.bar']",
         Query().project(t['foo.bar']).render(),
     )
Ejemplo n.º 9
0
 def test_is_in_expression(self):
     self.assertEqual(
         ' | where arrayField contains stringField',
         Query().where(t.stringField.is_in(t.arrayField)).render())
Ejemplo n.º 10
0
 def test_extend_const(self):
     self.assertEqual(
         ' | extend foo = 5, bar = "bar", other_col = stringField',
         Query().extend(foo=5, bar="bar", other_col=t.stringField).render(),
     )
Ejemplo n.º 11
0
 def test_array_contains(self):
     self.assertEqual(
         ' | where arrayField contains "true"',
         Query().where(t.arrayField.array_contains(True)).render(),
     )
Ejemplo n.º 12
0
 def test_dynamic(self):
     self.assertEqual(
         ' | where (mapField["foo"][0].bar[1][2][tolower(stringField)]) > time(1.0:0:0.0)',
         Query().where(t.mapField['foo'][0].bar[1][2][t.stringField.lower()]
                       > timedelta(1)).render(),
     )
Ejemplo n.º 13
0
 def test_mapping_access_yields_any_expression(self):
     self.assertEqual(
         ' | where (mapField["key"]) contains "substr"',
         Query().where(t.mapField['key'].contains("substr")).render(),
     )
Ejemplo n.º 14
0
 def test_mapping_access_expression_index(self):
     self.assertEqual(
         ' | where (mapField[stringField]) == "bar"',
         Query().where(t.mapField[t.stringField] == 'bar').render(),
     )
Ejemplo n.º 15
0
 def test_not_equals(self):
     self.assertEqual(
         ' | where stringField != "bar"',
         Query().where(t.stringField != 'bar').render(),
     )
Ejemplo n.º 16
0
 def test_has(self):
     self.assertEqual(' | where stringField has "test"',
                      Query().where(t.stringField.has("test")).render())
Ejemplo n.º 17
0
 def test_to_bool(self):
     self.assertEqual(
         ' | extend boolFoo = tobool(stringField)',
         Query().extend(boolFoo=t.stringField.to_bool()).render(),
     )
Ejemplo n.º 18
0
 def test_has_cs(self):
     self.assertEqual(
         ' | where stringField has_cs "test"',
         Query().where(t.stringField.has("test",
                                         case_sensitive=True)).render())
Ejemplo n.º 19
0
 def test_to_long(self):
     self.assertEqual(
         ' | extend longFoo = tolong(stringField)',
         Query().extend(longFoo=t.stringField.to_long()).render(),
     )
Ejemplo n.º 20
0
 def test_bag_contains(self):
     self.assertEqual(
         ' | where mapField contains "2"',
         Query().where(t.mapField.bag_contains(2)).render(),
     )
Ejemplo n.º 21
0
 def test_or(self):
     self.assertEqual(
         ' | where boolField or (stringField contains "hello")',
         Query().where(t.boolField
                       | t.stringField.contains("hello")).render(),
     )
Ejemplo n.º 22
0
 def test_column_name_quoting(self):
     self.assertEqual(' | where [\'title\'] has "test"',
                      Query().where(t.title.has("test")).render())
     self.assertEqual(
         ' | where [\'stringField\'] has "test"',
         Query().where(col.of('stringField').has("test")).render())
Ejemplo n.º 23
0
 def test_single_table(self):
     mock_kusto_client = MockKustoClient()
     table = PyKustoClient(mock_kusto_client)['test_db']['mock_table']
     Query(table).take(5).execute()
     self.assertEqual([RecordedQuery('test_db', 'mock_table | take 5')],
                      mock_kusto_client.recorded_queries)
Ejemplo n.º 24
0
 def test_add_number_column(self):
     self.assertEqual(
         ' | where (todouble(100 + numberField)) > 0.2',
         Query().where(f.to_double(100 + t.numberField) > 0.2).render(),
     )
Ejemplo n.º 25
0
 def test_not(self):
     self.assertEqual(
         ' | where not(stringField contains "hello")',
         Query().where(~t.stringField.contains("hello")).render(),
     )
Ejemplo n.º 26
0
 def test_multiply_number_expression(self):
     self.assertEqual(
         ' | where (100 * (todouble(numberField))) > 0.2',
         Query().where(100 * f.to_double(t.numberField) > 0.2).render(),
     )
Ejemplo n.º 27
0
 def test_mod(self):
     self.assertEqual(
         ' | extend foo = numField % 2',
         Query().extend(foo=t.numField % 2).render(),
     )
Ejemplo n.º 28
0
 def test_column_with_digits(self):
     self.assertEqual(
         " | where (['100'] * (todouble(numberField))) > 0.2",
         Query().where(
             col['100'] * f.to_double(t.numberField) > 0.2).render(),
     )
Ejemplo n.º 29
0
 def test_negation(self):
     self.assertEqual(
         ' | extend foo = -numField',
         Query().extend(foo=-t.numField).render(),
     )
Ejemplo n.º 30
0
 def test_mapping_access(self):
     self.assertEqual(
         ' | where (mapField["key"]) == "bar"',
         Query().where(t.mapField['key'] == 'bar').render(),
     )