Ejemplo n.º 1
0
 def test_extract_jsonpath(self):
     obj = {"a": {"b": [{"c": 123}, "foo"]}, "e": 234}
     result = common.extract_jsonpath(obj, "$.a.b")
     assert result == [{"c": 123}, "foo"]
     result = common.extract_jsonpath(obj, "$.a.b.c")
     assert not result
     result = common.extract_jsonpath(obj, "$.foobar")
     assert not result
     result = common.extract_jsonpath(obj, "$.e")
     assert result == 234
     result = common.extract_jsonpath(obj, "$.a.b[0]")
     assert result == {"c": 123}
     result = common.extract_jsonpath(obj, "$.a.b[0].c")
     assert result == 123
     result = common.extract_jsonpath(obj, "$.a.b[1]")
     assert result == "foo"
Ejemplo n.º 2
0
 def test_extract_jsonpath(self):
     obj = {'a': {'b': [{'c': 123}, 'foo']}, 'e': 234}
     result = common.extract_jsonpath(obj, '$.a.b')
     self.assertEqual(result, [{'c': 123}, 'foo'])
     result = common.extract_jsonpath(obj, '$.a.b.c')
     self.assertFalse(result)
     result = common.extract_jsonpath(obj, '$.foobar')
     self.assertFalse(result)
     result = common.extract_jsonpath(obj, '$.e')
     self.assertEqual(result, 234)
     result = common.extract_jsonpath(obj, '$.a.b[0]')
     self.assertEqual(result, {'c': 123})
     result = common.extract_jsonpath(obj, '$.a.b[0].c')
     self.assertEqual(result, 123)
     result = common.extract_jsonpath(obj, '$.a.b[1]')
     self.assertEqual(result, 'foo')
Ejemplo n.º 3
0
 def test_extract_jsonpath(self):
     obj = {"a": {"b": [{"c": 123}, "foo"]}, "e": 234}
     result = common.extract_jsonpath(obj, "$.a.b")
     self.assertEqual([{"c": 123}, "foo"], result)
     result = common.extract_jsonpath(obj, "$.a.b.c")
     self.assertFalse(result)
     result = common.extract_jsonpath(obj, "$.foobar")
     self.assertFalse(result)
     result = common.extract_jsonpath(obj, "$.e")
     self.assertEqual(234, result)
     result = common.extract_jsonpath(obj, "$.a.b[0]")
     self.assertEqual({"c": 123}, result)
     result = common.extract_jsonpath(obj, "$.a.b[0].c")
     self.assertEqual(123, result)
     result = common.extract_jsonpath(obj, "$.a.b[1]")
     self.assertEqual("foo", result)
Ejemplo n.º 4
0
 def test_extract_jsonpath(self):
     obj = {'a': {'b': [{'c': 123}, 'foo']}, 'e': 234}
     result = common.extract_jsonpath(obj, '$.a.b')
     self.assertEqual([{'c': 123}, 'foo'], result)
     result = common.extract_jsonpath(obj, '$.a.b.c')
     self.assertFalse(result)
     result = common.extract_jsonpath(obj, '$.foobar')
     self.assertFalse(result)
     result = common.extract_jsonpath(obj, '$.e')
     self.assertEqual(234, result)
     result = common.extract_jsonpath(obj, '$.a.b[0]')
     self.assertEqual({'c': 123}, result)
     result = common.extract_jsonpath(obj, '$.a.b[0].c')
     self.assertEqual(123, result)
     result = common.extract_jsonpath(obj, '$.a.b[1]')
     self.assertEqual('foo', result)
Ejemplo n.º 5
0
def filter_event_with_target_input_path(target, event):
    input_path = target.get('InputPath')
    if input_path:
        event = extract_jsonpath(event, input_path)
    return event
Ejemplo n.º 6
0
 def path(self, path):
     if not self.value:
         return {}
     value = self.value if isinstance(self.value, dict) else json.loads(
         self.value)
     return extract_jsonpath(value, path)
Ejemplo n.º 7
0
def filter_event_with_target_input_path(target: Dict, event: Dict) -> Dict:
    input_path = target.get("InputPath")
    if input_path:
        event = extract_jsonpath(event, input_path)
    return event