def test_format_authority_browsing_pre_and_successor(self): """bibformat - test format authority browsing pre and successor""" base = "/record/140/" parameters = {} url = make_url(base, **parameters) error_messages = [] browser = get_authenticated_mechanize_browser("admin", "") browser.open(url) link = browser.find_link(text_regex=re.compile("2 dependent records")) resp = browser.follow_link(link) link = browser.find_link(text_regex=re.compile("Detailed record"), nr=1) resp = browser.follow_link(link) found = self.re_institution.search(resp.read()) if not found: error_messages.append( "There is no 'Werkstoffsynthese und Herstellverfahren' in html response." ) link = browser.find_link(text_regex=re.compile("1 dependent record")) resp = browser.follow_link(link) found = self.re_institution.search(resp.read()) if not found: error_messages.append( "There is no 'Werkstoffsynthese und Herstellverfahren' in html response." ) self.assertEqual([], error_messages)
def test_webaccess_becomeuser(self): """webaccess - becomeuser functionality""" browser = get_authenticated_mechanize_browser("admin") browser.open(CFG_SITE_SECURE_URL + '/admin/webaccess/webaccessadmin.py/manageaccounts?mtype=perform_modifyaccounts') browser.select_form(nr=0) browser['email_user_pattern'] = 'romeo' browser.submit() browser.open(browser.find_link(text="Become user").absolute_url) self.failUnless('romeo' in browser.response().read())
def test_webaccess_becomeuser(self): """webaccess - becomeuser functionality""" browser = get_authenticated_mechanize_browser("admin") browser.open(CFG_SITE_SECURE_URL + '/admin/webaccess/webaccessadmin.py/manageaccounts?mtype=perform_modifyaccounts') browser.select_form(nr=0) browser['email_user_pattern'] = 'romeo' browser.submit() browser.open(browser.find_link(text="Become user").absolute_url) self.failUnless('romeo' in browser.response().read())
def test_format_authority_browsing_cern(self): """bibformat - test format authority browsing cern authority record""" base = "/record/12/" parameters = {} url = make_url(base, **parameters) error_messages = [] browser = get_authenticated_mechanize_browser("admin", "") browser.open(url) link = browser.find_link(text_regex=re.compile("CERN")) resp = browser.follow_link(link) found = self.re_cern_control_number.search(resp.read()) if not found: error_messages.append("There is no CERN control number in html response.") self.assertEqual([], error_messages)
def test_format_authority_browsing_pre_and_successor(self): """bibformat - test format authority browsing pre and successor""" base = "/record/140/" parameters = {} url = make_url(base, **parameters) error_messages = [] browser = get_authenticated_mechanize_browser("admin", "") browser.open(url) link = browser.find_link(text_regex=re.compile("3 dependent record")) resp = browser.follow_link(link) found = self.re_institute.search(resp.read()) if not found: error_messages.append("There is no 'Werkstoffsynthese und Herstellverfahren' in html response.") self.assertEqual([], error_messages)
def test_format_authority_browsing_ellis(self): """bibformat - test format authority browsing Ellis authority record""" base = "/record/12/" parameters = {} url = make_url(base, **parameters) error_messages = [] browser = get_authenticated_mechanize_browser("admin", "") browser.open(url) link = browser.find_link(text_regex=re.compile("Ellis, J")) resp = browser.follow_link(link) link = browser.find_link(text_regex=re.compile("See all 4 publications...")) resp = browser.follow_link(link) found = self.re_non_compact.search(resp.read()) if not found: error_messages.append("There is no 'Non-compact supergravity' in html response.") self.assertEqual([], error_messages)
def test_deposit(self): """Test "happy path" - deposit a new file with metadata""" br = get_authenticated_mechanize_browser(username="******", password="") res = br.open(CFG_SITE_SECURE_URL + '/deposit') assert br.viewing_html() dep_soup = BeautifulSoup(res.get_data()) sub_id = dep_soup.find_all(id='sub_id')[0]['value'] form = {'nickname': 'admin', 'password': ''} login = requests.post('%s/youraccount/login' % CFG_SITE_SECURE_URL, data=form, verify=False) form = {'name': "testfile"} files = {'file': "test data"} r = requests.post("%s/deposit/upload/%s" % (CFG_SITE_SECURE_URL, sub_id), files=files, data=form, verify=False, cookies=login.cookies) self.assertEqual(r.status_code, 200) #check we can get it back again r = requests.get("%s/deposit/get_file/%s?filename=%s" % (CFG_SITE_SECURE_URL, sub_id, "testfile"), verify=False, cookies=login.cookies) self.assertEqual(r.status_code, 200) self.assertEqual(r.text, "test data") #Do the submission br.select_form(nr=0) br['domain'] = ['Generic'] resp = br.submit() self.assertIn('addmeta', resp.geturl()) #add some metadata br.select_form(nr=0) br['creator'] = 'Test Bot' resp = br.submit() #check we got to the last page self.assertIn("Your submission will shortly be available", resp.read())
def test_format_authority_browsing_parent_child(self): """bibformat - test format authority browsing parent child""" base = "/record/129/" parameters = {} url = make_url(base, **parameters) error_messages = [] browser = get_authenticated_mechanize_browser("admin", "") browser.open(url) link = browser.find_link(text_regex=re.compile("Institut für Kernphysik")) resp = browser.follow_link(link) link = browser.find_link(text_regex=re.compile("Forschungszentrum Jülich")) resp = browser.follow_link(link) link = browser.find_link(text_regex=re.compile("6 dependent records")) resp = browser.follow_link(link) found = self.re_institute_energy.search(resp.read()) if not found: error_messages.append("There is no 'Institut für Energieforschung' in html response.") self.assertEqual([], error_messages)
def check_admin_forms_with_input_text(url, fields): """Logs in as 'admin' and checks given url for input texts in forms available in the given page. Fills them with given fields and returns html body response. @param url: url of the forms to test @param fields: a dict of the form fields and their values @return: html body """ browser = get_authenticated_mechanize_browser("admin", "") browser.open(url) browser.select_form(nr=0) form = browser.form for key in fields: form[key] = fields[key] resp = browser.submit() #second page - confirmation browser.select_form(nr=1) resp = browser.submit() return resp.read()
def check_admin_forms_with_dropdown_list(url, fields): """Logs in as 'admin' and checks given url for dropdown lists in forms available in the given page. Fills them with given fields and returns html body response. @param url: url of the forms to test @param fields: a dict of the form fields and their values (only dropdown lists) @return: html body """ browser = get_authenticated_mechanize_browser("admin","") browser.open(url) browser.select_form(nr=0) form = browser.form for key in fields: form[key] = [fields[key]] resp = browser.submit() #second page - confirmation browser.select_form(nr=1) resp = browser.submit() return resp.read()