def test_update_task_with_models(meta: MetadataRepository, project: Project, task: Task, model: Model): task.project = meta.create_project(project) task = meta.create_task(task) assert task is not None id = task.id model.task = task model = meta.create_model(model) task.add_model(model) task = update_object_fields(task, excepted_fields=['id', 'models', 'project_id']) model = update_object_fields(model, excepted_fields=[ 'id', 'wrapper', 'artifact', 'output_meta', 'input_meta', 'requirements', 'transformer', 'task_id' ]) updated_task = meta.update_task(task) assert id == task.id assert updated_task is task assert task == meta.get_task_by_id(task.id) assert len(task.models) == 1 assert model.id in task.models assert model == meta.get_model_by_id(model.id) assert meta.get_model_by_id(model.id).name == 'Test Model2' assert task.has_meta_repo
def test_update_model_source_is_changed(meta: MetadataRepository, project: Project, task: Task, model: Model): task.project = meta.create_project(project) task = meta.create_task(task) assert task is not None model.task_id = task.id saved_model = meta.create_model(model) assert saved_model is not None id = saved_model.id saved_model = update_object_fields(model, excepted_fields=[ 'id', 'wrapper', 'artifact', 'output_meta', 'input_meta', 'requirements', 'transformer', 'task_id' ]) saved_model = meta.update_model(saved_model) assert id == saved_model.id assert model == meta.get_model_by_id(saved_model.id) assert model is saved_model
def test_update_task_is_reference(meta: MetadataRepository, project: Project, model: Model): task_entity = Task("Test Task") task_entity.project = meta.create_project(project) task = meta.create_task(task_entity) assert task is not None id = task.id model.task_id = task.id model = meta.create_model(model) task.name = "Test Task 2" task.add_model(model) task = meta.update_task(task) assert id == task.id assert "Test Task 2" == task.name assert model == task.models.get(model.id) task.name = "KEK" actual_task = meta.get_task_by_id(task.id) assert_objects_equal_except_fields(task, actual_task, excepted_fields=['name'])
def test_update_not_existing_task(meta: MetadataRepository, project: Project, task: Task): project = meta.create_project(project) assert project is not None task.project = project with pytest.raises(NonExistingTaskError): meta.update_task(task)
def test_get_task_by_name(meta: MetadataRepository, project: Project, task: Task): project = meta.create_project(project) task.project = project task_new = meta.create_task(task) assert task_new is not None assert task_new == meta.get_task_by_name(project, task.name) assert task.has_meta_repo
def test_get_or_create_project_exists(meta: MetadataRepository, project: Project): expected_project = meta.create_project(project) actual_project = meta.get_or_create_project(expected_project.name) assert actual_project is not None assert expected_project.id == actual_project.id assert expected_project.name == actual_project.name assert id(expected_project) != id(actual_project)
def test_get_models(meta: MetadataRepository, project: Project, task: Task, model: Model): task.project = meta.create_project(project) created_task = meta.create_task(task) model.task = created_task created_model = meta.create_model(model) actual_models = meta.get_models(created_task) assert actual_models == [created_model]
def test_delete_task(meta: MetadataRepository, project: Project, task: Task): task.project = meta.create_project(project) task = meta.create_task(task) assert task is not None meta.delete_task(task) assert meta.get_task_by_id(task.id) is None assert not task.has_meta_repo assert task.id is None
def test_get_task_by_id(meta: MetadataRepository, project: Project, task: Task): project = meta.create_project(project) task.project_id = project.id task_new = meta.create_task( task) # Assume that we do not change the task var in the create_task. assert task_new is not None assert task_new == meta.get_task_by_id(task_new.id) assert task.has_meta_repo
def test_save_updated_existing_project(meta: MetadataRepository, project: Project): project = meta.create_project(project) project = update_object_fields(project, excepted_fields=['id', 'tasks']) saved_project = meta.save_project(project) assert saved_project == project assert project == meta.get_project_by_id(saved_project.id)
def test_update_not_existing_model(meta: MetadataRepository, project: Project, task: Task, model: Model): task.project = meta.create_project(project) task = meta.create_task(task) assert task is not None model.task_id = task.id with pytest.raises(NonExistingModelError): meta.update_model(model)
def test_create_model(meta: MetadataRepository, project: Project, task: Task, model: Model): task.project = meta.create_project(project) task = meta.create_task(task) assert task is not None model.task_id = task.id model = meta.create_model(model) assert model is not None assert model.has_meta_repo
def test_create_model_source_is_changed(meta: MetadataRepository, project: Project, task: Task, model: Model): task.project = meta.create_project(project) task = meta.create_task(task) assert task is not None model.task_id = task.id saved_model = meta.create_model(model) assert saved_model is model
def test_save_not_existing_task(meta: MetadataRepository, project: Project): project = meta.create_project(project) task = Task("Task") task.project = project saved_task = meta.save_task(task) assert saved_task.name == task.name assert saved_task.project_id == task.project_id assert task.name == meta.get_task_by_id(saved_task.id).name assert task.has_meta_repo
def test_create_project_is_reference(meta: MetadataRepository, project: Project, author, creation_date): expected_project = meta.create_project(project) assert expected_project is not None expected_project.name = "KEK" actual_project = meta.get_project_by_id(expected_project.id) assert_objects_equal_except_fields(expected_project, actual_project, excepted_fields=['name'])
def test_save_task_is_reference(meta: MetadataRepository, project: Project): project = meta.create_project(project) task = Task("Task") task.project = project saved_task = meta.save_task(task) saved_task.name = "KEK" actual_task = meta.get_task_by_id(saved_task.id) assert_objects_equal_except_fields(saved_task, actual_task, excepted_fields=['name'])
def test_create_task_is_reference(meta: MetadataRepository, project: Project, task: Task): task.project_id = meta.create_project(project).id expected_task = meta.create_task(task) assert expected_task is not None task.name = "KEK" actual_task = meta.get_task_by_id(expected_task.id) assert_objects_equal_except_fields(expected_task, actual_task, excepted_fields=['name'])
def test_create_existing_task(meta: MetadataRepository, project: Project, task: Task, task2: Task): project_id = meta.create_project(project).id task.project_id = project_id task = meta.create_task(task) assert task is not None task2.name = task.name task2.project_id = project_id with pytest.raises(ExistingTaskError): meta.create_task(task2)
def test_get_or_create_task_project_exists(meta: MetadataRepository, project: Project): project = meta.create_project(project) assert project is not None task = meta.get_or_create_task(project.name, "Test Task") assert task is not None assert task.id is not None assert task.name == "Test Task" task_project = meta.get_project_by_id(task.project_id) assert task_project.id == task.project_id
def test_save_updated_existing_task(meta: MetadataRepository, project: Project): project = meta.create_project(project) task = Task("Task") task.project = project task = meta.create_task(task) task = update_object_fields(task, excepted_fields=['id', 'models', 'project_id']) saved_task = meta.save_task(task) assert saved_task == task assert task == meta.get_task_by_id(saved_task.id)
def test_save_existing_model(meta: MetadataRepository, project: Project, task: Task, model: Model): project = meta.create_project(project) task.project = project task = meta.create_task(task) model.task_id = task.id model = meta.create_model(model) saved_model = meta.save_model(model) assert saved_model.id == model.id assert saved_model.task_id == model.task_id assert model == meta.get_model_by_id(saved_model.id)
def test_create_existing_model(meta: MetadataRepository, project: Project, task: Task, model: Model, model2: Model): task.project = meta.create_project(project) task = meta.create_task(task) assert task is not None model.task_id = task.id model = meta.create_model(model) assert model is not None model2.task_id = task.id model2.name = model.name with pytest.raises(ExistingModelError): meta.create_model(model2)
def test_save_updated_existing_task_with_existing_name( meta: MetadataRepository, project: Project): project = meta.create_project(project) task = Task("Task") task.project = project task = meta.create_task(task) task2 = Task("Task2") task2.project = project task2 = meta.create_task(task2) task.name = "Task2" with pytest.raises(ExistingTaskError): meta.save_task(task)
def test_update_project_is_reference(meta: MetadataRepository, project: Project): project = meta.create_project(project) id = project._id project.name = "Test project2" expected_project = meta.update_project(project) assert id == expected_project._id assert "Test project2" == expected_project.name expected_project.name = "KEK" actual_project = meta.get_project_by_id(expected_project.id) assert_objects_equal_except_fields(expected_project, actual_project, excepted_fields=['name'])
def test_get_or_create_task_exists(meta: MetadataRepository, project: Project, task: Task): task.project = meta.create_project(project) expected_task = meta.create_task(task) actual_task = meta.get_or_create_task(project.name, expected_task.name) assert actual_task is not None assert expected_task == actual_task assert id(expected_task) != id(actual_task) project = meta.get_project_by_name(project.name) assert expected_task in project.tasks.values() assert expected_task.project_id == actual_task.project_id assert actual_task.has_meta_repo
def test_save_model_is_reference(meta: MetadataRepository, project: Project, task: Task, model: Model): project = meta.create_project(project) task.project = project task = meta.create_task(task) model.task_id = task.id saved_model = meta.save_model(model) saved_model.name = "KEK" actual_model = meta.get_model_by_id(saved_model.id) assert_objects_equal_except_fields(saved_model, actual_model, excepted_fields=['name'])
def test_save_updated_existing_model_with_existing_name( meta: MetadataRepository, project: Project, task: Task, model: Model, model2: Model): project = meta.create_project(project) task.project = project task = meta.create_task(task) model.task_id = task.id model = meta.create_model(model) model2.task_id = task.id model2 = meta.create_model(model2) model.name = model2.name with pytest.raises(ExistingModelError): meta.save_model(model)
def test_inner_objects_binded(meta: MetadataRepository, project: Project, task: Task, model: Model): task.project = meta.create_project(project) meta.create_task(task) model.task_id = task.id model = meta.create_model(model) new_project = meta.get_project_by_name(project.name) assert new_project.id is not None assert new_project.has_meta_repo new_task = new_project.tasks(task.name) assert new_task.id is not None assert new_task.has_meta_repo new_model = new_task.models(model.name) assert new_model.id is not None assert new_model.has_meta_repo
def test_save_updated_existing_model(meta: MetadataRepository, project: Project, task: Task, model: Model): project = meta.create_project(project) task.project = project task = meta.create_task(task) model.task_id = task.id model = meta.create_model(model) model = update_object_fields(model, excepted_fields=[ 'id', 'wrapper', 'artifact', 'output_meta', 'input_meta', 'requirements', 'transformer', 'task_id' ]) saved_model = meta.save_model(model) assert saved_model == model assert model == meta.get_model_by_id(saved_model.id)
def test_create_model_is_reference(meta: MetadataRepository, project: Project, task: Task, model: Model): task.project = meta.create_project(project) task = meta.create_task(task) assert task is not None model.task_id = task.id model = meta.create_model(model) assert model is not None model.name = "KEK" actual_model = meta.get_model_by_id(model.id) assert_objects_equal_except_fields(model, actual_model, excepted_fields=['name']) model.task_id = None actual_model = meta.get_model_by_id(model.id) assert_objects_equal_except_fields(model, actual_model, excepted_fields=['name', 'task_id'])