forked from openlp/openlp
Add test for empty song database
This commit is contained in:
parent
27897c95fd
commit
445a0ccb49
@ -30,6 +30,10 @@
|
||||
Songs database tests
|
||||
"""
|
||||
|
||||
import pytest
|
||||
from sqlalchemy.exc import InvalidRequestError
|
||||
from sqlalchemy.orm.exc import UnmappedInstanceError
|
||||
|
||||
from openlp.plugins.songs.lib.db import Author, Book, MediaFile, Song, Topic
|
||||
|
||||
|
||||
@ -48,6 +52,24 @@ def test_empty_songdb(empty_songs_db):
|
||||
assert c(Topic) == 0
|
||||
|
||||
|
||||
def test_nonexisting_class(empty_songs_db):
|
||||
def test_unmapped_class(empty_songs_db):
|
||||
# test class not mapped to any sqlalchemy table
|
||||
assert 0
|
||||
class A(object):
|
||||
pass
|
||||
db = empty_songs_db
|
||||
assert db.save_object(A()) == False
|
||||
assert db.save_objects([A(), A()]) == False
|
||||
# no key - new object instance is created from supplied class
|
||||
assert type(db.get_object(A, key=None)) == A
|
||||
|
||||
with pytest.raises(InvalidRequestError):
|
||||
db.get_object(A, key=1)
|
||||
with pytest.raises(InvalidRequestError):
|
||||
db.get_object_filtered(A, filter_clause=None)
|
||||
with pytest.raises(InvalidRequestError):
|
||||
db.get_all_objects(A)
|
||||
with pytest.raises(InvalidRequestError):
|
||||
db.get_object_count(A)
|
||||
|
||||
assert db.delete_object(A, key=None) == False
|
||||
assert db.delete_all_objects(A) == False
|
||||
|
Loading…
Reference in New Issue
Block a user