Skip to content

Commit 3f4366f

Browse files
committed
Use robot short name to get robot account details
1 parent d8f37bd commit 3f4366f

File tree

2 files changed

+15
-12
lines changed

2 files changed

+15
-12
lines changed

reconcile/test/utils/test_quay_api.py

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -281,7 +281,7 @@ def test_delete_repo_robot_permissions_raises_other_status_codes(
281281

282282
@responses.activate
283283
def test_get_robot_account_details_success(quay_api: QuayApi) -> None:
284-
robot_data = {"name": "test-robot", "description": "Test robot account"}
284+
robot_data = {"name": f"{ORG}+test-robot", "description": "Test robot account"}
285285
permissions_data = {
286286
"permissions": [
287287
{"role": "team", "team": {"name": "test-team"}},
@@ -308,10 +308,10 @@ def test_get_robot_account_details_success(quay_api: QuayApi) -> None:
308308
status=200,
309309
)
310310

311-
result = quay_api.get_robot_account_details("test-robot")
311+
result = quay_api.get_robot_account_details(f"{ORG}+test-robot")
312312

313313
assert result is not None
314-
assert result["name"] == "test-robot"
314+
assert result["name"] == f"{ORG}+test-robot"
315315
assert result["description"] == "Test robot account"
316316
assert len(result["teams"]) == 1
317317
assert result["teams"][0]["name"] == "test-team"
@@ -328,15 +328,15 @@ def test_get_robot_account_details_not_found(quay_api: QuayApi) -> None:
328328
status=404,
329329
)
330330

331-
result = quay_api.get_robot_account_details("test-robot")
331+
result = quay_api.get_robot_account_details(f"{ORG}+test-robot")
332332
assert result is None
333333

334334

335335
@responses.activate
336336
def test_list_robot_accounts_detailed(quay_api: QuayApi) -> None:
337-
robots_data = {"robots": [{"name": "robot1"}, {"name": "robot2"}]}
338-
robot1_details = {"name": "robot1", "description": "Robot 1"}
339-
robot2_details = {"name": "robot2", "description": "Robot 2"}
337+
robots_data = {"robots": [{"name": f"{ORG}+robot1"}, {"name": f"{ORG}+robot2"}]}
338+
robot1_details = {"name": f"{ORG}+robot1", "description": "Robot 1"}
339+
robot2_details = {"name": f"{ORG}+robot2", "description": "Robot 2"}
340340
permissions_data: dict[str, list[dict[str, str]]] = {"permissions": []}
341341

342342
responses.add(
@@ -385,5 +385,5 @@ def test_list_robot_accounts_detailed(quay_api: QuayApi) -> None:
385385
result = quay_api.list_robot_accounts_detailed()
386386

387387
assert len(result) == 2
388-
assert result[0]["name"] == "robot1"
389-
assert result[1]["name"] == "robot2"
388+
assert result[0]["name"] == f"{ORG}+robot1"
389+
assert result[1]["name"] == f"{ORG}+robot2"

reconcile/utils/quay_api.py

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -310,7 +310,10 @@ def delete_robot_account(self, robot_name: str) -> None:
310310

311311
def get_robot_account_details(self, robot_name: str) -> dict[str, Any] | None:
312312
"""Get detailed information about a robot account including teams and repositories"""
313-
url = f"{self.api_url}/organization/{self.organization}/robots/{robot_name}"
313+
robot_short_name = robot_name.split("+")[1]
314+
url = (
315+
f"{self.api_url}/organization/{self.organization}/robots/{robot_short_name}"
316+
)
314317
r = requests.get(url, headers=self.auth_header, timeout=self._timeout)
315318
if r.status_code == 404:
316319
return None
@@ -321,7 +324,7 @@ def get_robot_account_details(self, robot_name: str) -> dict[str, Any] | None:
321324
# Get team memberships for this robot
322325
teams: list[dict[str, str]] = []
323326
try:
324-
teams_url = f"{self.api_url}/organization/{self.organization}/robots/{robot_name}/permissions"
327+
teams_url = f"{self.api_url}/organization/{self.organization}/robots/{robot_short_name}/permissions"
325328
teams_r = requests.get(
326329
teams_url, headers=self.auth_header, timeout=self._timeout
327330
)
@@ -338,7 +341,7 @@ def get_robot_account_details(self, robot_name: str) -> dict[str, Any] | None:
338341
# Get repository permissions for this robot
339342
repositories: list[dict[str, str]] = []
340343
try:
341-
repos_url = f"{self.api_url}/organization/{self.organization}/robots/{robot_name}/permissions"
344+
repos_url = f"{self.api_url}/organization/{self.organization}/robots/{robot_short_name}/permissions"
342345
repos_r = requests.get(
343346
repos_url, headers=self.auth_header, timeout=self._timeout
344347
)

0 commit comments

Comments
 (0)