def test_update_catalog(self): with TempErmrestCatalog('https', self.server, credentials=self.credentials) as catalog: updater = CatalogUpdater(catalog) # Check if basic setting works.... updated_annotations = { 'tag:misd.isi.edu,2015:display': { 'name': 'foo' } } updated_acls = {'insert': ['bill']} updater.update_catalog('acls', updated_annotations, updated_acls) self.assertEqual(catalog.getCatalogModel().acls['insert'], updated_acls['insert']) updater.update_catalog('annotations', updated_annotations, updated_acls) self.assertEqual(catalog.getCatalogModel().annotations, updated_annotations) # Check updates... updated_annotations = { 'tag:misd.isi.edu,2015:display': { 'name': 'bar' }, 'tag:isrd.isi.edu,2016:export': { 'templates': 1 } } updated_acls = {'insert': ['carl']} # Check updates... updater.update_catalog('acls', updated_annotations, updated_acls) self.assertEqual(catalog.getCatalogModel().acls['insert'], updated_acls['insert']) updater.update_catalog('annotations', updated_annotations, updated_acls) self.assertEqual(catalog.getCatalogModel().annotations, updated_annotations) # Check replace. updated_annotations = { 'tag:isrd.isi.edu,2016:export': { 'newtemplates': {} } } updater.update_catalog('annotations', updated_annotations, updated_acls, replace=True) self.assertEqual(catalog.getCatalogModel().annotations, updated_annotations)
def main(catalog, mode, replace=False): updater = CatalogUpdater(catalog) updater.update_catalog(mode, annotations, acls, replace=replace)