PackageDependency: fix primary key relationships

Signed-off-by: Kevin Morris <kevr@0cost.org>
This commit is contained in:
Kevin Morris 2021-07-18 01:56:24 -07:00
parent ec38d2f5a0
commit b4e46450b5
2 changed files with 13 additions and 14 deletions

View file

@ -1,4 +1,4 @@
from sqlalchemy import Column, ForeignKey, Integer
from sqlalchemy import Column, ForeignKey, Integer, String
from sqlalchemy.exc import IntegrityError
from sqlalchemy.orm import backref, relationship
@ -16,7 +16,7 @@ class PackageDependency(Base):
nullable=False)
Package = relationship(
"Package", backref=backref("package_dependencies", lazy="dynamic"),
foreign_keys=[PackageID], lazy="select")
foreign_keys=[PackageID])
DepTypeID = Column(
Integer, ForeignKey("DependencyTypes.ID", ondelete="NO ACTION"),
@ -24,9 +24,11 @@ class PackageDependency(Base):
DependencyType = relationship(
"DependencyType",
backref=backref("package_dependencies", lazy="dynamic"),
foreign_keys=[DepTypeID], lazy="select")
foreign_keys=[DepTypeID])
__mapper_args__ = {"primary_key": [PackageID, DepTypeID]}
DepName = Column(String(255), nullable=False)
__mapper_args__ = {"primary_key": [PackageID, DepName]}
def __init__(self,
Package: aurweb.models.package.Package = None,

View file

@ -2,7 +2,7 @@ import pytest
from sqlalchemy.exc import IntegrityError
from aurweb.db import create, query
from aurweb.db import commit, create, query
from aurweb.models.account_type import AccountType
from aurweb.models.dependency_type import DependencyType
from aurweb.models.package import Package
@ -49,9 +49,8 @@ def test_package_dependencies():
makedepends = query(DependencyType,
DependencyType.Name == "makedepends").first()
pkgdep = create(PackageDependency, Package=package,
DependencyType=makedepends,
DepName="test-dep")
pkgdep.DependencyType = makedepends
commit()
assert pkgdep.DepName == "test-dep"
assert pkgdep.Package == package
assert pkgdep.DependencyType == makedepends
@ -60,9 +59,8 @@ def test_package_dependencies():
checkdepends = query(DependencyType,
DependencyType.Name == "checkdepends").first()
pkgdep = create(PackageDependency, Package=package,
DependencyType=checkdepends,
DepName="test-dep")
pkgdep.DependencyType = checkdepends
commit()
assert pkgdep.DepName == "test-dep"
assert pkgdep.Package == package
assert pkgdep.DependencyType == checkdepends
@ -71,9 +69,8 @@ def test_package_dependencies():
optdepends = query(DependencyType,
DependencyType.Name == "optdepends").first()
pkgdep = create(PackageDependency, Package=package,
DependencyType=optdepends,
DepName="test-dep")
pkgdep.DependencyType = optdepends
commit()
assert pkgdep.DepName == "test-dep"
assert pkgdep.Package == package
assert pkgdep.DependencyType == optdepends