def test_system_with_managed_account(core_session, setup_pas_system_for_unix): """ Test case : C279339 :param core_session: Centrify session manager :param setup_pas_system_for_unix: fixture that provide created unix system data """ system_id, account_id, system_info = setup_pas_system_for_unix system_rows = RedrockController.get_computer_with_ID( core_session, system_id) assert system_rows['Name'] == system_info[ 0], f"failed to find system {system_info[0]} in portal as returned system result is {system_rows}" logger.info(f"system found {system_rows}") account, status = ResourceManager.get_accounts_from_resource( core_session, system_id) assert status, f"failed to find accounts in system {system_info[0]} as returned account result is {account}" logger.info(f"Account found {account}") # Fetching account information to validate desired account is unmanaged result, status = ResourceManager.get_account_information( core_session, account_id) assert status, f"failed to retrieve account information, returned result is {result}" is_managed = result['VaultAccount']['Row']['IsManaged'] assert is_managed is False, f"Added account is not managed account"
def test_update_un_managed_using_managed_proxy_account_check_password_history( core_session, pas_windows_setup, test_proxy, pas_config): """ TC: C2550 Update un managed account with using proxy account. :param core_session: Returns a API session. :param pas_windows_setup: Fixture for adding a system and an account associated with it. :param pas_config: fixture reading data from resource_data.yaml file. """ # Creating a system with un managed account using un managed proxy account. system_id, account_id, sys_info, connector_id, user_password = pas_windows_setup( ) # Updating the proxy user password. payload_data = pas_config['Windows_infrastructure_data'] update_proxy_result, update_proxy_success = ResourceManager.update_system( core_session, system_id, sys_info[0], sys_info[1], sys_info[2], proxyuser=payload_data['proxy_username'], proxyuserpassword=payload_data['proxy_password'], proxyuserismanaged=False) assert update_proxy_success, f"Failed to update proxy user password:API response result:{update_proxy_result}." logger.info( f"Successfully able to update the proxy user password without error {update_proxy_result}." ) # Updating the un managed account with invalid password. invalid_data = Configs.get_test_node('invalid_resources_data', 'automation_main') invalid_payload_data = invalid_data['System_infrastructure_data'] invalid_acc_password = invalid_payload_data['invalid_password'] result_update_account, result_update_success = ResourceManager.update_password( core_session, account_id, invalid_acc_password) assert result_update_success, f"Failed to update account with invalid password:"******"API response result:{result_update_account}" logger.info(f"Successfully able to update the un managed " f"account with invalid password:{result_update_account}.") # Getting the Account information and validating the status. status = 'BadCredentials' get_account_info, get_account_status = ResourceManager.get_accounts_from_resource( core_session, system_id) assert get_account_info[0][ 'Healthy'] == status, f'Status does not change to Unknown: {status}' logger.info( f"Successfully able to change status to Unknown {get_account_info}.") # Updating the un managed account with correct password. updated_account_correct_result, updated_account_correct_success = ResourceManager.update_password( core_session, account_id, payload_data['password']) assert updated_account_correct_result, f"Failed to update account with correct password:{payload_data['password']}" logger.info( f"Successfully able to update the un managed account with correct password: {updated_account_correct_result}." ) # Getting the system activity and validating update local account password is done or not. username = core_session.get_user().get_login_name() result_activity = ResourceManager.get_system_activity( core_session, system_id) assert f'{username} updated local account "{sys_info[4]}" password for "{sys_info[0]}"' \ f'({sys_info[1]})' in result_activity[0]['Detail'], \ f"fail to update local account password :{sys_info[4]} " logger.info(f"Successfully update un managed password : {result_activity}")