def testDeleteCausesPdnsAPICall(self):
httpretty.enable()
httpretty.register_uri(httpretty.PATCH, settings.NSLORD_PDNS_API + '/zones/' + self.ownedDomains[1].name + '.')
httpretty.register_uri(httpretty.PUT, settings.NSLORD_PDNS_API + '/zones/' + self.ownedDomains[1].name + './notify')
# Create record, should cause a pdns PATCH request and a notify
url = reverse('rrsets', args=(self.ownedDomains[1].name,))
data = {'records': ['1.2.3.4'], 'ttl': 60, 'type': 'A'}
self.client.post(url, json.dumps(data), content_type='application/json')
# Delete record, should cause a pdns PATCH request and a notify
url = reverse('rrset', args=(self.ownedDomains[1].name, '', 'A',))
response = self.client.delete(url)
self.assertEqual(response.status_code, status.HTTP_204_NO_CONTENT)
# Check pdns requests from creation
result = json.loads(httpretty.httpretty.latest_requests[-4].parsed_body)
self.assertEqual(result['rrsets'][0]['name'], self.ownedDomains[1].name + '.')
self.assertEqual(result['rrsets'][0]['records'][0]['content'], '1.2.3.4')
self.assertEqual(httpretty.httpretty.latest_requests[-3].method, 'PUT')
# Check pdns requests from deletion
result = json.loads(httpretty.httpretty.latest_requests[-2].parsed_body)
self.assertEqual(result['rrsets'][0]['name'], self.ownedDomains[1].name + '.')
self.assertEqual(result['rrsets'][0]['records'], [])
self.assertEqual(httpretty.httpretty.latest_requests[-1].method, 'PUT')
评论列表
文章目录