Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
63 commits
Select commit Hold shift + click to select a range
3b5c61d
unit_test
ivis-kikuchi Jan 16, 2026
2f5281a
test: fix test_detect_affiliations
ivis-kikuchi Jan 19, 2026
11c6a9d
test:unit test for group client
daiki-ishioka Feb 12, 2026
8c944b2
fix: update error handling tests to return MapError for 400 responses
daiki-ishioka Feb 12, 2026
69080f5
test: unit tests group service and test helper utility
daiki-ishioka Feb 17, 2026
5e8db95
Fix: use groups instead of groups_service
daiki-ishioka Feb 17, 2026
46b7dee
Merge remote-tracking branch 'ivis-weko3-dev/develop' into unittest_i…
daiki-ishioka Feb 17, 2026
9e3d373
fix: refactor group tests, add name patterns, and validate repository.id
daiki-ishioka Feb 17, 2026
6fa1f5e
update: refacter user search function and error handling
daiki-ishioka Feb 17, 2026
11519e4
test: add unit tests for group API
daiki-ishioka Feb 17, 2026
cce6864
fix: add unit tests for id_delete and delete_post_partial_permission
daiki-ishioka Feb 17, 2026
cbc1ff3
test: add map_service.json and enhance token validity checks
daiki-ishioka Feb 19, 2026
d4dbbf0
test: unit tests for services module
daiki-ishioka Feb 19, 2026
ffc64f3
Merge branch 'develop' into unittest_ishioka
ivis-kuroda Feb 19, 2026
2147347
Merge remote-tracking branch 'origin/unittest_ishioka' into unittest-…
daiki-ishioka Feb 20, 2026
df0c888
feat: add logger function and update test config with connecter_id
daiki-ishioka Feb 20, 2026
9a84108
fix: test_get_access_token to include Flask app context and mock requ…
daiki-ishioka Feb 20, 2026
13f7aef
Merge branch 'develop' into unittest-services
daiki-ishioka Feb 20, 2026
057e067
test: unit tests for repository API and service
daiki-ishioka Feb 25, 2026
2099205
test: add unit tests for token and service settings
daiki-ishioka Feb 25, 2026
a6f5535
test: add and expand unit tests for user service
daiki-ishioka Feb 25, 2026
a2df206
test: add unit tests for repository/service ID resolvers
daiki-ishioka Feb 25, 2026
a9e6cce
Merge commit '603948684b03a328ab6f245b2bfe22131a215849' into reposito…
daiki-ishioka Feb 25, 2026
1e73066
Merge commit 'cd7f2c12cfb98abd028d10a2a25fc70c7b1b9d0a' into reposito…
daiki-ishioka Feb 26, 2026
fc6f129
fix: update tests for service ID patterns and delete logic per src ch…
daiki-ishioka Feb 26, 2026
a6c00e2
fix: refactor test functions relocate and remove duplicates
daiki-ishioka Feb 26, 2026
9f2fa4b
test: add user api unit tests
daiki-ishioka Feb 26, 2026
64ea9cc
test: add unit tests for database and token commands
daiki-ishioka Feb 26, 2026
51b711c
test: unit tests for API helpers, decorators, filter options, patch …
daiki-ishioka Feb 27, 2026
a742270
Merge commit 'b34d5562af74ce9f5aa60acd973ba6117b86adb0' into reposito…
daiki-ishioka Mar 2, 2026
4c0c056
fix: unit tests for repository service to match latest implementation…
daiki-ishioka Mar 2, 2026
e973f79
fix: delete unnecessary sections
daiki-ishioka Mar 2, 2026
2542aeb
test: add unit tests for newly introduced functions
daiki-ishioka Mar 2, 2026
99c599f
test: refactor reorder functions, add test cases, and update input va…
daiki-ishioka Mar 2, 2026
552cb25
test: refactor update functions to use update_put and add new test cases
daiki-ishioka Mar 3, 2026
a0d4ef4
Merge remote-tracking branch 'ivis-weko3-dev/develop' into repositori…
daiki-ishioka Mar 3, 2026
b952f88
Merge commit '255d63766392b6e78b59d87a9c058bb3e8d79b48' into reposito…
daiki-ishioka Mar 3, 2026
5a7ea15
test: merge changes and address review comments
daiki-ishioka Mar 3, 2026
8565544
test: add and refactor test
daiki-ishioka Mar 4, 2026
b12bf8e
test: add new tests for file validation and group update handling
daiki-ishioka Mar 4, 2026
d080192
Merge remote-tracking branch 'ivis-weko3-dev/develop' into repositori…
daiki-ishioka Mar 4, 2026
be46a06
test: update user and group search tests to use original function ref…
daiki-ishioka Mar 4, 2026
fd49eab
Merge commit '2f5281a0fcaaed5b5b25beaf8d664e99fa14e03f' into reposito…
daiki-ishioka Mar 4, 2026
c4961f6
test: refactor affiliation tests to improve readability and assertions
daiki-ishioka Mar 4, 2026
fff807d
test: test code refactoring for commit
daiki-ishioka Mar 4, 2026
1f17a9a
test: add parameterized tests for user and service search cache ident…
daiki-ishioka Mar 4, 2026
43ea566
Merge commit '872ad6484cb8f177d00486e5c016e34bed9538c0' into reposito…
daiki-ishioka Mar 4, 2026
bc38eb1
test: enhance user-related tests with LoginUser mock for permission c…
daiki-ishioka Mar 4, 2026
72ecd06
test: refactor token service tests to use direct imports and improve …
daiki-ishioka Mar 4, 2026
6d34773
Merge remote-tracking branch 'ivis-weko3-dev/develop' into repositori…
daiki-ishioka Mar 5, 2026
cd1355c
test: refactor and enhance test cases for user and token services
daiki-ishioka Mar 5, 2026
54fd872
Merge commit '1c26f9dee8b4276c05d9570b65a3fdcc183f77a2' into reposito…
daiki-ishioka Mar 6, 2026
c0272f1
Merge commit '683264f9c92746c85012dc9530050eacdd57598f' into reposito…
daiki-ishioka Mar 6, 2026
9c9e198
test: for token handling and error scenarios in token service
daiki-ishioka Mar 6, 2026
83d4738
test: refactor user service tests to include specific error messages …
daiki-ishioka Mar 6, 2026
47e3d19
Merge commit '142afd0d18936b4e971d372f98eb85a04996c000' into reposito…
daiki-ishioka Mar 6, 2026
3972dff
Merge commit '33bbc7cabdd31ffeb0ad3535d5c13fe03b3f73d0' into reposito…
daiki-ishioka Mar 8, 2026
e0d64aa
Merge commit 'fe08559ec928d147e38c62ebb13673a82c39deaa' into reposito…
daiki-ishioka Mar 9, 2026
90e5188
Merge commit '5397052da77084d52369ed26fca18c868b09d081' into reposito…
daiki-ishioka Mar 9, 2026
af2e6aa
test: refactor error messages in tests for clarity and consistency
daiki-ishioka Mar 9, 2026
e39fbc8
Merge commit 'b411637a7813641a0f7f81baa873d463e9564a4b' into reposito…
daiki-ishioka Mar 9, 2026
b8eafeb
test: refactor update search request criteria in tests for consistency
daiki-ishioka Mar 9, 2026
476733f
refactor: remove debug dump statements from group, service, and user …
daiki-ishioka Mar 10, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 0 additions & 12 deletions src/server/clients/groups.py
Original file line number Diff line number Diff line change
Expand Up @@ -91,10 +91,6 @@ def search(
by_alias=True,
)

