def test_credentials_missing_key(self): """Test error when creating Credentials without supplying required key. """ with self.assertRaises(SystemExit) as cm: epicclient.Credentials( 'os', '../tests/resources/epic_credentials_missing_key').parse() self.assertEqual(cm.exception.code, 1)
def test_credentials_missing_prefix(self): """Test that prefix is set to specified username when creating Credentials without explicitly setting the prefix key. """ credentials = epicclient.Credentials( 'os', '../tests/resources/epic_credentials_missing_prefix') credentials.parse() self.assertIsInstance( credentials, epicclient.Credentials, 'Credentials constructor returns unexpected object instance') self.assertEqual(credentials.prefix, credentials.username)
def call_action(CKAN, options, action, object): write_log(options.log, "Call the action %s!\n" % action) if (options.epic): credentials = None ec = None try: credentials = epicclient.Credentials('os', options.epic) credentials.parse() except Exception, err: print("%s Could not create credentials from credstore %s" % (err, options.epic)) else: print "Create EPIC client instance to add uuid to handle server" ec = epicclient.EpicClient(credentials)
def test_credentials(self): """Test Credentials creation from local file.""" credentials = epicclient.Credentials( 'os', '../tests/resources/epic_credentials_example') credentials.parse() self.assertIsInstance( credentials, epicclient.Credentials, 'Credentials constructor returns unexpected object instance') self.assertEqual(credentials.baseuri, 'https://epic.service.eu/api/v2/handles/', 'Credentials object returns unexpected base URI') self.assertEqual(credentials.prefix, '90210', 'Credentials object returns unexpected prefix') self.assertEqual(credentials.username, 'foobaruser', 'Credentials object returns unexpected username') self.assertEqual(credentials.password, 'bigsecret', 'Credentials object returns unexpected password') self.assertEqual( credentials.accept_format, 'application/json', 'Credentials object returns unexpected accept_format') self.assertEqual(credentials.debug, False, 'Credentials object returns unexpected debug')
def test_credentials_invalid_store(self): """Test error when creating Credentials from invalid storage.""" with self.assertRaises(SystemExit) as cm: epicclient.Credentials('BAR', 'FOO').parse() self.assertEqual(cm.exception.code, 1)
def setUp(self): """Setup testB2SafeCmd environment before the tests have run""" self.cred = epicclient.Credentials( CRED_STORE, TEST_RESOURCES_PATH+CRED_FILENAME) self.cred.parse() self.client = epicclient.EpicClient(self.cred)
def call_action(CKAN, options, action, object): write_log(options.log, "Call the action %s!\n" % action) if (options.epic): credentials = None ec = None try: credentials = epicclient.Credentials('os', options.epic) credentials.parse() except Exception as err: print(("%s Could not create credentials from credstore %s" % (err, options.epic))) else: print("Create EPIC client instance to add uuid to handle server") ec = epicclient.EpicClient(credentials) if (action == 'package_delete_all'): list = [] if ('group' in object): data = CKAN.action('member_list', { "id": object['group'], "object_type": "package" }) for d in data['result']: list.append(d[0]) elif ('list' in object): list = object['list'] list.reverse() print('Total number of datasets to delete: ' + str(len(list))) pcount = 0 results = {"CKAN": 0, "EPIC": 0} start_time = time.time() for dataset in list: pcount += 1 update_progress( 'CKAN: %d, EPIC: %d\t' % (results['CKAN'], results['EPIC']), pcount, len(list), start_time) write_log(options.log, "%s\n" % dataset) if ((CKAN.action('package_update', { "name": dataset, "state": "delete" }))['success']): results['CKAN'] += 1 write_log(options.log, "\t#Deleted in CKAN\n") if (options.epic): if (ec.deleteHandle(credentials.prefix + '/eudat-jmd_' + dataset)): results['EPIC'] += 1 write_log(options.log, "\t#Deleted in EPIC\n") print('\n') print("%s" % ('-' * 100)) print( "\nTotal number of dataset: %d\nDeleted in CKAN: %d\nDeleted in EPIC: %d" % (len(list), results['CKAN'], results['EPIC'])) else: out = CKAN.action(action, object) print(out)