Skip to content

Commit 1f79a2a

Browse files
Almost done
1 parent 5655ec9 commit 1f79a2a

1 file changed

Lines changed: 34 additions & 0 deletions

File tree

test/integration/models/linode/interfaces/test_interfaces.py

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
import copy
12
import ipaddress
23
from test.integration.helpers import get_test_label
34

@@ -279,6 +280,39 @@ def test_linode_interface_create_public(linode_interface_public):
279280
assert len(iface.public.ipv6.shared) == 0
280281

281282

283+
def test_linode_interface_update_public(linode_interface_public):
284+
iface, instance, ipv6_range = linode_interface_public
285+
286+
old_iface_vars = copy.deepcopy(vars(iface))
287+
288+
iface.public.ipv4.addresses += [
289+
LinodeInterfacePublicIPv4AddressOptions(address="auto", primary=True)
290+
]
291+
iface.public.ipv4.addresses[0].primary = False
292+
293+
iface.public.ipv6.ranges[0].range = "/64"
294+
295+
iface.save()
296+
297+
iface.invalidate()
298+
299+
assert len(iface.public.ipv4.addresses) == 2
300+
301+
address = iface.public.ipv4.addresses[0]
302+
assert address.address == old_iface_vars["public"].ipv4.addresses[0].address
303+
assert not address.primary
304+
305+
address = iface.public.ipv4.addresses[1]
306+
assert ipaddress.ip_address(address.address)
307+
assert address.primary
308+
309+
assert len(iface.public.ipv6.ranges) == 1
310+
311+
range = iface.public.ipv6.ranges[0]
312+
assert len(range.range) > 0
313+
assert ipaddress.ip_network(range.range)
314+
315+
282316
def test_linode_interface_create_vpc(linode_interface_vpc):
283317
iface, instance, vpc, subnet = linode_interface_vpc
284318

0 commit comments

Comments
 (0)