Fedeproxy-git-ActivityPub-r.../tests/fedeproxy/common/test_gitlab.py

61 lines
2.0 KiB
Python

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)