コード例 #1
0
    def test_normalize_address(self):
        """
        Tests Jinja2 filter ```normalize_address```:

            * check if load_filters returns the correct function
            * check if returns empty string on None
            * check if raises AddrFormatError on invalid address
            * check if IPv4 and IPv6 address format is returned as expected
        """

        self.assertTrue(HAS_NETADDR)

        self.assertEqual(load_filters()['normalize_address'],
                         ip_filters.normalize_address)

        self.assertRaises(AddrFormatError, ip_filters.normalize_address, 'bad')

        self.assertEqual(ip_filters.normalize_address(None), '')
        self.assertEqual(ip_filters.normalize_address('192.168.0.1'),
                         '192.168.0.1')
        self.assertEqual(ip_filters.normalize_address('192.168.1'),
                         '192.168.0.1')
        self.assertEqual(
            ip_filters.normalize_address('2001:0DB8:0:0000:1:0:0:1'),
            '2001:db8::1:0:0:1')
コード例 #2
0
    def test_prefix_to_addrmask(self):
        """
        Tests Jinja2 filter ```prefix_to_addrmask```:

            * check if load_filters returns the correct function
            * check if returns empty string on None
            * check if raises AddrFormatError on invalid prefix
            * check if IPv4 address and netmask format is returned as expected
        """

        self.assertTrue(HAS_NETADDR)

        self.assertEqual(
            load_filters()["prefix_to_addrmask"], ip_filters.prefix_to_addrmask
        )

        self.assertRaises(AddrFormatError, ip_filters.prefix_to_addrmask, "bad")

        self.assertEqual(ip_filters.prefix_to_addrmask(None), "")
        self.assertEqual(
            ip_filters.prefix_to_addrmask("192.168.0.1/24"), "192.168.0.1 255.255.255.0"
        )
        self.assertEqual(
            ip_filters.prefix_to_addrmask("192.168.0.0/32", "/"),
            "192.168.0.0/255.255.255.255",
        )
コード例 #3
0
    def test_normalize_prefix(self):
        """
        Tests Jinja2 filter ```normalize_prefix```:

            * check if load_filters returns the correct function
            * check if returns empty string on None
            * check if raises AddrFormatError on invalid prefix
            * check if IPv4 and IPv6 prefix format is returned as expected
        """

        self.assertTrue(HAS_NETADDR)

        self.assertEqual(load_filters()['normalize_prefix'],
                         ip_filters.normalize_prefix)

        self.assertRaises(AddrFormatError, ip_filters.normalize_prefix, 'bad')

        self.assertEqual(ip_filters.normalize_prefix(None), '')
        self.assertEqual(ip_filters.normalize_prefix('192.168.0.1'),
                         '192.168.0.1/32')
        self.assertEqual(
            ip_filters.normalize_prefix('192.168.0.55 255.255.255.0'),
            '192.168.0.55/24')
        self.assertEqual(
            ip_filters.normalize_prefix('192.168.0.55/255.255.255.0'),
            '192.168.0.55/24')
        self.assertEqual(
            ip_filters.normalize_prefix('2001:0DB8:0:0000:1:0:0:1/64'),
            '2001:db8::1:0:0:1/64')
コード例 #4
0
ファイル: helpers.py プロジェクト: d-demirci/napalm-yang
def template(string, **kwargs):
    env = jinja2.Environment(
                            undefined=jinja2.StrictUndefined,
                            extensions=['jinja2.ext.do'],
                            keep_trailing_newline=True,
                            )
    env.filters.update(jinja_filters.load_filters())

    template = env.from_string(string)

    return template.render(**kwargs)
コード例 #5
0
def template(string, **kwargs):
    env = jinja2.Environment(
        undefined=jinja2.StrictUndefined,
        extensions=["jinja2.ext.do"],
        keep_trailing_newline=True,
    )
    env.filters.update(jinja_filters.load_filters())

    template = env.from_string(string)

    return template.render(**kwargs)
コード例 #6
0
    def test_netmask_to_cidr(self):
        """
        Tests Jinja2 filter ```netmask_to_cidr```:

            * check if load_filters returns the correct function
            * check if returns empty string on None
            * check if raises AddrFormatError on invalid mask
            * check if prefix length is returned as expected
        """

        self.assertTrue(HAS_NETADDR)

        self.assertEqual(load_filters()["netmask_to_cidr"], ip_filters.netmask_to_cidr)

        self.assertRaises(AddrFormatError, ip_filters.netmask_to_cidr, "bad")

        self.assertEqual(ip_filters.netmask_to_cidr(None), "")
        self.assertEqual(ip_filters.netmask_to_cidr("255.255.255.0"), 24)
        self.assertEqual(ip_filters.netmask_to_cidr("255.255.255.255"), 32)
コード例 #7
0
    def test_netmask_to_cidr(self):
        """
        Tests Jinja2 filter ```netmask_to_cidr```:

            * check if load_filters returns the correct function
            * check if returns empty string on None
            * check if raises AddrFormatError on invalid mask
            * check if prefix length is returned as expected
        """

        self.assertTrue(HAS_NETADDR)

        self.assertEqual(load_filters()['netmask_to_cidr'], ip_filters.netmask_to_cidr)

        self.assertRaises(AddrFormatError, ip_filters.netmask_to_cidr, 'bad')

        self.assertEqual(ip_filters.netmask_to_cidr(None), '')
        self.assertEqual(ip_filters.netmask_to_cidr('255.255.255.0'), 24)
        self.assertEqual(ip_filters.netmask_to_cidr('255.255.255.255'), 32)
