Skip to content

Commit

Permalink
Merge branch 'master' into sarc-271
Browse files Browse the repository at this point in the history
  • Loading branch information
nurbal authored Apr 2, 2024
2 parents 8ea92c2 + 167a4de commit 5e9c166
Show file tree
Hide file tree
Showing 2 changed files with 53 additions and 2 deletions.
4 changes: 2 additions & 2 deletions sarc/ldap/api.py
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,7 @@ def get_users(query=None, query_options: dict | None = None, latest=True) -> lis
query_options = {}

if query is None:
return {}
query = {}

if latest:
query = {
Expand All @@ -69,7 +69,7 @@ def get_users(query=None, query_options: dict | None = None, latest=True) -> lis
]
}

results = users_collection().find_by(query, query_options)
results = users_collection().find_by(query, **query_options)

return list(results)

Expand Down
51 changes: 51 additions & 0 deletions tests/unittests/ldap/test_api.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
from unittest.mock import MagicMock

import pytest

from sarc.ldap.api import get_users, query_latest_records


@pytest.mark.parametrize(
"query,query_options,latest,expected",
[
[
None,
None,
False,
({}, {}),
],
[
{"query": "q"},
{"kwarg1": 1, "kwarg2": 2},
False,
None,
],
[
{"query": "q"},
{},
True,
(
{
"$and": [
query_latest_records(),
{"query": "q"},
]
},
{},
),
],
],
)
def test_get_users(query, query_options, latest, expected, monkeypatch):
if expected is None:
expected = (query, query_options)

monkeypatch.setattr("sarc.ldap.api.config", lambda: MagicMock())
user_repository_mock = MagicMock()
user_repository_mock.find_by.return_value = tuple()
monkeypatch.setattr(
"sarc.ldap.api.UserRepository", lambda *_args, **_kwargs: user_repository_mock
)
result = get_users(query, query_options, latest)
assert isinstance(result, list)
user_repository_mock.find_by.assert_called_once_with(expected[0], **expected[1])

0 comments on commit 5e9c166

Please sign in to comment.