55 lines
1.9 KiB
Python
55 lines
1.9 KiB
Python
# loops.storage.tests.test_storage
|
|
|
|
"""Comprehensive functional testing for SQL-based storage implementation.
|
|
"""
|
|
|
|
import transaction
|
|
from zope import component
|
|
from zope.traversing.api import getName
|
|
|
|
from loops.concept import Concept
|
|
from loops.config.base import LoopsOptions
|
|
from loops.organize.personal.favorite import Favorites as FavoritesFolder
|
|
from loops.organize.personal.interfaces import IFavorites
|
|
from loops.organize.personal.storage.favorite import Favorites
|
|
from loops.organize.tracking.storage.migration import migrate
|
|
from loops.setup import addAndConfigureObject
|
|
from loops.storage.tests import common
|
|
|
|
|
|
class TestStorage(common.TestCase):
|
|
|
|
def test_000_setUp(self):
|
|
self.prepare()
|
|
self.assertEqual(getName(self.loopsRoot), 'loops')
|
|
person = self.loopsRoot['concepts']['person']
|
|
component.provideAdapter(FavoritesFolder)
|
|
|
|
def test_fav_001_setUp(self):
|
|
self.assertEqual(getName(self.g.concepts), 'concepts')
|
|
self.assertEqual(self.g.johnC.title, u'john')
|
|
self.g.records = records = self.loopsRoot.getRecordManager()
|
|
self.g.favorites = records['favorites']
|
|
self.g.fav = IFavorites(self.g.favorites)
|
|
self.g.fav.add(self.g.resources['d001.txt'], self.g.johnC)
|
|
self.assertEqual(len(self.g.favorites), 1)
|
|
|
|
def test_fav_002_migration(self):
|
|
import config
|
|
self.assertEqual(config.dbname, 'ccotest')
|
|
self.assertEqual(config.dbuser, 'ccotest')
|
|
LoopsOptions(self.loopsRoot).set('cco.storage.schema', ['testing'])
|
|
self.assertEqual(LoopsOptions(self.loopsRoot)('cco.storage.schema'), ['testing'])
|
|
migrate(self.loopsRoot, 'favorites', factory=Favorites)
|
|
transaction.commit()
|
|
|
|
def test_query(self):
|
|
self.assertEqual('a'.upper(), 'A')
|
|
|
|
def test_zzz_tearDown(self):
|
|
self.cleanup()
|
|
|
|
|
|
if __name__ == '__main__':
|
|
unittest.main()
|
|
|