コード例 #8
0
    def test_cidr_to_netmask(self):
        """
        Tests Jinja2 filter ```cidr_to_netmask```:

            * check if load_filters returns the correct function
            * check if returns empty string on None
            * check if raises AddrFormatError on invalid prefix length
            * check if network mask is returned as expected
        """

        self.assertTrue(HAS_NETADDR)

        self.assertEqual(load_filters()["cidr_to_netmask"], ip_filters.cidr_to_netmask)

        self.assertRaises(AddrFormatError, ip_filters.cidr_to_netmask, "bad")

        self.assertEqual(ip_filters.cidr_to_netmask(None), "")
        self.assertEqual(ip_filters.cidr_to_netmask(24), "255.255.255.0")
        self.assertEqual(ip_filters.cidr_to_netmask("24"), "255.255.255.0")
        self.assertEqual(ip_filters.cidr_to_netmask(32), "255.255.255.255")
コード例 #9
0
    def test_cidr_to_netmask(self):
        """
        Tests Jinja2 filter ```cidr_to_netmask```:

            * check if load_filters returns the correct function
            * check if returns empty string on None
            * check if raises AddrFormatError on invalid prefix length
            * check if network mask is returned as expected
        """

        self.assertTrue(HAS_NETADDR)

        self.assertEqual(load_filters()['cidr_to_netmask'], ip_filters.cidr_to_netmask)

        self.assertRaises(AddrFormatError, ip_filters.cidr_to_netmask, 'bad')

        self.assertEqual(ip_filters.cidr_to_netmask(None), '')
        self.assertEqual(ip_filters.cidr_to_netmask(24), '255.255.255.0')
        self.assertEqual(ip_filters.cidr_to_netmask('24'), '255.255.255.0')
        self.assertEqual(ip_filters.cidr_to_netmask(32), '255.255.255.255')
コード例 #10
0
    def test_normalize_address(self):
        """
        Tests Jinja2 filter ```normalize_address```:

            * check if load_filters returns the correct function
            * check if returns empty string on None
            * check if raises AddrFormatError on invalid address
            * check if IPv4 and IPv6 address format is returned as expected
        """

        self.assertTrue(HAS_NETADDR)

        self.assertEqual(load_filters()['normalize_address'], ip_filters.normalize_address)

        self.assertRaises(AddrFormatError, ip_filters.normalize_address, 'bad')

        self.assertEqual(ip_filters.normalize_address(None), '')
        self.assertEqual(ip_filters.normalize_address('192.168.0.1'), '192.168.0.1')
        self.assertEqual(ip_filters.normalize_address('192.168.1'), '192.168.0.1')
        self.assertEqual(ip_filters.normalize_address('2001:0DB8:0:0000:1:0:0:1'),
                         '2001:db8::1:0:0:1')
コード例 #11
0
    def test_prefix_to_addrmask(self):
        """
        Tests Jinja2 filter ```prefix_to_addrmask```:

            * check if load_filters returns the correct function
            * check if returns empty string on None
            * check if raises AddrFormatError on invalid prefix
            * check if IPv4 address and netmask format is returned as expected
        """

        self.assertTrue(HAS_NETADDR)

        self.assertEqual(load_filters()['prefix_to_addrmask'], ip_filters.prefix_to_addrmask)

        self.assertRaises(AddrFormatError, ip_filters.prefix_to_addrmask, 'bad')

        self.assertEqual(ip_filters.prefix_to_addrmask(None), '')
        self.assertEqual(ip_filters.prefix_to_addrmask('192.168.0.1/24'),
                         '192.168.0.1 255.255.255.0')
        self.assertEqual(ip_filters.prefix_to_addrmask('192.168.0.0/32', '/'),
                         '192.168.0.0/255.255.255.255')
コード例 #12
0
    def test_normalize_prefix(self):
        """
        Tests Jinja2 filter ```normalize_prefix```:

            * check if load_filters returns the correct function
            * check if returns empty string on None
            * check if raises AddrFormatError on invalid prefix
            * check if IPv4 and IPv6 prefix format is returned as expected
        """

        self.assertTrue(HAS_NETADDR)

        self.assertEqual(load_filters()['normalize_prefix'], ip_filters.normalize_prefix)

        self.assertRaises(AddrFormatError, ip_filters.normalize_prefix, 'bad')

        self.assertEqual(ip_filters.normalize_prefix(None), '')
        self.assertEqual(ip_filters.normalize_prefix('192.168.0.1'), '192.168.0.1/32')
        self.assertEqual(ip_filters.normalize_prefix('192.168.0.55 255.255.255.0'),
                         '192.168.0.55/24')
        self.assertEqual(ip_filters.normalize_prefix('192.168.0.55/255.255.255.0'),
                         '192.168.0.55/24')
        self.assertEqual(ip_filters.normalize_prefix('2001:0DB8:0:0000:1:0:0:1/64'),
                         '2001:db8::1:0:0:1/64')