Пример #1
0
    def test_empty_output_static_route(self):
        self.maxDiff = None
        f = StaticRouting(device=self.device)

        # Get outputs
        f.maker.outputs[ShowIpStaticRoute] = {'': {}}
        f.maker.outputs[ShowIpv6StaticRoute] = {'': {}}

        # Learn the feature
        f.learn()

        # Check no attribute not found
        with self.assertRaises(AttributeError):
            f.info['vrf']
Пример #2
0
    def test_missing_attributes_static_route(self):
        f = StaticRouting(device=self.device)
        f.maker.outputs[ShowIpStaticRoute] = {
            '': StaticRouteOutput.showIpv4StaticRoute
        }
        f.maker.outputs[ShowIpv6StaticRoute] = {
            '': StaticRouteOutput.showIpv6StaticRoute
        }

        # Learn the feature
        f.learn()

        with self.assertRaises(KeyError):
            interfaces = f.info['vrf']['VRF1']['address_family']['ipv4']['routes']\
                ['1.1.1.1/32']['next_hop']['next_hop_vrf']
Пример #3
0
    def test_full_static_route(self):
        f = StaticRouting(device=self.device)
        # Get 'show ip static route' output
        f.maker.outputs[ShowIpStaticRoute] = {
            '': StaticRouteOutput.showIpv4StaticRoute
        }
        f.maker.outputs[ShowIpv6StaticRoute] = {
            '': StaticRouteOutput.showIpv6StaticRoute
        }
        self.device.execute = Mock()
        # Learn the feature
        f.learn()

        self.maxDiff = None
        self.assertEqual(f.info, StaticRouteOutput.staticRouteOpsOutput)
Пример #4
0
    def test_selective_attribute_static_route(self):
        f = StaticRouting(device=self.device)

        # Get 'show ipv4 static route' output
        f.maker.outputs[ShowIpStaticRoute] = {
            '': StaticRouteOutput.showIpv4StaticRoute
        }
        f.maker.outputs[ShowIpv6StaticRoute] = {
            '': StaticRouteOutput.showIpv6StaticRoute
        }
        # Learn the feature
        f.learn()
        # Check match

        self.assertEqual('Null0', f.info['vrf']['VRF1']['address_family']['ipv6']['routes']\
            ['2001:1:1:1::1/128']['next_hop']['outgoing_interface']['Null0']['outgoing_interface'])
        # Check does not match
        self.assertNotEqual(5, f.info['vrf']['VRF1']['address_family']['ipv6']['routes']\
            ['2001:1:1:1::1/128']['next_hop']['next_hop_list'][1]['index'])