def test_push_model_with_same_name(ebnt: Ebonite, model: Model): task = ebnt.get_or_create_task("Project", "Task1") model = ebnt.push_model(model, task) model._id = None with pytest.raises(ExistingModelError): ebnt.push_model(model, task)
def test_push_model_with_same_name(ebnt: Ebonite, model: Model): task = ebnt.get_or_create_task("Project", "Task1") ebnt.push_model(model, task) model2 = copy.deepcopy(model) with pytest.raises(ExistingModelError): ebnt.push_model(model2, task)
def test_push_model_with_task_and_task_argument_with_different_project(ebnt: Ebonite, model: Model): task = ebnt.get_or_create_task("Project", "Task1") task2 = ebnt.get_or_create_task("Project2", "Task1") model.task = task2 # For test purpose with pytest.raises(ValueError): ebnt.push_model(model, task)
def test_push_model_exists(ebnt: Ebonite, model: Model): task = ebnt.get_or_create_task("Project", "Task1") pushed_model = ebnt.push_model(model, task) assert pushed_model.id is not None pushed_model.name = "Model2" pushed_model._id = None pushed_model2 = ebnt.push_model(pushed_model) assert "Model2" == pushed_model2.name
def test_push_model(ebnt: Ebonite, model: Model): task = ebnt.get_or_create_task("Project", "Task1") model.task_id = task.id # For test purpose pushed_model = ebnt.push_model(model) assert model.name == pushed_model.name assert task.id == pushed_model.task_id
def test_delete_task_with_models(ebnt: Ebonite, model: Model): task = ebnt.get_or_create_task('Project', 'Task') model = ebnt.push_model(model, task) assert ebnt.meta_repo.get_task_by_id(task.id) is not None assert ebnt.meta_repo.get_model_by_id(model.id) is not None with pytest.raises(TaskWithFKError): ebnt.delete_task(task)
def test_push_model_project_contains_two_tasks(ebnt: Ebonite, model: Model): task1 = ebnt.get_or_create_task("Project", "Task1") ebnt.get_or_create_task("Project", "Task2") pushed_model = ebnt.push_model(model, task1) task = ebnt.meta_repo.get_task_by_id(pushed_model.task_id) project = ebnt.meta_repo.get_project_by_id(task.project_id) task1 = ebnt.get_or_create_task("Project", "Task1") assert project.tasks.get(task.id) == task1
def delete_image_ok(ebnt: Ebonite, model: Model): task = ebnt.get_or_create_task('Project', 'Task') model = ebnt.push_model(model, task) image = Image(task_id=task.id, name='Image', source=BuildableMock()) image = ebnt.meta_repo.create_image(image) assert ebnt.meta_repo.get_task_by_id(task.id) is not None assert ebnt.meta_repo.get_model_by_id(model.id) is not None assert ebnt.meta_repo.get_image_by_id(image.id) is not None ebnt.delete_image(image) assert ebnt.meta_repo.get_image_by_id(image.id) is None
def test_delete_task_cascade_ok(ebnt: Ebonite, model: Model, mock_env, image: Image, pipeline: Pipeline): task = ebnt.get_or_create_task('Project', 'Task') model = ebnt.push_model(model, task) image.environment = ebnt.meta_repo.create_environment(mock_env) task.add_pipeline(pipeline) task.add_image(image) task = ebnt.meta_repo.get_task_by_id(task.id).bind_as(task) assert ebnt.meta_repo.get_task_by_id(task.id) is not None assert ebnt.meta_repo.get_model_by_id(model.id) is not None assert ebnt.meta_repo.get_pipeline_by_id(pipeline.id) is not None assert ebnt.meta_repo.get_image_by_id(image.id) is not None ebnt.delete_task(task, cascade=True) assert ebnt.meta_repo.get_task_by_id(task.id) is None assert ebnt.meta_repo.get_model_by_id(model.id) is None assert ebnt.meta_repo.get_pipeline_by_id(pipeline.id) is None assert ebnt.meta_repo.get_image_by_id(image.id) is None
def test_push_model_task_argument(ebnt: Ebonite, model: Model): task = ebnt.get_or_create_task("Project", "Task1") pushed_model = ebnt.push_model(model, task) assert model.name == pushed_model.name assert task.id == pushed_model.task_id