|
| 1 | +import copy |
1 | 2 | import ipaddress |
2 | 3 | from test.integration.helpers import get_test_label |
3 | 4 |
|
@@ -279,6 +280,39 @@ def test_linode_interface_create_public(linode_interface_public): |
279 | 280 | assert len(iface.public.ipv6.shared) == 0 |
280 | 281 |
|
281 | 282 |
|
| 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 | + |
282 | 316 | def test_linode_interface_create_vpc(linode_interface_vpc): |
283 | 317 | iface, instance, vpc, subnet = linode_interface_vpc |
284 | 318 |
|
|
0 commit comments