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_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_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_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_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_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_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_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_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'])
def test_update_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 id = model.id model = update_object_fields(model, excepted_fields=[ 'id', 'wrapper', 'artifact', 'requirements', 'wrapper_meta', 'task_id', 'wrapper_obj', 'params' ]) model = meta.update_model(model) assert id == model.id assert model == meta.get_model_by_id(model.id) assert model.has_meta_repo
def test_update_task_source_is_changed(meta: MetadataRepository, project: Project, task: Task, model: Model): task.project = meta.create_project(project) saved_task = meta.create_task(task) assert saved_task is task id = saved_task.id model.task = saved_task model = meta.create_model(model) saved_task = update_object_fields( saved_task, excepted_fields=['id', 'models', 'project_id']) saved_task.add_model(model) saved_task = meta.update_task(saved_task) assert id == saved_task.id assert saved_task == meta.get_task_by_id(saved_task.id) assert model == saved_task.models.get(model.id) assert task is saved_task
def test_create_model_without_task(meta: MetadataRepository, model: Model): with pytest.raises(ModelNotInTaskError): meta.create_model(model)