py-gitea/example.py

145 wiersze
3.8 KiB
Python

import os
from gitea.gitea import *
# 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')
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():
org = gitea.create_org(gitea.get_user(), 'test-org', 'some-desc', 'loc')
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():
pass
def test_create_team():
pass
#
# print(org.username)
# org.set_value({"location": "a-place"})
# print([user.username for user in org.get_members()])
# ## try getting an organization that does not exists
# try:
# org = Organization(gitea, "non-existent-org")
# except:
# pass
#
# ##get a User that does exist
# user = User(gitea, "a-user")
# print(user.username)
# ##try getting organization that does not exist
# try:
# user = User(gitea, "non-existent-user")
# except:
# pass
# user.set_value(user.email, {"location": "an-location"})
# ##get repositories set under a organization
# repos = org.get_repositories()
# print("org " + org.username + " has repositories " + str(repos))
# ##get repositories of a user
# userRepos = user.get_repositories()
# print("user " + user.username + " has repositories " + str(repos))
# ##get branches
# repo = Repository(gitea, org,"playground")
# print([b.name for b in repo.get_branches()])
#
# ##create Repository
# gitea.create_repo(user , "test-repo-api", "this is an api test repo, delete this", True, True)
# gitea.create_repo(org , "test-repo-api-org", "this is an api test repo, delete this", True, True)
#
# ## create user
# newUser = gitea.create_user("test-test", "test@testing.de","Torben der Tester", str(os.urandom(32)), False)
# print(newUser.username)
# newUser.delete()