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'])
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
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))
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))
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))