diff --git a/test/test_package_source.py b/test/test_package_source.py index b83c9d48..e5797f90 100644 --- a/test/test_package_source.py +++ b/test/test_package_source.py @@ -2,46 +2,45 @@ import pytest from sqlalchemy.exc import IntegrityError -from aurweb.db import begin, create, query, rollback -from aurweb.models.account_type import AccountType +from aurweb import db +from aurweb.models.account_type import USER_ID from aurweb.models.package import Package from aurweb.models.package_base import PackageBase from aurweb.models.package_source import PackageSource from aurweb.models.user import User -from aurweb.testing import setup_test_db - -user = pkgbase = package = None @pytest.fixture(autouse=True) def setup(db_test): - global user, pkgbase, package - - setup_test_db("PackageSources", "Packages", "PackageBases", "Users") - - account_type = query(AccountType, - AccountType.AccountType == "User").first() - with begin(): - user = create(User, Username="test", Email="test@example.org", - RealName="Test User", Passwd="testPassword", - AccountType=account_type) - pkgbase = create(PackageBase, - Name="test-package", - Maintainer=user) - package = create(Package, PackageBase=pkgbase, Name="test-package") + return -def test_package_source(): - with begin(): - pkgsource = create(PackageSource, Package=package) +@pytest.fixture +def user() -> User: + with db.begin(): + user = db.create(User, Username="test", Email="test@example.org", + RealName="Test User", Passwd="testPassword", + AccountTypeID=USER_ID) + yield user + + +@pytest.fixture +def package(user: User) -> Package: + with db.begin(): + pkgbase = db.create(PackageBase, Name="test-package", Maintainer=user) + package = db.create(Package, PackageBase=pkgbase, Name="test-package") + yield package + + +def test_package_source(package: Package): + with db.begin(): + pkgsource = db.create(PackageSource, Package=package) assert pkgsource.Package == package # By default, PackageSources.Source assigns the string '/dev/null'. assert pkgsource.Source == "/dev/null" assert pkgsource.SourceArch is None -def test_package_source_null_package_raises_exception(): +def test_package_source_null_package_raises(): with pytest.raises(IntegrityError): - with begin(): - create(PackageSource) - rollback() + PackageSource()