diff options
author | Christian Poessinger <christian@poessinger.com> | 2020-11-01 10:46:46 +0100 |
---|---|---|
committer | Christian Poessinger <christian@poessinger.com> | 2020-11-01 13:51:44 +0100 |
commit | bb76575715682594d4d6d73d8b9e87692bdc6841 (patch) | |
tree | 8c68a41f00708bcd1fdecdd967308e0edcbfe58c /src/tests | |
parent | 68c97eed91204904b7b2314dd9b357069db4eda5 (diff) | |
download | vyos-1x-bb76575715682594d4d6d73d8b9e87692bdc6841.tar.gz vyos-1x-bb76575715682594d4d6d73d8b9e87692bdc6841.zip |
openvpn: T2994: remove workarounds for individual ipv4 and ipv6 keys
Remove workaround which split (local|remote)_address and also subnet keys into
individual keys for the assigned IP address family (4/6).
During template rendering check IP version by introducing new ipv4 and ipv6
Jinja2 filters {% if foo | ipv4 %} or {% if bar | ipv6 %} options.
Diffstat (limited to 'src/tests')
-rw-r--r-- | src/tests/test_jinja_filters.py | 56 | ||||
-rw-r--r-- | src/tests/test_template.py | 31 |
2 files changed, 56 insertions, 31 deletions
diff --git a/src/tests/test_jinja_filters.py b/src/tests/test_jinja_filters.py new file mode 100644 index 000000000..57ff11070 --- /dev/null +++ b/src/tests/test_jinja_filters.py @@ -0,0 +1,56 @@ +#!/usr/bin/env python3 +# +# Copyright (C) 2020 VyOS maintainers and contributors +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License version 2 or later as +# published by the Free Software Foundation. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see <http://www.gnu.org/licenses/>. + +from unittest import TestCase + +from vyos.template import vyos_address_from_cidr +from vyos.template import vyos_netmask_from_cidr +from vyos.template import vyos_ipv4 +from vyos.template import vyos_ipv6 + +class TestTeamplteHelpers(TestCase): + def setUp(self): + pass + + def test_helpers_from_cidr(self): + network = '192.0.2.0/26' + self.assertEqual(vyos_address_from_cidr(network), '192.0.2.0') + self.assertEqual(vyos_netmask_from_cidr(network), '255.255.255.192') + + def test_helpers_ipv4(self): + self.assertTrue(vyos_ipv4('192.0.2.1')) + self.assertTrue(vyos_ipv4('192.0.2.0/24')) + self.assertTrue(vyos_ipv4('192.0.2.1/32')) + self.assertTrue(vyos_ipv4('10.255.1.2')) + self.assertTrue(vyos_ipv4('10.255.1.0/24')) + self.assertTrue(vyos_ipv4('10.255.1.2/32')) + self.assertFalse(vyos_ipv4('2001:db8::')) + self.assertFalse(vyos_ipv4('2001:db8::1')) + self.assertFalse(vyos_ipv4('2001:db8::/64')) + + def test_helpers_ipv6(self): + self.assertFalse(vyos_ipv6('192.0.2.1')) + self.assertFalse(vyos_ipv6('192.0.2.0/24')) + self.assertFalse(vyos_ipv6('192.0.2.1/32')) + self.assertFalse(vyos_ipv6('10.255.1.2')) + self.assertFalse(vyos_ipv6('10.255.1.0/24')) + self.assertFalse(vyos_ipv6('10.255.1.2/32')) + self.assertTrue(vyos_ipv6('2001:db8::')) + self.assertTrue(vyos_ipv6('2001:db8::1')) + self.assertTrue(vyos_ipv6('2001:db8::1/64')) + self.assertTrue(vyos_ipv6('2001:db8::/32')) + self.assertTrue(vyos_ipv6('2001:db8::/64')) + diff --git a/src/tests/test_template.py b/src/tests/test_template.py deleted file mode 100644 index 0b9f2c3b8..000000000 --- a/src/tests/test_template.py +++ /dev/null @@ -1,31 +0,0 @@ -#!/usr/bin/env python3 -# -# Copyright (C) 2020 VyOS maintainers and contributors -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 2 or later as -# published by the Free Software Foundation. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program. If not, see <http://www.gnu.org/licenses/>. - -from unittest import TestCase - -from vyos.template import vyos_address_from_cidr -from vyos.template import vyos_netmask_from_cidr - - -class TestTeamplteHelpers(TestCase): - def setUp(self): - pass - - def test_helpers_from_cidr(self): - network = '192.0.2.0/26' - self.assertEqual(vyos_address_from_cidr(network), '192.0.2.0') - self.assertEqual(vyos_netmask_from_cidr(network), '255.255.255.192') - |