3333class LuadnsTests (unittest .TestCase ):
3434 def setUp (self ):
3535 LuadnsMockHttp .type = None
36+ LuadnsMockHttp .history .clear ()
3637 LuadnsDNSDriver .connectionCls .conn_class = LuadnsMockHttp
3738 self .driver = LuadnsDNSDriver (* DNS_PARAMS_LUADNS )
3839 self .test_zone = Zone (
@@ -66,6 +67,10 @@ def test_list_zones_empty(self):
6667 def test_list_zones_success (self ):
6768 zones = self .driver .list_zones ()
6869
70+ sent = LuadnsMockHttp .history .pop ()
71+ self .assertEqual (sent .method , "GET" )
72+ self .assertEqual (sent .url , "/v1/zones" )
73+
6974 self .assertEqual (len (zones ), 2 )
7075
7176 zone = zones [0 ]
@@ -95,6 +100,10 @@ def test_get_zone_success(self):
95100 LuadnsMockHttp .type = "GET_ZONE_SUCCESS"
96101 zone = self .driver .get_zone (zone_id = "31" )
97102
103+ sent = LuadnsMockHttp .history .pop ()
104+ self .assertEqual (sent .method , "GET" )
105+ self .assertEqual (sent .url , "/v1/zones/31" )
106+
98107 self .assertEqual (zone .id , "31" )
99108 self .assertEqual (zone .domain , "example.org" )
100109 self .assertIsNone (zone .type )
@@ -106,6 +115,10 @@ def test_delete_zone_success(self):
106115 zone = self .test_zone
107116 status = self .driver .delete_zone (zone = zone )
108117
118+ sent = LuadnsMockHttp .history .pop ()
119+ self .assertEqual (sent .method , "DELETE" )
120+ self .assertEqual (sent .url , f"/v1/zones/{ zone .id } " )
121+
109122 self .assertEqual (status , True )
110123
111124 def test_delete_zone_zone_does_not_exist (self ):
@@ -122,6 +135,11 @@ def test_create_zone_success(self):
122135 LuadnsMockHttp .type = "CREATE_ZONE_SUCCESS"
123136 zone = self .driver .create_zone (domain = "example.org" )
124137
138+ sent = LuadnsMockHttp .history .pop ()
139+ self .assertEqual (sent .method , "POST" )
140+ self .assertEqual (sent .url , "/v1/zones" )
141+ self .assertEqual (sent .json ["name" ], "example.org" )
142+
125143 self .assertEqual (zone .id , "3" )
126144 self .assertEqual (zone .domain , "example.org" )
127145 self .assertIsNone (zone .type )
@@ -149,6 +167,10 @@ def test_list_records_success(self):
149167 zone = self .test_zone
150168 records = self .driver .list_records (zone = zone )
151169
170+ sent = LuadnsMockHttp .history .pop ()
171+ self .assertEqual (sent .method , "GET" )
172+ self .assertEqual (sent .url , f"/v1/zones/{ zone .id } /records" )
173+
152174 self .assertEqual (len (records ), 2 )
153175
154176 record = records [0 ]
@@ -179,6 +201,10 @@ def test_get_record_success(self):
179201 LuadnsMockHttp .type = "GET_RECORD_SUCCESS"
180202 record = self .driver .get_record (zone_id = "31" , record_id = "31" )
181203
204+ sent = LuadnsMockHttp .history .pop ()
205+ self .assertEqual (sent .method , "GET" )
206+ self .assertEqual (sent .url , "/v1/zones/31/records/31" )
207+
182208 self .assertEqual (record .id , "31" )
183209 self .assertEqual (record .type , "MX" )
184210 self .assertEqual (record .name , "example.com." )
@@ -189,6 +215,10 @@ def test_delete_record_success(self):
189215 record = self .test_record
190216 status = self .driver .delete_record (record = record )
191217
218+ sent = LuadnsMockHttp .history .pop ()
219+ self .assertEqual (sent .method , "DELETE" )
220+ self .assertEqual (sent .url , f"/v1/zones/{ record .zone .id } /records/{ record .id } " )
221+
192222 self .assertEqual (status , True )
193223
194224 def test_delete_record_RECORD_DOES_NOT_EXIST_ERROR (self ):
@@ -210,6 +240,15 @@ def test_create_record_success(self):
210240 data = "127.0.0.1" ,
211241 extra = {"ttl" : 13 },
212242 )
243+
244+ sent = LuadnsMockHttp .history .pop ()
245+ self .assertEqual (sent .method , "POST" )
246+ self .assertEqual (sent .url , f"/v1/zones/{ self .test_zone .id } /records" )
247+ self .assertEqual (sent .json ["name" ], "test.com." )
248+ self .assertEqual (sent .json ["type" ], "A" )
249+ self .assertEqual (sent .json ["content" ], "127.0.0.1" )
250+ self .assertEqual (sent .json ["ttl" ], 13 )
251+
213252 self .assertEqual (record .id , "31" )
214253 self .assertEqual (record .name , "test.com." )
215254 self .assertEqual (record .data , "127.0.0.1" )
@@ -221,6 +260,7 @@ def test_record_already_exists_error(self):
221260
222261class LuadnsMockHttp (MockHttp ):
223262 fixtures = DNSFileFixtures ("luadns" )
263+ keep_history = True
224264
225265 def _v1_zones (self , method , url , body , headers ):
226266 body = self .fixtures .load ("zones_list.json" )
0 commit comments