예제 #1
0
    def verify_create_update(self, response, dct_expected):
        self.step_desc = 'Verify Project Create/Update'
        self.step_input = 'Expected values: %s' % dct_expected
        self.remarks = '\n Inside feature class: %s method: %s \n' % (
            core_helper.get_invoking_method_name())

        project_key = None
        err_msg = self.parse_wrapper.get_values(response.text,
                                                node='b:ErrorMessage')[0]
        general_err_msg = self.parse_wrapper.get_values(
            response.text, node='a:GeneralErrorMessage')[0]

        if err_msg or general_err_msg or response.status_code != 200:
            error_message = str(err_msg) + str(general_err_msg)
            self.remarks += 'Project creation/updation failed with error: %s' % {
                'error_message': error_message,
                'response': response.text
            }
            self.status = False
        else:
            project_key = self.parse_wrapper.get_values(response.text)[0]
            read_resp = self.read(project_key)

            dct_actual = self.construct_pve_dct_actual(read_resp, dct_expected)

            self.status, verify_remarks = self.asserter.verify(
                dct_actual, expected=dct_expected)
            self.remarks += verify_remarks

        self.db_logger.log_into_steps(self)
        assert self.status, self.remarks

        return project_key
예제 #2
0
    def verify_delete(self, project_key):
        self.status = False
        self.step_desc = 'Verify Project Delete'
        self.step_input = 'Input value: %s' % project_key
        self.remarks = '\n Inside feature class: %s method: %s \n' % (
            core_helper.get_invoking_method_name())

        read_resp = self.read(project_key)
        status_code = read_resp.status_code
        if status_code == 200:
            project_scode = helper.get_scode(project_key)
            expected_msg = 'Unable to find project: {}'.format(project_scode)

            actual_msg = self.parse_wrapper.get_values(
                read_resp.text, node='b:ErrorMessage')[0]

            self.status, remarks = self.asserter.verify(
                actual_msg,
                expected=expected_msg,
                condition='is_equal_to_ignoring_case')
            self.remarks += remarks
        else:
            self.remarks += 'Project Read API failed with status code: {0} and response: {1}'.format(
                status_code, read_resp.text)

        self.db_logger.log_into_steps(self)
        assert self.status, self.remarks
예제 #3
0
    def verify_move(self, card_id, response, dct_expected):
        self.status = False
        self.step_desc = 'Leankit Card Move verification'
        self.remarks = '\n Inside feature class: %s method: %s \n' % (
            core_helper.get_invoking_method_name())
        self.step_input = 'Input value card_id: {0}'.format(card_id)

        if response.status_code == 200:
            read_resp = self.read(card_id)
            if read_resp.status_code == 200:
                dct_expected, dct_actual = self.construct_expected_actual_dct(
                    dct_expected, read_resp)
                self.status, remarks = self.asserter.verify(
                    dct_actual, expected=dct_expected)
                self.remarks += remarks
            else:
                self.remarks += "Read Response failed with status code: {0} and response: {1}".format(
                    read_resp.status_code, read_resp.text)
        else:
            self.remarks += "Card Move failed with status code: {0} and response: {1}".format(
                response.status_code, response.text)

        self.db_logger.log_into_steps(self)
        assert self.status, self.remarks
        return card_id
예제 #4
0
    def verify_create_update(self, response, dct_expected):
        self.status = False
        self.step_desc = 'Leankit Card create/update verification'
        self.remarks = '\n Inside feature class: %s method: %s \n' % (
            core_helper.get_invoking_method_name())
        self.step_input = 'Expected response is {}'.format(dct_expected)

        card_id = None

        if response.status_code in (200, 201):
            card_id = response.json().get('id')
            read_resp = self.read(card_id)
            if read_resp.status_code == 200:
                dct_expected, dct_actual = self.construct_expected_actual_dct(
                    dct_expected, read_resp)
                self.status, remarks = self.asserter.verify(
                    dct_actual, expected=dct_expected)
                self.remarks += remarks
            else:
                self.remarks += "Read Response failed with status code: {0} and response: {1}".format(
                    read_resp.status_code, read_resp.text)
        else:
            self.remarks += "Card Creation/update failed with status code: {0} and response: {1}".format(
                response.status_code, response.text)

        self.db_logger.log_into_steps(self)
        assert self.status, self.remarks
        return card_id
