def test_acc_get_uid_from_request(self): """webapikey - Login user from request using REST key""" path = '/search' params = 'ln=es&sc=1&c=Articles & Preprints&action_search=Buscar&p=ellis' self.assertEqual(0, len(web_api_key.show_web_api_keys(uid=self.id_admin))) web_api_key.create_new_web_api_key(self.id_admin, "Test key I") key_info = run_sql("SELECT id FROM webapikey WHERE id_user=%s", (self.id_admin,)) url = web_api_key.build_web_request(path, params, api_key=key_info[0][0]) url = string.split(url, '?') uid = web_api_key.acc_get_uid_from_request(url[0], url[1]) self.assertEqual(uid, self.id_admin) url = web_api_key.build_web_request(path, params, api_key=key_info[0][0]) url += "123" # corrupt the key url = string.split(url, '?') uid = web_api_key.acc_get_uid_from_request(url[0], url[1]) self.assertEqual(uid, -1) path = '/bad' uid = web_api_key.acc_get_uid_from_request(path, "") self.assertEqual(uid, -1) params = { 'nocache': 'yes', 'limit': 123 } url = web_api_key.build_web_request(path, params, api_key=key_info[0][0]) url = string.split(url, '?') uid = web_api_key.acc_get_uid_from_request(url[0], url[1]) self.assertEqual(uid, -1) run_sql("DELETE FROM webapikey")
def setUp(self): from random import randint from invenio.web_api_key import create_new_web_api_key, \ get_available_web_api_keys from invenio.webdeposit_load_deposition_types import \ deposition_metadata # self.clear_tables() create_new_web_api_key(1, key_description='webdeposit_api_testing') keys = get_available_web_api_keys(1) self.apikey = keys[0].id # Test random deposition self.deposition = deposition_metadata.keys()[randint(0, len(deposition_metadata.keys()) - 1)] super(TestWebDepositAPI, self).setUp()
def test_create_remove_show_key(self): """apikey - create/list/delete REST key""" self.assertEqual(0, len(web_api_key.show_web_api_keys(uid=self.id_admin))) web_api_key.create_new_web_api_key(self.id_admin, "Test key I") web_api_key.create_new_web_api_key(self.id_admin, "Test key II") web_api_key.create_new_web_api_key(self.id_admin, "Test key III") web_api_key.create_new_web_api_key(self.id_admin, "Test key IV") web_api_key.create_new_web_api_key(self.id_admin, "Test key V") self.assertEqual(5, len(web_api_key.show_web_api_keys(uid=self.id_admin))) self.assertEqual( 5, len( web_api_key.show_web_api_keys(uid=self.id_admin, diff_status=''))) keys_info = web_api_key.show_web_api_keys(uid=self.id_admin) web_api_key.mark_web_api_key_as_removed(keys_info[0][0]) self.assertEqual(4, len(web_api_key.show_web_api_keys(uid=self.id_admin))) self.assertEqual( 5, len( web_api_key.show_web_api_keys(uid=self.id_admin, diff_status=''))) run_sql("UPDATE webapikey SET status='WARNING' WHERE id=%s", (keys_info[1][0], )) run_sql("UPDATE webapikey SET status='REVOKED' WHERE id=%s", (keys_info[2][0], )) self.assertEqual(4, len(web_api_key.show_web_api_keys(uid=self.id_admin))) self.assertEqual( 5, len( web_api_key.show_web_api_keys(uid=self.id_admin, diff_status=''))) run_sql("DELETE FROM webapikey")
def test_create_remove_show_key(self): """apikey - create/list/delete REST key""" self.assertEqual(0, len(web_api_key.show_web_api_keys(uid=self.id_admin))) web_api_key.create_new_web_api_key(self.id_admin, "Test key I") web_api_key.create_new_web_api_key(self.id_admin, "Test key II") web_api_key.create_new_web_api_key(self.id_admin, "Test key III") web_api_key.create_new_web_api_key(self.id_admin, "Test key IV") web_api_key.create_new_web_api_key(self.id_admin, "Test key V") self.assertEqual(5, len(web_api_key.show_web_api_keys(uid=self.id_admin))) self.assertEqual(5, len(web_api_key.show_web_api_keys(uid=self.id_admin, diff_status=''))) keys_info = web_api_key.show_web_api_keys(uid=self.id_admin) web_api_key.mark_web_api_key_as_removed(keys_info[0][0]) self.assertEqual(4, len(web_api_key.show_web_api_keys(uid=self.id_admin))) self.assertEqual(5, len(web_api_key.show_web_api_keys(uid=self.id_admin,diff_status=''))) run_sql("UPDATE webapikey SET status='WARNING' WHERE id=%s", (keys_info[1][0],)) run_sql("UPDATE webapikey SET status='REVOKED' WHERE id=%s", (keys_info[2][0],)) self.assertEqual(4, len(web_api_key.show_web_api_keys(uid=self.id_admin))) self.assertEqual(5, len(web_api_key.show_web_api_keys(uid=self.id_admin, diff_status=''))) run_sql("DELETE FROM webapikey")
def test_acc_get_uid_from_request(self): """webapikey - Login user from request using REST key""" path = '/search' params = 'ln=es&sc=1&c=Articles & Preprints&action_search=Buscar&p=ellis' self.assertEqual(0, len(web_api_key.show_web_api_keys(uid=self.id_admin))) web_api_key.create_new_web_api_key(self.id_admin, "Test key I") key_info = run_sql("SELECT id FROM webapikey WHERE id_user=%s", (self.id_admin, )) url = web_api_key.build_web_request(path, params, api_key=key_info[0][0]) url = string.split(url, '?') uid = web_api_key.acc_get_uid_from_request(url[0], url[1]) self.assertEqual(uid, self.id_admin) url = web_api_key.build_web_request(path, params, api_key=key_info[0][0]) url += "123" # corrupt the key url = string.split(url, '?') uid = web_api_key.acc_get_uid_from_request(url[0], url[1]) self.assertEqual(uid, -1) path = '/bad' uid = web_api_key.acc_get_uid_from_request(path, "") self.assertEqual(uid, -1) params = {'nocache': 'yes', 'limit': 123} url = web_api_key.build_web_request(path, params, api_key=key_info[0][0]) url = string.split(url, '?') uid = web_api_key.acc_get_uid_from_request(url[0], url[1]) self.assertEqual(uid, -1) run_sql("DELETE FROM webapikey")