|
1 | 1 | from datetime import datetime |
2 | 2 | from test.unit.base import ClientBaseCase |
| 3 | +from test.unit.objects.linode_interface_test import ( |
| 4 | + LinodeInterfaceTest, |
| 5 | + build_interface_options_public, |
| 6 | + build_interface_options_vlan, |
| 7 | + build_interface_options_vpc, |
| 8 | +) |
3 | 9 |
|
4 | 10 | from linode_api4 import InstanceDiskEncryptionType, NetworkInterface |
5 | 11 | from linode_api4.objects import ( |
@@ -578,6 +584,50 @@ def test_upgrade_interfaces_dry(self): |
578 | 584 | assert result.interfaces[2].id == 789 |
579 | 585 | assert result.interfaces[2].vlan is not None |
580 | 586 |
|
| 587 | + def test_create_interface_public(self): |
| 588 | + instance = Instance(self.client, 124) |
| 589 | + |
| 590 | + iface = build_interface_options_public() |
| 591 | + |
| 592 | + with self.mock_post("/linode/instances/124/interfaces/123") as m: |
| 593 | + result = instance.interface_create(**vars(iface)) |
| 594 | + |
| 595 | + assert m.call_data == { |
| 596 | + "firewall_id": iface.firewall_id, |
| 597 | + "default_route": iface.default_route._serialize(), |
| 598 | + "public": iface.public._serialize(), |
| 599 | + } |
| 600 | + |
| 601 | + LinodeInterfaceTest.assert_linode_124_interface_123(result) |
| 602 | + |
| 603 | + def test_create_interface_vpc(self): |
| 604 | + instance = Instance(self.client, 124) |
| 605 | + |
| 606 | + iface = build_interface_options_vpc() |
| 607 | + |
| 608 | + with self.mock_post("/linode/instances/124/interfaces/456") as m: |
| 609 | + result = instance.interface_create(**vars(iface)) |
| 610 | + |
| 611 | + assert m.call_data == { |
| 612 | + "firewall_id": iface.firewall_id, |
| 613 | + "default_route": iface.default_route._serialize(), |
| 614 | + "vpc": iface.vpc._serialize(), |
| 615 | + } |
| 616 | + |
| 617 | + LinodeInterfaceTest.assert_linode_124_interface_456(result) |
| 618 | + |
| 619 | + def test_create_interface_vlan(self): |
| 620 | + instance = Instance(self.client, 124) |
| 621 | + |
| 622 | + iface = build_interface_options_vlan() |
| 623 | + |
| 624 | + with self.mock_post("/linode/instances/124/interfaces/789") as m: |
| 625 | + result = instance.interface_create(**vars(iface)) |
| 626 | + |
| 627 | + assert m.call_data == {"vlan": iface.vlan._serialize()} |
| 628 | + |
| 629 | + LinodeInterfaceTest.assert_linode_124_interface_789(result) |
| 630 | + |
581 | 631 |
|
582 | 632 | class DiskTest(ClientBaseCase): |
583 | 633 | """ |
|
0 commit comments