Selaa lähdekoodia

fix(api): remove unused endpoint domains/:id, fixes #117

Nils Wisiol 6 vuotta sitten
vanhempi
commit
d5d09c5b36
3 muutettua tiedostoa jossa 14 lisäystä ja 21 poistoa
  1. 12 15
      api/desecapi/tests/testdomains.py
  2. 1 2
      api/desecapi/urls.py
  3. 1 4
      api/desecapi/views.py

+ 12 - 15
api/desecapi/tests/testdomains.py

@@ -21,12 +21,12 @@ class UnauthenticatedDomainTests(APITestCase):
         self.assertEqual(response.status_code, status.HTTP_401_UNAUTHORIZED)
         self.assertEqual(response.status_code, status.HTTP_401_UNAUTHORIZED)
 
 
     def testExpectUnauthorizedOnPut(self):
     def testExpectUnauthorizedOnPut(self):
-        url = reverse('domain-detail', args=(1,))
+        url = reverse('domain-detail', args=('example.com',))
         response = self.client.put(url, format='json')
         response = self.client.put(url, format='json')
         self.assertEqual(response.status_code, status.HTTP_401_UNAUTHORIZED)
         self.assertEqual(response.status_code, status.HTTP_401_UNAUTHORIZED)
 
 
     def testExpectUnauthorizedOnDelete(self):
     def testExpectUnauthorizedOnDelete(self):
-        url = reverse('domain-detail', args=(1,))
+        url = reverse('domain-detail', args=('example.com',))
         response = self.client.delete(url, format='json')
         response = self.client.delete(url, format='json')
         self.assertEqual(response.status_code, status.HTTP_401_UNAUTHORIZED)
         self.assertEqual(response.status_code, status.HTTP_401_UNAUTHORIZED)
 
 
@@ -57,7 +57,7 @@ class AuthenticatedDomainTests(APITestCase):
         httpretty.register_uri(httpretty.DELETE, settings.NSLORD_PDNS_API + '/zones/' + self.ownedDomains[1].name + '.')
         httpretty.register_uri(httpretty.DELETE, settings.NSLORD_PDNS_API + '/zones/' + self.ownedDomains[1].name + '.')
         httpretty.register_uri(httpretty.DELETE, settings.NSMASTER_PDNS_API + '/zones/' + self.ownedDomains[1].name+ '.')
         httpretty.register_uri(httpretty.DELETE, settings.NSMASTER_PDNS_API + '/zones/' + self.ownedDomains[1].name+ '.')
 
 
-        url = reverse('domain-detail', args=(self.ownedDomains[1].pk,))
+        url = reverse('domain-detail', args=(self.ownedDomains[1].name,))
         response = self.client.delete(url)
         response = self.client.delete(url)
         self.assertEqual(response.status_code, status.HTTP_204_NO_CONTENT)
         self.assertEqual(response.status_code, status.HTTP_204_NO_CONTENT)
         self.assertEqual(httpretty.last_request().method, 'DELETE')
         self.assertEqual(httpretty.last_request().method, 'DELETE')
@@ -76,7 +76,7 @@ class AuthenticatedDomainTests(APITestCase):
         httpretty.register_uri(httpretty.DELETE, settings.NSLORD_PDNS_API + '/zones/' + self.otherDomains[1].name + '.')
         httpretty.register_uri(httpretty.DELETE, settings.NSLORD_PDNS_API + '/zones/' + self.otherDomains[1].name + '.')
         httpretty.register_uri(httpretty.DELETE, settings.NSMASTER_PDNS_API + '/zones/' + self.otherDomains[1].name+ '.')
         httpretty.register_uri(httpretty.DELETE, settings.NSMASTER_PDNS_API + '/zones/' + self.otherDomains[1].name+ '.')
 
 
-        url = reverse('domain-detail', args=(self.otherDomains[1].pk,))
+        url = reverse('domain-detail', args=(self.otherDomains[1].name,))
         response = self.client.delete(url)
         response = self.client.delete(url)
         self.assertEqual(response.status_code, status.HTTP_204_NO_CONTENT)
         self.assertEqual(response.status_code, status.HTTP_204_NO_CONTENT)
         self.assertTrue(isinstance(httpretty.last_request(), httpretty.core.HTTPrettyRequestEmpty))
         self.assertTrue(isinstance(httpretty.last_request(), httpretty.core.HTTPrettyRequestEmpty))
@@ -89,19 +89,19 @@ class AuthenticatedDomainTests(APITestCase):
                                body='[]',
                                body='[]',
                                content_type="application/json")
                                content_type="application/json")
 
 
