22
33import pytest
44
5- from linode_api4 .objects import Tag
5+ from linode_api4 .objects import ReservedIPAddress , Tag
66
77
88@pytest .fixture
@@ -15,21 +15,35 @@ def test_tag(test_linode_client):
1515 tag .delete ()
1616
1717
18+ @pytest .fixture
19+ def create_tag_with_reserved_ip (test_linode_client , create_reserved_ip ):
20+ unique_tag = get_test_label () + "_tag"
21+ reserved_ip = create_reserved_ip
22+
23+ tag = test_linode_client .tags .create (unique_tag , reserved_ipv4_addresses = [reserved_ip .address ])
24+ reserved_ip = test_linode_client .networking .reserved_ips (ReservedIPAddress .address == reserved_ip .address )[0 ]
25+
26+ yield tag , reserved_ip
27+
28+ tag .delete ()
29+
30+
1831@pytest .mark .smoke
1932def test_get_tag (test_linode_client , test_tag ):
2033 tag = test_linode_client .load (Tag , test_tag .id )
2134
2235 assert tag .id == test_tag .id
2336
2437
25- @pytest .mark .skip (reason = "This test is currently blocked - API does not support tagging reserved IPs yet" )
26- def test_get_tag_with_reserved_ip (test_linode_client , create_reserved_ip ):
27- unique_tag = get_test_label () + "_tag"
28- reserved_ip = create_reserved_ip
38+ def test_get_tag_with_reserved_ip (test_linode_client , create_tag_with_reserved_ip ):
39+ tag , reserved_ip = create_tag_with_reserved_ip
40+ tag = test_linode_client .load (Tag , tag .id ).objects [0 ]
2941
30- tag = test_linode_client . tags . create ( unique_tag , reserved_ipv4_addresses = [ reserved_ip . address ] )
31- tag = test_linode_client . load ( Tag , tag . id )
32- assert tag .type == "reserved_ipv4_address"
33- # assert tag.data...
42+ assert vars ( tag ). keys () == vars ( reserved_ip ). keys ( )
43+ assert tag . address == reserved_ip . address
44+ assert tag .reserved == reserved_ip . reserved
45+ assert tag .tags == reserved_ip . tags
3446
3547 tag .delete ()
48+ reserved_ip = test_linode_client .networking .reserved_ips (ReservedIPAddress .address == reserved_ip .address )
49+ assert len (reserved_ip ) == 0
0 commit comments