Beispiel #1
0
    def get_suite_id(self, case_id):
        """Get suite id for specific test case.

        :return: suite id (int)
        """
        case_data = get_json_from_str(self.__redis.get_item(case_id))
        return int(case_data['suite_id'])
Beispiel #2
0
    def get_record_data(self, case_id):
        """Transform record data stored in Redis into dict.

        :param case_id: id of test case
        :return: dict with test case data (see schema in class docstring)
        """
        suite_data = get_json_from_str(self.__redis.get_item(case_id))
        suite_data['id'] = case_id

        return suite_data
Beispiel #3
0
    def update(self, record_id, data):
        """Update test suite data.

        :param record_id: test case id
        :param data: dict with test suite data, schema :{title:<string>}
        :return: True if successful, else False
        """
        # Prepare data to be stored in DB
        suite_dict = get_json_from_str(self.__redis.get_item(record_id))

        data['length'] = suite_dict['length']
        data['cases'] = suite_dict['cases']

        return self.__redis.update_item(record_id, str(data))
Beispiel #4
0
    def update_length(self, suite_id, action="+"):
        """Update suite length.

        :param suite_id: suite id
        :param action: + = increment; - = decrement
        """
        suite_data = get_json_from_str(self.__redis.get_item(suite_id))

        if action == "+":
            suite_data["length"] = int(suite_data["length"]) + 1
        elif action == "-":
            suite_data["length"] = int(suite_data["length"]) - 1
        else:
            raise RuntimeError(f"Unsupported action: '{action}'")

        self.__redis.update_item(suite_id, str(suite_data))
Beispiel #5
0
    def update_cases(self, suite_id, case_id, action='+'):
        """Update test case set that are linked to test suite.

        :param suite_id: id of test suite
        :param case_id: id of linked test case
        :param action: '+' - link test case, '-' unlink test case
        """
        suite_data = get_json_from_str(self.__redis.get_item(suite_id))

        if action == "+":
            suite_data["cases"].append(case_id)
        elif action == "-":
            suite_data["cases"].remove(case_id)
        else:
            raise RuntimeError(f"Unsupported action: '{action}'")

        self.__redis.update_item(suite_id, str(suite_data))