import os import pytest import gzip from fedeproxy.common.gitlab import GitLab @pytest.fixture def gitlab(): ip = os.environ.get('FEDEPROXY_IP', '0.0.0.0') gitlab = GitLab(f'http://{ip}:8181') gitlab.login('root', 'Wrobyak4') return gitlab @pytest.mark.gitlab def test_project_create(gitlab): gitlab.project_delete('root', 'testproject') assert gitlab.project_get('root', 'testproject') is None user = 'testuser1' email = 'testuser1@example.com' gitlab.user_create(user, email) p = gitlab.project_create('root', user, user, 'testproject') assert p['id'] == gitlab.project_create('root', user, user, 'testproject')['id'] assert gitlab.project_delete(user, 'testproject') is True assert gitlab.project_delete(user, 'testproject') is False assert gitlab.user_delete(user) is True @pytest.mark.gitlab def test_user_create(gitlab): user = 'testuser1' email = 'testuser1@example.com' gitlab.user_delete(user) u = gitlab.user_create(user, email) assert u['id'] == gitlab.user_create(user, email)['id'] assert gitlab.user_delete(user) is True assert gitlab.user_delete(user) is False @pytest.mark.gitlab def test_issue_create(gitlab): gitlab.project_delete('root', 'testproject') p = gitlab.project_create('root', 'root', 'root', 'testproject') title = 'THE TITLE' i = gitlab.issue_create(p['id'], title) assert i['id'] == gitlab.issue_get(p['id'], i['iid'])['id'] assert gitlab.issue_delete(p['id'], i['iid']) is True assert gitlab.issue_get(p['id'], i['iid']) is None assert gitlab.issue_delete(p['id'], i['iid']) is False assert gitlab.project_delete('root', 'testproject') is True @pytest.mark.gitlab def test_project_export(gitlab, tmpdir): gitlab.project_delete('root', 'testproject') gitlab.project_create('root', 'root', 'root', 'testproject') exported = f'{tmpdir}/testproject.tar.gz' gitlab.project_export('root', 'testproject', exported) assert gzip.open(exported)