2525class VultrTests (unittest .TestCase ):
2626 def setUp (self ):
2727 VultrMockHttp .type = None
28+ VultrMockHttp .history .clear ()
2829 VultrDNSDriverV2 .connectionCls .conn_class = VultrMockHttp
2930 self .driver = VultrDNSDriver ("foo" )
3031
@@ -36,6 +37,11 @@ def test_unknown_api_version(self):
3637
3738 def test_list_zones (self ):
3839 zones = self .driver .list_zones ()
40+
41+ sent = VultrMockHttp .history .pop ()
42+ self .assertEqual (sent .method , "GET" )
43+ self .assertEqual (sent .url , "/v2/domains" )
44+
3945 self .assertEqual (len (zones ), 2 )
4046 zone = zones [0 ]
4147 self .assertEqual (zone .id , "example.com" )
@@ -44,24 +50,45 @@ def test_list_zones(self):
4450
4551 def test_create_zone (self ):
4652 zone = self .driver .create_zone ("example.com" )
53+
54+ sent = VultrMockHttp .history .pop ()
55+ self .assertEqual (sent .method , "POST" )
56+ self .assertEqual (sent .url , "/v2/domains" )
57+ self .assertEqual (sent .json ["domain" ], "example.com" )
58+
4759 self .assertEqual (zone .id , "example.com" )
4860 self .assertEqual (zone .domain , "example.com" )
4961 self .assertEqual (zone .extra ["date_created" ], "2021-09-07T10:28:34+00:00" )
5062
5163 def test_get_zone (self ):
5264 zone = self .driver .get_zone ("example.com" )
65+
66+ sent = VultrMockHttp .history .pop ()
67+ self .assertEqual (sent .method , "GET" )
68+ self .assertEqual (sent .url , "/v2/domains/example.com" )
69+
5370 self .assertEqual (zone .id , "example.com" )
5471 self .assertEqual (zone .domain , "example.com" )
5572 self .assertEqual (zone .extra ["date_created" ], "2021-09-07T09:52:18+00:00" )
5673
5774 def test_delete_zone (self ):
5875 zone = self .driver .get_zone ("example.com" )
5976 response = self .driver .delete_zone (zone )
77+
78+ sent = VultrMockHttp .history .pop ()
79+ self .assertEqual (sent .method , "DELETE" )
80+ self .assertEqual (sent .url , "/v2/domains/example.com" )
81+
6082 self .assertTrue (response )
6183
6284 def test_list_records (self ):
6385 zone = self .driver .list_zones ()[0 ]
6486 records = self .driver .list_records (zone )
87+
88+ sent = VultrMockHttp .history .pop ()
89+ self .assertEqual (sent .method , "GET" )
90+ self .assertEqual (sent .url , "/v2/domains/example.com/records" )
91+
6592 self .assertEqual (len (records ), 5 )
6693 record = records [0 ]
6794 self .assertEqual (record .id , "123" )
@@ -72,6 +99,14 @@ def test_list_records(self):
7299 def test_create_record (self ):
73100 zone = self .driver .list_zones ()[0 ]
74101 record = self .driver .create_record ("test1" , zone , "A" , "192.168.0.11" )
102+
103+ sent = VultrMockHttp .history .pop ()
104+ self .assertEqual (sent .method , "POST" )
105+ self .assertEqual (sent .url , "/v2/domains/example.com/records" )
106+ self .assertEqual (sent .json ["name" ], "test1" )
107+ self .assertEqual (sent .json ["type" ], "A" )
108+ self .assertEqual (sent .json ["data" ], "192.168.0.11" )
109+
75110 self .assertEqual (record .id , "123" )
76111 self .assertEqual (record .zone .domain , zone .domain )
77112 self .assertEqual (record .type , "A" )
@@ -84,12 +119,26 @@ def test_update_record(self):
84119 response = self .driver .update_record (
85120 record , name = "test" , data = "192.168.0.0" , extra = dict (ttl = 300 , priority = 1 )
86121 )
122+
123+ sent = VultrMockHttp .history .pop ()
124+ self .assertEqual (sent .method , "PATCH" )
125+ self .assertEqual (sent .url , "/v2/domains/example.com/records/123" )
126+ self .assertEqual (sent .json ["name" ], "test" )
127+ self .assertEqual (sent .json ["data" ], "192.168.0.0" )
128+ self .assertEqual (sent .json ["ttl" ], 300 )
129+ self .assertEqual (sent .json ["priority" ], 1 )
130+
87131 self .assertTrue (response )
88132
89133 def test_get_record (self ):
90134 zone = self .driver .list_zones ()[0 ]
91135 temp = self .driver .list_records (zone )[0 ]
92136 record = self .driver .get_record (zone .domain , temp .id )
137+
138+ sent = VultrMockHttp .history .pop ()
139+ self .assertEqual (sent .method , "GET" )
140+ self .assertEqual (sent .url , "/v2/domains/example.com/records/123" )
141+
93142 self .assertEqual (record .id , "123" )
94143 self .assertEqual (record .zone .domain , zone .domain )
95144 self .assertEqual (record .type , "NS" )
@@ -101,11 +150,17 @@ def test_delete_record(self):
101150 zone = self .driver .list_zones ()[0 ]
102151 record = self .driver .list_records (zone )[0 ]
103152 response = self .driver .delete_record (record )
153+
154+ sent = VultrMockHttp .history .pop ()
155+ self .assertEqual (sent .method , "DELETE" )
156+ self .assertEqual (sent .url , "/v2/domains/example.com/records/123" )
157+
104158 self .assertTrue (response )
105159
106160
107161class VultrMockHttp (MockHttp ):
108162 fixtures = DNSFileFixtures ("vultr_v2" )
163+ keep_history = True
109164
110165 def _v2_domains (self , method , url , body , headers ):
111166 if method == "GET" :
0 commit comments