def test_update_object_type_with_empty_list(self): # It's wrong to send an empty list name = 'DOCS' data = [] request = self.factory.put('/policies/object_type/' + name, data, format='json') response = object_type_detail(request, name) self.assertEqual(response.status_code, status.HTTP_400_BAD_REQUEST)
def test_object_type_detail_ok(self): name = 'DOCS' request = self.factory.get('/policies/object_type/' + name) response = object_type_detail(request, name) self.assertEqual(response.status_code, status.HTTP_200_OK) object_type = json.loads(response.content) self.assertEqual(object_type['name'], name) self.assertEqual(len(object_type['types_list']), 3) self.assertTrue('txt' in object_type['types_list'])
def test_delete_object_type_ok(self): name = 'DOCS' request = self.factory.delete('/policies/object_type/' + name) response = object_type_detail(request, name) self.assertEqual(response.status_code, status.HTTP_200_OK) request = self.factory.get('/policies/object_type') response = object_type_list(request) self.assertEqual(response.status_code, status.HTTP_200_OK) self.assertEqual(response.content, "[]")
def test_delete_object_type_with_non_existent_name(self): name = 'AUDIO' request = self.factory.delete('/policies/object_type/' + name) response = object_type_detail(request, name) self.assertEqual(response.status_code, status.HTTP_404_NOT_FOUND) # Check nothing was deleted request = self.factory.get('/policies/object_type') response = object_type_list(request) self.assertEqual(response.status_code, status.HTTP_200_OK) self.assertNotEqual(response.content, "[]") object_types = json.loads(response.content) self.assertEqual(object_types[0]['name'], "DOCS")
def test_update_object_type_ok_with_more_extensions(self): name = 'DOCS' data = ['txt', 'doc', 'docx', 'odt'] request = self.factory.put('/policies/object_type/' + name, data, format='json') response = object_type_detail(request, name) self.assertEqual(response.status_code, status.HTTP_201_CREATED) # Check the object type was updated properly request = self.factory.get('/policies/object_type') response = object_type_list(request) self.assertEqual(response.status_code, status.HTTP_200_OK) self.assertNotEqual(response.content, "[]") object_types = json.loads(response.content) self.assertEqual(len(object_types), 1) self.assertEqual(object_types[0]['name'], "DOCS") self.assertEqual(len(object_types[0]['types_list']), 4) for extension in data: self.assertTrue(extension in object_types[0]['types_list'])
def test_update_object_type_with_non_existent_name(self): name = 'VIDEO' data = ['avi', 'mkv'] request = self.factory.put('/policies/object_type/' + name, data, format='json') response = object_type_detail(request, name) self.assertEqual(response.status_code, status.HTTP_404_NOT_FOUND)
def test_object_type_detail_with_non_existent_name(self): name = 'AUDIO' request = self.factory.get('/policies/object_type/' + name) response = object_type_detail(request, name) self.assertEqual(response.status_code, status.HTTP_404_NOT_FOUND)
def test_object_type_detail_with_method_not_allowed(self): name = 'AUDIO' object_type_data = {'name': name, 'types_list': ['avi', 'mkv']} request = self.factory.post('/policies/object_type/' + name, object_type_data, format='json') response = object_type_detail(request, name) self.assertEqual(response.status_code, status.HTTP_405_METHOD_NOT_ALLOWED)