99
1010import pytest
1111
12- from linode_api4 import InterfaceGeneration , LinodeInterface
12+ from linode_api4 import (
13+ InterfaceGeneration ,
14+ LinodeInterface ,
15+ )
1316from linode_api4 .errors import ApiError
1417from linode_api4 .objects import (
1518 Config ,
@@ -68,7 +71,7 @@ def linode_with_volume_firewall(test_linode_client):
6871
6972
7073@pytest .fixture (scope = "function" )
71- def linode_for_network_interface_tests (test_linode_client , e2e_test_firewall ):
74+ def linode_for_legacy_interface_tests (test_linode_client , e2e_test_firewall ):
7275 client = test_linode_client
7376 region = get_region (client , {"Linodes" , "Cloud Firewall" }, site_type = "core" )
7477 label = get_test_label (length = 8 )
@@ -88,7 +91,7 @@ def linode_for_network_interface_tests(test_linode_client, e2e_test_firewall):
8891
8992
9093@pytest .fixture (scope = "function" )
91- def linode_and_vpc_for_network_interface_tests_offline (
94+ def linode_and_vpc_for_legacy_interface_tests_offline (
9295 test_linode_client , create_vpc_with_subnet , e2e_test_firewall
9396):
9497 vpc , subnet = create_vpc_with_subnet
@@ -614,10 +617,10 @@ def test_linode_initate_migration(test_linode_client, e2e_test_firewall):
614617
615618
616619def test_linode_upgrade_interfaces (
617- linode_for_network_interface_tests ,
618- linode_and_vpc_for_network_interface_tests_offline ,
620+ linode_for_legacy_interface_tests ,
621+ linode_and_vpc_for_legacy_interface_tests_offline ,
619622):
620- vpc , subnet , linode , _ = linode_and_vpc_for_network_interface_tests_offline
623+ vpc , subnet , linode , _ = linode_and_vpc_for_legacy_interface_tests_offline
621624 config = linode .configs [0 ]
622625
623626 new_interfaces = [
@@ -709,6 +712,34 @@ def __assert_vlan(iface: LinodeInterface):
709712 __assert_vpc (linode .interfaces [2 ])
710713
711714
715+ def test_linode_interfaces_settings (linode_with_linode_interfaces ):
716+ linode = linode_with_linode_interfaces
717+ settings = linode .interfaces_settings
718+
719+ assert settings .network_helper is not None
720+ assert settings .default_route .ipv4_interface_id == linode .interfaces [0 ].id
721+ assert settings .default_route .ipv4_eligible_interface_ids == [
722+ linode .interfaces [0 ].id ,
723+ linode .interfaces [1 ].id ,
724+ ]
725+
726+ assert settings .default_route .ipv6_interface_id == linode .interfaces [0 ].id
727+ assert settings .default_route .ipv6_eligible_interface_ids == [
728+ linode .interfaces [0 ].id
729+ ]
730+
731+ # Arbitrary updates
732+ settings .network_helper = True
733+ settings .default_route .ipv4_interface_id = linode .interfaces [1 ].id
734+
735+ settings .save ()
736+ settings .invalidate ()
737+
738+ # Assert updates
739+ assert settings .network_helper is not None
740+ assert settings .default_route .ipv4_interface_id == linode .interfaces [1 ].id
741+
742+
712743def test_config_update_interfaces (create_linode ):
713744 linode = create_linode
714745 config = linode .configs [0 ]
@@ -792,8 +823,8 @@ def test_save_linode_force(test_linode_client, create_linode):
792823
793824
794825class TestNetworkInterface :
795- def test_list (self , linode_for_network_interface_tests ):
796- linode = linode_for_network_interface_tests
826+ def test_list (self , linode_for_legacy_interface_tests ):
827+ linode = linode_for_legacy_interface_tests
797828
798829 config : Config = linode .configs [0 ]
799830
@@ -813,8 +844,8 @@ def test_list(self, linode_for_network_interface_tests):
813844 assert interface [1 ].label == label
814845 assert interface [1 ].ipam_address == "10.0.0.3/32"
815846
816- def test_create_public (self , linode_for_network_interface_tests ):
817- linode = linode_for_network_interface_tests
847+ def test_create_public (self , linode_for_legacy_interface_tests ):
848+ linode = linode_for_legacy_interface_tests
818849
819850 config : Config = linode .configs [0 ]
820851
@@ -831,8 +862,8 @@ def test_create_public(self, linode_for_network_interface_tests):
831862 assert interface .purpose == "public"
832863 assert interface .primary
833864
834- def test_create_vlan (self , linode_for_network_interface_tests ):
835- linode = linode_for_network_interface_tests
865+ def test_create_vlan (self , linode_for_legacy_interface_tests ):
866+ linode = linode_for_legacy_interface_tests
836867
837868 config : Config = linode .configs [0 ]
838869
@@ -856,10 +887,10 @@ def test_create_vpu(self, test_linode_client, linode_for_vpu_tests):
856887 def test_create_vpc (
857888 self ,
858889 test_linode_client ,
859- linode_and_vpc_for_network_interface_tests_offline ,
890+ linode_and_vpc_for_legacy_interface_tests_offline ,
860891 ):
861892 vpc , subnet , linode , _ = (
862- linode_and_vpc_for_network_interface_tests_offline
893+ linode_and_vpc_for_legacy_interface_tests_offline
863894 )
864895
865896 config : Config = linode .configs [0 ]
@@ -913,10 +944,10 @@ def test_create_vpc(
913944
914945 def test_update_vpc (
915946 self ,
916- linode_and_vpc_for_network_interface_tests_offline ,
947+ linode_and_vpc_for_legacy_interface_tests_offline ,
917948 ):
918949 vpc , subnet , linode , _ = (
919- linode_and_vpc_for_network_interface_tests_offline
950+ linode_and_vpc_for_legacy_interface_tests_offline
920951 )
921952
922953 config : Config = linode .configs [0 ]
@@ -946,8 +977,8 @@ def test_update_vpc(
946977 assert interface .ipv4 .nat_1_1 == linode .ipv4 [0 ]
947978 assert interface .ip_ranges == ["10.0.0.9/32" ]
948979
949- def test_reorder (self , linode_for_network_interface_tests ):
950- linode = linode_for_network_interface_tests
980+ def test_reorder (self , linode_for_legacy_interface_tests ):
981+ linode = linode_for_legacy_interface_tests
951982
952983 config : Config = linode .configs [0 ]
953984
0 commit comments