X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;ds=inline;f=include%2Fprivate%2Ftst%2Fredisreplybuilder.hpp;fp=include%2Fprivate%2Ftst%2Fredisreplybuilder.hpp;h=fce8b6f002a59185a2bc7addecb8b02e421c75d1;hb=ef2bf51d04aaf01fa0cabdcaf905b23423067662;hp=0000000000000000000000000000000000000000;hpb=edc9b96a441194b571e8d55ec1603b5be0ea52eb;p=ric-plt%2Fsdl.git diff --git a/include/private/tst/redisreplybuilder.hpp b/include/private/tst/redisreplybuilder.hpp new file mode 100644 index 0000000..fce8b6f --- /dev/null +++ b/include/private/tst/redisreplybuilder.hpp @@ -0,0 +1,71 @@ +/* + Copyright (c) 2018-2019 Nokia. + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +*/ + +#ifndef SHAREDDATALAYER_TST_REDISREPLYBUILDER_HPP_ +#define SHAREDDATALAYER_TST_REDISREPLYBUILDER_HPP_ + +#include "private/redis/redisgeneral.hpp" +#include "private/redis/reply.hpp" + +namespace shareddatalayer +{ + namespace tst + { + class RedisReplyBuilder + { + public: + RedisReplyBuilder(); + + RedisReplyBuilder(const RedisReplyBuilder&) = delete; + + RedisReplyBuilder& operator = (const RedisReplyBuilder&) = delete; + + virtual ~RedisReplyBuilder(); + + redisReply& buildNilReply(); + + redisReply& buildIntegerReply(); + + redisReply& buildStatusReply(); + + redisReply& buildStringReply(); + + redisReply& buildArrayReply(); + + redisReply& buildCommandListQueryReply(); + + redisReply& buildIncompleteCommandListQueryReply(); + + redisReply& buildErrorReply(const std::string& msg); + + private: + std::vector builtRedisReplies; + const std::vector defaultStringValue; + std::vector arrayReplyElements; + redisReply arrayReplyElement1; + redisReply arrayReplyElement2; + char* errorMessage; + const std::set& requiredRedisModuleCommands; + std::vector commandItems; + std::vector commandListQueryElements; + + void initArrayReplyContent(); + void initCommandListQueryReplyContent(); + }; + } +} + +#endif