コード例 #1
0
def test_invalid_login(browser):
    # load root page
    page = RootPage(browser, auto_login=False)
    # do login with invalid credentials
    _login = page.login(username='******', password='******')
    logger.debug('Login status:{}'.format(_login))
    logger.debug('Notifications on screen:{}'.format(page.notifications.items))
    assert not _login
    assert page.notifications.contains(
        type='danger', text='Unauthorized. Error in username or password')
コード例 #2
0
def test_login(browser):
    # load root page
    page = RootPage(browser, auto_login=False)
    # do login
    _login = page.login()
    logger.debug('Login status:{}'.format(_login))
    assert _login
    # assert notifications
    logger.debug('Notifications on screen:{}'.format(page.notifications.items))
    assert not page.notifications.contains(type=Notification.TYPE_DANGER)
    assert not page.notifications.contains(type=Notification.TYPE_WARNING)
コード例 #3
0
def test_invalid_login(browser):
    # load root page
    page = RootPage(browser, auto_login=False)
    # do login with invalid credentials
    _login = page.login(username='******', password='******')
    logger.debug('Login status:{}'.format(_login))
    logger.debug('Notifications on screen:{}'.format(page.notifications.items))
    assert not _login
    assert page.notifications.contains(
        _type='danger',
        text='Unauthorized. '
        'The provided credentials are not valid to access Kiali. '
        'Please check your credentials and try again.')
コード例 #4
0
def test_toggle(browser):
    # load root page
    page = RootPage(browser)
    page.main_menu.collapse()
    assert page.main_menu.is_collapsed
    page.main_menu.expand()
    assert not page.main_menu.is_collapsed
コード例 #5
0
ファイル: test_menu.py プロジェクト: skondkar/kiali-qe-python
def test_menu(browser, kiali_client):
    # load root page
    page = RootPage(browser)
    # test available menus
    _response = kiali_client.get_response('getStatus')
    _products = _response['externalServices']
    options_defined = [item.text for item in MainMenuEnum]
    if not _get_jaeger_url(_products):
        options_defined.remove(MainMenuEnum.DISTRIBUTED_TRACING.value)
    options_listed = page.main_menu.items
    logger.debug('menus[defined:{}, listed:{}]'.format(options_defined,
                                                       options_listed))
    assert is_equal(options_defined, options_listed), \
        ('Menus mismatch: defined:{}, listed:{}'.format(options_defined, options_listed))
    # navigate to menus
    for _menu in options_listed:
        if str(_menu) == MainMenuEnum.DISTRIBUTED_TRACING.text:
            assert _get_jaeger_url(_products) \
                in page.main_menu.get_link(_menu).get_attribute('href')
            assert '_blank' == page.main_menu.get_link(_menu).get_attribute(
                'target')
            continue
        logger.debug('Testing menu: {}'.format(_menu))
        page.main_menu.select(_menu)
        assert page.main_menu.selected == _menu
コード例 #6
0
def test_user_menu(browser):
    # load root page
    page = RootPage(browser)
    options_defined = [item.text for item in UserMenuEnum]
    options_listed = page.navbar.user_menu.options
    logger.debug('Menus[defined:{}, listed:{}]'.format(options_defined, options_listed))
    assert is_equal(options_defined, options_listed), \
        ('User menu mismatch: defined:{}, listed:{}'.format(options_defined, options_listed))
コード例 #7
0
def test_help_menu(browser):
    # load root page
    page = RootPage(browser)
    # test available menus
    options_defined = [item.text for item in HelpMenuEnum]
    options_listed = page.navbar.help_menu.options
    logger.debug('help menus[defined:{}, listed:{}]'.format(options_defined, options_listed))
    assert is_equal(options_defined, options_listed), \
        ('Help menus mismatch: defined:{}, listed:{}'.format(options_defined, options_listed))
