Beispiel #1
0
    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)