Skip to content

Commit fcbf263

Browse files
author
Gabriel Monroy
committed
add node deletion
1 parent 3542969 commit fcbf263

3 files changed

Lines changed: 11 additions & 2 deletions

File tree

api/tests/node.py

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -58,4 +58,10 @@ def test_node(self):
5858
response = self.client.get(url)
5959
self.assertEqual(response.status_code, 200)
6060
self.assertEqual(len(response.data['results']), 1)
61-
# TODO: add node deletion
61+
node = response.data['results'][0]['id']
62+
url = '/api/formations/{formation_id}/nodes/{node}'.format(**locals())
63+
response = self.client.get(url)
64+
self.assertEqual(response.status_code, 200)
65+
self.assertIn('fqdn', response.data)
66+
response = self.client.delete(url)
67+
self.assertEqual(response.status_code, 204)

api/urls.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,9 @@
4545
'get': 'retrieve', 'patch': 'partial_update', 'delete': 'destroy'})),
4646
url(r'^formations/(?P<id>[a-z0-9-]+)/layers/?',
4747
views.FormationLayerViewSet.as_view({'post': 'create', 'get': 'list'})),
48+
url(r'^formations/(?P<id>[a-z0-9-]+)/nodes/(?P<node>[a-z0-9-]+)/?',
49+
views.FormationNodeViewSet.as_view({
50+
'get': 'retrieve', 'delete': 'destroy'})),
4851
url(r'^formations/(?P<id>[a-z0-9-]+)/nodes/?',
4952
views.FormationNodeViewSet.as_view({'get': 'list'})),
5053
url(r'^formations/(?P<id>[a-z0-9-]+)/containers/?',

api/views.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -283,7 +283,7 @@ def get_queryset(self, **kwargs):
283283

284284
def get_object(self, *args, **kwargs):
285285
qs = self.get_queryset(**kwargs)
286-
obj = qs.get(id=self.kwargs['id'])
286+
obj = get_object_or_404(qs, id=self.kwargs['node'])
287287
return obj
288288

289289

0 commit comments

Comments
 (0)