def test_roleName_leadingSpaces_015():
    logger = LogGen.loggen()
    logger.info(
        "****************  IN Description: TestCase_015: Test CreateRole when user sends  - 'userRoleName' with values :: leadingSpaces ****************"
    )
    print(
        "In Description :Testcase_015: Test CreateRole when user sends  - userRoleName with values :: leadingSpaces"
    )
    logger.info(
        "Jama link: https://rapidmicrobiosystems.jamacloud.com/perspective.req#/testCases/164299?projectId=50"
    )
    print(
        "Jama link: https://rapidmicrobiosystems.jamacloud.com/perspective.req#/testCases/164299?projectId=50"
    )

    com = Common_role_api()

    role = userRoleName_field_validations()
    roleName = role.userRolename_leading_spaces()
    files = readFiles()
    body = files.create_role_body()
    body['userRoleName'] = roleName

    com.create_role_positive(body, roleName)

    com.verify_roles_from_sm_with_api(roleName)

    e = com.verify_roleName_options(roleName)
    assert e['userRoleName'] == roleName
    assert e['createMethod'] == True
    assert e['editMethod'] == True
    assert e['deleteMethod'] == True
    assert e['createActionAlertLevel'] == True
    assert e['editActionAlertLevel'] == True
    assert e['deleteActionAlertLevel'] == True
    assert e['createHandlingRule'] == True
    assert e['editHandlingRule'] == True
    assert e['deleteHandlingRule'] == True
    assert e['createSample'] == False
    assert e['editSample'] == False
    assert e['deleteSample'] == False
    assert e['createProduct'] == False
    assert e['editProduct'] == False
    assert e['deleteProduct'] == False
    assert e['createUser'] == False
    assert e['editUser'] == False
    assert e['deleteUser'] == False
    assert e['createUserRole'] == False
    assert e['editUserRole'] == False
    assert e['deleteUserRole'] == False
    assert e['cancelCassettes'] == True
    assert e['retrieveCassettes'] == True
    assert e['approveCassettes'] == True
    assert e['cleanupCassettes'] == True
    assert e['orderTests'] == True
    assert e['loadTests'] == True
    assert e['printProductLabels'] == True
    assert e['administerGD'] == False
    assert e['editSettings'] == False
    assert e['maintenance'] == False
    assert e['acknowledgeSystemAlarms'] == True
    assert e['acknowledgeSystemErrors'] == True
    assert e['acknowledgeSystemServiceIssues'] == True
    assert e['editAlarmNotifications'] == False
    assert e['emptyTrash'] == True
    assert e['service'] == False
    assert e['editITSettings'] == False
    assert e['editLimsSettings'] == False
    assert e['printLimsLabels'] == False
    assert e['modifyLimsRequest'] == False
    assert e['editLimsTestResultsFields'] == False
    assert e['sendSystemLogs'] == True
    print("All the options are verified and match with the request")
    def test_create_multiple_roles_with_single_option_each_time_039(
            self, setup):
        self.logger.info(
            "****************  Test_039 : Test CreateRole when user Click ADD button and create multiple roles with single option each time ****************"
        )
        print(
            "In Description : Test_039 : Test CreateRole when user Click ADD button and create multiple roles with single option each time "
        )
        self.logger.info(
            "https://rapidmicrobiosystems.jamacloud.com/perspective.req#/testCases/164224?projectId=50"
        )
        print(
            "https://rapidmicrobiosystems.jamacloud.com/perspective.req#/testCases/164224?projectId=50"
        )

        self.driver = setup
        self.driver.get(self.baseURL)
        self.login = admin_central_login(self.driver)
        self.login.admin_login()
        self.RolesList = roles(self.driver)
        self.RolesList.select_roles()
        time.sleep(2)
        self.RolesList.verify_AdminCentral_RolesList_header()
        self.RolesList.select_add_role_button()
        data = self.RolesList.select_single_checkbox_option_each_time()
        for j in data:

            role = self.RolesList.send_Random_RoleName()
            self.RolesList.select_system_from_dropdown()

            option = '//*[text()="' + j + '"]'
            print("Selecting Choice is ::", j)

            self.RolesList.driver.find_element_by_xpath(option).click()
            # print("Selected checkbox is ::", option)

            self.RolesList.select_save_button()

            # file = open("./tests_admin/role_options_status.txt", 'r')
            # body = file.readline()

            #Verifying from SM with API
            com = Common_role_api()
            e = com.verify_roleName_options(role)
            opt = "'" + j + "': True"
            print("Verifying option_status from SM with api ::", opt)
            try:
                if opt == "'Select All': True":
                    file = open(
                        "./tests_admin/testCases/role_options_status.txt", 'r')
                    body = file.read()
                    print("Data from SM ::", e)
                    print("Existing body is ::", body)
                    assert e.__contains__(body)
                    print(
                        "After selecting Select All - all the options become enable"
                    )
                else:
                    assert e.__contains__(opt)
                    print("Option verified successfully")

            except Exception:
                pass

            print(" **** Creating new role **** ")

            self.RolesList.select_add_role_button()
        self.driver.close()