Esempio n. 1
0
    def test_modify_routes_static_v6(self):
        """Tests the add_route() and remove_route() methods,
        starting with configured static routes for IPv6"""

        vlan_config = {
            'routes': [
                {'route': {'ip_dst': 'fc00::30:0/112', 'ip_gw': 'fc00::1:99'}},
            ],
        }

        vlan = VLAN(1, 1, vlan_config)

        self.assertEqual(vlan.routes_by_ipv(6), {
            ip_network('fc00::30:0/112'): ip_address('fc00::1:99')
        })
        vlan.add_route(ip_network('fc00::10:0/112'), ip_address('fc00::1:1'))
        vlan.add_route(ip_network('fc00::20:0/112'), ip_address('fc00::1:99'))
        self.assertEqual(vlan.routes_by_ipv(6), {
            ip_network('fc00::10:0/112'): ip_address('fc00::1:1'),
            ip_network('fc00::20:0/112'): ip_address('fc00::1:99'),
            ip_network('fc00::30:0/112'): ip_address('fc00::1:99')
        })
        self.assertEqual(vlan.route_count_by_ipv(6), 3)
        vlan.del_route(ip_network('fc00::10:0/112'))
        self.assertEqual(vlan.routes_by_ipv(6), {
            ip_network('fc00::30:0/112'): ip_address('fc00::1:99'),
            ip_network('fc00::20:0/112'): ip_address('fc00::1:99')
        })
        self.assertEqual(vlan.route_count_by_ipv(6), 2)
        vlan.del_route(ip_network('fc00::20:0/112'))
        self.assertEqual(vlan.route_count_by_ipv(6), 1)
        self.assertEqual(vlan.routes_by_ipv(6), {
            ip_network('fc00::30:0/112'): ip_address('fc00::1:99')
        })
Esempio n. 2
0
    def test_modify_routes_static_v4(self):
        """Tests the add_route() and remove_route() methods,
        starting with configured static routes for IPv4"""

        vlan_config = {
            'routes': [
                {'route': {'ip_dst': '10.99.97.0/24', 'ip_gw': '10.0.0.99'}},
            ],
        }

        vlan = VLAN(1, 1, vlan_config)

        self.assertEqual(vlan.routes_by_ipv(4), {
            ip_network('10.99.97.0/24'): ip_address('10.0.0.99')
        })
        vlan.add_route(ip_network('10.99.99.0/24'), ip_address('10.0.0.1'))
        vlan.add_route(ip_network('10.99.98.0/24'), ip_address('10.0.0.99'))
        self.assertEqual(vlan.routes_by_ipv(4), {
            ip_network('10.99.99.0/24'): ip_address('10.0.0.1'),
            ip_network('10.99.98.0/24'): ip_address('10.0.0.99'),
            ip_network('10.99.97.0/24'): ip_address('10.0.0.99')
        })
        self.assertEqual(vlan.route_count_by_ipv(4), 3)
        vlan.del_route(ip_network('10.99.99.0/24'))
        self.assertEqual(vlan.routes_by_ipv(4), {
            ip_network('10.99.97.0/24'): ip_address('10.0.0.99'),
            ip_network('10.99.98.0/24'): ip_address('10.0.0.99')
        })
        self.assertEqual(vlan.route_count_by_ipv(4), 2)
        vlan.del_route(ip_network('10.99.98.0/24'))
        self.assertEqual(vlan.route_count_by_ipv(4), 1)
        self.assertEqual(vlan.routes_by_ipv(4), {
            ip_network('10.99.97.0/24'): ip_address('10.0.0.99')
        })
