Esempio n. 1
0
def switch_tab(sclnt, tab_name, dt_name, control_data):
    """switches host view tab and waits until dt is rendered"""

    sclnt.find_element_by_xpath(
        '//ul[@id="host_view_tabs"]//a[contains(@class, "nav-link") and @href="#%s"]'
        % tab_name).click()
    webdriver_waituntil(sclnt,
                        EC.visibility_of_element_located((By.ID, dt_name)))
    dt_rendered(sclnt, dt_name, control_data)
Esempio n. 2
0
def test_service_list_route_service_endpoint_dropdown(live_server, sl_operator,
                                                      service):  # pylint: disable=unused-argument
    """service endpoint uris dropdown test"""

    sl_operator.get(url_for('storage.service_list_route', _external=True))
    dt_rendered(sl_operator, 'service_list_table', service.comment)
    check_service_endpoint_dropdown(
        sl_operator, sl_operator.find_element_by_id('service_list_table'),
        service.port)
Esempio n. 3
0
def test_vuln_list_route_service_endpoint_dropdown(live_server, sl_operator,
                                                   vuln_factory, service):  # pylint: disable=unused-argument
    """service endpoint uris dropdown test"""

    test_vuln = vuln_factory.create(service=service)

    sl_operator.get(url_for('storage.vuln_list_route', _external=True))
    dt_rendered(sl_operator, 'vuln_list_table', test_vuln.comment)
    check_service_endpoint_dropdown(
        sl_operator, sl_operator.find_element_by_id('vuln_list_table'),
        f'{test_vuln.service.port}/{test_vuln.service.proto}')
Esempio n. 4
0
def test_vuln_list_route_viatarget_visibility_toggle(live_server, sl_operator,
                                                     vuln):  # pylint: disable=unused-argument
    """viatarget visibility toggle"""
    class JsDocumentReloaded():  # pylint: disable=too-few-public-methods
        """custom expected_condition, wait for document to be realoaded"""
        def __call__(self, driver):
            return driver.execute_script(
                'return(document.readyState==="complete" && document.title!=="reload helper")'
            )

    sl_operator.get(url_for('storage.vuln_list_route', _external=True))
    dt_rendered(sl_operator, 'vuln_list_table', vuln.comment)

    webdriver_waituntil(
        sl_operator,
        EC.invisibility_of_element_located(
            (By.XPATH, '//th[contains(text(), "via_target")]')))
    sl_operator.execute_script('document.title="reload helper"')

    sl_operator.find_element_by_xpath(
        '//li[contains(@class, "dropdown")]/a[@id="dropdownUser"]').click()
    webdriver_waituntil(
        sl_operator,
        EC.visibility_of_element_located(
            (By.XPATH, '//a[contains(text(), "Toggle via_target")]')))
    sl_operator.find_element_by_xpath(
        '//a[contains(text(), "Toggle via_target")]').click()
    webdriver_waituntil(sl_operator, EC.alert_is_present())
    sl_operator.switch_to.alert.accept()
    webdriver_waituntil(sl_operator, JsDocumentReloaded())
    dt_rendered(sl_operator, 'vuln_list_table', vuln.comment)

    webdriver_waituntil(
        sl_operator,
        EC.visibility_of_element_located(
            (By.XPATH, '//th[contains(text(), "via_target")]')))
Esempio n. 5
0
def test_user_apikey_route(live_server, sl_admin, test_user):  # pylint: disable=unused-argument
    """apikey generation/revoking feature tests"""

    sl_admin.get(url_for('auth.user_list_route', _external=True))
    dt_rendered(sl_admin, 'user_list_table', test_user.username)

    # disable fade, the timing interferes with the test
    sl_admin.execute_script('$("div#modal-global").toggleClass("fade")')

    sl_admin.find_element_by_xpath('//a[@data-url="%s"]' % url_for(
        'auth.user_apikey_route', user_id=test_user.id,
        action='generate')).click()
    webdriver_waituntil(
        sl_admin,
        EC.visibility_of_element_located(
            (By.XPATH,
             '//h4[@class="modal-title" and text()="Apikey operation"]')))
    sl_admin.find_element_by_xpath(
        '//div[@id="modal-global"]//button[@class="close"]').click()
    webdriver_waituntil(
        sl_admin,
        EC.invisibility_of_element_located(
            (By.XPATH, '//div[@class="modal-global"')))
    dt_rendered(sl_admin, 'user_list_table', test_user.username)
    user = User.query.get(test_user.id)
    assert user.apikey
    db.session.expunge(user)

    sl_admin.find_element_by_xpath('//a[@data-url="%s"]' % url_for(
        'auth.user_apikey_route', user_id=test_user.id,
        action='revoke')).click()
    webdriver_waituntil(
        sl_admin,
        EC.visibility_of_element_located(
            (By.XPATH,
             '//h4[@class="modal-title" and text()="Apikey operation"]')))
    sl_admin.find_element_by_xpath(
        '//div[@id="modal-global"]//button[@class="close"]').click()
    webdriver_waituntil(
        sl_admin,
        EC.invisibility_of_element_located(
            (By.XPATH, '//div[@class="modal-global"')))
    dt_rendered(sl_admin, 'user_list_table', test_user.username)
    assert not User.query.get(test_user.id).apikey
Esempio n. 6
0
def test_note_list_route_annotate(live_server, sl_operator, test_note):  # pylint: disable=unused-argument
    """test annotation from list route"""

    sl_operator.get(url_for('storage.note_list_route', _external=True))
    dt_rendered(sl_operator, 'note_list_table', test_note.comment)
    check_annotate(sl_operator, 'abutton_annotate_dt', test_note)
Esempio n. 7
0
def test_note_list_route(live_server, sl_operator, test_note):  # pylint: disable=unused-argument
    """simple test ajaxed datatable rendering"""

    sl_operator.get(url_for('storage.note_list_route', _external=True))
    dt_rendered(sl_operator, 'note_list_table', test_note.comment)
Esempio n. 8
0
def test_task_list_route(live_server, sl_operator, test_task):  # pylint: disable=unused-argument
    """simple test ajaxed datatable rendering"""

    sl_operator.get(url_for('scheduler.task_list_route', _external=True))
    dt_rendered(sl_operator, 'task_list_table', test_task.name)
Esempio n. 9
0
def test_user_list_route(live_server, sl_admin, test_user):  # pylint: disable=unused-argument
    """simple test ajaxed datatable rendering"""

    sl_admin.get(url_for('auth.user_list_route', _external=True))
    dt_rendered(sl_admin, 'user_list_table', test_user.username)
Esempio n. 10
0
def test_excl_list_route(live_server, sl_operator, excl_network):  # pylint: disable=unused-argument
    """simple test ajaxed datatable rendering"""

    sl_operator.get(url_for('scheduler.excl_list_route', _external=True))
    dt_rendered(sl_operator, 'excl_list_table', excl_network.comment)