mirror of
https://gitlab.archlinux.org/archlinux/aurweb.git
synced 2025-02-03 10:43:03 +01:00
PackageDependency: fix primary key relationships
Signed-off-by: Kevin Morris <kevr@0cost.org>
This commit is contained in:
parent
ec38d2f5a0
commit
b4e46450b5
2 changed files with 13 additions and 14 deletions
|
@ -1,4 +1,4 @@
|
||||||
from sqlalchemy import Column, ForeignKey, Integer
|
from sqlalchemy import Column, ForeignKey, Integer, String
|
||||||
from sqlalchemy.exc import IntegrityError
|
from sqlalchemy.exc import IntegrityError
|
||||||
from sqlalchemy.orm import backref, relationship
|
from sqlalchemy.orm import backref, relationship
|
||||||
|
|
||||||
|
@ -16,7 +16,7 @@ class PackageDependency(Base):
|
||||||
nullable=False)
|
nullable=False)
|
||||||
Package = relationship(
|
Package = relationship(
|
||||||
"Package", backref=backref("package_dependencies", lazy="dynamic"),
|
"Package", backref=backref("package_dependencies", lazy="dynamic"),
|
||||||
foreign_keys=[PackageID], lazy="select")
|
foreign_keys=[PackageID])
|
||||||
|
|
||||||
DepTypeID = Column(
|
DepTypeID = Column(
|
||||||
Integer, ForeignKey("DependencyTypes.ID", ondelete="NO ACTION"),
|
Integer, ForeignKey("DependencyTypes.ID", ondelete="NO ACTION"),
|
||||||
|
@ -24,9 +24,11 @@ class PackageDependency(Base):
|
||||||
DependencyType = relationship(
|
DependencyType = relationship(
|
||||||
"DependencyType",
|
"DependencyType",
|
||||||
backref=backref("package_dependencies", lazy="dynamic"),
|
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,
|
def __init__(self,
|
||||||
Package: aurweb.models.package.Package = None,
|
Package: aurweb.models.package.Package = None,
|
||||||
|
|
|
@ -2,7 +2,7 @@ import pytest
|
||||||
|
|
||||||
from sqlalchemy.exc import IntegrityError
|
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.account_type import AccountType
|
||||||
from aurweb.models.dependency_type import DependencyType
|
from aurweb.models.dependency_type import DependencyType
|
||||||
from aurweb.models.package import Package
|
from aurweb.models.package import Package
|
||||||
|
@ -49,9 +49,8 @@ def test_package_dependencies():
|
||||||
|
|
||||||
makedepends = query(DependencyType,
|
makedepends = query(DependencyType,
|
||||||
DependencyType.Name == "makedepends").first()
|
DependencyType.Name == "makedepends").first()
|
||||||
pkgdep = create(PackageDependency, Package=package,
|
pkgdep.DependencyType = makedepends
|
||||||
DependencyType=makedepends,
|
commit()
|
||||||
DepName="test-dep")
|
|
||||||
assert pkgdep.DepName == "test-dep"
|
assert pkgdep.DepName == "test-dep"
|
||||||
assert pkgdep.Package == package
|
assert pkgdep.Package == package
|
||||||
assert pkgdep.DependencyType == makedepends
|
assert pkgdep.DependencyType == makedepends
|
||||||
|
@ -60,9 +59,8 @@ def test_package_dependencies():
|
||||||
|
|
||||||
checkdepends = query(DependencyType,
|
checkdepends = query(DependencyType,
|
||||||
DependencyType.Name == "checkdepends").first()
|
DependencyType.Name == "checkdepends").first()
|
||||||
pkgdep = create(PackageDependency, Package=package,
|
pkgdep.DependencyType = checkdepends
|
||||||
DependencyType=checkdepends,
|
commit()
|
||||||
DepName="test-dep")
|
|
||||||
assert pkgdep.DepName == "test-dep"
|
assert pkgdep.DepName == "test-dep"
|
||||||
assert pkgdep.Package == package
|
assert pkgdep.Package == package
|
||||||
assert pkgdep.DependencyType == checkdepends
|
assert pkgdep.DependencyType == checkdepends
|
||||||
|
@ -71,9 +69,8 @@ def test_package_dependencies():
|
||||||
|
|
||||||
optdepends = query(DependencyType,
|
optdepends = query(DependencyType,
|
||||||
DependencyType.Name == "optdepends").first()
|
DependencyType.Name == "optdepends").first()
|
||||||
pkgdep = create(PackageDependency, Package=package,
|
pkgdep.DependencyType = optdepends
|
||||||
DependencyType=optdepends,
|
commit()
|
||||||
DepName="test-dep")
|
|
||||||
assert pkgdep.DepName == "test-dep"
|
assert pkgdep.DepName == "test-dep"
|
||||||
assert pkgdep.Package == package
|
assert pkgdep.Package == package
|
||||||
assert pkgdep.DependencyType == optdepends
|
assert pkgdep.DependencyType == optdepends
|
||||||
|
|
Loading…
Add table
Reference in a new issue