|
| 1 | +from datetime import datetime |
| 2 | +from test.unit.base import ClientBaseCase |
| 3 | + |
| 4 | +from linode_api4 import ( |
| 5 | + LinodeInterface, |
| 6 | +) |
| 7 | + |
| 8 | + |
| 9 | +class LinodeInterfaceTest(ClientBaseCase): |
| 10 | + """ |
| 11 | + Tests methods of the LinodeInterface class |
| 12 | + """ |
| 13 | + |
| 14 | + @staticmethod |
| 15 | + def assert_linode_124_interface_123(iface: LinodeInterface): |
| 16 | + assert iface.id == 123 |
| 17 | + |
| 18 | + assert isinstance(iface.created, datetime) |
| 19 | + assert isinstance(iface.updated, datetime) |
| 20 | + |
| 21 | + assert iface.default_route.ipv4 |
| 22 | + assert iface.default_route.ipv6 |
| 23 | + |
| 24 | + assert iface.mac_address == "22:00:AB:CD:EF:01" |
| 25 | + assert iface.version == 1 |
| 26 | + |
| 27 | + assert iface.vlan is None |
| 28 | + assert iface.vpc is None |
| 29 | + |
| 30 | + # public.ipv4 assertions |
| 31 | + assert iface.public.ipv4.addresses[0].address == "172.30.0.50" |
| 32 | + assert iface.public.ipv4.addresses[0].primary |
| 33 | + |
| 34 | + assert iface.public.ipv4.shared[0].address == "172.30.0.51" |
| 35 | + assert iface.public.ipv4.shared[0].linode_id == 125 |
| 36 | + |
| 37 | + # public.ipv6 assertions |
| 38 | + assert iface.public.ipv6.ranges[0].range == "2600:3cO9:e001:59::/64" |
| 39 | + assert ( |
| 40 | + iface.public.ipv6.ranges[0].route_target |
| 41 | + == "2600:3cO9::ff:feab:cdef" |
| 42 | + ) |
| 43 | + |
| 44 | + assert iface.public.ipv6.ranges[1].range == "2600:3cO9:e001:5a::/64" |
| 45 | + assert ( |
| 46 | + iface.public.ipv6.ranges[1].route_target |
| 47 | + == "2600:3cO9::ff:feab:cdef" |
| 48 | + ) |
| 49 | + |
| 50 | + assert iface.public.ipv6.shared[0].range == "2600:3cO9:e001:2a::/64" |
| 51 | + assert iface.public.ipv6.shared[0].route_target is None |
| 52 | + |
| 53 | + assert iface.public.ipv6.slaac[0].address == "2600:3cO9::ff:feab:cdef" |
| 54 | + assert iface.public.ipv6.slaac[0].prefix == 64 |
0 commit comments