Skip to content

Commit

Permalink
Add name regex filters for repo endpoint
Browse files Browse the repository at this point in the history
fixes pulp#4432
  • Loading branch information
daviddavis committed Sep 18, 2023
1 parent bcd0ccc commit 7915db2
Show file tree
Hide file tree
Showing 3 changed files with 23 additions and 1 deletion.
1 change: 1 addition & 0 deletions CHANGES/4432.feature
@@ -0,0 +1 @@
Added regex name filters (``name__regex`` and ``name__iregex``) to the repositories endpoint.
2 changes: 1 addition & 1 deletion pulpcore/app/viewsets/repository.py
Expand Up @@ -92,7 +92,7 @@ class RepositoryFilter(BaseFilterSet):
class Meta:
model = Repository
fields = {
"name": NAME_FILTER_OPTIONS,
"name": NAME_FILTER_OPTIONS + ["regex", "iregex"],
"retain_repo_versions": NULLABLE_NUMERIC_FILTER_OPTIONS,
}

Expand Down
21 changes: 21 additions & 0 deletions pulpcore/tests/functional/api/test_repos.py
Expand Up @@ -48,3 +48,24 @@ def test_repository_content_filters(
# but not in its latest version anymore
results = file_repository_api_client.list(latest_with_content=content.pulp_href).results
assert results == []


@pytest.mark.parallel
def test_repository_name_regex_filters(
file_repository_factory,
file_repository_api_client,
):
"""Test repository's name regex filters."""
repo = file_repository_factory(name="regex-test-repo")
pattern = "regex-test.*"

results = file_repository_api_client.list(name__regex=pattern).results
assert results == [repo]

# upper case pattern
results = file_repository_api_client.list(name__regex=pattern.upper()).results
assert results == []

# upper case pattern with iregex
results = file_repository_api_client.list(name__iregex=pattern.upper()).results
assert results == [repo]

0 comments on commit 7915db2

Please sign in to comment.