def test_verify_first_and_last_name_update_in_profile_details(self, driver, url): print("To verify first and last name can be modified for local Auth user") prefix = Utils.random_string(6) phone = Utils.random_number(4) Platform(driver).launch(url) \ .click_create_account_link() \ .enter_first_name(prefix + "test") \ .enter_last_name(prefix + "auto") \ .enter_email(prefix + "*****@*****.**") \ .enter_password("123qweA!") \ .click_signup_button() \ .wait_onboarding_page_loaded() \ .verify_onboarding_page_title_equals("Update your profile") \ .enter_company_name(prefix + "Putbox.com") \ .enter_role(prefix + "Automation") \ .enter_phone_number("201-555-" + phone) \ .click_continue_button() \ .verify_onboarding_page_title_equals("We have created a project for you!") \ .enter_project_name(prefix) \ .click_continue_button() \ .enter_cluster_name(prefix) \ .click_connect_button() \ .click_close_button() \ .logout() \ .login(prefix + "*****@*****.**", "123qweA!") \ .open_user_profile_page() \ .enter_first_name("First") \ .enter_last_name("Last") \ .click_update_profile_button() \ .side_panel() \ .logout() \ .login(prefix + "*****@*****.**", "123qweA!") \ .open_user_profile_page() \ .verify_first_name_equals(prefix + "test" + "First") \ .verify_last_name_equals(prefix + "auto" + "Last")
def test_verify_profile_details_same_with_onboarding_profile_details(self, driver, url): print("To verify the profile info is same as whatever provided during onboarding time") prefix = Utils.random_string(6) phone = Utils.random_number(4) Platform(driver).launch(url) \ .click_create_account_link() \ .enter_first_name(prefix + "test") \ .enter_last_name(prefix + "auto") \ .enter_email(prefix + "*****@*****.**") \ .enter_password("123qweA!") \ .click_signup_button() \ .wait_onboarding_page_loaded() \ .verify_onboarding_page_title_equals("Update your profile") \ .enter_company_name(prefix + "Putbox.com") \ .enter_role(prefix + "Automation") \ .enter_phone_number("201-555-" + phone) \ .click_continue_button() \ .verify_onboarding_page_title_equals("We have created a project for you!") \ .enter_project_name(prefix) \ .click_continue_button() \ .enter_cluster_name(prefix) \ .click_connect_button() \ .click_close_button() \ .logout() \ .login(prefix + "*****@*****.**", "123qweA!") \ .open_user_profile_page() \ .verify_first_name_equals(prefix + "test") \ .verify_last_name_equals(prefix + "auto") \ .verify_email_equals(prefix + "*****@*****.**") \ .verify_company_equals(prefix + "Putbox.com")\ .verify_role_equals(prefix + "Automation") \ .verify_phone_equals("201-555-" + phone)
def test_verify_project_read_admin_user_invite(self, driver, url): print( "ProjectOwner can invite users as ProjectReadAdmin role in Project." ) prefix = Utils.random_string(6) Platform(driver).launch(url) \ .click_create_account_link() \ .enter_first_name(prefix + "test") \ .enter_last_name(prefix + "auto") \ .enter_email(prefix + "*****@*****.**") \ .enter_password("123qweA!") \ .click_signup_button() \ .wait_onboarding_page_loaded() \ .verify_onboarding_page_title_equals("Update your profile") \ .click_continue_button() \ .enter_project_name(prefix) \ .click_continue_button() \ .enter_cluster_name(prefix) \ .click_connect_button() \ .click_close_button() \ .logout() \ .login_as_admin() \ .open_user_roles_page() \ .click_invite_button() \ .enter_email(prefix + "*****@*****.**") \ .select_profile() \ .select_role("ProjectReadAdmin") \ .click_send_invite_button() \ .logout() \ .login(prefix + "*****@*****.**", "123qweA!") \ .open_invitations_page() \ .verify_received_invitations("DefaultProject", "ProjectReadAdmin", "Administrator") \ .click_accept_invitation("DefaultProject", "ProjectReadAdmin", "Administrator")
def test_verify_dmaas_schedules_deletion(self, driver, url): print("Delete Dmaas schedules") prefix = Utils.random_string(6) Platform(driver).launch(url) \ .login("*****@*****.**", "OEPuser@123") \ .open_dmaas_page() \ .delete_dmaas_schedules("minio-deployment", "-minio")
def test_verify_change_pwd_local_auth_account(self, driver, url): print( "To verify the Change password functionality for local auth account" ) prefix = Utils.random_string(6) Platform(driver).launch(url) \ .click_create_account_link() \ .enter_first_name(prefix + "test") \ .enter_last_name(prefix + "auto") \ .enter_email(prefix + "*****@*****.**") \ .enter_password("123qweA!") \ .click_signup_button() \ .wait_onboarding_page_loaded() \ .verify_onboarding_page_title_equals("Update your profile") \ .click_continue_button() \ .enter_project_name(prefix) \ .click_continue_button() \ .enter_cluster_name(prefix) \ .click_connect_button() \ .click_close_button() \ .open_user_profile_page() \ .click_change_password_button() \ .enter_current_password("123qweA!") \ .enter_new_password("1333rteA!") \ .enter_retype_password("1333rteA!") \ .click_update_password_button() \ .side_panel() \ .logout() \ .login(prefix + "*****@*****.**", "1333rteA!") \ .verify_user_profile_item_present()
def test_verify_unique_email_for_each_user(self, driver, url): print("To verify unique Email ID for each user") prefix = Utils.random_string(6) Platform(driver).launch(url) \ .click_create_account_link() \ .enter_first_name(prefix + "test") \ .enter_last_name(prefix + "auto") \ .enter_email(prefix + "*****@*****.**") \ .enter_password("123qweA!") \ .click_signup_button() \ .wait_onboarding_page_loaded() \ .verify_onboarding_page_title_equals("Update your profile") \ .click_continue_button() \ .enter_project_name(prefix) \ .click_continue_button() \ .enter_cluster_name(prefix) \ .click_connect_button() \ .click_close_button() \ .logout() \ .click_create_account_link() \ .enter_first_name(prefix + "test") \ .enter_last_name(prefix + "auto") \ .enter_email(prefix + "*****@*****.**") \ .enter_password("123qweA!") \ .click_signup_button_for_validation() \ .verify_error_message_present("Please use a different email as this email is already taken") \ .enter_email(prefix + "*****@*****.**") \ .click_signup_button() \ .wait_onboarding_page_loaded() \ .verify_onboarding_page_title_equals("Update your profile")
def test_verify_profile_update_after_signup(self, driver, url): print("To verify profile can be updated just after signup ") prefix = Utils.random_string(6) phone = Utils.random_number(4) Platform(driver).launch(url) \ .click_create_account_link() \ .enter_first_name(prefix + "test") \ .enter_last_name(prefix + "auto") \ .enter_email(prefix + "*****@*****.**") \ .enter_password("123qweA!") \ .click_signup_button() \ .wait_onboarding_page_loaded() \ .verify_onboarding_page_title_equals("Update your profile") \ .enter_email(prefix + "putsbox.com") \ .enter_company_name(prefix + "Putbox.com") \ .enter_role(prefix + "Automation") \ .enter_phone_number("201-555-" + phone) \ .click_continue_button() \ .verify_onboarding_page_title_equals("We have created a project for you!")
def test_verify_admin_first_and_last_name_update_fail(self, driver, url): print("To verify First and last Name cannot be modified for local Auth Admin user") phone = Utils.random_number(4) Platform(driver).launch(url) \ .login_as_admin() \ .open_user_profile_page() \ .enter_first_name("First") \ .enter_last_name("Last") \ .enter_phone_field("201-555-" + phone) \ .click_update_profile_button() \ .verify_error_message("Please fill in all required fields")
def test_verify_cluster_connection_link_generation(self, driver, url): print("To verify that connection link getting generated while connecting new cluster.") prefix = Utils.random_string(5) Platform(driver).launch(url) \ .login_as_admin() \ .open_clusters_page() \ .click_connect_new_cluster_button() \ .enter_cluster_name(prefix + "Test") \ .click_connect_button() \ .verify_cluster_connection_link_present() \ .click_disconnect_cluster_link() \
def test_verify_signup_func_in_local_auth(self, driver, url): print("To verify signup functionality in Local Auth") prefix = Utils.random_string(5) Platform(driver).launch(url) \ .click_create_account_link() \ .enter_first_name(prefix + "test") \ .enter_last_name(prefix + "auto") \ .enter_email(prefix + "*****@*****.**") \ .enter_password("123qweA!") \ .click_signup_button() \ .wait_onboarding_page_loaded() \ .verify_onboarding_page_title_equals("Update your profile")
def test_verify_openebs_components_version(self, driver, url): print("To verify profile completion for ORP user and OpenEbs components version check.") prefix = Utils.random_string(6) phone = Utils.random_number(4) Platform(driver).launch(url) \ .login_as_oep_user("*****@*****.**", "OEPuser@123") \ .wait_onboarding_page_loaded() \ .verify_onboarding_page_title_equals("Update your profile") \ .enter_company_name(prefix + "Putbox") \ .enter_role(prefix + "Automation") \ .enter_phone_number("201-555-" + phone) \ .click_continue_button() \ .verify_onboarding_page_title_equals("We have created a project for you!") \ .enter_project_name("") \ .click_continue_button() \ .enter_cluster_name(prefix) \ .click_connect_button() \ .click_close_button() \ .open_clusters_page() \ .open_cluster_details("oep-cluster-cluster2", "active") \ .open_ebs_page() \ .verify_openebs_components_version("1.12.0-ee-RC1")
def test_password_field(self, driver, url): print( "Password for local authentication should be alpha numeric supported" ) prefix = Utils.random_string(5) Platform(driver).launch(url) \ .click_create_account_link() \ .enter_first_name(prefix + "test") \ .enter_last_name(prefix + "auto") \ .enter_email(prefix + "*****@*****.**") \ .enter_password("test") \ .click_signup_button() \ .verify_alert_present("Password must be a mix of letters of different case, numbers and symbols of atleast 8 and utmost 20 characters")
def test_verify_cluster_disconnect_function(self, driver, url): print("To verify cluster disconnect functionality") prefix = Utils.random_string(5) Platform(driver).launch(url) \ .login_as_admin() \ .open_clusters_page() \ .click_connect_new_cluster_button() \ .enter_cluster_name(prefix + "Test") \ .click_connect_button() \ .verify_cluster_connection_link_present() \ .click_disconnect_cluster_link() \ .open_clusters_page() \ .click_delete_icon_for_cluster(prefix + "Test") \ .verify_cluster_delete_warning_message() \ .click_disconnect_button_for_cluster() \ .verify_cluster_absent(prefix + "Test")
def test_verify_project_member_user_role_update_to_read_admin_by_project_owner( self, driver, url): print( "To validate ProjectMember user role update to ProjectReadAdmin by project owner" ) prefix = Utils.random_string(6) Platform(driver).launch(url) \ .click_create_account_link() \ .enter_first_name(prefix + "test") \ .enter_last_name(prefix + "auto") \ .enter_email(prefix + "*****@*****.**") \ .enter_password("123qweA!") \ .click_signup_button() \ .wait_onboarding_page_loaded() \ .verify_onboarding_page_title_equals("Update your profile") \ .click_continue_button() \ .enter_project_name(prefix) \ .click_continue_button() \ .enter_cluster_name(prefix) \ .click_connect_button() \ .click_close_button() \ .logout() \ .login_as_admin() \ .open_user_roles_page() \ .click_invite_button() \ .enter_email(prefix + "*****@*****.**") \ .select_profile() \ .select_role("ProjectMember") \ .click_send_invite_button() \ .logout() \ .login(prefix + "*****@*****.**", "123qweA!") \ .open_invitations_page() \ .verify_received_invitations("DefaultProject", "ProjectMember", "Administrator") \ .click_accept_invitation("DefaultProject", "ProjectMember", "Administrator") \ .open_projects_page() \ .verify_project_present("DefaultProject", "ProjectMember", "Administrator") \ .logout() \ .login_as_admin() \ .open_user_roles_page() \ .switch_to_filter_tab("All users") \ .find_user(prefix + "test" + " " + prefix + "auto") \ .open_user_role_profile_page() \ .update_user_role("ProjectReadAdmin") \ .verify_updated_user_role("ProjectReadAdmin")
def test_verify_disconnect_text_shown_for_each_delete_icon( self, driver, url): print( "To verify that disconnect text present for delete icon and the pop up message" ) prefix = Utils.random_string(5) Platform(driver).launch(url) \ .login_as_admin() \ .open_clusters_page() \ .verify_delete_text_shown_for_each_disconnect_icon() \ .click_delete_icon_for_cluster(Config.get("app", "cluster_name")) \ .verify_modal_dialog_text_equals("Are you sure you want to disconnect the cluster OpenEBSDirector?") \ .click_cancel_button_in_modal_dialog() \ .open_clusters_page() \ .click_connect_new_cluster_button() \ .enter_cluster_name(prefix + "Test") \ .click_connect_button() \ .verify_cluster_connection_link_present() \ .click_disconnect_cluster_link() \ .open_clusters_page() \ .click_delete_icon_for_cluster(prefix + "Test") \ .verify_modal_dialog_text_equals("Are you sure you want to disconnect the cluster %s" % (prefix + "Test"))