Esempio n. 3
0
    def test_modify_routes_static_v6(self):
        """Tests the add_route() and remove_route() methods,
        starting with configured static routes for IPv6"""

        vlan_config = {
            'routes': [
                {
                    'route': {
                        'ip_dst': 'fc00::30:0/112',
                        'ip_gw': 'fc00::1:99'
                    }
                },
            ],
        }

        vlan = VLAN(1, 1, vlan_config)

        self.assertEqual(
            vlan.routes_by_ipv(6),
            {ip_network('fc00::30:0/112'): ip_address('fc00::1:99')})
        vlan.add_route(ip_network('fc00::10:0/112'), ip_address('fc00::1:1'))
        vlan.add_route(ip_network('fc00::20:0/112'), ip_address('fc00::1:99'))
        self.assertEqual(
            vlan.routes_by_ipv(6), {
                ip_network('fc00::10:0/112'): ip_address('fc00::1:1'),
                ip_network('fc00::20:0/112'): ip_address('fc00::1:99'),
                ip_network('fc00::30:0/112'): ip_address('fc00::1:99')
            })
        self.assertEqual(vlan.route_count_by_ipv(6), 3)
        vlan.del_route(ip_network('fc00::10:0/112'))
        self.assertEqual(
            vlan.routes_by_ipv(6), {
                ip_network('fc00::30:0/112'): ip_address('fc00::1:99'),
                ip_network('fc00::20:0/112'): ip_address('fc00::1:99')
            })
        self.assertEqual(vlan.route_count_by_ipv(6), 2)
        vlan.del_route(ip_network('fc00::20:0/112'))
        self.assertEqual(vlan.route_count_by_ipv(6), 1)
        self.assertEqual(
            vlan.routes_by_ipv(6),
            {ip_network('fc00::30:0/112'): ip_address('fc00::1:99')})
Esempio n. 4
0
    def test_modify_routes_static_v4(self):
        """Tests the add_route() and remove_route() methods,
        starting with configured static routes for IPv4"""

        vlan_config = {
            'routes': [
                {
                    'route': {
                        'ip_dst': '10.99.97.0/24',
                        'ip_gw': '10.0.0.99'
                    }
                },
            ],
        }

        vlan = VLAN(1, 1, vlan_config)

        self.assertEqual(
            vlan.routes_by_ipv(4),
            {ip_network('10.99.97.0/24'): ip_address('10.0.0.99')})
        vlan.add_route(ip_network('10.99.99.0/24'), ip_address('10.0.0.1'))
        vlan.add_route(ip_network('10.99.98.0/24'), ip_address('10.0.0.99'))
        self.assertEqual(
            vlan.routes_by_ipv(4), {
                ip_network('10.99.99.0/24'): ip_address('10.0.0.1'),
                ip_network('10.99.98.0/24'): ip_address('10.0.0.99'),
                ip_network('10.99.97.0/24'): ip_address('10.0.0.99')
            })
        self.assertEqual(vlan.route_count_by_ipv(4), 3)
        vlan.del_route(ip_network('10.99.99.0/24'))
        self.assertEqual(
            vlan.routes_by_ipv(4), {
                ip_network('10.99.97.0/24'): ip_address('10.0.0.99'),
                ip_network('10.99.98.0/24'): ip_address('10.0.0.99')
            })
        self.assertEqual(vlan.route_count_by_ipv(4), 2)
        vlan.del_route(ip_network('10.99.98.0/24'))
        self.assertEqual(vlan.route_count_by_ipv(4), 1)
        self.assertEqual(
            vlan.routes_by_ipv(4),
            {ip_network('10.99.97.0/24'): ip_address('10.0.0.99')})
Esempio n. 5
0
    def test_modify_routes_v6(self):
        """Tests the add_route() and remove_route() methods with IPv4 routes"""

        vlan = VLAN(1, 1, {})

        self.assertEqual(vlan.routes_by_ipv(6), {})
        vlan.add_route(ip_network('fc00::10:0/112'), ip_address('fc00::1:1'))
        vlan.add_route(ip_network('fc00::20:0/112'), ip_address('fc00::1:99'))
        self.assertEqual(vlan.routes_by_ipv(6), {
            ip_network('fc00::10:0/112'): ip_address('fc00::1:1'),
            ip_network('fc00::20:0/112'): ip_address('fc00::1:99')
        })
        self.assertEqual(vlan.route_count_by_ipv(6), 2)
        vlan.del_route(ip_network('fc00::10:0/112'))
        self.assertEqual(vlan.routes_by_ipv(6), {
            ip_network('fc00::20:0/112'): ip_address('fc00::1:99')
        })
        self.assertEqual(vlan.route_count_by_ipv(6), 1)
        vlan.del_route(ip_network('fc00::20:0/112'))
        self.assertEqual(vlan.route_count_by_ipv(6), 0)
        self.assertEqual(vlan.routes_by_ipv(6), {})
