diff options
| author | Oleksii Shkurupii <Oleksii.Shkurupii@playtech.com> | 2020-08-27 18:07:54 +0300 |
|---|---|---|
| committer | Oleksii Shkurupii <Oleksii.Shkurupii@playtech.com> | 2020-08-27 18:07:54 +0300 |
| commit | fa899d7a6e76acbe392f3debb5fd61d71bd88ed2 (patch) | |
| tree | af915190af31ded29c6545c67ac7c9cda294e195 /gitlab/tests/objects/conftest.py | |
| parent | 88f8cc78f97156d5888a9600bdb8721720563120 (diff) | |
| parent | a038e9567fd16259e3ed360ab0defd779e9c3901 (diff) | |
| download | gitlab-fa899d7a6e76acbe392f3debb5fd61d71bd88ed2.tar.gz | |
Merge branch 'master' into issue-1154
Diffstat (limited to 'gitlab/tests/objects/conftest.py')
| -rw-r--r-- | gitlab/tests/objects/conftest.py | 65 |
1 files changed, 65 insertions, 0 deletions
diff --git a/gitlab/tests/objects/conftest.py b/gitlab/tests/objects/conftest.py new file mode 100644 index 0000000..76f76d1 --- /dev/null +++ b/gitlab/tests/objects/conftest.py @@ -0,0 +1,65 @@ +"""Common mocks for resources in gitlab.v4.objects""" + +import re + +import pytest +import responses + + +@pytest.fixture +def binary_content(): + return b"binary content" + + +@pytest.fixture +def accepted_content(): + return {"message": "202 Accepted"} + + +@pytest.fixture +def created_content(): + return {"message": "201 Created"} + + +@pytest.fixture +def resp_export(accepted_content, binary_content): + """Common fixture for group and project exports.""" + export_status_content = { + "id": 1, + "description": "Itaque perspiciatis minima aspernatur", + "name": "Gitlab Test", + "name_with_namespace": "Gitlab Org / Gitlab Test", + "path": "gitlab-test", + "path_with_namespace": "gitlab-org/gitlab-test", + "created_at": "2017-08-29T04:36:44.383Z", + "export_status": "finished", + "_links": { + "api_url": "https://gitlab.test/api/v4/projects/1/export/download", + "web_url": "https://gitlab.test/gitlab-test/download_export", + }, + } + + with responses.RequestsMock(assert_all_requests_are_fired=False) as rsps: + rsps.add( + method=responses.POST, + url=re.compile(r".*/api/v4/(groups|projects)/1/export"), + json=accepted_content, + content_type="application/json", + status=202, + ) + rsps.add( + method=responses.GET, + url=re.compile(r".*/api/v4/(groups|projects)/1/export/download"), + body=binary_content, + content_type="application/octet-stream", + status=200, + ) + # Currently only project export supports status checks + rsps.add( + method=responses.GET, + url="http://localhost/api/v4/projects/1/export", + json=export_status_content, + content_type="application/json", + status=200, + ) + yield rsps |
