Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
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
3 changes: 2 additions & 1 deletion CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,9 +25,10 @@ Here are some links to the documentation that could be helpful when contributing
- for details also see [official GitLab API docs](https://docs.gitlab.com/ee/api/)
- Pagure (through `requests`) - API is dependent on deployed version of Pagure service;
`ogr` is majorly used on (links lead directly to API docs)
- [src.fedoraproject.org](https://src.fedoraproject.org/api/0/)
- [pagure.io](https://pagure.io/api/0/)
- [git.stg.centos.org](https://git.stg.centos.org/api/0/)
- Forgejo
- [src.fedoraproject.org](https://src.fedoraproject.org/api/v1/)

## Making raw HTTP requests

Expand Down
6 changes: 3 additions & 3 deletions ogr/factory.py
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ class GithubService(BaseGitService):
pass

@use_for_service("pagure.io")
@use_for_service("src.fedoraproject.org")
@use_for_service("git.centos.org")
class PagureService(BaseGitService):
pass
```
Expand Down Expand Up @@ -178,13 +178,13 @@ def get_instances_from_dict(instances: dict) -> set[GitService]:
```py
get_instances_from_dict({
"github.com": {"token": "abcd"},
"pagure": {
"forgejo": {
"token": "abcd",
"instance_url": "https://src.fedoraproject.org",
},
}) == {
GithubService(token="abcd"),
PagureService(token="abcd", instance_url="https://src.fedoraproject.org")
ForgejoService(token="abcd", instance_url="https://src.fedoraproject.org")
}
```

Expand Down
4 changes: 4 additions & 0 deletions ogr/services/forgejo/service.py
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,10 @@

@use_for_service("forgejo")
@use_for_service("codeberg.org")
@use_for_service("src.fedoraproject.org")
@use_for_service("src.stg.fedoraproject.org")
@use_for_service("pkgs.fedoraproject.org")
@use_for_service("pkgs.stg.fedoraproject.org")
class ForgejoService(BaseGitService):
version = "/api/v1"

Expand Down
2 changes: 0 additions & 2 deletions ogr/services/pagure/project.py
Original file line number Diff line number Diff line change
Expand Up @@ -382,8 +382,6 @@ def is_private(self) -> bool:
"git.centos.org",
"git.stg.centos.org",
"pagure.io",
"src.fedoraproject.org",
"src.stg.fedoraproject.org",
]:
# private repositories are not allowed on generally used pagure instances
return False
Expand Down
6 changes: 1 addition & 5 deletions ogr/services/pagure/service.py
Original file line number Diff line number Diff line change
Expand Up @@ -26,17 +26,13 @@


@use_for_service("pagure")
@use_for_service("src.fedoraproject.org")
@use_for_service("src.stg.fedoraproject.org")
@use_for_service("pkgs.fedoraproject.org")
@use_for_service("pkgs.stg.fedoraproject.org")
@use_for_service("git.centos.org")
@use_for_service("git.stg.centos.org")
class PagureService(BaseGitService):
def __init__(
self,
token: Optional[str] = None,
instance_url: str = "https://src.fedoraproject.org",
instance_url: str = "https://pagure.io",
read_only: bool = False,
insecure: bool = False,
max_retries: Union[int, urllib3.util.Retry] = 3,
Expand Down
5 changes: 4 additions & 1 deletion tests/integration/factory/test_factory.py
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,10 @@ def github_service(self):
@property
def pagure_service(self):
if not self._pagure_service:
self._pagure_service = PagureService(token=self.pagure_token)
self._pagure_service = PagureService(
token=self.pagure_token,
instance_url="https://src.fedoraproject.org",
)
return self._pagure_service

@property
Expand Down

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion tests/integration/pagure/test_project_token.py
Original file line number Diff line number Diff line change
Expand Up @@ -195,7 +195,7 @@ def test_pr_status(self):
)

def test_is_private(self):
self.service.instance_url = "https://src.fedoraproject.org"
self.service.instance_url = "https://pagure.io"
assert not self.ogr_project.is_private()

def test_token_is_none_then_set(self):
Expand Down
29 changes: 22 additions & 7 deletions tests/unit/test_factory.py
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@
{"github.com": PagureService},
PagureService,
),
("https://src.fedoraproject.org/rpms/python-ogr", None, PagureService),
("https://src.fedoraproject.org/rpms/python-ogr", None, ForgejoService),
("https://pagure.io/ogr", None, PagureService),
("https://pagure.something.com/ogr", None, PagureService),
("https://gitlab.com/someone/project", None, GitlabService),
Expand All @@ -56,18 +56,18 @@
(
"https://src.fedoraproject.org/rpms/golang-gitlab-flimzy-testy",
None,
PagureService,
ForgejoService,
),
(
"https://src.stg.fedoraproject.org/rpms/golang-gitlab-flimzy-testy",
None,
PagureService,
ForgejoService,
),
("https://src.fedoraproject.org/rpms/python-gitlab", None, PagureService),
("https://src.fedoraproject.org/rpms/python-gitlab", None, ForgejoService),
(
"https://src.fedoraproject.org/rpms/golang-gitlab-yawning-utls",
None,
PagureService,
ForgejoService,
),
],
)
Expand Down Expand Up @@ -166,10 +166,10 @@ def test_get_service_class_not_found(url, mapping):
None,
None,
True,
PagureProject(
ForgejoProject(
namespace="rpms",
repo="python-ogr",
service=PagureService(instance_url="https://src.fedoraproject.org"),
service=ForgejoService(instance_url="https://src.fedoraproject.org"),
),
),
(
Expand Down Expand Up @@ -378,6 +378,7 @@ def test_get_project_not_found(url, mapping, instances, exc_str):
({"github.com": {"token": "abcd"}}, {GithubService(token="abcd")}),
({"gitlab": {"token": "abcd"}}, {GitlabService(token="abcd")}),
({"pagure": {"token": "abcd"}}, {PagureService(token="abcd")}),
({"forgejo": {"token": "abcd"}}, {ForgejoService(token="abcd")}),
(
{
"pagure": {
Expand All @@ -387,6 +388,20 @@ def test_get_project_not_found(url, mapping, instances, exc_str):
},
{PagureService(token="abcd", instance_url="https://src.fedoraproject.org")},
),
(
{
"forgejo": {
"token": "abcd",
"instance_url": "https://src.fedoraproject.org",
},
},
{
ForgejoService(
token="abcd",
instance_url="https://src.fedoraproject.org",
),
},
),
(
{"github.com": {"token": "abcd"}, "gitlab": {"token": "abcd"}},
{GithubService(token="abcd"), GitlabService(token="abcd")},
Expand Down
7 changes: 5 additions & 2 deletions tests/unit/test_pagure.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,5 +8,8 @@

class TestPagureService(TestCase):
def test_hostname(self):
assert PagureService().hostname == "src.fedoraproject.org"
assert PagureService(instance_url="https://pagure.io").hostname == "pagure.io"
assert PagureService().hostname == "pagure.io"
assert (
PagureService(instance_url="https://git.centos.org").hostname
== "git.centos.org"
)
Loading