@@ -27,6 +27,7 @@ class PointDNSTests(unittest.TestCase):
2727 def setUp (self ):
2828 PointDNSDriver .connectionCls .conn_class = PointDNSMockHttp
2929 PointDNSMockHttp .type = None
30+ PointDNSMockHttp .history .clear ()
3031 self .driver = PointDNSDriver (* DNS_PARAMS_POINTDNS )
3132
3233 def assertHasKeys (self , dictionary , keys ):
@@ -50,6 +51,11 @@ def test_list_record_types(self):
5051 def test_list_zones_success (self ):
5152 PointDNSMockHttp .type = "GET"
5253 zones = self .driver .list_zones ()
54+
55+ sent = PointDNSMockHttp .history .pop ()
56+ self .assertEqual (sent .method , "GET" )
57+ self .assertEqual (sent .url , "/zones" )
58+
5359 self .assertEqual (len (zones ), 2 )
5460
5561 zone1 = zones [0 ]
@@ -70,6 +76,11 @@ def test_list_records_success(self):
7076 PointDNSMockHttp .type = "GET"
7177 zone = self .driver .list_zones ()[0 ]
7278 records = self .driver .list_records (zone = zone )
79+
80+ sent = PointDNSMockHttp .history .pop ()
81+ self .assertEqual (sent .method , "GET" )
82+ self .assertEqual (sent .url , "/zones/1/records" )
83+
7384 self .assertEqual (len (records ), 2 )
7485
7586 record1 = records [0 ]
@@ -89,6 +100,11 @@ def test_list_records_success(self):
89100 def test_get_zone_success (self ):
90101 PointDNSMockHttp .type = "GET"
91102 zone1 = self .driver .get_zone (zone_id = "1" )
103+
104+ sent = PointDNSMockHttp .history .pop ()
105+ self .assertEqual (sent .method , "GET" )
106+ self .assertEqual (sent .url , "/zones/1" )
107+
92108 self .assertEqual (zone1 .id , "1" )
93109 self .assertEqual (zone1 .type , "master" )
94110 self .assertEqual (zone1 .domain , "example.com" )
@@ -107,6 +123,13 @@ def test_get_zone_zone_not_exists(self):
107123 def test_get_record_success (self ):
108124 PointDNSMockHttp .type = "GET"
109125 record = self .driver .get_record (zone_id = "1" , record_id = "141" )
126+
127+ # [0] GET /zones/1/records/141
128+ # [1] GET /zones/1
129+ sent = PointDNSMockHttp .history .pop (0 )
130+ self .assertEqual (sent .method , "GET" )
131+ self .assertEqual (sent .url , "/zones/1/records/141" )
132+
110133 self .assertEqual (record .id , "141" )
111134 self .assertEqual (record .name , "site.example.com" )
112135 self .assertEqual (record .type , RecordType .A )
@@ -125,6 +148,12 @@ def test_get_record_record_not_exists(self):
125148 def test_create_zone_success (self ):
126149 PointDNSMockHttp .type = "CREATE"
127150 zone = self .driver .create_zone (domain = "example.com" )
151+
152+ sent = PointDNSMockHttp .history .pop ()
153+ self .assertEqual (sent .method , "POST" )
154+ self .assertEqual (sent .url , "/zones" )
155+ self .assertEqual (sent .json ["zone" ]["name" ], "example.com" )
156+
128157 self .assertEqual (zone .id , "2" )
129158 self .assertEqual (zone .domain , "example.com" )
130159 self .assertEqual (zone .ttl , 3600 )
@@ -147,6 +176,14 @@ def test_create_record_success(self):
147176 record = self .driver .create_record (
148177 name = "site.example.com" , zone = zone , type = RecordType .A , data = "1.2.3.4"
149178 )
179+
180+ sent = PointDNSMockHttp .history .pop ()
181+ self .assertEqual (sent .method , "POST" )
182+ self .assertEqual (sent .url , "/zones/1/records" )
183+ self .assertEqual (sent .json ["zone_record" ]["name" ], "site.example.com" )
184+ self .assertEqual (sent .json ["zone_record" ]["record_type" ], "A" )
185+ self .assertEqual (sent .json ["zone_record" ]["data" ], "1.2.3.4" )
186+
150187 self .assertEqual (record .id , "143" )
151188 self .assertEqual (record .name , "site.example.com" )
152189 self .assertEqual (record .type , RecordType .A )
@@ -172,6 +209,13 @@ def test_update_zone_success(self):
172209 PointDNSMockHttp .type = "ZONE_UPDATE"
173210 extra = {"user-id" : 6 }
174211 _zone = self .driver .update_zone (zone , zone .domain , zone .ttl , extra = extra )
212+
213+ sent = PointDNSMockHttp .history .pop ()
214+ self .assertEqual (sent .method , "PUT" )
215+ self .assertEqual (sent .url , "/zones/1" )
216+ self .assertEqual (sent .json ["zone" ]["name" ], "example.com" )
217+ self .assertEqual (sent .json ["zone" ]["user-id" ], 6 )
218+
175219 self .assertEqual (_zone .extra .get ("user-id" ), 6 )
176220
177221 def test_update_zone_with_error (self ):
@@ -193,13 +237,24 @@ def test_update_record_success(self):
193237 extra = {"ttl" : 4500 }
194238 record1 = self .driver .update_record (
195239 record = record ,
196- name = "updated.com" ,
240+ name = "updated.example. com" ,
197241 type = RecordType .A ,
198242 data = "1.2.3.5" ,
199243 extra = extra ,
200244 )
245+
246+ sent = PointDNSMockHttp .history .pop ()
247+ self .assertEqual (sent .method , "PUT" )
248+ self .assertEqual (sent .url , "/zones/1/records/141" )
249+ self .assertEqual (sent .json ["zone_record" ]["name" ], "updated.example.com" )
250+ self .assertEqual (sent .json ["zone_record" ]["record_type" ], "A" )
251+ self .assertEqual (sent .json ["zone_record" ]["data" ], "1.2.3.5" )
252+ self .assertEqual (sent .json ["zone_record" ]["ttl" ], 4500 )
253+
254+ self .assertEqual (record .name , "site.example.com" )
201255 self .assertEqual (record .data , "1.2.3.4" )
202256 self .assertEqual (record .extra .get ("ttl" ), 3600 )
257+ self .assertEqual (record1 .name , "updated.example.com" )
203258 self .assertEqual (record1 .data , "1.2.3.5" )
204259 self .assertEqual (record1 .extra .get ("ttl" ), 4500 )
205260
@@ -226,6 +281,11 @@ def test_delete_zone_success(self):
226281 zone = self .driver .list_zones ()[0 ]
227282 PointDNSMockHttp .type = "DELETE"
228283 status = self .driver .delete_zone (zone = zone )
284+
285+ sent = PointDNSMockHttp .history .pop ()
286+ self .assertEqual (sent .method , "DELETE" )
287+ self .assertEqual (sent .url , "/zones/1" )
288+
229289 self .assertTrue (status )
230290
231291 def test_delete_zone_zone_not_exists (self ):
@@ -247,6 +307,11 @@ def test_delete_record_success(self):
247307 record = records [1 ]
248308 PointDNSMockHttp .type = "DELETE"
249309 status = self .driver .delete_record (record = record )
310+
311+ sent = PointDNSMockHttp .history .pop ()
312+ self .assertEqual (sent .method , "DELETE" )
313+ self .assertEqual (sent .url , "/zones/1/records/150" )
314+
250315 self .assertTrue (status )
251316
252317 def test_delete_record_record_not_exists (self ):
@@ -556,6 +621,7 @@ def test_ex_delete_mail_redirect_not_found(self):
556621
557622class PointDNSMockHttp (MockHttp ):
558623 fixtures = DNSFileFixtures ("pointdns" )
624+ keep_history = True
559625
560626 def _zones_GET (self , method , url , body , headers ):
561627 body = self .fixtures .load ("_zones_GET.json" )
0 commit comments