def test_unsaved_global_profile_mapping(core_session, core_admin_ui, create_basic_pass_profile): """ Test case: C1660 :param core_session: Creates core session :param core_admin_ui: Creates random user and login in browser. :param create_basic_pass_profile: Created a basic password complexity profile. """ profile = create_basic_pass_profile(core_session, 1)[0] cps_prof_id = profile[0]['_RowKey'] profile_name_cps = profile[0]['Name'] # Getting the global password profile mapping profiles result, success = ResourceManager.get_global_pass_profile_mapping( core_session) profile_name = [] for row in result: if row['TargetTypeDisplayName'] == "Unix System": profile_name.append(row['Name']) # UI navigating to Security Settings and updating the 'Unix' Type global password profile. ui = core_admin_ui ui.navigate("Settings", "Resources", "Security", "Security Settings") ui.expect(GridCell(profile_name[0]), "Unix type password profile not editable.").try_click( Div("Security Settings")) ui.switch_context(ActiveMainContentArea()) ui.select_option('Name', profile_name_cps) ui.switch_context(ConfirmModal()) ui.button('Continue') ui.expect(Span("Password Profiles"), "Clicking Password Profiles").try_click(Div("Security Settings")) assert ui.check_exists(Div('Unsaved Changes')), "Fail, as 'Confirmation Modal' i.e. 'Unsaved Changes dialog' " \ "didn't pop up even after clicking another tab." logger.info( "'Unsaved Changes dialog' popped up after clicking another tab without saving the new profile" ) # Clicking 'Yes' button on 'Unsaved Changes' dialog box and expecting new profile to be saved. ui.switch_context(ConfirmModal()) ui.close_modal("Yes") # Getting all the global password profile mappings. result, success = ResourceManager.get_global_pass_profile_mapping( core_session) for res in result: if res['Name'] == profile_name_cps: assert res[ 'TargetType'] == 'Unix', f"Failed to update profile with id {cps_prof_id} Unix Type {result}" logger.info("Updated the new profile to the 'Unix' Type")
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_not_apply_password_profile_global(core_session, create_basic_pass_profile): """ Test case: C1647 :param core_session: Returns API session :param core_admin_ui: Centrify admin Ui session :param create_basic_pass_profile: Created a basic password complexity profile. """ unix_profile_id = None profile_result, profile_success = ResourceManager.get_password_prof_for_target_types( core_session, 'Unix') assert profile_success, f'failed to get all profile for target unix type.' for row in profile_result: if row['Name'] == "Unix Profile": unix_profile_id = row['_RowKey'] # Setting password profile mapping to default. result, success = ResourceManager.update_global_pass_profile_mapping( core_session, "Unix", unix_profile_id) assert success, f"failed to update global password profile mapping {result}" # 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'] logger.info( f"Created password complex profile {profile_name_cps} with Id {cps_prof_id}" ) # getting and updating global password profile default value to Unix Profile result, success = ResourceManager.get_global_pass_profile_mapping( core_session) profile_name = [] for row in result: if row['Name'] == "Unix Profile": profile_name.append(row['_RowKey']) profile_name.append(row['Name']) result, success = ResourceManager.update_global_pass_profile_mapping( core_session, "Unix", profile_name[0]) assert success, f"failed to update global password profile mapping {result}" logger.info(f"Password complexity profile {profile_name_cps} not deleted") update_profile = [] profile_result, profile_success = ResourceManager.get_password_prof_for_target_types( core_session, 'Unix') assert profile_success, f'failed to get all profile for target unix type.' for row in profile_result: if row['Name'] == profile_name_cps: update_profile.append(row['_RowKey']) # Setting password profile mapping to default. result, success = ResourceManager.update_global_pass_profile_mapping( core_session, "Unix", None) assert success is False, f"failed to update global password profile mapping {result}" # Getting the global password profile mapping profiles result, success = ResourceManager.get_global_pass_profile_mapping( core_session) profile_names = [] for row in result: if row['Name'] == "Unix Profile": profile_names.append(row['_RowKey']) profile_names.append(row['TargetType']) # Getting the password profile by id cps_prof_result, cps_prof_success = ResourceManager.get_password_profile_by_id( core_session, profile_names[0]) assert cps_prof_result['ProfileType'] == profile_names[1], \ f"Global Password Profile not saved with Profile {profile_names[0]} with the result {cps_prof_result}" logger.info( f"Password profile created successfully with {cps_prof_result}")