def test_delete_password_profile(core_session): """ TC: C281495 - Delete Password Complex Profile :param core_session: Authenticates API session """ profile_name_cps = f'Profile {guid()}' profile_create_result, profile_create_success = ResourceManager.add_password_profile( core_session, profile_name_cps, min_pwd_len=12, max_pwd_len=24) assert profile_create_success, f"Profile: {profile_name_cps} failed to create due to {profile_create_result}" logger.info( f"Profile {profile_name_cps} successfully created and result is {profile_create_result}" ) all_profiles_result, all_profiles_success = ResourceManager.get_profiles( core_session, type='All', rr_format=True) assert all_profiles_success, f"Failed to get profiles list {all_profiles_result}" logger.info( f"Successfully get the list of all the profiles {all_profiles_result}") cloned_builtin_profile_id = [] for profile_list in all_profiles_result['Results']: if profile_list['Row']['Name'] == profile_name_cps: cloned_builtin_profile_id.append(profile_list['Row']['ID']) profile_delete_success = ResourceManager.delete_password_profile( core_session, cloned_builtin_profile_id[0]) assert profile_delete_success, f"Failed to delete profile {profile_name_cps}" logger.info(f"Successfully deleted password profile {profile_name_cps}")
def test_delete_profile_global_profile_mapping(core_session, create_basic_pass_profile): """ Test case: C1658 :param core_session: Returns API session :param create_basic_pass_profile: Created a basic password complexity profile. """ # Creating one password complexity profile profile = create_basic_pass_profile(core_session, 1)[0] cps_prof_id = profile[0]['_RowKey'] profile_name_cps = profile[0]['Name'] # Updating the 'Unix' Type with new Password Complexity profile result, success = ResourceManager.update_global_pass_profile_mapping( core_session, "Unix", cps_prof_id) assert success, f"failed to update global password profile mapping {result}" logger.info(f"Password complexity profile {profile_name_cps} not deleted") # Fetching the global password profile mapping. result, success = ResourceManager.get_global_pass_profile_mapping( core_session) profile_name = [] for row in result: if row['_RowKey'] == cps_prof_id: profile_name.append(row['Name']) assert profile_name_cps == profile_name[ 0], f"profile name is not updated with the Type of global profile mapping {result}" resp = ResourceManager.delete_password_profile(core_session, cps_prof_id) assert resp is False, f"Password complexity profile {profile_name_cps} deleted" logger.info(f"Password complexity profile {profile_name_cps} not deleted")
def test_activity_about_password_profiles(core_session, create_basic_pass_profile): """ Test case: C1665 :param core_session: Centrify session :param create_basic_pass_profile: Created a basic password complexity profile. """ # Creating basic password profile. profile = create_basic_pass_profile(core_session, 1, 8)[0] cps_prof_id = profile[0]['_RowKey'] profile_name_cps = profile[0]['Name'] username = core_session.__dict__["auth_details"]["User"] cps_prof_result, cps_prof_succcess = ResourceManager.get_password_profile_by_id( core_session, cps_prof_id) # Checking the created custom password complexity profile. assert cps_prof_succcess, f"Getting Password Profile Failed for Profile {cps_prof_id} for core user" logger.info( f"Password profile created successfully with {cps_prof_result}") profile_delete = ResourceManager.delete_password_profile( core_session, cps_prof_id) # Deleting the custom password complexity profile. assert profile_delete, f"Password complexity profile {profile_name_cps} not deleted" logger.info( f"Password complexity profile {profile_name_cps} deleted successfully") recent_activity = ResourceManager.get_recent_activity(core_session) # Get recent activity details and finding the recent delete activity. recent_activity_list = [] for column in range(len(recent_activity)): if recent_activity[column]["Row"]["Detail"].__contains__( "deleted password profile"): recent_activity_list.append( recent_activity[column]["Row"]["Detail"]) assert f'{username} deleted password profile "{profile_name_cps}"' == recent_activity_list[0], \ f'Could not find the related activity about password profile deletion {recent_activity}' logger.info( f'Could find the related activity about password profile deletion {recent_activity_list}' ) # Getting the recent administration activity details. admin_report = ReportsManager.get_administration_activity(core_session, system_name=None) recent_admin_activity_list = [] for column in range(len(admin_report)): if admin_report[column]["Detail"].__contains__( "deleted password profile"): recent_admin_activity_list.append(admin_report[column]["Detail"]) assert f'{username} deleted password profile "{profile_name_cps}"' == recent_admin_activity_list[0], \ f'Could not find the related activity about password profile deletion {recent_activity}' logger.info( f'Could find the related activity about password profile deletion {admin_report}' )
def test_apply_profile_not_exist(core_session, pas_setup, create_basic_pass_profile, core_admin_ui): """ Test case: C1657 :param core_session: Centrify session. :param core_admin_ui: Centrify admin Ui session :param pas_setup: Creates System and Account :param create_basic_pass_profile: Created a basic password complexity profile. """ # Creating windows system. System_id, account_id, sys_info = pas_setup system_name = sys_info[0] fqdn = sys_info[1] logger.info(f"Created windows system {system_name} with fqdn {fqdn}") # Creating a basic password profile profile = create_basic_pass_profile(core_session, 1)[0] cps_prof_id = profile[0]['_RowKey'] profile_name_cps = profile[0]['Name'] logger.info( f"Created password profile {profile_name_cps} with id {cps_prof_id}") # ui starts from here. ui = core_admin_ui ui.navigate('Resources', 'Systems') ui.search(system_name) ui.click_row(system_name) ui.tab('Advanced') ui.select_option("PasswordProfileID", profile_name_cps) ui.switch_context(ConfirmModal()) ui.close_modal('Continue') ResourceManager.delete_password_profile(core_session, cps_prof_id) ui.button("Save") ui.expect( Div("Password profile is not found."), f"'password profile {profile_name_cps} already deleted' error popup not appeared" ) logger.info( f"password profile {profile_name_cps} with id {cps_prof_id} deleted")
def test_delete_password_complex_profile(core_session, core_admin_ui, create_basic_pass_profile): """ Test case: C1634 :param core_session: Centrify session :param core_admin_ui: Creates random user and login in browser. :param create_basic_pass_profile: Created a basic password complexity profile. """ ui = core_admin_ui ui.navigate("Settings", "Resources", "Password Profiles") profile = create_basic_pass_profile(core_session, 1, 8)[0] cps_prof_id = profile[0]['_RowKey'] profile_name_cps = profile[0]['Name'] cps_prof_result, cps_prof_succcess = ResourceManager.get_password_profile_by_id(core_session, cps_prof_id) # Checking the created custom password complexity profile. assert cps_prof_succcess, f"Getting Password Profile Failed for Profile {cps_prof_id} for core user" logger.info(f"Password profile created successfully with {cps_prof_result}") profile_delete = ResourceManager.delete_password_profile(core_session, cps_prof_id) # Deleting the custom password complexity profile. assert profile_delete, f"Password complexity profile {profile_name_cps} not deleted" logger.info(f"Password complexity profile {profile_name_cps} deleted successfully")