コード例 #8
0
def test_about(browser, kiali_client):
    # load root page
    page = RootPage(browser)
    _about = page.navbar.about()
    assert _about.application_logo
    versions_ui = _about.versions
    _about.close()

    _response = kiali_client.get_response('getStatus')
    _products = _response['externalServices']

    if (any(d['name'] == ApplicationVersionEnum.ISTIO.text
            for d in _products)):
        version_enum = ApplicationVersionEnum
    else:
        version_enum = ApplicationVersionUpstreamEnum

    versions_defined = [item.text for item in version_enum]

    logger.debug('Versions information in UI:{}'.format(versions_ui))
    logger.debug('Application version keys: defined:{}, available:{}'.format(
        versions_defined, versions_ui.keys()))
    assert is_equal(versions_defined, versions_ui.keys())

    # compare each versions
    # get version details from REST API

    # kiali core version
    _core_rest = '{}{}'.format(
        _response['status']['Kiali version'],
        ' ({})'.format(_response['status']['Kiali commit hash'])
        if _response['status']['Kiali commit hash'] != 'unknown' else '')
    # skip in case of code coverage run where the version is not set correctly during the build
    if "ENABLE_CODE_COVERAGE" not in os.environ or os.environ[
            "ENABLE_CODE_COVERAGE"] != "true":
        assert versions_ui[version_enum.KIALI_CORE.text] == _core_rest

    # versions mismatch between console on UI
    # TODO: check with manual test team and enable this
    # _console_rest = '{} ({})'.format(
    #     _response['status']['Kiali version'], _response['status']['Kiali version'])
    # assert versions_ui[ApplicationVersionEnum.KIALI_UI.text] == _console_rest

    # test other product versions

    assert versions_ui[version_enum.ISTIO.text] == _get_version(
        _products, version_enum.ISTIO.text)
    # check Prometheus version
    assert versions_ui[version_enum.PROMETHEUS.text] == _get_version(
        _products, 'Prometheus')
    # check Kubernetes version
    assert versions_ui[version_enum.KUBERNETES.text] == _get_version(
        _products, 'Kubernetes')
コード例 #9
0
ファイル: test_menu.py プロジェクト: jkandasa/kiali-qe-python
def test_menu(browser):
    # load root page
    page = RootPage(browser)
    # test available menus
    options_defined = [item.text for item in MainMenuEnum]
    options_listed = page.main_menu.items
    logger.debug('menus[defined:{}, listed:{}]'.format(options_defined,
                                                       options_listed))
    assert is_equal(options_defined, options_listed), \
        ('Menus mismatch: defined:{}, listed:{}'.format(options_defined, options_listed))
    # navigate to menus
    for _menu in options_listed:
        logger.debug('Testing menu: {}'.format(_menu))
        page.main_menu.select(_menu)
        assert page.main_menu.selected == _menu
コード例 #10
0
def test_about(browser, kiali_client):
    # load root page
    page = RootPage(browser)
    _about = page.navbar.about()
    assert _about.application_name == 'Kiali'
    versions_ui = _about.versions
    logger.debug('Versions information in UI:{}'.format(versions_ui))
    versions_defined = [item.text for item in ApplicationVersionEnum]
    logger.debug('Application version keys: defined:{}, available:{}'.format(
        versions_defined, versions_ui.keys()))
    assert is_equal(versions_defined, versions_ui.keys())

    # compare each versions
    # get version details from REST API
    _response = kiali_client.status()
    # kiali core version
    _core_rest = '{} ({})'.format(
        _response['status']['Kiali core version'],
        _response['status']['Kiali core commit hash'])
    assert versions_ui[ApplicationVersionEnum.KIALI_CORE.text] == _core_rest

    # versions mismatch between console on UI
    # TODO: check with manual test team and enable this
    # _console_rest = '{} ({})'.format(
    #     _response['status']['Kiali core version'], _response['status']['Kiali console version'])
    # assert versions_ui[ApplicationVersionEnum.KIALI_UI.text] == _console_rest

    # test other product versions
    _products = _response['externalServices']
    # check istio version
    assert versions_ui[ApplicationVersionEnum.ISTIO.text] == _get_version(
        _products, 'Istio')
    # check Prometheus version
    assert versions_ui[ApplicationVersionEnum.PROMETHEUS.text] == _get_version(
        _products, 'Prometheus')
    # check Kubernetes version
    assert versions_ui[ApplicationVersionEnum.KUBERNETES.text] == _get_version(
        _products, 'Kubernetes')
コード例 #11
0
def test_masthead_status(openshift_client, browser):
    # load root page
    page = RootPage(browser)
    oc_apps = openshift_client.get_failing_applications(ISTIO_SYSTEM)
    ui_statuses = page.navbar.get_masthead_tooltip()
    assert is_equal(oc_apps, list(ui_statuses.keys()))