def METHOD_NAME(self):
    self._tmp_dir = tempfile.TemporaryDirectory()
    tmp_name = self._tmp_dir.name
    class MockedProvider(
        salt.utils.gitfs.GitProvider
    ):  # pylint: disable=abstract-method
        def __init__(
            self,
            opts,
            remote,
            per_remote_defaults,
            per_remote_only,
            override_params,
            cache_root,
            role="gitfs",
        ):
            self.provider = "mocked"
            self.fetched = False
            super().__init__(
                opts,
                remote,
                per_remote_defaults,
                per_remote_only,
                override_params,
                cache_root,
                role,
            )
        def init_remote(self):
            self.gitdir = salt.utils.path.join(tmp_name, ".git")
            self.repo = True
            new = False
            return new
        def envs(self):
            return ["base"]
        def fetch(self):
            self.fetched = True
    git_providers = {
        "mocked": MockedProvider,
    }
    gitfs_remotes = ["file://repo1.git", {"file://repo2.git": [{"name": "repo2"}]}]
    self.opts = self.get_temp_config(
        "master", gitfs_remotes=gitfs_remotes, verified_gitfs_provider="mocked"
    )
    self.main_class = salt.utils.gitfs.GitFS(
        self.opts,
        self.opts["gitfs_remotes"],
        per_remote_overrides=salt.fileserver.gitfs.PER_REMOTE_OVERRIDES,
        per_remote_only=salt.fileserver.gitfs.PER_REMOTE_ONLY,
        git_providers=git_providers,
    )