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"