123456789101112131415161718192021222324252627282930313233343536 |
- 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 = []
|