-        url = reverse('domain-detail', args=(self.ownedDomains[1].pk,))
+        url = reverse('domain-detail', args=(self.ownedDomains[1].name,))
         response = self.client.get(url)
         response = self.client.get(url)
         self.assertEqual(response.status_code, status.HTTP_200_OK)
         self.assertEqual(response.status_code, status.HTTP_200_OK)
         self.assertEqual(response.data['name'], self.ownedDomains[1].name)
         self.assertEqual(response.data['name'], self.ownedDomains[1].name)
         self.assertTrue(isinstance(response.data['keys'], list))
         self.assertTrue(isinstance(response.data['keys'], list))
 
 
     def testCantGetOtherDomains(self):
     def testCantGetOtherDomains(self):
-        url = reverse('domain-detail', args=(self.otherDomains[1].pk,))
+        url = reverse('domain-detail', args=(self.otherDomains[1].name,))
         response = self.client.get(url)
         response = self.client.get(url)
         self.assertEqual(response.status_code, status.HTTP_404_NOT_FOUND)
         self.assertEqual(response.status_code, status.HTTP_404_NOT_FOUND)
 
 
     def testCantChangeDomainName(self):
     def testCantChangeDomainName(self):
-        url = reverse('domain-detail', args=(self.ownedDomains[1].pk,))
+        url = reverse('domain-detail', args=(self.ownedDomains[1].name,))
         response = self.client.get(url)
         response = self.client.get(url)
         newname = utils.generateDomainname()
         newname = utils.generateDomainname()
         response.data['name'] = newname
         response.data['name'] = newname
@@ -112,7 +112,7 @@ class AuthenticatedDomainTests(APITestCase):
         self.assertEqual(response.data['name'], self.ownedDomains[1].name)
         self.assertEqual(response.data['name'], self.ownedDomains[1].name)
 
 
     def testCantPutOtherDomains(self):
     def testCantPutOtherDomains(self):
-        url = reverse('domain-detail', args=(self.otherDomains[1].pk,))
+        url = reverse('domain-detail', args=(self.otherDomains[1].name,))
         response = self.client.put(url, json.dumps({}), content_type='application/json')
         response = self.client.put(url, json.dumps({}), content_type='application/json')
         self.assertEqual(response.status_code, status.HTTP_404_NOT_FOUND)
         self.assertEqual(response.status_code, status.HTTP_404_NOT_FOUND)
 
 
@@ -213,11 +213,8 @@ class AuthenticatedDomainTests(APITestCase):
         self.assertTrue((settings.NSLORD_PDNS_API + '/zones/' + name + '.').endswith(httpretty.httpretty.latest_requests[-2].path))
         self.assertTrue((settings.NSLORD_PDNS_API + '/zones/' + name + '.').endswith(httpretty.httpretty.latest_requests[-2].path))
 
 
     def testDomainDetailURL(self):
     def testDomainDetailURL(self):
-        url = reverse('domain-detail', args=(self.ownedDomains[1].pk,))
-        urlByName = reverse('domain-detail/byName', args=(self.ownedDomains[1].name,))
-
-        self.assertTrue(("/%d" % self.ownedDomains[1].pk) in url)
-        self.assertTrue("/" + self.ownedDomains[1].name in urlByName)
+        url = reverse('domain-detail', args=(self.ownedDomains[1].name,))
+        self.assertTrue("/" + self.ownedDomains[1].name in url)
 
 
     def testRollback(self):
     def testRollback(self):
         name = utils.generateDomainname()
         name = utils.generateDomainname()
@@ -250,7 +247,7 @@ class AuthenticatedDynDomainTests(APITestCase):
         httpretty.register_uri(httpretty.DELETE, settings.NSLORD_PDNS_API + '/zones/' + self.ownedDomains[1].name + '.')
         httpretty.register_uri(httpretty.DELETE, settings.NSLORD_PDNS_API + '/zones/' + self.ownedDomains[1].name + '.')
         httpretty.register_uri(httpretty.DELETE, settings.NSMASTER_PDNS_API + '/zones/' + self.ownedDomains[1].name + '.')
         httpretty.register_uri(httpretty.DELETE, settings.NSMASTER_PDNS_API + '/zones/' + self.ownedDomains[1].name + '.')
 
 
-        url = reverse('domain-detail', args=(self.ownedDomains[1].pk,))
+        url = reverse('domain-detail', args=(self.ownedDomains[1].name,))
         response = self.client.delete(url)
         response = self.client.delete(url)
         self.assertEqual(response.status_code, status.HTTP_204_NO_CONTENT)
         self.assertEqual(response.status_code, status.HTTP_204_NO_CONTENT)
 
 
