88 self.assertEqual(len(crs.fetchall()), 0) |
88 self.assertEqual(len(crs.fetchall()), 0) |
89 store = MassiveObjectStore(cnx, autoflush_metadata=True) |
89 store = MassiveObjectStore(cnx, autoflush_metadata=True) |
90 store.prepare_insert_entity('Location', name=u'toto') |
90 store.prepare_insert_entity('Location', name=u'toto') |
91 store.flush() |
91 store.flush() |
92 store.commit() |
92 store.commit() |
93 store.cleanup() |
93 store.finish() |
94 cnx.commit() |
94 cnx.commit() |
95 with self.admin_access.repo_cnx() as cnx: |
95 with self.admin_access.repo_cnx() as cnx: |
96 crs = cnx.system_sql('SELECT * FROM entities WHERE type=%(t)s', |
96 crs = cnx.system_sql('SELECT * FROM entities WHERE type=%(t)s', |
97 {'t': 'Location'}) |
97 {'t': 'Location'}) |
98 self.assertEqual(len(crs.fetchall()), 1) |
98 self.assertEqual(len(crs.fetchall()), 1) |
112 # self.assertEqual(len(crs.fetchall()), 0) |
112 # self.assertEqual(len(crs.fetchall()), 0) |
113 # store.flush_meta_data() |
113 # store.flush_meta_data() |
114 # crs = cnx.system_sql('SELECT * FROM entities WHERE type=%(t)s', |
114 # crs = cnx.system_sql('SELECT * FROM entities WHERE type=%(t)s', |
115 # {'t': 'Location'}) |
115 # {'t': 'Location'}) |
116 # self.assertEqual(len(crs.fetchall()), 1) |
116 # self.assertEqual(len(crs.fetchall()), 1) |
117 # store.cleanup() |
117 # store.finish() |
118 |
118 |
119 def test_massimport_etype_metadata(self): |
119 def test_massimport_etype_metadata(self): |
120 with self.admin_access.repo_cnx() as cnx: |
120 with self.admin_access.repo_cnx() as cnx: |
121 store = MassiveObjectStore(cnx) |
121 store = MassiveObjectStore(cnx) |
122 timezone_eid = store.prepare_insert_entity('TimeZone') |
122 timezone_eid = store.prepare_insert_entity('TimeZone') |
152 self.assertNotIn('owned_by_relation_to_idx', indexes) |
152 self.assertNotIn('owned_by_relation_to_idx', indexes) |
153 |
153 |
154 def test_drop_index_recreation(self): |
154 def test_drop_index_recreation(self): |
155 with self.admin_access.repo_cnx() as cnx: |
155 with self.admin_access.repo_cnx() as cnx: |
156 store = MassiveObjectStore(cnx, drop_index=True) |
156 store = MassiveObjectStore(cnx, drop_index=True) |
157 store.cleanup() |
157 store.finish() |
158 cnx.commit() |
158 cnx.commit() |
159 with self.admin_access.repo_cnx() as cnx: |
159 with self.admin_access.repo_cnx() as cnx: |
160 crs = cnx.system_sql('SELECT indexname FROM pg_indexes') |
160 crs = cnx.system_sql('SELECT indexname FROM pg_indexes') |
161 indexes = [r[0] for r in crs.fetchall()] |
161 indexes = [r[0] for r in crs.fetchall()] |
162 self.assertIn('entities_pkey', indexes) |
162 self.assertIn('entities_pkey', indexes) |
220 def test_slave_mode_exception(self): |
220 def test_slave_mode_exception(self): |
221 with self.admin_access.repo_cnx() as cnx: |
221 with self.admin_access.repo_cnx() as cnx: |
222 master_store = MassiveObjectStore(cnx, slave_mode=False) |
222 master_store = MassiveObjectStore(cnx, slave_mode=False) |
223 slave_store = MassiveObjectStore(cnx, slave_mode=True) |
223 slave_store = MassiveObjectStore(cnx, slave_mode=True) |
224 self.assertRaises(RuntimeError, slave_store.flush_meta_data) |
224 self.assertRaises(RuntimeError, slave_store.flush_meta_data) |
225 self.assertRaises(RuntimeError, slave_store.cleanup) |
225 self.assertRaises(RuntimeError, slave_store.finish) |
226 |
226 |
227 def test_simple_insert(self): |
227 def test_simple_insert(self): |
228 with self.admin_access.repo_cnx() as cnx: |
228 with self.admin_access.repo_cnx() as cnx: |
229 store = MassiveObjectStore(cnx, autoflush_metadata=True) |
229 store = MassiveObjectStore(cnx, autoflush_metadata=True) |
230 self.push_geonames_data(osp.join(HERE, 'data/geonames.csv'), store) |
230 self.push_geonames_data(osp.join(HERE, 'data/geonames.csv'), store) |
276 |
276 |
277 def test_multiple_insert(self): |
277 def test_multiple_insert(self): |
278 with self.admin_access.repo_cnx() as cnx: |
278 with self.admin_access.repo_cnx() as cnx: |
279 store = MassiveObjectStore(cnx) |
279 store = MassiveObjectStore(cnx) |
280 store.init_etype_table('TestLocation') |
280 store.init_etype_table('TestLocation') |
281 store.cleanup() |
281 store.finish() |
282 store = MassiveObjectStore(cnx) |
282 store = MassiveObjectStore(cnx) |
283 store.init_etype_table('TestLocation') |
283 store.init_etype_table('TestLocation') |
284 store.cleanup() |
284 store.finish() |
285 |
285 |
286 def test_multiple_insert_relation(self): |
286 def test_multiple_insert_relation(self): |
287 with self.admin_access.repo_cnx() as cnx: |
287 with self.admin_access.repo_cnx() as cnx: |
288 store = MassiveObjectStore(cnx) |
288 store = MassiveObjectStore(cnx) |
289 store.init_relation_table('used_language') |
289 store.init_relation_table('used_language') |
290 store.cleanup() |
290 store.finish() |
291 store = MassiveObjectStore(cnx) |
291 store = MassiveObjectStore(cnx) |
292 store.init_relation_table('used_language') |
292 store.init_relation_table('used_language') |
293 store.cleanup() |
293 store.finish() |
294 |
294 |
295 def test_multiple_insert_drop_index(self): |
295 def test_multiple_insert_drop_index(self): |
296 with self.admin_access.repo_cnx() as cnx: |
296 with self.admin_access.repo_cnx() as cnx: |
297 store = MassiveObjectStore(cnx, drop_index=False) |
297 store = MassiveObjectStore(cnx, drop_index=False) |
298 store.init_relation_table('used_language') |
298 store.init_relation_table('used_language') |
299 store.init_etype_table('TestLocation') |
299 store.init_etype_table('TestLocation') |
300 store.cleanup() |
300 store.finish() |
301 store = MassiveObjectStore(cnx) |
301 store = MassiveObjectStore(cnx) |
302 store.init_relation_table('used_language') |
302 store.init_relation_table('used_language') |
303 store.init_etype_table('TestLocation') |
303 store.init_etype_table('TestLocation') |
304 store.cleanup() |
304 store.finish() |
305 |
305 |
306 def test_multiple_insert_drop_index_2(self): |
306 def test_multiple_insert_drop_index_2(self): |
307 with self.admin_access.repo_cnx() as cnx: |
307 with self.admin_access.repo_cnx() as cnx: |
308 store = MassiveObjectStore(cnx) |
308 store = MassiveObjectStore(cnx) |
309 store.init_relation_table('used_language') |
309 store.init_relation_table('used_language') |
310 store.init_etype_table('TestLocation') |
310 store.init_etype_table('TestLocation') |
311 store.cleanup() |
311 store.finish() |
312 store = MassiveObjectStore(cnx, drop_index=False) |
312 store = MassiveObjectStore(cnx, drop_index=False) |
313 store.init_relation_table('used_language') |
313 store.init_relation_table('used_language') |
314 store.init_etype_table('TestLocation') |
314 store.init_etype_table('TestLocation') |
315 store.cleanup() |
315 store.finish() |
316 |
316 |
317 def test_multiple_insert_drop_index_3(self): |
317 def test_multiple_insert_drop_index_3(self): |
318 with self.admin_access.repo_cnx() as cnx: |
318 with self.admin_access.repo_cnx() as cnx: |
319 store = MassiveObjectStore(cnx, drop_index=False) |
319 store = MassiveObjectStore(cnx, drop_index=False) |
320 store.init_relation_table('used_language') |
320 store.init_relation_table('used_language') |
321 store.init_etype_table('TestLocation') |
321 store.init_etype_table('TestLocation') |
322 store.cleanup() |
322 store.finish() |
323 store = MassiveObjectStore(cnx, drop_index=False) |
323 store = MassiveObjectStore(cnx, drop_index=False) |
324 store.init_relation_table('used_language') |
324 store.init_relation_table('used_language') |
325 store.init_etype_table('TestLocation') |
325 store.init_etype_table('TestLocation') |
326 store.cleanup() |
326 store.finish() |
327 |
327 |
328 |
328 |
329 if __name__ == '__main__': |
329 if __name__ == '__main__': |
330 from logilab.common.testlib import unittest_main |
330 from logilab.common.testlib import unittest_main |
331 unittest_main() |
331 unittest_main() |