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', 'output_meta', 'input_meta', 'requirements', 'transformer', 'task_id' ]) 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_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 id = model.id model.name = "Test Model 2" model = meta.update_model(model) assert id == model.id assert "Test Model 2" == model.name model.name = "KEK" actual_model = meta.get_model_by_id(model.id) assert_objects_equal_except_fields(model, actual_model, excepted_fields=['name'])
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_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', 'requirements', 'wrapper_meta', 'task_id', 'wrapper_obj', 'params' ]) 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_save_instance__ok_not_existing(meta: MetadataRepository, created_image, created_environment, instance): assert instance.id is None assert not instance.has_meta_repo instance.image = created_image instance.environment = created_environment created_instance = meta.save_instance(instance) assert created_instance.id is not None assert created_instance.has_meta_repo assert created_instance.image == created_image assert created_instance.environment == created_environment assert created_instance.name == instance.name assert created_instance.params == instance.params
def test_delete_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 meta.delete_model(model) assert meta.get_model_by_id(model.id) is None assert not model.has_meta_repo assert model.id is None
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_delete_not_existing_task(meta: MetadataRepository, task: Task): with pytest.raises(NonExistingTaskError): meta.delete_task(task)
def test_get_environment_by_id__empty(meta: MetadataRepository): assert meta.get_environment_by_id(12345) is None
def test_create_task_source_is_not_changed(meta: MetadataRepository, project: Project, task: Task): task.project = meta.create_project(project) new_task = meta.create_task(task) assert new_task is task
def test_create_task_without_project(meta: MetadataRepository, task: Task): with pytest.raises(TaskNotInProjectError): meta.create_task(task)
def test_get_environment_by_id__full(meta: MetadataRepository, created_environment): assert meta.get_environment_by_id( created_environment.id) == created_environment
def test_get_environment_by_name__full(meta: MetadataRepository, created_environment): assert meta.get_environment_by_name( created_environment.name) == created_environment
def test_get_environments__full(meta: MetadataRepository, created_environment): assert meta.get_environments() == [created_environment]
def test_save_existing_project(meta: MetadataRepository, project: Project): project = meta.create_project(project) saved_project = meta.save_project(project) assert saved_project.id == project.id assert project == meta.get_project_by_id(saved_project.id)
def test_save_not_existing_project(meta: MetadataRepository, project: Project): saved_project = meta.save_project(project) assert saved_project.name == project.name assert project.name == meta.get_project_by_id(saved_project.id).name assert project.has_meta_repo
def test_update_project_source_is_changed(meta: MetadataRepository, project: Project): project = meta.create_project(project) project.name = "Test project2" new_project = meta.update_project(project) assert new_project == project
def test_get_or_create_project_not_exists(meta: MetadataRepository): project = meta.get_or_create_project("Test Project") assert project is not None assert project.id is not None assert project.name == "Test Project"
def test_create_environment__saved(meta: MetadataRepository, created_environment): with pytest.raises(ExistingEnvironmentError): meta.create_environment(created_environment)
def test_create_model_without_task(meta: MetadataRepository, model: Model): with pytest.raises(ModelNotInTaskError): meta.create_model(model)
def test_create_project(meta: MetadataRepository, project: Project): project = meta.create_project(project) assert project is not None assert project.has_meta_repo
def test_create_existing_project(meta: MetadataRepository, project: Project): meta.create_project(project) with pytest.raises(ExistingProjectError): meta.create_project(project)
def test_save_updated_existing_project_with_existing_name( meta: MetadataRepository, project: Project, project2: Project): meta.create_project(project) project2.name = project.name with pytest.raises(ExistingProjectError): meta.save_project(project2)
def test_get_environment_by_name__empty(meta: MetadataRepository): assert meta.get_environment_by_name('qwerty') is None
def test_create_project_source_is_changed(meta: MetadataRepository, project: Project): new_project = meta.create_project(project) assert new_project is project
def test_delete_project(meta: MetadataRepository, project: Project): project = meta.create_project(project) meta.delete_project(project) assert meta.get_project_by_id(project.id) is None assert not project.has_meta_repo assert project.id is None
def test_delete_not_existing_model(meta: MetadataRepository, model: Model): with pytest.raises(NonExistingModelError): meta.delete_model(model)
def test_delete_not_existing_project(meta: MetadataRepository, project: Project): with pytest.raises(NonExistingProjectError): meta.delete_project(project)
def test_get_project_by_id(meta: MetadataRepository, project: Project): project = meta.create_project(project) assert project == meta.get_project_by_id(project.id) assert project.has_meta_repo
def test_create_task(meta: MetadataRepository, project: Project, task: Task): task.project_id = meta.create_project(project).id task = meta.create_task(task) assert task is not None assert task.has_meta_repo