예제 #5
0
    def verify_update(self, response, board_id, lane_id, dct_expected):
        self.status = False
        self.step_desc = 'Leankit Board Lane Update verification'
        self.remarks = '\n Inside feature class: %s method: %s \n' % (
            core_helper.get_invoking_method_name())
        self.step_input = 'Input value board_id: {0}, lane_id: {1}'.format(
            board_id, lane_id)

        if response.status_code == 200:
            read_resp = self.read(board_id)
            if read_resp.status_code == 200:
                dct_actual = objectpath_wrapper.get_dct_containing_condition(
                    'id', lane_id, read_resp)
                self.status, remarks = self.asserter.verify(
                    dct_actual, expected=dct_expected)
                self.remarks += remarks
            else:
                self.remarks += "Read Response failed with status code: {0} and response: {1}".format(
                    read_resp.status_code, read_resp.text)
        else:
            self.remarks += "Board Lane update failed with status code: {0} and response: {1}".format(
                response.status_code, response.text)

        self.db_logger.log_into_steps(self)
        assert self.status
예제 #6
0
    def project_details(self, project_id, dct_expected):
        self.remarks = '\n Inside feature class: %s method: %s \n' % (
            core_helper.get_invoking_method_name())
        self.step_desc = 'Verifying Project Details after Integration'
        self.step_input = 'Expected values: %s' % dct_expected

        dct_actual = self.qhandler.select_project_details(project_id)

        self.status, remarks = self.asserter.verify(dct_actual,
                                                    expected=dct_expected)
        self.remarks += remarks

        self.db_logger.log_into_steps(self)
        assert self.status
예제 #7
0
    def project_name(self, project_id, expected_name):
        self.remarks = '\n Inside feature class: %s method: %s \n' % (
            core_helper.get_invoking_method_name())
        self.step_desc = 'Verifying Project Name after Integration'
        self.step_input = 'Expected Name: %s' % expected_name

        if project_id:
            actual_name = self.qhandler.select_project_name(project_id)

            self.status, remarks = self.asserter.verify(
                actual_name,
                expected=expected_name,
                condition='is_equal_to_ignoring_case')
            self.remarks += remarks
        else:
            self.status = False
            self.remarks += 'Invalid Project Id : {}'.format(project_id)

        self.db_logger.log_into_steps(self)
        assert self.status
예제 #8
0
    def project_description(self, project_id, expected_description):
        self.remarks = '\n Inside feature class: %s method: %s \n' % (
            core_helper.get_invoking_method_name())
        self.step_desc = 'Verifying Project Description after Integration'
        self.step_input = 'Expected Description: %s' % expected_description
        actual_description = ''

        description = self.qhandler.select_project_description(project_id)
        # Logic to concatenate the work description as they are stored in multiple rows when they are more than 1000 characters
        if description:
            desc_generator = (''.join(row[0]) for row in description)
            actual_description = ''.join(desc_generator)

        self.status, remarks = self.asserter.verify(
            actual_description,
            expected=expected_description,
            condition='is_equal_to_ignoring_case')
        self.remarks += remarks

        self.db_logger.log_into_steps(self)
        assert self.status
예제 #9
0
    def verify_delete(self, card_id):
        self.status = False
        self.step_desc = 'Leankit Card delete verification'
        self.remarks = '\n Inside feature class: %s method: %s \n' % (
            core_helper.get_invoking_method_name())
        self.step_input = 'Input value {}'.format(card_id)

        read_resp = self.read(card_id)

        if read_resp.status_code == 404:
            expected_msg = 'Not found.'
            actual_msg = read_resp.json()['message']

            self.status, remarks = self.asserter.verify(
                actual_msg, expected=expected_msg, condition='is_equal_to')
            self.remarks += remarks
        else:
            self.remarks += 'Card is not deleted'

        self.db_logger.log_into_steps(self)
        assert self.status, self.remarks