test for migration of favorites basically working
This commit is contained in:
		
							parent
							
								
									506e539c2d
								
							
						
					
					
						commit
						2c22df9c1d
					
				
					 2 changed files with 46 additions and 8 deletions
				
			
		|  | @ -3,15 +3,23 @@ | ||||||
| """Common definitions for testing the SQL-based storage implementation. | """Common definitions for testing the SQL-based storage implementation. | ||||||
| """ | """ | ||||||
| 
 | 
 | ||||||
|  | import config | ||||||
|  | 
 | ||||||
| import unittest | import unittest | ||||||
| from zope import component, interface | from zope import component, interface | ||||||
| from zope.app.testing.setup import placefulSetUp, placefulTearDown | from zope.app.testing.setup import placefulSetUp, placefulTearDown | ||||||
| 
 | 
 | ||||||
| from loops.expert.testsetup import TestSite | from loops.expert.testsetup import TestSite | ||||||
| from loops.organize.setup import SetupManager | from loops.organize.personal.setup import SetupManager | ||||||
| from loops.organize.tests import setupUtilitiesAndAdapters | from loops.organize.tests import setupObjectsForTesting | ||||||
| from loops import util | from loops import util | ||||||
| 
 | 
 | ||||||
|  | config.dbname = 'ccotest' | ||||||
|  | config.dbuser = 'ccotest' | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | class Glob(object): | ||||||
|  |     pass | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| class TestCase(unittest.TestCase): | class TestCase(unittest.TestCase): | ||||||
|  | @ -19,12 +27,14 @@ class TestCase(unittest.TestCase): | ||||||
|     @classmethod |     @classmethod | ||||||
|     def prepare(cls): |     def prepare(cls): | ||||||
|         cls.site = site = placefulSetUp(True) |         cls.site = site = placefulSetUp(True) | ||||||
|         component.provideAdapter(SetupManager, name='organize') |         component.provideAdapter(SetupManager, name='organize.personal') | ||||||
|         t = TestSite(site) |         t = TestSite(site) | ||||||
|         cls.concepts, cls.resources, cls.views = t.setup() |         cls.g = g = Glob() | ||||||
|  |         g.concepts, g.resources, g.views = t.setup() | ||||||
|         cls.loopsRoot = loopsRoot = site['loops'] |         cls.loopsRoot = loopsRoot = site['loops'] | ||||||
|         loopsId = util.getUidForObject(loopsRoot) |         loopsId = util.getUidForObject(loopsRoot) | ||||||
|         setupData = setupUtilitiesAndAdapters(loopsRoot) |         setupData = setupObjectsForTesting(site, g.concepts) | ||||||
|  |         g.johnC = setupData.johnC | ||||||
| 
 | 
 | ||||||
|     @classmethod |     @classmethod | ||||||
|     def cleanup(cls): |     def cleanup(cls): | ||||||
|  |  | ||||||
|  | @ -3,6 +3,17 @@ | ||||||
| """Comprehensive functional testing for SQL-based storage implementation. | """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 | from loops.storage.tests import common | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
|  | @ -10,10 +21,27 @@ class TestStorage(common.TestCase): | ||||||
| 
 | 
 | ||||||
|     def test_000_setUp(self): |     def test_000_setUp(self): | ||||||
|         self.prepare() |         self.prepare() | ||||||
|         self.assertEqual(self.loopsRoot.__name__, 'loops') |         self.assertEqual(getName(self.loopsRoot), 'loops') | ||||||
|  |         person = self.loopsRoot['concepts']['person'] | ||||||
|  |         component.provideAdapter(FavoritesFolder) | ||||||
| 
 | 
 | ||||||
|     def test_migration(self): |     def test_fav_001_setUp(self): | ||||||
|         self.assertEqual('a'.upper(), 'A') |         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): |     def test_query(self): | ||||||
|         self.assertEqual('a'.upper(), 'A') |         self.assertEqual('a'.upper(), 'A') | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		
		Reference in a new issue