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
718fa48a
Commit
718fa48a
authored
May 30, 2021
by
Kevin Morris
Browse files
add AcceptedTerm SQLAlchemy ORM model
Signed-off-by:
Kevin Morris
<
kevr@0cost.org
>
parent
29db2ee5
Changes
2
Hide whitespace changes
Inline
Side-by-side
aurweb/models/accepted_term.py
0 → 100644
View file @
718fa48a
from
sqlalchemy.orm
import
mapper
from
aurweb.db
import
make_relationship
from
aurweb.models.term
import
Term
from
aurweb.models.user
import
User
from
aurweb.schema
import
AcceptedTerms
class
AcceptedTerm
:
def
__init__
(
self
,
User
:
User
=
None
,
Term
:
Term
=
None
,
Revision
:
int
=
None
):
self
.
User
=
User
self
.
Term
=
Term
self
.
Revision
=
Revision
properties
=
{
"User"
:
make_relationship
(
User
,
AcceptedTerms
.
c
.
UsersID
,
"accepted_terms"
),
"Term"
:
make_relationship
(
Term
,
AcceptedTerms
.
c
.
TermsID
,
"accepted"
)
}
mapper
(
AcceptedTerm
,
AcceptedTerms
,
properties
=
properties
,
primary_key
=
[
AcceptedTerms
.
c
.
UsersID
,
AcceptedTerms
.
c
.
TermsID
])
test/test_accepted_term.py
0 → 100644
View file @
718fa48a
import
pytest
from
sqlalchemy.exc
import
IntegrityError
from
aurweb.db
import
create
,
delete
,
query
from
aurweb.models.accepted_term
import
AcceptedTerm
from
aurweb.models.account_type
import
AccountType
from
aurweb.models.term
import
Term
from
aurweb.models.user
import
User
from
aurweb.testing
import
setup_test_db
user
,
term
,
accepted_term
=
None
,
None
,
None
@
pytest
.
fixture
(
autouse
=
True
)
def
setup
():
global
user
,
term
,
accepted_term
setup_test_db
(
"Users"
,
"AcceptedTerms"
,
"Terms"
)
account_type
=
query
(
AccountType
,
AccountType
.
AccountType
==
"User"
).
first
()
user
=
create
(
User
,
Username
=
"test"
,
Email
=
"test@example.org"
,
RealName
=
"Test User"
,
Passwd
=
"testPassword"
,
account_type
=
account_type
)
term
=
create
(
Term
,
Description
=
"Test term"
,
URL
=
"https://test.term"
)
yield
term
delete
(
Term
,
Term
.
ID
==
term
.
ID
)
delete
(
User
,
User
.
ID
==
user
.
ID
)
def
test_accepted_term
():
accepted_term
=
create
(
AcceptedTerm
,
User
=
user
,
Term
=
term
)
# Make sure our AcceptedTerm relationships got initialized properly.
assert
accepted_term
.
User
==
user
assert
accepted_term
in
user
.
accepted_terms
assert
accepted_term
in
term
.
accepted
delete
(
AcceptedTerm
,
AcceptedTerm
.
User
==
user
,
AcceptedTerm
.
Term
==
term
)
def
test_accepted_term_null_user_raises_exception
():
from
aurweb.db
import
session
with
pytest
.
raises
(
IntegrityError
):
create
(
AcceptedTerm
,
Term
=
term
)
session
.
rollback
()
def
test_accepted_term_null_term_raises_exception
():
from
aurweb.db
import
session
with
pytest
.
raises
(
IntegrityError
):
create
(
AcceptedTerm
,
User
=
user
)
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