from contrib import dump

dump(auth_params | attributes_params | query_params, "groups_search_query")

response = requests.get(
f"{config.MAP_CORE.base_url}{MAP_GROUPS_ENDPOINT}",
params=auth_params | attributes_params | query_params,
Expand All @@ -104,8 +100,6 @@ def search(
timeout=config.MAP_CORE.timeout,
)

dump(response.text, "groups_search_response")

if response.status_code > HTTPStatus.BAD_REQUEST:
response.raise_for_status()

Expand Down Expand Up @@ -216,10 +210,6 @@ def post(
alias_generator(name) for name in exclude
])

from contrib import dump

dump(auth_params | payload, "groups_post_payload")

response = requests.post(
f"{config.MAP_CORE.base_url}{MAP_GROUPS_ENDPOINT}",
params=attributes_params,
Expand All @@ -230,8 +220,6 @@ def post(
timeout=config.MAP_CORE.timeout,
)

dump(response.text, "groups_post_response")

if response.status_code > HTTPStatus.BAD_REQUEST:
response.raise_for_status()

Expand Down
6 changes: 0 additions & 6 deletions src/server/clients/services.py
Original file line number Diff line number Diff line change
Expand Up @@ -214,10 +214,6 @@ def post(
alias_generator(name) for name in exclude
])

