1
0
mirror of https://github.com/netbox-community/netbox.git synced 2024-05-10 07:54:54 +00:00

Renamed rack-units API and added a test

This commit is contained in:
Jeremy Stretch
2017-03-20 21:18:37 -04:00
parent 4a2206ecb1
commit f743410b4e
3 changed files with 13 additions and 6 deletions

View File

@ -82,8 +82,8 @@ class RackViewSet(WritableSerializerMixin, CustomFieldModelViewSet):
write_serializer_class = serializers.WritableRackSerializer
filter_class = filters.RackFilter
@detail_route(url_path='rack-units')
def rack_units(self, request, pk=None):
@detail_route()
def units(self, request, pk=None):
"""
List rack units (by rack)
"""

View File

@ -512,7 +512,7 @@ class DeviceForm(BootstrapMixin, CustomFieldForm):
))
position = forms.TypedChoiceField(required=False, empty_value=None,
help_text="The lowest-numbered unit occupied by the device",
widget=APISelect(api_url='/api/dcim/racks/{{rack}}/rack-units/?face={{face}}',
widget=APISelect(api_url='/api/dcim/racks/{{rack}}/units/?face={{face}}',
disabled_indicator='device'))
manufacturer = forms.ModelChoiceField(queryset=Manufacturer.objects.all(),
widget=forms.Select(attrs={'filter-for': 'device_type'}))

View File

@ -335,13 +335,13 @@ class RackTest(HttpStatusMixin, APITestCase):
self.rackrole1 = RackRole.objects.create(name='Test Rack Role 1', slug='test-rack-role-1', color='ff0000')
self.rackrole2 = RackRole.objects.create(name='Test Rack Role 2', slug='test-rack-role-2', color='00ff00')
self.rack1 = Rack.objects.create(
site=self.site1, group=self.rackgroup1, role=self.rackrole1, name='Test Rack 1',
site=self.site1, group=self.rackgroup1, role=self.rackrole1, name='Test Rack 1', u_height=42,
)
self.rack2 = Rack.objects.create(
site=self.site1, group=self.rackgroup1, role=self.rackrole1, name='Test Rack 2'
site=self.site1, group=self.rackgroup1, role=self.rackrole1, name='Test Rack 2', u_height=42,
)
self.rack3 = Rack.objects.create(
site=self.site1, group=self.rackgroup1, role=self.rackrole1, name='Test Rack 3'
site=self.site1, group=self.rackgroup1, role=self.rackrole1, name='Test Rack 3', u_height=42,
)
def test_get_rack(self):
@ -351,6 +351,13 @@ class RackTest(HttpStatusMixin, APITestCase):
self.assertEqual(response.data['name'], self.rack1.name)
def test_get_rack_units(self):
url = reverse('dcim-api:rack-units', kwargs={'pk': self.rack1.pk})
response = self.client.get(url, **self.header)
self.assertEqual(response.data['count'], 42)
def test_list_racks(self):
url = reverse('dcim-api:rack-list')