Просмотр исходного кода

Adopted fix from #4743 and updated API tests

Jeremy Stretch 5 лет назад
Родитель
Сommit
1f727f565f
2 измененных файлов с 3 добавлено и 5 удалено
  1. 1 1
      netbox/ipam/api/views.py
  2. 2 4
      netbox/ipam/tests/test_api.py

+ 1 - 1
netbox/ipam/api/views.py

@@ -164,7 +164,7 @@ class PrefixViewSet(CustomFieldModelViewSet):
             200: serializers.AvailableIPSerializer(many=True),
             200: serializers.AvailableIPSerializer(many=True),
         }
         }
     )
     )
-    @action(detail=True, url_path='available-ips', methods=['get', 'post'])
+    @action(detail=True, url_path='available-ips', methods=['get', 'post'], queryset=IPAddress.objects.all())
     @advisory_lock(ADVISORY_LOCK_KEYS['available-ips'])
     @advisory_lock(ADVISORY_LOCK_KEYS['available-ips'])
     def available_ips(self, request, pk=None):
     def available_ips(self, request, pk=None):
         """
         """

+ 2 - 4
netbox/ipam/tests/test_api.py

@@ -276,8 +276,7 @@ class PrefixTest(APIViewTestCases.APIViewTestCase):
         vrf = VRF.objects.create(name='Test VRF 1', rd='1234')
         vrf = VRF.objects.create(name='Test VRF 1', rd='1234')
         prefix = Prefix.objects.create(prefix=IPNetwork('192.0.2.0/30'), vrf=vrf, is_pool=True)
         prefix = Prefix.objects.create(prefix=IPNetwork('192.0.2.0/30'), vrf=vrf, is_pool=True)
         url = reverse('ipam-api:prefix-available-ips', kwargs={'pk': prefix.pk})
         url = reverse('ipam-api:prefix-available-ips', kwargs={'pk': prefix.pk})
-        # TODO: ipam.add_prefix should not be required
-        self.add_permissions('ipam.add_prefix', 'ipam.add_ipaddress')
+        self.add_permissions('ipam.add_ipaddress')
 
 
         # Create all four available IPs with individual requests
         # Create all four available IPs with individual requests
         for i in range(1, 5):
         for i in range(1, 5):
@@ -300,8 +299,7 @@ class PrefixTest(APIViewTestCases.APIViewTestCase):
         """
         """
         prefix = Prefix.objects.create(prefix=IPNetwork('192.0.2.0/29'), is_pool=True)
         prefix = Prefix.objects.create(prefix=IPNetwork('192.0.2.0/29'), is_pool=True)
         url = reverse('ipam-api:prefix-available-ips', kwargs={'pk': prefix.pk})
         url = reverse('ipam-api:prefix-available-ips', kwargs={'pk': prefix.pk})
-        # TODO: ipam.add_prefix, ipam.view_prefix should not be required
-        self.add_permissions('ipam.add_prefix', 'ipam.view_prefix', 'ipam.view_ipaddress', 'ipam.add_ipaddress')
+        self.add_permissions('ipam.view_ipaddress', 'ipam.add_ipaddress')
 
 
         # Try to create nine IPs (only eight are available)
         # Try to create nine IPs (only eight are available)
         data = [{'description': 'Test IP {}'.format(i)} for i in range(1, 10)]  # 9 IPs
         data = [{'description': 'Test IP {}'.format(i)} for i in range(1, 10)]  # 9 IPs