From 262e6ac7408bf2e5fafe4b840d534abc863793ea Mon Sep 17 00:00:00 2001 From: Harsha Kethineni Date: Thu, 3 Aug 2017 16:32:25 -0500 Subject: [PATCH] archived acquisitions don't affect session compliance --- api/dao/hierarchy.py | 2 +- test/integration_tests/python/test_containers.py | 7 +++++++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/api/dao/hierarchy.py b/api/dao/hierarchy.py index 9a77d87ab..44dd38865 100644 --- a/api/dao/hierarchy.py +++ b/api/dao/hierarchy.py @@ -243,7 +243,7 @@ def check_cont(cont, reqs): if not session.get('_id'): # New session, won't have any acquisitions. Compliance check fails return False - acquisitions = list(config.db.acquisitions.find({'session': session['_id']})) + acquisitions = list(config.db.acquisitions.find({'session': session['_id'], 'archived':{'$ne':True}})) for req in a_requirements: req_temp = copy.deepcopy(req) min_count = req_temp.pop('minimum') diff --git a/test/integration_tests/python/test_containers.py b/test/integration_tests/python/test_containers.py index 22645f475..c7d45ac2c 100644 --- a/test/integration_tests/python/test_containers.py +++ b/test/integration_tests/python/test_containers.py @@ -134,6 +134,13 @@ def satisfies_template(): assert 'satisfies_template' not in r.json() assert as_admin.put('/sessions/' + session, json={'project': project}) + # archived acqusitions don't affect session compliance + assert satisfies_template() + # Hide Acq_2 so that no acquisition in the session are compliant + assert as_admin.put('/acquisitions/' + acquisition_2, json={'archived': True}).ok + assert not satisfies_template() + assert as_admin.put('/acquisitions/' + acquisition_2, json={'archived': False}) + # acquisitions.label assert satisfies_template() assert as_admin.put('/acquisitions/' + acquisition_2, json={'label': 'non-compliant'}).ok