diff options
| author | sarthurdev <965089+sarthurdev@users.noreply.github.com> | 2024-02-27 21:29:08 +0100 | 
|---|---|---|
| committer | sarthurdev <965089+sarthurdev@users.noreply.github.com> | 2024-02-27 21:30:34 +0100 | 
| commit | bc9ccaeda54279022b73a806fa8aa77c523fbecc (patch) | |
| tree | a319ae666f5ca71c5e229fe5633f563b3c35bfe1 /smoketest/scripts/cli/base_vyostest_shim.py | |
| parent | 8b87836b371fdddb595ad3faf8a91a64f07c2bfb (diff) | |
| download | vyos-1x-bc9ccaeda54279022b73a806fa8aa77c523fbecc.tar.gz vyos-1x-bc9ccaeda54279022b73a806fa8aa77c523fbecc.zip | |
smoketest: T5160: Deduplicate nftables verify functions to testcase class, remove obsolete imports
Diffstat (limited to 'smoketest/scripts/cli/base_vyostest_shim.py')
| -rw-r--r-- | smoketest/scripts/cli/base_vyostest_shim.py | 23 | 
1 files changed, 23 insertions, 0 deletions
| diff --git a/smoketest/scripts/cli/base_vyostest_shim.py b/smoketest/scripts/cli/base_vyostest_shim.py index 140642806..c49d3e76c 100644 --- a/smoketest/scripts/cli/base_vyostest_shim.py +++ b/smoketest/scripts/cli/base_vyostest_shim.py @@ -102,6 +102,29 @@ class VyOSUnitTestSHIM:              ssh_client.close()              return output, error +        # Verify nftables output +        def verify_nftables(self, nftables_search, table, inverse=False, args=''): +            nftables_output = cmd(f'sudo nft {args} list table {table}') + +            for search in nftables_search: +                matched = False +                for line in nftables_output.split("\n"): +                    if all(item in line for item in search): +                        matched = True +                        break +                self.assertTrue(not matched if inverse else matched, msg=search) + +        def verify_nftables_chain(self, nftables_search, table, chain, inverse=False, args=''): +            nftables_output = cmd(f'sudo nft {args} list chain {table} {chain}') + +            for search in nftables_search: +                matched = False +                for line in nftables_output.split("\n"): +                    if all(item in line for item in search): +                        matched = True +                        break +                self.assertTrue(not matched if inverse else matched, msg=search) +  # standard construction; typing suggestion: https://stackoverflow.com/a/70292317  def ignore_warning(warning: Type[Warning]):      import warnings | 
