housekeep(fastapi): rewrite test_package_group with fixtures

Signed-off-by: Kevin Morris <kevr@0cost.org>
This commit is contained in:
Kevin Morris 2021-11-30 20:45:08 -08:00
parent df530d8a73
commit 150c944758
No known key found for this signature in database
GPG key ID: F7E46DED420788F3

View file

@ -10,36 +10,48 @@ from aurweb.models.package_base import PackageBase
from aurweb.models.package_group import PackageGroup from aurweb.models.package_group import PackageGroup
from aurweb.models.user import User from aurweb.models.user import User
user = group = pkgbase = package = None
@pytest.fixture(autouse=True) @pytest.fixture(autouse=True)
def setup(db_test): def setup(db_test):
global user, group, pkgbase, package return
@pytest.fixture
def user() -> User:
with db.begin(): with db.begin():
user = db.create(User, Username="test", Email="test@example.org", user = db.create(User, Username="test", Email="test@example.org",
RealName="Test User", Passwd="testPassword", RealName="Test User", Passwd="testPassword",
AccountTypeID=USER_ID) AccountTypeID=USER_ID)
group = db.create(Group, Name="Test Group") yield user
@pytest.fixture
def group() -> Group:
with db.begin():
group = db.create(Group, Name="Test Group")
yield group
@pytest.fixture
def package(user: User) -> Package:
with db.begin(): with db.begin():
pkgbase = db.create(PackageBase, Name="test-package", Maintainer=user) pkgbase = db.create(PackageBase, Name="test-package", Maintainer=user)
package = db.create(Package, PackageBase=pkgbase, Name=pkgbase.Name) package = db.create(Package, PackageBase=pkgbase, Name=pkgbase.Name)
yield package
def test_package_group(): def test_package_group(package: Package, group: Group):
with db.begin(): with db.begin():
package_group = db.create(PackageGroup, Package=package, Group=group) package_group = db.create(PackageGroup, Package=package, Group=group)
assert package_group.Group == group assert package_group.Group == group
assert package_group.Package == package assert package_group.Package == package
def test_package_group_null_package_raises_exception(): def test_package_group_null_package_raises(group: Group):
with pytest.raises(IntegrityError): with pytest.raises(IntegrityError):
PackageGroup(Group=group) PackageGroup(Group=group)
def test_package_group_null_group_raises_exception(): def test_package_group_null_group_raises(package: Package):
with pytest.raises(IntegrityError): with pytest.raises(IntegrityError):
PackageGroup(Package=package) PackageGroup(Package=package)