diff -r 7e8cdc74d86f -r 043477fd5c5c src/notes/tests/api/session.py --- a/src/notes/tests/api/session.py Thu Jun 22 11:58:27 2017 +0200 +++ b/src/notes/tests/api/session.py Thu Jun 22 12:09:48 2017 +0200 @@ -2,6 +2,7 @@ Tests the core api for sessions """ import logging +from uuid import uuid4 from django.contrib.auth import get_user_model from django.urls import reverse @@ -78,13 +79,13 @@ def test_list_session_no_user(self): - url = reverse('notes_api:session-list') + url = reverse('notes:session-list') response = self.client.post(url) - self.assertEqual(response.status_code, status.HTTP_403_FORBIDDEN) + self.assertEqual(response.status_code, status.HTTP_401_UNAUTHORIZED) def test_list_session(self): - url = reverse('notes_api:session-list') + url = reverse('notes:session-list') self.client.login(username='test_user1', password='top_secret') response = self.client.get(url) self.assertEqual(response.status_code, status.HTTP_200_OK) @@ -95,18 +96,18 @@ def test_create_session_no_user(self): - url = reverse('notes_api:session-list') + url = reverse('notes:session-list') response = self.client.post(url, { 'title': "a new session", 'description': "description of the session", 'protocol': "[]" }, format='json') - self.assertEqual(response.status_code, status.HTTP_403_FORBIDDEN) + self.assertEqual(response.status_code, status.HTTP_401_UNAUTHORIZED) def test_create_session(self): - url = reverse('notes_api:session-list') + url = reverse('notes:session-list') self.client.login(username='test_user1', password='top_secret') response = self.client.post(url, { 'title': "a new session", @@ -119,26 +120,43 @@ json = response.json() self.assertIn('ext_id', json) + def test_create_session_with_ext_id(self): + url = reverse('notes:session-list') + self.client.login(username='test_user1', password='top_secret') + ext_id = str(uuid4()) + response = self.client.post(url, { + 'ext_id': ext_id, + 'title': "a new session", + 'description': "description of the session", + 'protocol': "[]" + }, format='json') + + self.assertEqual(response.status_code, status.HTTP_201_CREATED) + json = response.json() + self.assertIn('ext_id', json) + self.assertEqual(json['ext_id'], ext_id) + + def test_detail_session(self): - url = reverse('notes_api:session-detail', kwargs={'ext_id':str(self.session1.ext_id)}) + url = reverse('notes:session-detail', kwargs={'ext_id':str(self.session1.ext_id)}) self.client.login(username='test_user1', password='top_secret') response = self.client.get(url, format='json') self.assertEqual(response.status_code, status.HTTP_200_OK) def test_list_notes(self): - url = reverse('notes_api:notes-list', kwargs={'session_ext_id':str(self.session1.ext_id)}) + url = reverse('notes:notes-list', kwargs={'session_ext_id':str(self.session1.ext_id)}) self.client.login(username='test_user1', password='top_secret') response = self.client.get(url, format='json') self.assertEqual(response.status_code, status.HTTP_200_OK) def test_detail_session_bad(self): - url = reverse('notes_api:session-detail', kwargs={'ext_id':str(self.session2.ext_id)}) + url = reverse('notes:session-detail', kwargs={'ext_id':str(self.session2.ext_id)}) self.client.login(username='test_user1', password='top_secret') response = self.client.get(url, format='json') self.assertEqual(response.status_code, status.HTTP_404_NOT_FOUND) def test_list_notes_bad(self): - url = reverse('notes_api:notes-list', kwargs={'session_ext_id':str(self.session2.ext_id)}) + url = reverse('notes:notes-list', kwargs={'session_ext_id':str(self.session2.ext_id)}) logger.debug("URL: %s", url) self.client.login(username='test_user1', password='top_secret') response = self.client.get(url, format='json')