Example #1
0
    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)
Example #2
0
 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)
Example #3
0
 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)
Example #4
0
    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)
Example #5
0
    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"])
Example #6
0
    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)