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 create_model(self, model: Model) -> Model: self._validate_model(model) existing_task = self.get_task_by_id(model.task_id) if existing_task is None: raise NonExistingTaskError(model.task_id) if self.get_model_by_name(model.name, existing_task) is not None: raise ExistingModelError(model) model._id = self.data.get_and_increment('next_model_id') self.data.add_model(copy.deepcopy(model)) self.save() return model
def create_model(self, model: Model) -> Model: self._validate_model(model) existing_task = self.get_task_by_id(model.task_id) if existing_task is None: raise NonExistingTaskError(model.task_id) if self.get_model_by_name(model.name, existing_task) is not None: raise ExistingModelError(model) model._id = str(uuid.uuid4()) existing_task._models.add(model) self.data.add_model(copy.deepcopy(model)) self.save() return model
def test_delete_artifact__non_saved_model(art_repo: ArtifactRepository, model: Model): model._id = None with pytest.raises(ValueError): art_repo.delete_artifact(model)