示例#1
0
def test_connector_setting(core_session, pas_windows_setup, users_and_roles,
                           core_pas_admin_ui):
    """
    TC:C2170 Check connectors setting.
    :param core_session: Returns a API session.
    :param pas_windows_setup: Returns a fixture.
    :param users_and_roles: Gets user and role on demand.
    :param core_pas_admin_ui: Returns browser session.
    """

    # Creating a system and account.
    system_id, account_id, sys_info, connector_id, user_password = pas_windows_setup(
    )

    # Cloud user session with "Privileged Access Service Administrator".
    cloud_user_session = users_and_roles.get_session_for_user(
        'Privileged Access Service Administrator')
    user_name = cloud_user_session.auth_details['User']
    user_id = cloud_user_session.auth_details['UserId']

    # Assigning "Edit" permission for system to limited user.
    assign_system_perm_res, assign_system_perm_success = ResourceManager.assign_system_permissions(
        core_session, "Edit", user_name, user_id, 'User', system_id)

    assert assign_system_perm_success, f"Failed to assign 'Edit' permissions to user for the system: API Response " \
                                       f"result: {assign_system_perm_res}. "
    logger.info(
        f"Successfully assign 'Edit' permissions to user for the system: {assign_system_perm_res}."
    )

    # Getting the connectors Details.
    connector_details = Configs.get_environment_node('connector_data',
                                                     'automation_main')
    connector_name = connector_details['connector']
    list_connectors_id = []
    connectors_details = RedrockController.get_all_proxy(cloud_user_session)
    for connector_detail in connectors_details:
        if connector_detail['Name'] == connector_name:
            list_connectors_id.append(connector_detail['ID'])

    # Choosing the connector for the system.
    update_system_result, update_system_success = ResourceManager.update_system(
        cloud_user_session,
        system_id=system_id,
        name=sys_info[0],
        fqdn=sys_info[1],
        computerclass=sys_info[2],
        proxycollectionlist=connector_id,
        chooseConnector="on",
        filterConnectorCombo="all",
    )
    assert update_system_success, f'Failed to save the connector for the system:' \
                                  f'API response result:{update_system_result}. '
    logger.info(
        f'Successfully save the connector {update_system_result} for the system.'
    )

    # UI Launch
    ui = core_pas_admin_ui
    ui.navigate('Resources', 'Systems')
    ui.search(sys_info[0])
    ui.click_row(GridRowByGuid(system_id))
    ui.tab('Connectors', check_rendered_tab=False)
    assert ui.check_exists(GridRowCheckbox(connector_name, checked=True)), 'Expect the find connector checked but ' \
                                                                           'failed to find it. '
    logger.info(
        f'Successfully found the correct connector setting:{connector_name}.')
def test_check_connector_page_for_system(core_session, pas_windows_setup,
                                         users_and_roles):
    """
    TC:C2171 Check UI on Connectors page for a system.
    :param:core_session: Returns Authenticated Centrify session.
    :param:users_and_roles:Fixture to manage roles and user.
    :param pas_windows_setup: Return a fixture.
    """

    # Creating a system and account.
    system_id, account_id, sys_info, connector_id, user_password = pas_windows_setup(
    )

    # Cloud user session with "Privileged Access Service Administrator".
    cloud_user_session = users_and_roles.get_session_for_user(
        'Privileged Access Service Administrator')
    user_name = cloud_user_session.auth_details['User']
    user_id = cloud_user_session.auth_details['UserId']

    # UI session with "Privileged Access Service Administrator" rights.
    ui = users_and_roles.get_ui_as_user(
        'Privileged Access Service Administrator')

    # Assigning system "View,Delete" permission
    assign_system_result, assign_system_success = ResourceManager.assign_system_permissions(
        core_session, "View,Delete", user_name, user_id, 'User', system_id)
    assert assign_system_success, f"Failed to assign system permissions: API response result: {assign_system_result}"
    logger.info(
        f'Successfully assigned "View" permission to user:{assign_system_result}.'
    )

    # Getting the connectors Details.
    connector_details = Configs.get_environment_node('connector_data',
                                                     'automation_main')
    list_connectors_id = []
    connectors_details = RedrockController.get_all_proxy(core_session)
    for connector_detail in connectors_details:
        if connector_detail['Name'] == connector_details['connector']:
            list_connectors_id.append(connector_detail['ID'])

    # Choosing the connector for the system.
    result, success = ResourceManager.update_system(
        core_session,
        system_id=system_id,
        name=sys_info[0],
        fqdn=sys_info[1],
        computerclass=sys_info[2],
        proxycollectionlist=connector_id,
        chooseConnector="on",
        filterConnectorCombo="all")
    assert success, f'Failed to save the connector for the system: API response result: {result}.'
    logger.info(
        f'Successfully save the connector  for the system: API response result: {result}.'
    )

    # UI Launch
    ui.navigate('Resources', 'Systems')
    ui.search(sys_info[0])
    ui.click_row(GridRowByGuid(system_id))
    ui.tab('Connectors', check_rendered_tab=False)
    ui.switch_context(ActiveMainContentArea())
    ui.expect(
        ReadOnlyTextField('filterConnectorCombo'),
        'Expected the username field to be readonly for this filterConnectorCombo strategy but it is not.'
    )
    logger.info(
        'Successfully found connector settings  grayed and no error icon')