@@ -39,6 +39,7 @@ class DurableDNSTests(LibcloudTestCase):
3939 def setUp (self ):
4040 DurableDNSDriver .connectionCls .conn_class = DurableDNSMockHttp
4141 DurableDNSMockHttp .type = None
42+ DurableDNSMockHttp .history .clear ()
4243 self .driver = DurableDNSDriver (* DNS_PARAMS_DURABLEDNS )
4344
4445 def assertHasKeys (self , dictionary , keys ):
@@ -81,6 +82,11 @@ def test_list_zones(self):
8182 )
8283 self .driver .get_zone = MagicMock (return_value = zone )
8384 zones = self .driver .list_zones ()
85+
86+ sent = DurableDNSMockHttp .history .pop ()
87+ self .assertEqual (sent .method , "POST" )
88+ self .assertEqual (sent .url , "/services/dns/listZones.php" )
89+
8490 self .assertEqual (len (zones ), 2 )
8591 zone = zones [0 ]
8692 self .assertEqual (zone .id , "myzone.com." )
@@ -128,6 +134,13 @@ def test_list_records(self):
128134 )
129135 self .driver .get_record = MagicMock (return_value = record )
130136 records = self .driver .list_records (zone = zone )
137+
138+ sent = DurableDNSMockHttp .history .pop ()
139+ self .assertEqual (sent .method , "POST" )
140+ self .assertEqual (sent .url , "/services/dns/listRecords.php" )
141+ data = sent .body .decode ()
142+ self .assertIn (":zonename>myzone.com.</" , data )
143+
131144 self .assertEqual (len (records ), 2 )
132145 self .assertEqual (record .id , "353286987" )
133146 self .assertEqual (record .name , "record1" )
@@ -166,6 +179,13 @@ def test_list_records_zone_does_not_exist(self):
166179
167180 def test_get_zone (self ):
168181 zone = self .driver .get_zone (zone_id = "myzone.com." )
182+
183+ sent = DurableDNSMockHttp .history .pop ()
184+ self .assertEqual (sent .method , "POST" )
185+ self .assertEqual (sent .url , "/services/dns/getZone.php" )
186+ data = sent .body .decode ()
187+ self .assertIn (":zonename>myzone.com.</" , data )
188+
169189 self .assertEqual (zone .id , "myzone.com." )
170190 self .assertEqual (zone .domain , "myzone.com." )
171191 self .assertEqual (zone .ttl , 1300 )
@@ -191,6 +211,15 @@ def test_get_zone_does_not_exist(self):
191211
192212 def test_get_record (self ):
193213 record = self .driver .get_record (zone_id = "myzone.com." , record_id = "record1" )
214+
215+ # [0] /services/dns/getRecord.php
216+ # [1] /services/dns/getZone.php
217+ sent = DurableDNSMockHttp .history .pop (0 )
218+ self .assertEqual (sent .method , "POST" )
219+ self .assertEqual (sent .url , "/services/dns/getRecord.php" )
220+ data = sent .body .decode ()
221+ self .assertIn (":zonename>myzone.com.</" , data )
222+
194223 self .assertEqual (record .id , "353286987" )
195224 self .assertEqual (record .name , "record1" )
196225 self .assertEqual (record .type , "A" )
@@ -355,6 +384,13 @@ def test_update_zone(self):
355384 zone , zone .domain , type = zone .type , ttl = 4000 , extra = new_extra
356385 )
357386
387+ # [0] /services/dns/updateZone.php
388+ # [1] /services/dns/getZone.php
389+ sent = DurableDNSMockHttp .history .pop (0 )
390+ self .assertEqual (sent .method , "POST" )
391+ self .assertEqual (sent .url , "/services/dns/updateZone.php" )
392+ self .assertIn (":zonename>deletedzone.com.</" , sent .body )
393+
358394 self .assertEqual (updated_zone .id , "myzone.com." )
359395 self .assertEqual (updated_zone .domain , "myzone.com." )
360396 self .assertEqual (updated_zone .ttl , 4000 )
@@ -431,6 +467,13 @@ def test_update_record(self):
431467 record , record .name , record .type , record .data , extra = new_extra
432468 )
433469
470+ sent = DurableDNSMockHttp .history .pop ()
471+ self .assertEqual (sent .method , "POST" )
472+ self .assertEqual (sent .url , "/services/dns/updateRecord.php" )
473+ self .assertIn (":zonename>myzone.com.</" , sent .body )
474+ self .assertIn (":name>record1</" , sent .body )
475+ self .assertIn (":ttl>4500</" , sent .body )
476+
434477 self .assertEqual (updated_record .data , "192.168.0.1" )
435478 self .assertEqual (updated_record .id , "353286987" )
436479 self .assertEqual (updated_record .name , "record1" )
@@ -496,6 +539,13 @@ def test_delete_zone(self):
496539 extra = z_extra ,
497540 )
498541 status = self .driver .delete_zone (zone = zone )
542+
543+ sent = DurableDNSMockHttp .history .pop ()
544+ self .assertEqual (sent .method , "POST" )
545+ self .assertEqual (sent .url , "/services/dns/deleteZone.php" )
546+ data = sent .body .decode ()
547+ self .assertIn (":zonename>myzone.com.</" , data )
548+
499549 self .assertTrue (status )
500550
501551 def test_delete_zone_zone_does_not_exist (self ):
@@ -555,6 +605,14 @@ def test_delete_record(self):
555605 extra = extra ,
556606 )
557607 status = self .driver .delete_record (record = record )
608+
609+ sent = DurableDNSMockHttp .history .pop ()
610+ self .assertEqual (sent .method , "POST" )
611+ self .assertEqual (sent .url , "/services/dns/deleteRecord.php" )
612+ data = sent .body .decode ()
613+ self .assertIn (":zonename>myzone.com.</" , data )
614+ self .assertIn (":id>353286987</" , data )
615+
558616 self .assertTrue (status )
559617
560618 def test_delete_record_record_does_not_exist (self ):
@@ -608,6 +666,7 @@ def test_delete_record_zone_does_not_exist(self):
608666
609667class DurableDNSMockHttp (MockHttp ):
610668 fixtures = DNSFileFixtures ("durabledns" )
669+ keep_history = True
611670
612671 def _services_dns_listZones_php (self , method , url , body , headers ):
613672 body = self .fixtures .load ("list_zones.xml" )
0 commit comments