Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Menu
Open sidebar
Joakim Saario
aurweb
Commits
fb210158
Commit
fb210158
authored
May 30, 2021
by
Kevin Morris
Browse files
add PackageKeyword SQLAlchemy ORM model
Signed-off-by:
Kevin Morris
<
kevr@0cost.org
>
parent
a7e54981
Changes
2
Hide whitespace changes
Inline
Side-by-side
aurweb/models/package_keyword.py
0 → 100644
View file @
fb210158
from
sqlalchemy.orm
import
mapper
from
aurweb.db
import
make_relationship
from
aurweb.models.package_base
import
PackageBase
from
aurweb.schema
import
PackageKeywords
class
PackageKeyword
:
def
__init__
(
self
,
PackageBase
:
PackageBase
=
None
,
Keyword
:
str
=
None
):
self
.
PackageBase
=
PackageBase
self
.
Keyword
=
Keyword
mapper
(
PackageKeyword
,
PackageKeywords
,
properties
=
{
"PackageBase"
:
make_relationship
(
PackageBase
,
PackageKeywords
.
c
.
PackageBaseID
,
"keywords"
)
})
test/test_package_keyword.py
0 → 100644
View file @
fb210158
import
pytest
from
sqlalchemy.exc
import
IntegrityError
from
aurweb.db
import
create
,
query
from
aurweb.models.account_type
import
AccountType
from
aurweb.models.package_base
import
PackageBase
from
aurweb.models.package_keyword
import
PackageKeyword
from
aurweb.testing
import
setup_test_db
from
aurweb.testing.models
import
make_user
user
,
pkgbase
=
None
,
None
@
pytest
.
fixture
(
autouse
=
True
)
def
setup
():
global
user
,
pkgbase
setup_test_db
(
"Users"
,
"PackageBases"
,
"PackageKeywords"
)
account_type
=
query
(
AccountType
,
AccountType
.
AccountType
==
"User"
).
first
()
user
=
make_user
(
Username
=
"test"
,
Email
=
"test@example.org"
,
RealName
=
"Test User"
,
Passwd
=
"testPassword"
,
AccountType
=
account_type
)
pkgbase
=
create
(
PackageBase
,
Name
=
"beautiful-package"
,
Maintainer
=
user
)
yield
pkgbase
from
aurweb.db
import
session
session
.
delete
(
pkgbase
)
session
.
commit
()
def
test_package_keyword
():
from
aurweb.db
import
session
pkg_keyword
=
create
(
PackageKeyword
,
PackageBase
=
pkgbase
,
Keyword
=
"test"
)
assert
pkg_keyword
in
pkgbase
.
keywords
assert
pkgbase
==
pkg_keyword
.
PackageBase
session
.
delete
(
pkg_keyword
)
session
.
commit
()
def
test_package_keyword_null_pkgbase_raises_exception
():
from
aurweb.db
import
session
with
pytest
.
raises
(
IntegrityError
):
create
(
PackageKeyword
,
Keyword
=
"test"
)
session
.
rollback
()
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment