diff --git a/src/codegen/git/clients/git_repo_client.py b/src/codegen/git/clients/git_repo_client.py index a4af33846..59cc1c9c5 100644 --- a/src/codegen/git/clients/git_repo_client.py +++ b/src/codegen/git/clients/git_repo_client.py @@ -28,13 +28,13 @@ class GitRepoClient: gh_client: GithubClient _repo: Repository - def __init__(self, repo_config: RepoConfig) -> None: + def __init__(self, repo_config: RepoConfig, access_token: str) -> None: self.repo_config = repo_config - self.gh_client = self._create_github_client() + self.gh_client = self._create_github_client(token=access_token) self._repo = self._create_client() - def _create_github_client(self) -> GithubClient: - return GithubClient() + def _create_github_client(self, token: str) -> GithubClient: + return GithubClient(token=token) def _create_client(self) -> Repository: client = self.gh_client.get_repo_by_full_name(self.repo_config.full_name) diff --git a/src/codegen/git/clients/github_client.py b/src/codegen/git/clients/github_client.py index 095a96b97..56acfeae6 100644 --- a/src/codegen/git/clients/github_client.py +++ b/src/codegen/git/clients/github_client.py @@ -1,5 +1,4 @@ import logging -from typing import Self from github import Consts from github.GithubException import UnknownObjectException @@ -7,8 +6,6 @@ from github.Organization import Organization from github.Repository import Repository -from codegen.git.configs.config import config - logger = logging.getLogger(__name__) @@ -18,16 +15,9 @@ class GithubClient: base_url: str _client: Github - def __init__(self, base_url: str = Consts.DEFAULT_BASE_URL): + def __init__(self, token: str, base_url: str = Consts.DEFAULT_BASE_URL): self.base_url = base_url - self._client = Github(config.GITHUB_TOKEN, base_url=base_url) - - @classmethod - def from_token(cls, token: str | None = None) -> Self: - """Option to create a git client from a token""" - gh_wrapper = cls() - gh_wrapper._client = Github(token, base_url=cls.base_url) - return gh_wrapper + self._client = Github(token, base_url=base_url) @property def client(self) -> Github: diff --git a/src/codegen/git/repo_operator/remote_repo_operator.py b/src/codegen/git/repo_operator/remote_repo_operator.py index 88e3ad008..6aa5be036 100644 --- a/src/codegen/git/repo_operator/remote_repo_operator.py +++ b/src/codegen/git/repo_operator/remote_repo_operator.py @@ -58,7 +58,7 @@ def clone_url(self) -> str: @property def remote_git_repo(self) -> GitRepoClient: if not self._remote_git_repo: - self._remote_git_repo = GitRepoClient(self.repo_config) + self._remote_git_repo = GitRepoClient(self.repo_config, access_token=self.access_token) return self._remote_git_repo @property diff --git a/tests/integration/codegen/runner/conftest.py b/tests/integration/codegen/runner/conftest.py index 4981c1549..42b0116e3 100644 --- a/tests/integration/codegen/runner/conftest.py +++ b/tests/integration/codegen/runner/conftest.py @@ -41,7 +41,7 @@ def op(repo_config: RepoConfig) -> Generator[RemoteRepoOperator, None, None]: @pytest.fixture(autouse=True) def git_repo_client(repo_config: RepoConfig) -> GitRepoClient: - yield GitRepoClient(repo_config=repo_config) + yield GitRepoClient(repo_config=repo_config, access_token=config.GITHUB_TOKEN) @pytest.fixture(autouse=True)