@@ -271,7 +268,7 @@ class AuthenticatedDynDomainTests(APITestCase):
         httpretty.register_uri(httpretty.DELETE, settings.NSLORD_PDNS_API + '/zones/' + self.otherDomains[1].name + '.')
         httpretty.register_uri(httpretty.DELETE, settings.NSLORD_PDNS_API + '/zones/' + self.otherDomains[1].name + '.')
         httpretty.register_uri(httpretty.DELETE, settings.NSMASTER_PDNS_API + '/zones/' + self.otherDomains[1].name+ '.')
         httpretty.register_uri(httpretty.DELETE, settings.NSMASTER_PDNS_API + '/zones/' + self.otherDomains[1].name+ '.')
 
 
-        url = reverse('domain-detail', args=(self.otherDomains[1].pk,))
+        url = reverse('domain-detail', args=(self.otherDomains[1].name,))
         response = self.client.delete(url)
         response = self.client.delete(url)
         self.assertEqual(response.status_code, status.HTTP_204_NO_CONTENT)
         self.assertEqual(response.status_code, status.HTTP_204_NO_CONTENT)
         self.assertTrue(isinstance(httpretty.last_request(), httpretty.core.HTTPrettyRequestEmpty))
         self.assertTrue(isinstance(httpretty.last_request(), httpretty.core.HTTPrettyRequestEmpty))

+ 1 - 2
api/desecapi/urls.py

@@ -11,8 +11,7 @@ token_urls = router.urls
 apiurls = [
 apiurls = [
     url(r'^$', Root.as_view(), name='root'),
     url(r'^$', Root.as_view(), name='root'),
     url(r'^domains/$', DomainList.as_view(), name='domain-list'),
     url(r'^domains/$', DomainList.as_view(), name='domain-list'),
-    url(r'^domains/(?P<pk>[0-9]+)/$', DomainDetail.as_view(), name='domain-detail'),
-    url(r'^domains/(?P<name>[a-zA-Z\.\-_0-9]+)/$', DomainDetailByName.as_view(), name='domain-detail/byName'),
+    url(r'^domains/(?P<name>[a-zA-Z\.\-_0-9]+)/$', DomainDetail.as_view(), name='domain-detail'),
     url(r'^domains/(?P<name>[a-zA-Z\.\-_0-9]+)/rrsets/$', RRsetList.as_view(), name='rrsets'),
     url(r'^domains/(?P<name>[a-zA-Z\.\-_0-9]+)/rrsets/$', RRsetList.as_view(), name='rrsets'),
     url(r'^domains/(?P<name>[a-zA-Z\.\-_0-9]+)/rrsets/(?P<subname>(\*)?[a-zA-Z\.\-_0-9=]*)\.\.\./(?P<type>[A-Z][A-Z0-9]*)/$', RRsetDetail.as_view(), name='rrset'),
     url(r'^domains/(?P<name>[a-zA-Z\.\-_0-9]+)/rrsets/(?P<subname>(\*)?[a-zA-Z\.\-_0-9=]*)\.\.\./(?P<type>[A-Z][A-Z0-9]*)/$', RRsetDetail.as_view(), name='rrset'),
     url(r'^tokens/', include(token_urls)),
     url(r'^tokens/', include(token_urls)),

+ 1 - 4
api/desecapi/views.py

@@ -160,6 +160,7 @@ class DomainList(generics.ListCreateAPIView):
 class DomainDetail(generics.RetrieveUpdateDestroyAPIView):
 class DomainDetail(generics.RetrieveUpdateDestroyAPIView):
     serializer_class = DomainSerializer
     serializer_class = DomainSerializer
     permission_classes = (permissions.IsAuthenticated, IsOwner,)
     permission_classes = (permissions.IsAuthenticated, IsOwner,)
+    lookup_field = 'name'
 
 
     def delete(self, request, *args, **kwargs):
     def delete(self, request, *args, **kwargs):
         try:
         try:
@@ -180,10 +181,6 @@ class DomainDetail(generics.RetrieveUpdateDestroyAPIView):
             raise ex
             raise ex
 
 
 
 
-class DomainDetailByName(DomainDetail):
-    lookup_field = 'name'
-
-
 class RRsetDetail(generics.RetrieveUpdateDestroyAPIView):
 class RRsetDetail(generics.RetrieveUpdateDestroyAPIView):
     lookup_field = 'type'
     lookup_field = 'type'
     serializer_class = RRsetSerializer
     serializer_class = RRsetSerializer