summaryrefslogtreecommitdiff
path: root/smoketest/scripts/cli/test_nat.py
AgeCommit message (Collapse)Author
2025-10-21T7948: always call setUp() and tearDown() base class methodsChristian Breunig
While working on task T7664 (FRR 10.4 upgrade), I identified the need for additional validation and safeguards around the FRR management daemon. The most appropriate place for this logic is in the setUp() and tearDown() methods of the smoketest base class, VyOSUnitTestSHIM. However, during implementation, it became apparent that test cases do not consistently invoke the base class's setup and teardown methods. This inconsistency complicates the process of capturing the FRR mgmtd PID at the start of a test and verifying that it remains unchanged by the end - a key step in detecting crashes or unexpected terminations (e.g., SIGSEGV) of the FRR management daemon during tests.
2025-09-30smoketest: T7858: use pylint for our testcasesChristian Breunig
2025-09-30smoketest: T7858: make failfast main argument dynamicChristian Breunig
When smoketest debugging is enabled (by creating the file /tmp/vyos.smoketest.debug), all available smoketests will fail fast instead of running to completion. This helps reduce test time when something is broken or undergoing refactoring, as it avoids waiting for the full test suite to finish.
2025-06-28T7591: remove copyright years from source filesChristian Breunig
The legal team says years are not necessary so we can go ahead with it, since it will simplify backporting. Automatically removed using: git ls-files | grep -v libvyosconfig | xargs sed -i -E \ 's/^# Copyright (19|20)[0-9]{2}(-[0-9]{4})? VyOS maintainers.*/# Copyright VyOS maintainers and contributors <maintainers@vyos.io>/g' In addition we will error-out during "make" if someone re-adds a legacy copyright notice
2025-01-09smoketest: T7033: nat source group test should use an existing interfaceChristian Breunig
2024-09-16T6687: add fqdn support to nat rules.Nicolas Fort
2024-04-03T6199: drop unused Python importsChristian Breunig
found using "git ls-files *.py | xargs pylint | grep W0611"
2024-03-04T6086: NAT: fix nat rules when using source-groups and translation address ↵Nicolas Fort
is a network.
2024-02-27smoketest: T5160: Deduplicate nftables verify functions to testcase class, ↵sarthurdev
remove obsolete imports
2024-01-04T5159: nat: add option to map network and ports. Feature used for large ↵Nicolás Fort
deployments in cgnat. (#2694)
2023-10-25T5681: Firewall,Nat and Nat66: simplified and standarize interface matcher ↵Nicolas Fort
(valid for interfaces and groups) in firewal, nat and nat66.
2023-10-11T5643: nat: add interface-groups to nat. Use same cli structure for ↵Nicolas Fort
interface-name|interface-group as in firewall.
2023-09-13T5561: nat: defining inbound|outbound interface should not be mandatory ↵Nicolas Fort
while configuring dNAT|sNAT rule
2023-08-23T5472: nat redirect: allow redirection without defining redirected portNicolas Fort
2023-07-31Merge branch 'current' into T5014-dnatNicolás Fort
2023-07-31T5014: fix conflicts. Add code for redirection, which is causing conflicts. ↵Nicolas Fort
Change code for new syntax
2023-07-31T5014: nat: add source and destination nat options for configuring load ↵Nicolas Fort
balance within a single rule.
2023-07-19T4899: NAT Redirect: adddestination nat redirection (to local host) feature.Nicolas Fort
2023-07-14T5195: vyos.util -> vyos.utils package refactoring (#2093)Christian Breunig
* T5195: move run, cmd, call, rc_cmd helper to vyos.utils.process * T5195: use read_file and write_file implementation from vyos.utils.file Changed code automatically using: find . -type f -not -path '*/\.*' -exec sed -i 's/^from vyos.util import read_file$/from vyos.utils.file import read_file/g' {} + find . -type f -not -path '*/\.*' -exec sed -i 's/^from vyos.util import write_file$/from vyos.utils.file import write_file/g' {} + * T5195: move chmod* helpers to vyos.utils.permission * T5195: use colon_separated_to_dict from vyos.utils.dict * T5195: move is_systemd_service_* to vyos.utils.process * T5195: fix boot issues with missing imports * T5195: move dict_search_* helpers to vyos.utils.dict * T5195: move network helpers to vyos.utils.network * T5195: move commit_* helpers to vyos.utils.commit * T5195: move user I/O helpers to vyos.utils.io
2023-03-14T5055: NAT: extend packet-type match option which was previously introduced ↵Nicolas Fort
in firewall, to NAT
2022-11-03nat: T1877: T970: Add firewall groups to NATsarthurdev
2022-10-25nat: T4764: Remove tables on NAT deletionsarthurdev
2022-09-21nat: T4605: Refactor static NAT to use python module for parsing rulessarthurdev
* Rename table to vyos_nat * Add static NAT smoketest
2022-09-21nat: T4605: Refactor NAT to use python module for parsing rulessarthurdev
* Rename table to vyos_nat * Refactor tests to use `verify_nftables` format
2022-04-25smoketest: bugfix on proper inheritance levels for classmethodChristian Poessinger
2022-04-18NAT: T4365: Fix for nat tables manipulation on netfilterNicolas Fort
2022-04-10smoketest: nat: use setUpClass() over setUp()Christian Poessinger
2021-11-21smoketest: remove superfluous ConfigSession importChristian Poessinger
2021-03-17smoketest: add shim for every test to re-use common tastsChristian Poessinger
Currently every smoketest does the setup and destruction of the configsession on its own durin setUp(). This creates a lot of overhead and one configsession should be re-used during execution of every smoketest script. In addiion a test that failed will leaf the system in an unconsistent state. For this reason before the test is executed we will save the running config to /tmp and the will re-load the config after the test has passed, always ensuring a clean environment for the next test.
2021-01-12nat: T3186: fix negated addresses not applied from CLIChristian Poessinger
2021-01-11nat: T3206: unable to delete only rules but keep destination nodeChristian Poessinger
2020-12-29smoketest: adjust test method namesChristian Poessinger
This is for better readability during testruns
2020-12-29smoketest: run all tests with verbosity=2Christian Poessinger
2020-10-28vyos.util: T2995: rename vyos_dict_search() -> dict_search()Christian Poessinger
Renamed using snippet below: ---------------------------- for file in $(find . -name "*.py") do sed -i "s/vyos_dict_search/dict_search/" $file done
2020-10-11smoketest: nat: extend snat and add dnat test casesChristian Poessinger
2020-10-11smoketest: nat: concentrate validation logic checksChristian Poessinger
2020-10-05nat: T2951: use proper comments for source/destination loggingChristian Poessinger
For both source and destination NAT always the LOG name contained DST - which is definately false. This has been corrected to use SRC and DST on the appropriate rules.
2020-08-28nat: T2813: translation address is mandatory if rule is not excludedChristian Poessinger
2020-08-27Merge branch 'master' of github.com:vyos/vyos-smoketest into ↵Christian Poessinger
vyos-smoketest-integration (T2832) * 'master' of github.com:vyos/vyos-smoketest: (153 commits) pppoe-server: test some more values lcd: adjust to cli changes lcd: adapt test to new CLI design pppoe-server: initial smoketest with local and radius auth pppoe: validate dhcpv6 client will be started wireless: validate hostapd/wpa_supplicant is running pppoe: sync to new dhcpv6-pd cli anyconnect: T2812: add basic testing ethernet: check interface disable state router-advert: check 'infinity' option in script logic ssh: config file is now volatile (moved to /run) ipv6: link-local: test address assignment on interfaces router-advert: add initial test mdns-repeater: add basic test pseudo-ethernet: extend smoketests with VIFs l2tpv3: add initial interface test wireless: use library function for loading kernel modules ethernet: test "ip" subtree of interface for e.g. ARP settings pppoe: use assertEqual() service: bcast-relay: add initial tests ...