from contrib import dump

dump({"request": auth_params} | payload, "service_post_payload")

response = requests.post(
f"{config.MAP_CORE.base_url}{MAP_SERVICES_ENDPOINT}",
params=attributes_params,
Expand All @@ -228,8 +224,6 @@ def post(
timeout=config.MAP_CORE.timeout,
)

dump(response.text, "service_post_response")

status_code = response.status_code
if status_code not in {HTTPStatus.BAD_REQUEST, HTTPStatus.CONFLICT}:
response.raise_for_status()
Expand Down
6 changes: 0 additions & 6 deletions src/server/clients/users.py
Original file line number Diff line number Diff line change
Expand Up @@ -91,10 +91,6 @@ def search(
by_alias=True,
)

from contrib import dump

dump(auth_params | attributes_params | query_params, "users_search_query")

response = requests.get(
f"{config.MAP_CORE.base_url}{MAP_USERS_ENDPOINT}",
params=auth_params | attributes_params | query_params,
Expand All @@ -104,8 +100,6 @@ def search(
timeout=config.MAP_CORE.timeout,
)

dump(response.text, "users_search_response")

if response.status_code > HTTPStatus.BAD_REQUEST:
response.raise_for_status()

Expand Down
61 changes: 41 additions & 20 deletions tests/unit/api/test_callback.py
Original file line number Diff line number Diff line change
@@ -1,11 +1,9 @@
import inspect
import typing as t

import pytest

from server.api.callback import auth_code
from server.api.schemas import OAuthTokenQuery
from server.exc import CredentialsError, OAuthTokenError
from server.exc import CredentialsError, DatabaseError, OAuthTokenError


if t.TYPE_CHECKING:
Expand All @@ -14,34 +12,57 @@

def test_auth_code_redirect(mocker: MockerFixture):
"""Normal case: valid code should redirect"""
mock_issue = mocker.patch("server.services.token.issue_access_token")
mocker.patch("server.services.token.issue_access_token")
query = OAuthTokenQuery(code="valid_code", state="abc123")
expected_status_code = 302
expected_location = "/"
expected_status_code = 200
expected_result = ""

original_func = inspect.unwrap(auth_code)
response = original_func(query)
result, status = original_func(query)

assert response.status_code == expected_status_code
assert response.location == expected_location
mock_issue.assert_called_once_with("valid_code")
assert result == expected_result
assert status == expected_status_code


def test_auth_code_credentials_error(mocker: MockerFixture):
"""Error case: token.issue_access_token raises CredentialsError"""
mocker.patch("server.services.token.issue_access_token", side_effect=CredentialsError("Invalid code"))
def test_auth_code_oauth_token_error(mocker: MockerFixture):
"""Error case: token.issue_access_token raises OAuthTokenError"""
mocker.patch("server.services.token.issue_access_token", side_effect=OAuthTokenError("Invalid code"))
query = OAuthTokenQuery(code="", state="abc123")
expected_status_code = 202
expected_result = ""

original_func = inspect.unwrap(auth_code)
with pytest.raises(CredentialsError):
original_func(query)
result, status = original_func(query)

assert result == expected_result
assert status == expected_status_code

def test_auth_code_oauth_token_error(mocker: MockerFixture):
"""Error case: token.issue_access_token raises OAuthTokenError"""
mocker.patch("server.services.token.issue_access_token", side_effect=OAuthTokenError("Invalid code"))

def test_auth_code_database_error(mocker: MockerFixture):
"""Error case: token.issue_access_token raises DatabaseError"""
mocker.patch("server.services.token.issue_access_token", side_effect=DatabaseError("Database error"))
query = OAuthTokenQuery(code="", state="abc123")

expected_status_code = 202
expected_result = ""

original_func = inspect.unwrap(auth_code)
with pytest.raises(OAuthTokenError):
original_func(query)
result, status = original_func(query)

assert result == expected_result
assert status == expected_status_code


def test_auth_code_credentials_error(mocker: MockerFixture):
"""Error case: token.issue_access_token raises CredentialsError"""
mocker.patch("server.services.token.issue_access_token", side_effect=CredentialsError("Invalid code"))
query = OAuthTokenQuery(code="", state="abc123")

expected_status_code = 202
expected_result = ""

original_func = inspect.unwrap(auth_code)
result, status = original_func(query)

assert result == expected_result
assert status == expected_status_code
Loading
Loading