Skip to content

Commit

Permalink
feat: add new tokenless support
Browse files Browse the repository at this point in the history
We no longer have to send the X-Tokenless header
anymore.

Signed-off-by: joseph-sentry <joseph.sawaya@sentry.io>
  • Loading branch information
joseph-sentry committed May 23, 2024
1 parent 7432bad commit 0de0517
Show file tree
Hide file tree
Showing 8 changed files with 12 additions and 18 deletions.
4 changes: 2 additions & 2 deletions codecov_cli/helpers/git.py
Original file line number Diff line number Diff line change
Expand Up @@ -97,12 +97,12 @@ def parse_git_service(remote_repo_url: str):
return None


def is_fork_pr(pull_dict: PullDict) -> bool:
def is_fork_pr(pull_dict: PullDict | None) -> bool:
"""
takes in dict: pull_dict
returns true if PR is made in a fork context, false if not.
"""
return pull_dict and pull_dict["head"]["slug"] != pull_dict["base"]["slug"]
return pull_dict is not None and pull_dict["head"]["slug"] != pull_dict["base"]["slug"]


def get_pull(service, slug, pr_num) -> Optional[PullDict]:
Expand Down
6 changes: 3 additions & 3 deletions codecov_cli/helpers/request.py
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@
USER_AGENT = f"codecov-cli/{__version__}"


def _set_user_agent(headers: dict = None) -> dict:
def _set_user_agent(headers: dict | None = None) -> dict:
headers = headers or {}
headers.setdefault("User-Agent", USER_AGENT)
return headers
Expand All @@ -37,7 +37,7 @@ def put(url: str, data: dict = None, headers: dict = None) -> requests.Response:


def post(
url: str, data: dict = None, headers: dict = None, params: dict = None
url: str, data: dict | None = None, headers: dict | None = None, params: dict | None = None
) -> requests.Response:
headers = _set_user_agent(headers)
return requests.post(url, json=data, headers=headers, params=params)
Expand Down Expand Up @@ -82,7 +82,7 @@ def wrapper(*args, **kwargs):

@retry_request
def send_post_request(
url: str, data: dict = None, headers: dict = None, params: dict = None
url: str, data: dict | None = None, headers: dict | None = None, params: dict | None = None
):
return request_result(post(url=url, data=data, headers=headers, params=params))

Expand Down
4 changes: 2 additions & 2 deletions codecov_cli/services/commit/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -46,8 +46,8 @@ def send_commit_data(
decoded_slug = decode_slug(slug)
pull_dict = get_pull(service, decoded_slug, pr) if not token else None
if is_fork_pr(pull_dict):
headers = {"X-Tokenless": pull_dict["head"]["slug"], "X-Tokenless-PR": pr}
branch = pull_dict["head"]["slug"] + ":" + branch
headers = None # type: ignore
branch = pull_dict["head"]["slug"] + ":" + branch # type: ignore
logger.info("The PR is happening in a forked repo. Using tokenless upload.")
else:
headers = get_token_header_or_fail(token)
Expand Down
5 changes: 1 addition & 4 deletions codecov_cli/services/report/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -52,10 +52,7 @@ def send_create_report_request(
get_pull(service, decoded_slug, pull_request_number) if not token else None
)
if is_fork_pr(pull_dict):
headers = {
"X-Tokenless": pull_dict["head"]["slug"],
"X-Tokenless-PR": pull_request_number,
}
headers = None
else:
headers = get_token_header_or_fail(token)
upload_url = enterprise_url or CODECOV_API_URL
Expand Down
5 changes: 1 addition & 4 deletions codecov_cli/services/upload/upload_sender.py
Original file line number Diff line number Diff line change
Expand Up @@ -60,10 +60,7 @@ def send_upload_data(
)

if is_fork_pr(pull_dict):
headers = {
"X-Tokenless": pull_dict["head"]["slug"],
"X-Tokenless-PR": pull_request_number,
}
headers = None
else:
headers = get_token_header_or_fail(token)
encoded_slug = encode_slug(slug)
Expand Down
2 changes: 1 addition & 1 deletion tests/helpers/test_upload_sender.py
Original file line number Diff line number Diff line change
Expand Up @@ -231,7 +231,7 @@ def test_upload_sender_post_called_with_right_parameters_tokenless(
mocked_storage_server,
mocker,
):
headers = {"X-Tokenless": "user-forked/repo", "X-Tokenless-PR": "pr"}
headers = {}
mock_get_pull = mocker.patch(
"codecov_cli.services.upload.upload_sender.get_pull",
return_value={
Expand Down
2 changes: 1 addition & 1 deletion tests/services/commit/test_commit_service.py
Original file line number Diff line number Diff line change
Expand Up @@ -195,5 +195,5 @@ def mock_request(*args, headers={}, **kwargs):
"pullid": "1",
"branch": "user_forked_repo/codecov-cli:branch",
},
headers={"X-Tokenless": "user_forked_repo/codecov-cli", "X-Tokenless-PR": "1"},
headers=None,
)
2 changes: 1 addition & 1 deletion tests/services/report/test_report_service.py
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,7 @@ def test_send_create_report_request_200_tokneless(mocker):
assert res.warnings == []
mocked_response.assert_called_with(
url=f"enterprise_url/upload/github/owner::::repo/commits/commit_sha/reports",
headers={"X-Tokenless": "user-forked/repo", "X-Tokenless-PR": 1},
headers=None,
data={"code": "code"},
)
mocked_get_pull.assert_called()
Expand Down

0 comments on commit 0de0517

Please sign in to comment.