def test_get_linkable_projects(self): """ Test for retrieving the projects for a given user. """ initial_projects = self.project_service.retrieve_projects_for_user( self.test_user.id)[0] assert len(initial_projects) == 0, "Database was not reset!" test_proj = [] user1 = TestFactory.create_user("another_user") for i in range(4): test_proj.append( TestFactory.create_project(self.test_user if i < 3 else user1, 'test_proj' + str(i))) project_storage = self.structure_helper.get_project_folder( test_proj[0]) operation = TestFactory.create_operation(test_user=self.test_user, test_project=test_proj[0]) project_storage = os.path.join(project_storage, str(operation.id)) os.makedirs(project_storage) datatype = dao.store_entity( model.DataType(module="test_data", subject="subj1", state="test_state", operation_id=operation.id)) linkable = self.project_service.get_linkable_projects_for_user( self.test_user.id, str(datatype.id))[0] assert len(linkable) == 2, "Wrong count of link-able projects!" proj_names = [project.name for project in linkable] assert test_proj[1].name in proj_names assert test_proj[2].name in proj_names assert not test_proj[3].name in proj_names
def test_get_linkable_projects(self): """ Test for retrieving the projects for a given user. """ initial_projects = self.project_service.retrieve_projects_for_user( self.test_user.id)[0] self.assertEqual(len(initial_projects), 0, "Database was not reseted!") test_proj = [] user1 = TestFactory.create_user("another_user") for i in range(4): test_proj.append( TestFactory.create_project(self.test_user if i < 3 else user1, 'test_proj' + str(i))) project_storage = self.structure_helper.get_project_folder( test_proj[0]) result_meta = { DataTypeMetaData.KEY_OPERATION_TYPE: "Upload", DataTypeMetaData.KEY_AUTHOR: "John Doe", DataTypeMetaData.KEY_SUBJECT: "subj1", DataTypeMetaData.KEY_STATE: "test_state", DataTypeMetaData.KEY_NODE_TYPE: "test_data", DataTypeMetaData.KEY_DATE: "test_date", DataTypeMetaData.KEY_GID: generate_guid() } entity = dao.store_entity(model.AlgorithmCategory("category")) entity = dao.store_entity( model.AlgorithmGroup("module", "classname", entity.id)) entity = dao.store_entity(model.Algorithm(entity.id, "algo")) operation = model.Operation(self.test_user.id, test_proj[0].id, entity.id, "") operation = dao.store_entity(operation) project_storage = os.path.join(project_storage, str(operation.id)) os.makedirs(project_storage) entity = DataTypeMetaData(result_meta) datatype = dao.store_entity( model.DataType(module="test_data", subject="subj1", state="test_state", operation_id=operation.id)) linkable = self.project_service.get_linkable_projects_for_user( self.test_user.id, str(datatype.id))[0] self.assertEqual(len(linkable), 2, "Wrong count of link-able projects!") proj_names = [project.name for project in linkable] self.assertTrue(test_proj[1].name in proj_names) self.assertTrue(test_proj[2].name in proj_names) self.assertFalse(test_proj[3].name in proj_names)
def test_prepare_inputs_datatype(self): """ Test for ABCAdapter.prepare_ui_inputs method when submitting DataType with sub-attributes. """ parent_op = TestFactory.create_operation() test_entity = dao.store_entity(model.DataType(operation_id=parent_op.id)) dataset_3 = {} for key, value in self.SUBMIT_DATASET_3.iteritems(): dataset_3[key.replace("$GID$", test_entity.gid)] = value.replace("$GID$", test_entity.gid) kwargs = self.test_adapter.prepare_ui_inputs(dataset_3) for expected_name, expected_type in self.EXPECTED_FILTERED_SET3.iteritems(): self.assertTrue(expected_name in kwargs) self.assertTrue(isinstance(kwargs[expected_name], expected_type)) self.assertEqual(len(self.EXPECTED_FILTERED_SET3), len(kwargs)) self.assertEqual(2, len(kwargs["surface_parameters"])) self.assertTrue(isinstance(kwargs["surface_parameters"]["att1"], int)) self.assertTrue(isinstance(kwargs["surface_parameters"]["att2"], float))