Skip to content

Commit 107ac3f

Browse files
committed
Create int tests for Reserved IPs: linode instances
1 parent 9e6ad27 commit 107ac3f

1 file changed

Lines changed: 34 additions & 1 deletion

File tree

test/integration/models/networking/test_networking.py

Lines changed: 34 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
import pytest
1616

1717
from linode_api4 import Instance, LinodeClient, ApiError
18-
from linode_api4.objects import Config, ConfigInterfaceIPv4, Firewall, IPAddress, ReservedIPAddress
18+
from linode_api4.objects import Config, ConfigInterfaceIPv4, Firewall, InterfaceGeneration, IPAddress, ReservedIPAddress
1919
from linode_api4.objects.networking import (
2020
FirewallCreateDevicesOptions,
2121
NetworkTransferPrice,
@@ -580,3 +580,36 @@ def test_convert_unassigned_reserved_ip_to_ephemeral(test_linode_client, create_
580580

581581
reserved_ips_list = client.networking.reserved_ips(ReservedIPAddress.address==reserved_ip.address)
582582
assert len(reserved_ips_list) == 0
583+
584+
585+
# TODO: move to linode's tests file
586+
@pytest.mark.parametrize("interface", [
587+
InterfaceGeneration.LEGACY_CONFIG,
588+
# InterfaceGeneration.LINODE
589+
])
590+
def test_create_linode_with_reserved_ip_in_legacy_config(test_linode_client, e2e_test_firewall, create_reserved_ip, interface):
591+
client = test_linode_client
592+
reserved_ip = create_reserved_ip
593+
label = get_test_label(length=8)
594+
595+
# if interface == InterfaceGeneration.LINODE:
596+
# interface = "POST /v4beta/linode/instances: [400] ipv4: Reserved IPs must be assigned directly in interface configurations when using Linode Interfaces"
597+
598+
linode, _ = client.linode.instance_create(
599+
"g6-nanode-1",
600+
TEST_REGION,
601+
image="linode/debian12",
602+
label=label,
603+
firewall=e2e_test_firewall,
604+
interface_generation=interface,
605+
ipv4=[reserved_ip.address]
606+
)
607+
608+
linode_ips = linode.ips.ipv4.public
609+
assert len(linode_ips) == 1
610+
verify_reserved_ip_assigned(linode_ips[0], linode)
611+
612+
linode.delete()
613+
reserved_ips_list = client.networking.reserved_ips(ReservedIPAddress.address==reserved_ip.address)
614+
assert len(reserved_ips_list) == 1
615+
verify_reserved_ip(reserved_ips_list[0])

0 commit comments

Comments
 (0)