Ejemplo n.º 1
0
 def test_str_not_equals(self):
     self.assertEqual(
         ' | where stringField !~ stringField2',
         Query().where(t.stringField.not_equals(t.stringField2)).render(),
     )
Ejemplo n.º 2
0
 def test_array_contains(self):
     self.assertEqual(
         ' | where arrayField contains "true"',
         Query().where(t.arrayField.array_contains(True)).render(),
     )
Ejemplo n.º 3
0
 def test_is_in_expression(self):
     self.assertEqual(
         ' | where arrayField contains stringField',
         Query().where(t.stringField.is_in(t.arrayField)).render())
Ejemplo n.º 4
0
 def test_mapping_access_expression_index(self):
     self.assertEqual(
         ' | where (mapField[stringField]) == "bar"',
         Query().where(t.mapField[t.stringField] == 'bar').render(),
     )
Ejemplo n.º 5
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.º 6
0
 def test_array_access_expression_index(self):
     self.assertEqual(
         ' | where (arrayField[numField * 2]) == "bar"',
         Query().where(t.arrayField[t.numField * 2] == 'bar').render(),
     )
Ejemplo n.º 7
0
 def test_mapping_access(self):
     self.assertEqual(
         ' | where (mapField["key"]) == "bar"',
         Query().where(t.mapField['key'] == 'bar').render(),
     )
Ejemplo n.º 8
0
 def test_swapped_subtract_timespan_from_timespan(self):
     self.assertEqual(
         ' | extend foo = time(0.1:0:0.0) - timespanField',
         Query().extend(foo=timedelta(hours=1) - t.timespanField).render(),
     )
Ejemplo n.º 9
0
 def test_sub_timespan(self):
     self.assertEqual(
         ' | extend foo = dateField - time(0.1:0:0.0)',
         Query().extend(foo=t.dateField - timedelta(hours=1)).render(),
     )
Ejemplo n.º 10
0
 def test_gt_date(self):
     self.assertEqual(
         ' | where dateField > datetime(2000-01-01 00:00:00.000000)',
         Query().where(t.dateField > datetime(2000, 1, 1)).render(),
     )
Ejemplo n.º 11
0
 def test_add_swapped_timespan_to_timespan(self):
     self.assertEqual(
         ' | extend foo = time(0.1:0:0.0) + timespanField',
         Query().extend(foo=timedelta(hours=1) + t.timespanField).render(),
     )
Ejemplo n.º 12
0
 def test_le_date(self):
     self.assertEqual(
         'mock_table | where dateField <= datetime(2000-01-01 00:00:00.000000)',
         Query(t).where(t.dateField <= datetime(2000, 1, 1)).render(),
     )
Ejemplo n.º 13
0
 def test_str_ends_with(self):
     self.assertEqual(
         ' | where stringField endswith "hello"',
         Query().where(t.stringField.endswith("hello")).render(),
     )
Ejemplo n.º 14
0
 def test_str_matches(self):
     self.assertEqual(
         ' | where stringField matches regex "[a-z]+"',
         Query().where(t.stringField.matches("[a-z]+")).render(),
     )
Ejemplo n.º 15
0
 def test_bin_auto(self):
     self.assertEqual(
         ' | extend foo = bin_auto(dateField)',
         Query().extend(foo=t.dateField.bin_auto()).render(),
     )
Ejemplo n.º 16
0
 def test_sub_from_datetime(self):
     self.assertEqual(
         ' | extend foo = datetime(2020-01-01 00:00:00.000000) - dateField',
         Query().extend(foo=datetime(2020, 1, 1) - t.dateField).render(),
     )
Ejemplo n.º 17
0
 def test_array_access(self):
     self.assertEqual(
         ' | where (arrayField[3]) == "bar"',
         Query().where(t.arrayField[3] == 'bar').render(),
     )
Ejemplo n.º 18
0
 def test_sub_from_number(self):
     self.assertEqual(
         ' | extend foo = 3 - numField',
         Query().extend(foo=3 - t.numField).render(),
     )
Ejemplo n.º 19
0
 def test_array_access_yields_any_expression(self):
     self.assertEqual(
         ' | where (cos(arrayField[3])) < 1',
         Query().where(t.arrayField[3].cos() < 1).render(),
     )
Ejemplo n.º 20
0
 def test_sub_date_unknown_type(self):
     self.assertEqual(
         ' | extend foo = dateField - (case(boolField, bar, baz))',
         Query().extend(foo=t.dateField -
                        f.case(t.boolField, col.bar, col.baz)).render(),
     )
Ejemplo n.º 21
0
 def test_mapping_access_attribute(self):
     self.assertEqual(
         ' | where (mapField.key) == "bar"',
         Query().where(t.mapField.key == 'bar').render(),
     )
Ejemplo n.º 22
0
 def test_sub_date_unknown_column(self):
     self.assertEqual(
         ' | extend foo = dateField - bar',
         Query().extend(foo=t.dateField - col.bar).render(),
     )
Ejemplo n.º 23
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.º 24
0
 def test_sub_unknown_type_number(self):
     self.assertEqual(
         ' | extend foo = cos(bar - numField)',
         Query().extend(foo=(col.bar - t.numField).cos()).render(),
     )
Ejemplo n.º 25
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.º 26
0
 def test_sub_unknown_type_datetime(self):
     self.assertEqual(
         ' | extend foo = ago(bar - dateField)',
         Query().extend(foo=(col.bar - t.dateField).ago()).render(),
     )
Ejemplo n.º 27
0
 def test_column_with_dot(self):
     self.assertEqual(
         " | project ['foo.bar']",
         Query().project(t['foo.bar']).render(),
     )
Ejemplo n.º 28
0
 def test_sub_unknown_type_timespan(self):
     self.assertEqual(
         ' | extend foo = bar - timespanField',
         Query().extend(foo=col.bar - t.timespanField).render(),
     )
Ejemplo n.º 29
0
 def test_has(self):
     self.assertEqual(' | where stringField has "test"',
                      Query().where(t.stringField.has("test")).render())
Ejemplo n.º 30
0
 def test_between(self):
     self.assertEqual(
         ' | where numField between (numField2 .. 100)',
         Query().where(t.numField.between(t.numField2, 100)).render(),
     )