From 635492e534765acf35dcc45f6d2674783775e920 Mon Sep 17 00:00:00 2001 From: Megan Henning <meganhenning@flywheel.io> Date: Wed, 28 Feb 2018 15:25:00 -0600 Subject: [PATCH] Add tests --- api/placer.py | 1 - .../integration_tests/python/test_uploads.py | 33 +++++++++++++++++-- 2 files changed, 30 insertions(+), 4 deletions(-) diff --git a/api/placer.py b/api/placer.py index 8d800574..2bba7ca5 100644 --- a/api/placer.py +++ b/api/placer.py @@ -620,7 +620,6 @@ class PackfilePlacer(Placer): insert_map = copy.deepcopy(query) # Remove query term that should not become part of the payload - insert_map.pop('subject.code', None) insert_map.pop('deleted') insert_map['created'] = self.timestamp diff --git a/tests/integration_tests/python/test_uploads.py b/tests/integration_tests/python/test_uploads.py index d97fa8b8..607ec86e 100644 --- a/tests/integration_tests/python/test_uploads.py +++ b/tests/integration_tests/python/test_uploads.py @@ -1192,14 +1192,41 @@ def test_packfile_upload(data_builder, file_form, as_admin, as_root, api_db): # We didn't fine one assert False + # Remove sessions and acquisitions via delete and ensure new containers are created + session_ids_before = [str(x['_id']) for x in sessions] + acquisition_ids_before = [str(x['_id']) for x in acquisitions] + for s in session_ids_before: + assert as_admin.delete('/sessions/'+s).ok + + # Add another packfile with the same metadata as above + r = as_admin.post('/projects/' + project + '/packfile-start') + assert r.ok + token = r.json()['token'] + r = as_admin.post('/projects/' + project + '/packfile', + params={'token': token}, files=file_form('one.csv')) + assert r.ok + + r = as_admin.post('/projects/' + project + '/packfile-end', + params={'token': token, 'metadata': metadata_json}) + assert r.ok + + # Ensure a new session and acquisition was created + sessions_after = list(api_db.sessions.find({'label':'test-packfile-timestamp', 'deleted': {'$exists': False}})) + acquisitions_after = list(api_db.acquisitions.find({'label':'test-packfile-timestamp', 'deleted': {'$exists': False}})) + assert len(sessions_after) == 1 + assert len(acquisitions_after) == 1 + assert str(sessions_after[0]['_id']) not in session_ids_before + assert str(acquisitions_after[0]['_id']) not in acquisition_ids_before + + # get another token (start packfile-upload) r = as_admin.post('/projects/' + project + '/packfile-start') assert r.ok token = r.json()['token'] - files = [ - ('file', file_form('two.csv')['file']) , - ('file', file_form('three.csv')['file']) + files = [ + ('file', file_form('two.csv')['file']) , + ('file', file_form('three.csv')['file']) ] # upload to packfile -- GitLab