신은섭(Shin Eun Seop)

fix test code

kairos03/2018-1-d.cloud#8
kairos03/2018-1-d.cloud#10
1 from rest_framework.test import APITestCase 1 from rest_framework.test import APITestCase
2 from django.urls import reverse 2 from django.urls import reverse
3 from rest_framework import status 3 from rest_framework import status
4 +from restful.models import File
4 5
5 6
6 -class UploadFileTestCase(APITestCase): 7 +class FileListTestCase(APITestCase):
7 - def setup(self): 8 +
9 + def setUp(self):
8 self.tearDown() 10 self.tearDown()
9 11
10 def tearDown(self): 12 def tearDown(self):
...@@ -15,4 +17,37 @@ class UploadFileTestCase(APITestCase): ...@@ -15,4 +17,37 @@ class UploadFileTestCase(APITestCase):
15 data = {'object_key': 'test_object_key'} 17 data = {'object_key': 'test_object_key'}
16 response = self.client.post(url, data) 18 response = self.client.post(url, data)
17 self.assertEqual(response.status_code, status.HTTP_201_CREATED) 19 self.assertEqual(response.status_code, status.HTTP_201_CREATED)
20 + self.assertEqual(File.objects.count(), 1)
18 21
22 + def test_list(self):
23 + url = reverse('file-list')
24 + response = self.client.get(url)
25 + self.assertEqual(response.status_code, status.HTTP_200_OK)
26 +
27 +
28 +class FileDetailTestCase(APITestCase):
29 +
30 + def setUp(self):
31 + self.tearDown()
32 + File.objects.create(object_key='test_object')
33 +
34 + def tearDown(self):
35 + File.objects.all().delete()
36 +
37 + def test_delete(self):
38 + url = reverse('file-detail', kwargs={'pk' : 1 })
39 + response = self.client.delete(url)
40 + self.assertEqual(response.status_code, status.HTTP_204_NO_CONTENT)
41 +
42 + def test_update(self):
43 + url = reverse('file-detail', kwargs={'pk' : 1 })
44 + response = self.client.put(url, {"object_key":"test_update"})
45 + self.assertEqual(response.status_code, status.HTTP_204_NO_CONTENT)
46 +
47 + def test_retrieve(self):
48 + url = reverse('file-detail', kwargs={'pk' : 1 })
49 + response = self.client.get(url)
50 + self.assertEqual(response.status_code, status.HTTP_200_OK)
51 +
52 +
53 +
...\ No newline at end of file ...\ No newline at end of file
......
...@@ -38,14 +38,14 @@ class FileDetail(APIView): ...@@ -38,14 +38,14 @@ class FileDetail(APIView):
38 def get(self, request, pk, format=None): 38 def get(self, request, pk, format=None):
39 file = self.get_object(pk) 39 file = self.get_object(pk)
40 serializer = FileSerializer(file) 40 serializer = FileSerializer(file)
41 - return Response(serializer.data) 41 + return Response(serializer.data, status=status.HTTP_200_OK)
42 42
43 def put(self, request, pk, format=None): 43 def put(self, request, pk, format=None):
44 file = self.get_object(pk) 44 file = self.get_object(pk)
45 serializer = FileSerializer(file, data=request.data) 45 serializer = FileSerializer(file, data=request.data)
46 if serializer.is_valid(): 46 if serializer.is_valid():
47 serializer.save() 47 serializer.save()
48 - return Response(serializer.data) 48 + return Response(serializer.data, status=status.HTTP_204_NO_CONTENT)
49 return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST) 49 return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)
50 50
51 def delete(self, request, pk, format=None): 51 def delete(self, request, pk, format=None):
......