class UpdateDefaultParamsAPITests(unittest.TestCase): DATASET_NAME = 'owner:datasetid' DEFAULT_PARAMS = {'param1': True, 'param2': 'hello'} def setUp(self): # Clean index self.es = Elasticsearch(hosts=[LOCAL_ELASTICSEARCH]) try: self.es.indices.delete(index=USERS_INDEX_NAME) self.es.indices.delete(index=PACKAGES_INDEX_NAME) except NotFoundError: pass self.es.indices.create(USERS_INDEX_NAME) time.sleep(1) self.pr = PackageRegistry(es_connection_string=LOCAL_ELASTICSEARCH, index_name=PACKAGES_INDEX_NAME) self.pr.save_model(self.DATASET_NAME, 'datapackage_url', {}, {}, 'dataset', 'author', '', True) def test__initial_value__none(self): pkg = self.pr.get_package(self.DATASET_NAME) assert (pkg.get('defaultParams') is None) def test__update_params__empty_params(self): module.update_params('owner:datasetid', token, {}) pkg = self.pr.get_package(self.DATASET_NAME) assert (pkg.get('defaultParams') == {}) def test__update_params__with_value(self): module.update_params('owner:datasetid', token, self.DEFAULT_PARAMS) pkg = self.pr.get_package(self.DATASET_NAME) assert (pkg.get('defaultParams') == self.DEFAULT_PARAMS) def test__update_params__bad_owner(self): module.update_params('badowner:datasetid', token, self.DEFAULT_PARAMS) pkg = self.pr.get_package(self.DATASET_NAME) assert (pkg.get('defaultParams') is None) def test__update_params__bad_package_id(self): module.update_params('owner:baddatasetid', token, self.DEFAULT_PARAMS) pkg = self.pr.get_package(self.DATASET_NAME) assert (pkg.get('defaultParams') is None)
class PublishAPITests(unittest.TestCase): def setUp(self): # Clean index self.es = Elasticsearch(hosts=[LOCAL_ELASTICSEARCH]) try: self.es.indices.delete(index='users') self.es.indices.delete(index='packages') except NotFoundError: pass self.es.indices.create('users') time.sleep(1) self.pr = PackageRegistry(es_connection_string=LOCAL_ELASTICSEARCH) self.pr.save_model('name', 'datapackage_url', {}, {}, 'dataset', 'author', '', True) def test__initial_value__none(self): pkg = self.pr.get_package('name') assert(pkg.get('private') is None) def test__toggle__published(self): module.toggle_publish('name', token, toggle=True) pkg = self.pr.get_package('name') assert(pkg.get('private') is True) def test__toggle_twice__not_published(self): module.toggle_publish('name', token, toggle=True) module.toggle_publish('name', token, toggle=True) pkg = self.pr.get_package('name') assert(pkg.get('private') is False) def test__force_publish_initial__correct(self): module.toggle_publish('name', token, publish=True) pkg = self.pr.get_package('name') assert(pkg.get('private') is False) def test__force_publish__correct(self): module.toggle_publish('name', token, toggle=True) module.toggle_publish('name', token, publish=True) pkg = self.pr.get_package('name') assert(pkg.get('private') is False) def test__force_unpublish_initial__correct(self): module.toggle_publish('name', token, publish=False) pkg = self.pr.get_package('name') assert(pkg.get('private') is True) def test__force_unpublish__correct(self): module.toggle_publish('name', token, toggle=True) module.toggle_publish('name', token, toggle=True) module.toggle_publish('name', token, publish=False) pkg = self.pr.get_package('name') assert(pkg.get('private') is True)
class PublishDeleteAPITests(unittest.TestCase): DATASET_NAME = 'owner:datasetid' def setUp(self): # Clean index self.es = Elasticsearch(hosts=[LOCAL_ELASTICSEARCH]) try: self.es.indices.delete(index='users') self.es.indices.delete(index='packages') except NotFoundError: pass self.es.indices.create('users') time.sleep(1) self.pr = PackageRegistry(es_connection_string=LOCAL_ELASTICSEARCH) self.pr.save_model(self.DATASET_NAME, 'datapackage_url', {}, {}, 'dataset', 'author', '', True) def test__initial_value__none(self): pkg = self.pr.get_package(self.DATASET_NAME) assert (pkg.get('private') is None) def test__delete(self): ret = module.delete_package(self.DATASET_NAME, token) assert (ret['success'] is True) try: pkg = self.pr.get_package(self.DATASET_NAME) assert (pkg is None) except KeyError: pass ret = module.delete_package(self.DATASET_NAME, token) assert (ret['success'] is False) def test__toggle__published(self): module.toggle_publish(self.DATASET_NAME, token, toggle=True) pkg = self.pr.get_package(self.DATASET_NAME) assert (pkg.get('private') is True) def test__toggle_twice__not_published(self): module.toggle_publish(self.DATASET_NAME, token, toggle=True) module.toggle_publish(self.DATASET_NAME, token, toggle=True) pkg = self.pr.get_package(self.DATASET_NAME) assert (pkg.get('private') is False) def test__force_publish_initial__correct(self): module.toggle_publish(self.DATASET_NAME, token, publish=True) pkg = self.pr.get_package(self.DATASET_NAME) assert (pkg.get('private') is False) def test__force_publish__correct(self): module.toggle_publish(self.DATASET_NAME, token, toggle=True) module.toggle_publish(self.DATASET_NAME, token, publish=True) pkg = self.pr.get_package(self.DATASET_NAME) assert (pkg.get('private') is False) def test__force_unpublish_initial__correct(self): module.toggle_publish(self.DATASET_NAME, token, publish=False) pkg = self.pr.get_package(self.DATASET_NAME) assert (pkg.get('private') is True) def test__force_unpublish__correct(self): module.toggle_publish(self.DATASET_NAME, token, toggle=True) module.toggle_publish(self.DATASET_NAME, token, toggle=True) module.toggle_publish(self.DATASET_NAME, token, publish=False) pkg = self.pr.get_package(self.DATASET_NAME) assert (pkg.get('private') is True)