136 |
136 |
137 def test_drop_index_recreation(self): |
137 def test_drop_index_recreation(self): |
138 with self.admin_access.repo_cnx() as cnx: |
138 with self.admin_access.repo_cnx() as cnx: |
139 store = MassiveObjectStore(cnx) |
139 store = MassiveObjectStore(cnx) |
140 |
140 |
141 store._drop_constraints() |
141 store._drop_metadata_constraints() |
142 indexes = all_indexes(cnx) |
142 indexes = all_indexes(cnx) |
143 self.assertIn('entities_pkey', indexes) |
143 self.assertIn('entities_pkey', indexes) |
144 self.assertNotIn(build_index_name('owned_by_relation', ['eid_from', 'eid_to'], 'key_'), |
144 self.assertNotIn(build_index_name('owned_by_relation', ['eid_from', 'eid_to'], 'key_'), |
145 indexes) |
145 indexes) |
146 self.assertNotIn(build_index_name('owned_by_relation', ['eid_from'], 'idx_'), |
146 self.assertNotIn(build_index_name('owned_by_relation', ['eid_from'], 'idx_'), |
157 def test_consider_metagen(self): |
157 def test_consider_metagen(self): |
158 """Ensure index on owned_by is not deleted if we don't consider this metadata.""" |
158 """Ensure index on owned_by is not deleted if we don't consider this metadata.""" |
159 with self.admin_access.repo_cnx() as cnx: |
159 with self.admin_access.repo_cnx() as cnx: |
160 metagen = stores.MetadataGenerator(cnx, meta_skipped=('owned_by',)) |
160 metagen = stores.MetadataGenerator(cnx, meta_skipped=('owned_by',)) |
161 store = MassiveObjectStore(cnx, metagen=metagen) |
161 store = MassiveObjectStore(cnx, metagen=metagen) |
162 |
162 store._drop_metadata_constraints() |
163 store._drop_constraints() |
163 |
164 indexes = all_indexes(cnx) |
164 indexes = all_indexes(cnx) |
165 self.assertIn(build_index_name('owned_by_relation', ['eid_from', 'eid_to'], 'key_'), |
165 self.assertIn(build_index_name('owned_by_relation', ['eid_from', 'eid_to'], 'key_'), |
166 indexes) |
166 indexes) |
167 self.assertIn(build_index_name('owned_by_relation', ['eid_from'], 'idx_'), |
167 self.assertIn(build_index_name('owned_by_relation', ['eid_from'], 'idx_'), |
168 indexes) |
168 indexes) |