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"
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')
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)
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)
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
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)
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