def test_control_with_tg_update(self): """Test updating of Control mapped to TaskGroup.""" with factories.single_commit(): control = factories.ControlFactory() task_group = wf_factories.TaskGroupFactory() wf_factories.TaskGroupObjectFactory(task_group=task_group, object=control) response = self.api.put(control, { "title": "new title", "task_group_objects": [], "task_groups": [], }) self.assert200(response) control = all_models.Control.query.get(control.id) self.assertEqual(control.title, "new title") tg_ids = [id_[0] for id_ in db.session.query(all_models.TaskGroup.id)] self.assertEqual(len(tg_ids), 1) self.assertEqual([tg.id for tg in control.task_groups], tg_ids) tgo_ids = [ id_[0] for id_ in db.session.query(all_models.TaskGroupObject.id) ] self.assertEqual(len(tgo_ids), 1) self.assertEqual([tgo.id for tgo in control.task_group_objects], tgo_ids)
def upmap_control(self): """Unmap Control from Task Group.""" task_group = all_models.TaskGroup.query.get(self.task_group_id) with factories.single_commit(): control = factories.ControlFactory() tg_obj = wf_factories.TaskGroupObjectFactory(task_group=task_group, object=control) return self.api.delete(tg_obj)
def read_mapped_control(self): """Read Control object mapped to Task Group.""" task_group = all_models.TaskGroup.query.get(self.task_group_id) with factories.single_commit(): control = factories.ControlFactory() wf_factories.TaskGroupObjectFactory(task_group=task_group, object=control) return self.api.get(control, control.id)
def test_unmap_obj_tg_g_role_admin(self, g_rname): """Unmap object from TaskGroup logged in as {} & Admin.""" with factories.single_commit(): workflow = self.setup_helper.setup_workflow((g_rname, )) task_group = wf_factories.TaskGroupFactory(workflow=workflow) wf_factories.TaskGroupObjectFactory(task_group=task_group) g_person = self.setup_helper.get_workflow_person( g_rname, ac_roles.workflow.ADMIN_NAME) self.api_helper.set_user(g_person) task_group_object = all_models.TaskGroupObject.query.one() response = self.api_helper.delete(task_group_object) self.assertEqual(response.status_code, 200)
def test_get_tgo_g_reader_no_role(self): """GET TaskGroupObject collection logged in as GlobalReader & No Role.""" with factories.single_commit(): wf_factories.TaskGroupObjectFactory() self.setup_helper.setup_person(rbac_helper.GR_RNAME, "No Role") g_reader = self.setup_helper.get_person(rbac_helper.GR_RNAME, "No Role") self.api_helper.set_user(g_reader) task_group_object = all_models.TaskGroupObject.query.one() response = self.api_helper.get_collection(task_group_object, (task_group_object.id, )) self.assertTrue(response.json["task_group_objects_collection"] ["task_group_objects"])
def test_create_with_mapped_object(self, model_name): """Test cycle creation with mapped {0}.""" with factories.single_commit(): mapped_object = factories.get_model_factory(model_name)() task_group = wf_factories.TaskGroupFactory() wf_factories.TaskGroupTaskFactory(task_group=task_group) wf_factories.TaskGroupObjectFactory(task_group=task_group, object=mapped_object) mapped_object_id = mapped_object.id data = workflow_api.get_cycle_post_dict(task_group.workflow) response = self.api_helper.post(all_models.Cycle, data) self.assertEquals(response.status_code, 201) cycle_id = response.json.get("cycle", {}).get("id") cycle = all_models.Cycle.query.filter_by(id=cycle_id).first() obj = cycle.cycle_task_groups[0].task_group.task_group_objects[ 0].object self.assertEquals(obj.id, mapped_object_id)