def _get_objects(
        model_name: str,
        dataset_path: Path,
        project_path: Path,
    ) -> tuple[AnomalibModule, AnomalibDataModule, Engine]:
        """Return model, dataset, and engine objects.

        Args:
            model_name (str): Name of the model to train
            dataset_path (Path): Path to the root of dummy dataset
            project_path (Path): path to the temporary project folder

        Returns:
            tuple[AnomalibModule, AnomalibDataModule, Engine]: Returns the created objects for model, dataset,
                and engine
        """
        # set extra model args
        # TODO(ashwinvaidya17): Fix these Edge cases
        # https://github.com/open-edge-platform/anomalib/issues/1478

        extra_args = {}
        if model_name == "dfkde":
            extra_args["n_pca_components"] = 2

        if model_name in {"ai_vad", "fuvas"}:
            pytest.skip("Revisit video models tests")
        else:
            # EfficientAd requires that the batch size be lesser than the number of images in the dataset.
            # This is so that the LR step size is not 0.
            dataset = MVTecAD(
                root=dataset_path / "mvtecad",
                category="dummy",
                # EfficientAd requires train batch size 1
                train_batch_size=1 if model_name == "efficient_ad" else 2,
            )

        model = get_model(model_name, **extra_args)

        if model_name == "vlm_ad":
            model.vlm_backend = MagicMock()
            model.vlm_backend.predict.return_value = "YES: Because reasons..."

        engine = Engine(
            logger=False,
            default_root_dir=project_path,
            max_epochs=1,
            devices=1,
            # TODO(ashwinvaidya17): Fix these Edge cases
            # https://github.com/open-edge-platform/anomalib/issues/1478
            max_steps=70000 if model_name == "efficient_ad" else -1,
        )
        return model, dataset, engine
Return model, dataset, and engine objects.

        Args:
            model_name (str): Name of the model to train
            dataset_path (Path): Path to the root of dummy dataset
            project_path (Path): path to the temporary project folder

        Returns:
            tuple[AnomalibModule, AnomalibDataModule, Engine]: Returns the created objects for model, dataset,
                and engine
        
tests/integration/model/test_models.py