def test_create_and_respond(self): url = reverse('api:project_media', kwargs={ 'project_id': self.project.id, 'contribution_id': self.contribution.id }) data = { 'name': 'A test image', 'description': 'Test image description', 'file': get_image() } request = self.factory.post(url, data) request.user = self.admin view = MediaFileListAbstractAPIView() view.request = request response = self.render( view.create_and_respond(self.admin, self.contribution)) response_json = json.loads(response.content) self.assertEqual(response_json.get('name'), data.get('name')) self.assertEqual(response_json.get('description'), data.get('description')) self.assertEqual( response_json.get('creator').get('display_name'), request.user.display_name)
def test_create_audio_and_convert(self): url = reverse( 'api:project_media', kwargs={ 'project_id': self.project.id, 'contribution_id': self.contribution.id } ) audio_file = File(open( normpath(join( dirname(abspath(__file__)), 'files/audio_2.3gp' )), 'rb' )) data = { 'name': 'A test sound', 'description': 'Test sound description', 'file': audio_file } request = self.factory.post(url, data) request.user = self.admin view = MediaFileListAbstractAPIView() view.request = request response = self.render( view.create_and_respond(self.admin, self.contribution) ) response_json = json.loads(response.content) self.assertEqual( response_json.get('name'), data.get('name') ) self.assertEqual( response_json.get('description'), data.get('description') ) self.assertEqual( response_json.get('creator').get('display_name'), request.user.display_name ) self.assertEqual( response_json.get('file_type'), 'AudioFile' ) self.assertIn('audio_2.mp3', response_json.get('url'))
def test_create_and_respond_without_name(self): url = reverse('api:project_media', kwargs={ 'project_id': self.project.id, 'contribution_id': self.contribution.id }) data = {'description': 'Test image description', 'file': get_image()} request = self.factory.post(url, data) request.user = self.admin view = MediaFileListAbstractAPIView() view.request = request view.create_and_respond(self.admin, self.contribution)
def test_get_list_and_respond(self): ImageFileFactory.create_batch(5, **{'contribution': self.contribution}) url = reverse('api:project_media', kwargs={ 'project_id': self.project.id, 'contribution_id': self.contribution.id }) request = self.factory.get(url) view = MediaFileListAbstractAPIView() view.request = request response = self.render( view.get_list_and_respond(self.admin, self.contribution)) self.assertEqual(len(json.loads(response.content)), 5)
def test_get_list_and_respond(self): ImageFileFactory.create_batch(5, **{'contribution': self.contribution}) url = reverse( 'api:project_media', kwargs={ 'project_id': self.project.id, 'contribution_id': self.contribution.id } ) request = self.factory.get(url) view = MediaFileListAbstractAPIView() view.request = request response = self.render( view.get_list_and_respond(self.admin, self.contribution) ) self.assertEqual(len(json.loads(response.content)), 5)
def test_create_image_and_respond(self): url = reverse( 'api:project_media', kwargs={ 'project_id': self.project.id, 'contribution_id': self.contribution.id } ) data = { 'name': 'A test image', 'description': 'Test image description', 'file': get_image() } request = self.factory.post(url, data) request.user = self.admin view = MediaFileListAbstractAPIView() view.request = request response = self.render( view.create_and_respond(self.admin, self.contribution) ) response_json = json.loads(response.content) self.assertEqual( response_json.get('name'), data.get('name') ) self.assertEqual( response_json.get('description'), data.get('description') ) self.assertEqual( response_json.get('creator').get('display_name'), request.user.display_name ) self.assertEqual( response_json.get('file_type'), 'ImageFile' ) self.assertIsNotNone(response_json.get('url'))
def test_create_image_and_respond_without_name(self): url = reverse( 'api:project_media', kwargs={ 'project_id': self.project.id, 'contribution_id': self.contribution.id } ) data = { 'description': 'Test image description', 'file': get_image() } request = self.factory.post(url, data) request.user = self.admin view = MediaFileListAbstractAPIView() view.request = request view.create_and_respond(self.admin, self.contribution)