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