Esempio n. 6
0
    def test_modify_routes_v4(self):
        """Tests the add_route() and remove_route() methods with IPv4 routes"""

        vlan = VLAN(1, 1, {})

        self.assertEqual(vlan.routes_by_ipv(4), {})
        vlan.add_route(ip_network('10.99.99.0/24'), ip_address('10.0.0.1'))
        vlan.add_route(ip_network('10.99.98.0/24'), ip_address('10.0.0.99'))
        self.assertEqual(vlan.routes_by_ipv(4), {
            ip_network('10.99.99.0/24'): ip_address('10.0.0.1'),
            ip_network('10.99.98.0/24'): ip_address('10.0.0.99')
        })
        self.assertEqual(vlan.route_count_by_ipv(4), 2)
        vlan.del_route(ip_network('10.99.99.0/24'))
        self.assertEqual(vlan.routes_by_ipv(4), {
            ip_network('10.99.98.0/24'): ip_address('10.0.0.99')
        })
        self.assertEqual(vlan.route_count_by_ipv(4), 1)
        vlan.del_route(ip_network('10.99.98.0/24'))
        self.assertEqual(vlan.route_count_by_ipv(4), 0)
        self.assertEqual(vlan.routes_by_ipv(4), {})
Esempio n. 7
0
    def test_modify_routes_v6(self):
        """Tests the add_route() and remove_route() methods with IPv4 routes"""

        vlan = VLAN(1, 1, {})

        self.assertEqual(vlan.routes_by_ipv(6), {})
        vlan.add_route(ip_network('fc00::10:0/112'), ip_address('fc00::1:1'))
        vlan.add_route(ip_network('fc00::20:0/112'), ip_address('fc00::1:99'))
        self.assertEqual(
            vlan.routes_by_ipv(6), {
                ip_network('fc00::10:0/112'): ip_address('fc00::1:1'),
                ip_network('fc00::20:0/112'): ip_address('fc00::1:99')
            })
        self.assertEqual(vlan.route_count_by_ipv(6), 2)
        vlan.del_route(ip_network('fc00::10:0/112'))
        self.assertEqual(
            vlan.routes_by_ipv(6),
            {ip_network('fc00::20:0/112'): ip_address('fc00::1:99')})
        self.assertEqual(vlan.route_count_by_ipv(6), 1)
        vlan.del_route(ip_network('fc00::20:0/112'))
        self.assertEqual(vlan.route_count_by_ipv(6), 0)
        self.assertEqual(vlan.routes_by_ipv(6), {})
Esempio n. 8
0
    def test_modify_routes_v4(self):
        """Tests the add_route() and remove_route() methods with IPv4 routes"""

        vlan = VLAN(1, 1, {})

        self.assertEqual(vlan.routes_by_ipv(4), {})
        vlan.add_route(ip_network('10.99.99.0/24'), ip_address('10.0.0.1'))
        vlan.add_route(ip_network('10.99.98.0/24'), ip_address('10.0.0.99'))
        self.assertEqual(
            vlan.routes_by_ipv(4), {
                ip_network('10.99.99.0/24'): ip_address('10.0.0.1'),
                ip_network('10.99.98.0/24'): ip_address('10.0.0.99')
            })
        self.assertEqual(vlan.route_count_by_ipv(4), 2)
        vlan.del_route(ip_network('10.99.99.0/24'))
        self.assertEqual(
            vlan.routes_by_ipv(4),
            {ip_network('10.99.98.0/24'): ip_address('10.0.0.99')})
        self.assertEqual(vlan.route_count_by_ipv(4), 1)
        vlan.del_route(ip_network('10.99.98.0/24'))
        self.assertEqual(vlan.route_count_by_ipv(4), 0)
        self.assertEqual(vlan.routes_by_ipv(4), {})