kopia lustrzana https://github.com/Langenfeld/py-gitea
170 wiersze
4.5 KiB
Python
170 wiersze
4.5 KiB
Python
import os
|
|
|
|
from gitea import Gitea, User, Organization, Team, Repository, version
|
|
from gitea import NotFoundException, AlreadyExistsException
|
|
|
|
assert version >= '0.4.0'
|
|
|
|
|
|
# Testing a localhost instance for API-functionality.
|
|
#
|
|
|
|
|
|
# testing includes:
|
|
# - reading in token
|
|
# - creation of organization
|
|
# - creation of repository
|
|
# - creation of team
|
|
# - creation of user
|
|
# - assigning team to repository
|
|
# - assigning user to team
|
|
# - deleting created user
|
|
# - deleting repository
|
|
# - deleting team
|
|
# - deleting organization
|
|
|
|
|
|
def expect_not_exist(fn, expect) -> bool:
|
|
try:
|
|
fn()
|
|
return False
|
|
except expect:
|
|
return True
|
|
|
|
|
|
gitea = None
|
|
|
|
# put a ".token" file into your directory containg only the token for gitea
|
|
try:
|
|
gitea = Gitea("http://localhost:3000", open(".token", "r").read().strip())
|
|
print("Gitea Version: " + gitea.get_version())
|
|
print("API-Token belongs to user: " + gitea.get_user().username)
|
|
except:
|
|
assert (
|
|
False
|
|
), "Gitea could not load. \
|
|
- Instance running at http://localhost:3000 \
|
|
- Token at .token \
|
|
?"
|
|
|
|
|
|
def test_token():
|
|
assert gitea.get_user().username == "test", "Token user not 'test'."
|
|
|
|
|
|
def test_version():
|
|
assert gitea.get_version() == "1.8.0-rc2", "Version changed. Updated?"
|
|
|
|
|
|
def test_before_user():
|
|
# This should not work currently
|
|
assert expect_not_exist(
|
|
lambda: User(gitea, "test-user"), (NotFoundException)
|
|
), "User test-user should not exist"
|
|
|
|
|
|
def test_before_org():
|
|
assert expect_not_exist(
|
|
lambda: Organization(gitea, "test-org"), (NotFoundException)
|
|
), "Organization test-org should not exist"
|
|
|
|
|
|
def test_before_repo():
|
|
assert expect_not_exist(
|
|
lambda: Repository(gitea, User(gitea, "test-user"), "test-repo"),
|
|
(NotFoundException),
|
|
), "Repository test-repo should not exist"
|
|
|
|
|
|
def test_before_team():
|
|
assert expect_not_exist(
|
|
lambda: Team(gitea, Organization(gitea, "test-org"), "test-team"),
|
|
(NotFoundException),
|
|
), "Team test-team should not exist"
|
|
|
|
|
|
def test_create_user():
|
|
user = gitea.create_user('test-user', 'testmail@example.org', 'pw1234')
|
|
user.update_mail()
|
|
assert user.username == 'test-user'
|
|
assert user.login == 'test-user'
|
|
assert user.email == 'testmail@example.org'
|
|
assert not user.is_admin
|
|
|
|
|
|
def test_create_org():
|
|
user = gitea.get_user()
|
|
org = gitea.create_org(user, 'test-org', 'some-desc', 'loc')
|
|
assert org.get_members() == [user]
|
|
assert org.description == 'some-desc'
|
|
assert org.username == 'test-org'
|
|
assert org.location == 'loc'
|
|
assert not org.website
|
|
assert not org.full_name
|
|
|
|
|
|
def test_create_repo():
|
|
org = Organization(gitea, 'test-org')
|
|
repo = gitea.create_repo(org, 'test-repo', 'descr')
|
|
assert repo.description == 'descr'
|
|
assert repo.owner == org
|
|
assert repo.name == 'test-repo'
|
|
assert not repo.private
|
|
|
|
|
|
def test_create_team():
|
|
org = Organization(gitea, 'test-org')
|
|
team = gitea.create_team(org, 'test-team', 'descr')
|
|
assert team.name == 'test-team'
|
|
assert team.description == 'descr'
|
|
assert team.organization == org
|
|
|
|
def test_full():
|
|
user = User(gitea, 'test-user')
|
|
user.update_mail()
|
|
org = Organization(gitea, 'test-org')
|
|
team = Team(org, 'test-team')
|
|
assert team.get_members() == []
|
|
team.add(user)
|
|
assert team.get_members() == [user]
|
|
repo = Repository(gitea, org, 'test-repo')
|
|
assert team.get_repos() == []
|
|
team.add(repo)
|
|
assert team.get_repos() == [repo]
|
|
|
|
|
|
def test_delete_repo():
|
|
org = Organization(gitea, 'test-org')
|
|
repo = Repository(gitea, org, 'test-repo')
|
|
repo.delete()
|
|
assert expect_not_exist(
|
|
lambda: Repository(gitea, User(gitea, "test-user"), "test-repo"),
|
|
(NotFoundException),
|
|
), "Repository test-repo should not exist"
|
|
|
|
def test_delete_team():
|
|
org = Organization(gitea, 'test-org')
|
|
team = Team(org, 'test-team')
|
|
team.delete()
|
|
assert expect_not_exist(
|
|
lambda: Team(org, "test-team"),
|
|
(NotFoundException),
|
|
), "Team test-team should not exist"
|
|
|
|
def test_delete_org():
|
|
org = Organization(gitea, 'test-org')
|
|
org.delete()
|
|
assert expect_not_exist(
|
|
lambda: Organization(gitea, "test-org"), (NotFoundException)
|
|
), "Organization test-org should not exist"
|
|
|
|
|
|
def test_delete_user():
|
|
user = User(gitea, 'test-user')
|
|
user.delete()
|
|
assert expect_not_exist(
|
|
lambda: User(gitea, "test-user"), (NotFoundException)
|
|
), "User test-user should not exist"
|
|
|
|
|