From 88cd2292fe7ecf506b0d5d5139bff3553e72ce24 Mon Sep 17 00:00:00 2001 From: shahar Date: Thu, 2 Apr 2020 18:54:01 +0300 Subject: [PATCH 1/2] Added support for display filter validation and tests for it --- marine/marine.py | 4 ++++ tests/marine/test_marine.py | 8 ++++++++ 2 files changed, 12 insertions(+) diff --git a/marine/marine.py b/marine/marine.py index 33f240c..1f96ade 100644 --- a/marine/marine.py +++ b/marine/marine.py @@ -90,6 +90,10 @@ def validate_bpf(self, bpf: str) -> bool: bpf = bpf.encode("utf-8") return bool(self._marine.validate_bpf(bpf)) + def validate_display_filter(self, display_filter: str) -> bool: + display_filter = display_filter.encode("utf-8") + return bool(self._marine.validate_dfilter(display_filter)) + @staticmethod def _parse_output(output: str) -> List[str]: # TODO: this is a bottleneck. Find a better way to provide output from the c code diff --git a/tests/marine/test_marine.py b/tests/marine/test_marine.py index 62bcff4..ac35af7 100644 --- a/tests/marine/test_marine.py +++ b/tests/marine/test_marine.py @@ -396,3 +396,11 @@ def test_validate_bpf_success(marine_instance: Marine): def test_validate_bpf_failure(marine_instance: Marine): assert not marine_instance.validate_bpf("what is this bpf?") + + +def test_validate_display_filter_success(marine_instance: Marine): + assert marine_instance.validate_display_filter("tcp") + + +def test_validate_display_filter_failure(marine_instance: Marine): + assert not marine_instance.validate_display_filter("illegal_filter") From ff205bf11a94d04f611722676a5789cfcf14a899 Mon Sep 17 00:00:00 2001 From: shahar Date: Mon, 6 Apr 2020 12:54:28 +0300 Subject: [PATCH 2/2] Updated marine library function name --- marine/marine.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/marine/marine.py b/marine/marine.py index 1f96ade..786be32 100644 --- a/marine/marine.py +++ b/marine/marine.py @@ -92,7 +92,7 @@ def validate_bpf(self, bpf: str) -> bool: def validate_display_filter(self, display_filter: str) -> bool: display_filter = display_filter.encode("utf-8") - return bool(self._marine.validate_dfilter(display_filter)) + return bool(self._marine.validate_display_filter(display_filter)) @staticmethod def _parse_output(output: str) -> List[str]: