172 note = Note.objects.get( |
171 note = Note.objects.get( |
173 ext_id=json['ext_id'], session__id=self.session1.id) |
172 ext_id=json['ext_id'], session__id=self.session1.id) |
174 self.assertTrue(note) |
173 self.assertTrue(note) |
175 self.assertEqual("example note 1 modified", note.plain) |
174 self.assertEqual("example note 1 modified", note.plain) |
176 |
175 |
177 #TODO: Fail if a tc_start, tc_end, session, ext_id updated, created are provided on update ? |
176 # TODO: Fail if a tc_start, tc_end, session, ext_id updated, created are provided on update ? |
178 # def test_update_note_tc_start(self): |
177 # def test_update_note_tc_start(self): |
179 # url = reverse('notes:notes-session-detail', |
178 # url = reverse('notes:notes-session-detail', |
180 # kwargs={'session_ext_id': self.session1.ext_id, 'ext_id': self.note1.ext_id}) |
179 # kwargs={'session_ext_id': self.session1.ext_id, 'ext_id': self.note1.ext_id}) |
181 # self.client.login(username='test_user1', password='top_secret') |
180 # self.client.login(username='test_user1', password='top_secret') |
182 # response = self.client.put(url, { |
181 # response = self.client.put(url, { |
201 self.assertIn('results', json_resp) |
200 self.assertIn('results', json_resp) |
202 self.assertEqual(2, json_resp['count']) |
201 self.assertEqual(2, json_resp['count']) |
203 self.assertEqual(2, len(json_resp['results'])) |
202 self.assertEqual(2, len(json_resp['results'])) |
204 |
203 |
205 for note_json in json_resp['results']: |
204 for note_json in json_resp['results']: |
|
205 self.assertEqual(str(self.session1.ext_id), |
|
206 note_json.get('session')) |
|
207 self.assertIn('plain', note_json) |
|
208 self.assertIn('html', note_json) |
|
209 self.assertIn('raw', note_json) |
|
210 |
|
211 def test_root_note_list_filter(self): |
|
212 url = reverse('notes:note-list') |
|
213 self.client.login(username='test_user1', password='top_secret') |
|
214 response = self.client.get(url, {'ext_id__in': ",".join( |
|
215 [str(self.note1.ext_id), str(uuid4())])}, format='json') |
|
216 self.assertEqual(response.status_code, status.HTTP_200_OK) |
|
217 |
|
218 json_resp = response.json() |
|
219 self.assertIn('results', json_resp) |
|
220 self.assertEqual(1, json_resp['count']) |
|
221 self.assertEqual(1, len(json_resp['results'])) |
|
222 |
|
223 note_json = json_resp['results'][0] |
|
224 self.assertEqual(str(self.note1.ext_id), note_json.get('ext_id')) |
|
225 self.assertEqual(str(self.session1.ext_id), note_json.get('session')) |
|
226 self.assertIn('plain', note_json) |
|
227 self.assertIn('html', note_json) |
|
228 self.assertIn('raw', note_json) |
|
229 |
|
230 def test_root_note_list_filter_both(self): |
|
231 url = reverse('notes:note-list') |
|
232 self.client.login(username='test_user1', password='top_secret') |
|
233 response = self.client.get(url, {'ext_id__in': ",".join( |
|
234 [str(self.note1.ext_id), str(self.note2.ext_id)])}, format='json') |
|
235 self.assertEqual(response.status_code, status.HTTP_200_OK) |
|
236 |
|
237 json_resp = response.json() |
|
238 self.assertIn('results', json_resp) |
|
239 self.assertEqual(2, json_resp['count']) |
|
240 self.assertEqual(2, len(json_resp['results'])) |
|
241 |
|
242 for note_json in json_resp['results']: |
|
243 self.assertIn(note_json.get('ext_id'), [str(self.note1.ext_id), str(self.note2.ext_id)]) |
206 self.assertEqual(str(self.session1.ext_id), note_json.get('session')) |
244 self.assertEqual(str(self.session1.ext_id), note_json.get('session')) |
207 self.assertIn('plain', note_json) |
245 self.assertIn('plain', note_json) |
208 self.assertIn('html', note_json) |
246 self.assertIn('html', note_json) |
209 self.assertIn('raw', note_json) |
247 self.assertIn('raw', note_json) |
210 |
248 |
211 |
249 |
|
250 def test_root_note_list_bad_filter(self): |
|
251 url = reverse('notes:note-list') |
|
252 self.client.login(username='test_user1', password='top_secret') |
|
253 response = self.client.get(url, {'ext_id__in': ",".join( |
|
254 [str(self.note1.ext_id), "foo"])}, format='json') |
|
255 self.assertEqual(response.status_code, status.HTTP_200_OK) |
|
256 |
|
257 json_resp = response.json() |
|
258 self.assertIn('results', json_resp) |
|
259 self.assertEqual(0, json_resp['count']) |
|
260 self.assertEqual(0, len(json_resp['results'])) |
|
261 |
|
262 |
212 def test_root_note_list_modified(self): |
263 def test_root_note_list_modified(self): |
213 |
264 |
214 nexthour = \ |
265 nexthour = \ |
215 datetime.datetime.utcnow().replace(tzinfo=timezone.utc) +\ |
266 datetime.datetime.utcnow().replace(tzinfo=timezone.utc) +\ |
216 datetime.timedelta(hours=1) |
267 datetime.timedelta(hours=1) |
219 url = reverse('notes:note-list') |
270 url = reverse('notes:note-list') |
220 self.client.login(username='test_user1', password='top_secret') |
271 self.client.login(username='test_user1', password='top_secret') |
221 |
272 |
222 response = self.client.get( |
273 response = self.client.get( |
223 url, |
274 url, |
224 {'modified_since': (nexthour - datetime.timedelta(minutes=30)).timestamp()}, |
275 {'modified_since': ( |
|
276 nexthour - datetime.timedelta(minutes=30)).timestamp()}, |
225 format='json' |
277 format='json' |
226 ) |
278 ) |
227 |
279 |
228 self.assertEqual(response.status_code, status.HTTP_200_OK) |
280 self.assertEqual(response.status_code, status.HTTP_200_OK) |
229 json_resp = response.json() |
281 json_resp = response.json() |
230 self.assertIn('results', json_resp) |
282 self.assertIn('results', json_resp) |
231 self.assertEqual(1, json_resp['count']) |
283 self.assertEqual(1, json_resp['count']) |
232 |
284 |
233 self.assertEqual(len(json_resp['results']), 1, "must have one note") |
285 self.assertEqual(len(json_resp['results']), 1, "must have one note") |
234 self.assertEqual(str(self.session1.ext_id), json_resp['results'][0].get('session')) |
286 self.assertEqual(str(self.session1.ext_id), |
235 |
287 json_resp['results'][0].get('session')) |
236 |
288 |
237 def test_root_note_detail(self): |
289 def test_root_note_detail(self): |
238 url = reverse('notes:note-detail', kwargs={'ext_id': self.note2.ext_id}) |
290 url = reverse('notes:note-detail', |
|
291 kwargs={'ext_id': self.note2.ext_id}) |
239 self.client.login(username='test_user1', password='top_secret') |
292 self.client.login(username='test_user1', password='top_secret') |
240 response = self.client.get(url, format='json') |
293 response = self.client.get(url, format='json') |
241 self.assertEqual(response.status_code, status.HTTP_200_OK) |
294 self.assertEqual(response.status_code, status.HTTP_200_OK) |
242 |
295 |
243 json_resp = response.json() |
296 json_resp = response.json() |