def test_urlformat(self): formats = ['http://demo.ckan.org/', 'http://demo.ckan.org', 'http://demo.ckan.org/api', 'http://demo.ckan.org/api/'] for url in formats: store = CKANStore(url) self.assertTrue(store.is_valid()) # invalid URL store = CKANStore('http://google.com/') self.assertFalse(store.is_valid())
def test_urlformat(self): formats = [ 'http://demo.ckan.org/', 'http://demo.ckan.org', 'http://demo.ckan.org/api', 'http://demo.ckan.org/api/' ] for url in formats: store = CKANStore(url) self.assertTrue(store.is_valid()) # invalid URL store = CKANStore('http://google.com/') self.assertFalse(store.is_valid())
def setUp(self): if self._url is None: import nose raise nose.SkipTest("_url is blank") self.store = CKANStore(self._url)
class CKANTestBase(tm.TestCase): _url = None # resource id to be used for resource test _resource = None # keyword used for search test _search = None _group = None # whether the site allows to search resource _allow_resouce = True def setUp(self): if self._url is None: import nose raise nose.SkipTest("_url is blank") self.store = CKANStore(self._url) def test_isvalid(self): self.assertTrue(self.store.is_valid()) def test_search(self): result = self.store.search_package(self._search) self.assertTrue(len(result) > 0) self.assertTrue(isinstance(result[0], CKANPackage)) if not self._allow_resouce: import nose raise nose.SkipTest(self._url + " doesn't allow to search resource") result = self.store.search_resource('name:' + self._search) result_names = [r.name for r in result] self.assertTrue(len(result) > 0) for resource in result: self.assertTrue(isinstance(resource, CKANResource)) self.assertTrue(resource.url is not None) result = self.store.search('name:' + self._search) result_names = [r.name for r in result] self.assertTrue(len(result) > 0) for resource in result: self.assertTrue(isinstance(resource, CKANResource)) self.assertTrue(resource.url is not None) def test_packages(self): packages = self.store.packages self.assertTrue(len(packages) > 0) for package in packages: self.assertTrue(isinstance(package, CKANPackage)) self.assertTrue(package.name is not None) # filter packages which has resources for package in packages: if len(package.resources) > 0: break # Some site doesn't return resources in xml # In this case, CKANPackage connect to retrieve its resources # To avoid long waiting time, only check 1st element resource = package.resources[0] self.assertTrue(isinstance(resource, CKANResource)) self.assertTrue(resource.url is not None) got_resource = package.get(resource.id) self.assertEqual(got_resource.id, resource.id) def test_resource(self): if not self._allow_resouce: import nose raise nose.SkipTest(self._url + " doesn't allow to access resource") resource = self.store.get_resource(self._resource) self.assertTrue(isinstance(resource, CKANResource)) self.assertTrue(resource.id, self._resource) self.assertTrue(resource.url is not None) def test_groups(self): result = self.store.groups self.assertTrue(self._group in result) packages = self.store.get_packages_from_group(self._group) self.assertTrue(len(packages) > 0) for package in packages: self.assertTrue(isinstance(package, CKANPackage)) self.assertTrue(package.name is not None) resource = packages[0].resources[0] self.assertTrue(isinstance(resource, CKANResource)) self.assertTrue(resource.url is not None) def test_formats(self): raise NotImplementedError( "test_formats must be defined to check read method")
class CKANTestBase(tm.TestCase): _url = None # resource id to be used for resource test _resource = None # keyword used for search test _search = None _group = None # whether the site allows to search resource _allow_resouce = True def setUp(self): if self._url is None: import nose raise nose.SkipTest("_url is blank") self.store = CKANStore(self._url) def test_isvalid(self): self.assertTrue(self.store.is_valid()) def test_search(self): result = self.store.search_package(self._search) self.assertTrue(len(result) > 0) self.assertTrue(isinstance(result[0], CKANPackage)) if not self._allow_resouce: import nose raise nose.SkipTest(self._url + " doesn't allow to search resource") result = self.store.search_resource('name:' + self._search) result_names = [r.name for r in result] self.assertTrue(len(result) > 0) for resource in result: self.assertTrue(isinstance(resource, CKANResource)) self.assertTrue(resource.url is not None) result = self.store.search('name:' + self._search) result_names = [r.name for r in result] self.assertTrue(len(result) > 0) for resource in result: self.assertTrue(isinstance(resource, CKANResource)) self.assertTrue(resource.url is not None) def test_packages(self): packages = self.store.packages self.assertTrue(len(packages) > 0) for package in packages: self.assertTrue(isinstance(package, CKANPackage)) self.assertTrue(package.name is not None) # filter packages which has resources for package in packages: if len(package.resources) > 0: break # Some site doesn't return resources in xml # In this case, CKANPackage connect to retrieve its resources # To avoid long waiting time, only check 1st element resource = package.resources[0] self.assertTrue(isinstance(resource, CKANResource)) self.assertTrue(resource.url is not None) got_resource = package.get(resource.id) self.assertEqual(got_resource.id, resource.id) def test_resource(self): if not self._allow_resouce: import nose raise nose.SkipTest(self._url + " doesn't allow to access resource") resource = self.store.get_resource(self._resource) self.assertTrue(isinstance(resource, CKANResource)) self.assertTrue(resource.id, self._resource) self.assertTrue(resource.url is not None) def test_groups(self): result = self.store.groups self.assertTrue(self._group in result) packages = self.store.get_packages_from_group(self._group) self.assertTrue(len(packages) > 0) for package in packages: self.assertTrue(isinstance(package, CKANPackage)) self.assertTrue(package.name is not None) resource = packages[0].resources[0] self.assertTrue(isinstance(resource, CKANResource)) self.assertTrue(resource.url is not None) def test_formats(self): raise NotImplementedError("test_formats must be defined to check read method")