Esempio n. 1
0
    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())
Esempio n. 3
0
 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()