コード例 #1
0
 def test_discard_other_option_when_disabled(self):
     ip_state = IPState(
         Interface.IPV6, {InterfaceIPv6.ENABLED: False, "foo_a": "foo_b"}
     )
     assert ip_state.to_dict() == {
         InterfaceIP.ENABLED: False,
     }
コード例 #2
0
    def test_discard_address_when_dynamic(self, ip_ver_dynamic):
        ip_info = {}
        family, dynamic_options = ip_ver_dynamic
        ip_info.update(dynamic_options)
        expected_ip_info = deepcopy(ip_info)
        ip_info[InterfaceIP.ADDRESS] = (IPV4_ADDRESSES if family
                                        == InterfaceIPv4 else IPV6_ADDRESSES)

        ip_state = IPState(family, ip_info)

        assert ip_state.to_dict() == expected_ip_info
コード例 #3
0
    def test_remove_link_local_address(self, ip_ver):
        family, ip_info = ip_ver
        expected_ip_info = deepcopy(ip_info)
        if family == Interface.IPV6:
            ip_info[InterfaceIPv6.ADDRESS].append(
                {
                    InterfaceIPv6.ADDRESS_IP: IPV6_LINK_LOCAL_ADDRESS1,
                    InterfaceIPv6.ADDRESS_PREFIX_LENGTH: 64,
                }
            )

        ip_state = IPState(Interface.IPV6, ip_info)
        ip_state.remove_link_local_address()

        assert ip_state.to_dict() == expected_ip_info
コード例 #4
0
    def test_default_dynamic_options_when_undefined(self, ip_ver_dynamic):
        ip_info = {
            InterfaceIP.ENABLED: True,
        }
        family, dynamic_options = ip_ver_dynamic
        ip_info.update(dynamic_options)
        ip_info.pop(InterfaceIP.AUTO_DNS)
        ip_info.pop(InterfaceIP.AUTO_ROUTES)
        ip_info.pop(InterfaceIP.AUTO_GATEWAY)

        expected_ip_info = deepcopy(ip_info)
        expected_ip_info.update(dynamic_options)

        ip_state = IPState(family, ip_info)

        assert ip_state.to_dict() == expected_ip_info
コード例 #5
0
 def test_sort_address(self, ip_ver):
     family, ip_info = ip_ver
     ip_state1 = IPState(family, ip_info)
     ip_info2 = deepcopy(ip_info)
     ip_info2[InterfaceIP.ADDRESS].reverse()
     ip_state2 = IPState(family, ip_info2)
     assert ip_state1.to_dict() == ip_state2.to_dict()
コード例 #6
0
    def test_ipv6_non_abbreviated_address(self):
        ip_state = IPState(
            Interface.IPV6,
            {
                InterfaceIPv6.ENABLED:
                True,
                InterfaceIPv6.ADDRESS:
                [{
                    InterfaceIPv6.ADDRESS_IP: IPV6_ADDRESS1_FULL,
                    InterfaceIPv6.ADDRESS_PREFIX_LENGTH: 64,
                }],
            },
        )

        assert ip_state.to_dict() == {
            InterfaceIPv6.ENABLED:
            True,
            InterfaceIPv6.ADDRESS: [{
                InterfaceIPv6.ADDRESS_IP: IPV6_ADDRESS1,
                InterfaceIPv6.ADDRESS_PREFIX_LENGTH: 64,
            }],
        }