12345678910111213141516171819202122232425262728293031323334 |
- import json
- from rest_framework import status
- from desecapi.tests.base import DesecTestCase
- class ReplicationTest(DesecTestCase):
- def test_serials(self):
- url=self.reverse('v1:serial')
- zones = [
- {'name': 'test.example.', 'edited_serial': 12345},
- {'name': 'example.org.', 'edited_serial': 54321},
- ]
- serials = {zone['name']: zone['edited_serial'] for zone in zones}
- pdns_requests = [{
- 'method': 'GET',
- 'uri': self.get_full_pdns_url(r'/zones', ns='MASTER'),
- 'status': 200,
- 'body': json.dumps(zones),
- }]
- # Run twice to make sure cache output varies on remote address
- for i in range(2):
- response = self.client.get(path=url, REMOTE_ADDR='123.8.0.2')
- self.assertStatus(response, status.HTTP_401_UNAUTHORIZED)
- with self.assertPdnsRequests(pdns_requests):
- response = self.client.get(path=url, REMOTE_ADDR='10.8.0.2')
- self.assertStatus(response, status.HTTP_200_OK)
- self.assertEqual(response.data, serials)
- # Do not expect pdns request in next iteration (result will be cached)
- pdns_requests = []
|