Skip to content

Commit bacda18

Browse files
author
Rolf Offermanns
committed
feat(unit): Add unit test for group service account access tokens
1 parent fa91fd6 commit bacda18

File tree

1 file changed

+46
-0
lines changed

1 file changed

+46
-0
lines changed

tests/unit/objects/test_groups.py

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -89,6 +89,18 @@
8989
"username": "gitlab-service-account",
9090
}
9191

92+
service_account_access_token_content = {
93+
"id": 1,
94+
"name": "service_account_access_token",
95+
"revoked": False,
96+
"scopes": ["api"],
97+
"user_id": 42,
98+
"last_used": None,
99+
"active": True,
100+
"expires_at": None,
101+
"token": "abcdefg12345",
102+
}
103+
92104

93105
@pytest.fixture
94106
def resp_groups():
@@ -362,6 +374,26 @@ def resp_delete_group_service_account():
362374
yield rsps
363375

364376

377+
@pytest.fixture
378+
def resp_create_group_service_account_access_token():
379+
with responses.RequestsMock() as rsps:
380+
rsps.add(
381+
method=responses.POST,
382+
url="http://localhost/api/v4/groups/1/service_accounts",
383+
json=service_account_content,
384+
content_type="application/json",
385+
status=200,
386+
)
387+
rsps.add(
388+
method=responses.POST,
389+
url="http://localhost/api/v4/groups/1/service_accounts/42/personal_access_tokens",
390+
json=service_account_access_token_content,
391+
content_type="application/json",
392+
status=200,
393+
)
394+
yield rsps
395+
396+
365397
def test_get_group(gl, resp_groups):
366398
data = gl.groups.get(1)
367399
assert isinstance(data, gitlab.v4.objects.Group)
@@ -515,3 +547,17 @@ def test_delete_group_service_account(group, resp_delete_group_service_account):
515547
{"name": "gitlab-service-account", "username": "gitlab-service-account"}
516548
)
517549
service_account.delete()
550+
551+
552+
def test_create_group_service_account_access_token(
553+
group, resp_create_group_service_account_access_token
554+
):
555+
service_account = group.service_accounts.create(
556+
{"name": "gitlab-service-account", "username": "gitlab-service-account"}
557+
)
558+
access_token = service_account.access_tokens.create(
559+
{"name": "service_account_access_token", "scopes": ["api"]}
560+
)
561+
assert service_account.id == 42
562+
assert access_token.name == "service_account_access_token"
563+
assert access_token.scopes == ["api"]

0 commit comments

Comments
 (0)