From 291c75c01f088cc0c103269232d8761755514240 Mon Sep 17 00:00:00 2001 From: Robin Mueller Date: Wed, 26 Jul 2023 17:29:35 +0200 Subject: [PATCH] test put request --- unittests/cfdp/handler/testPutRequest.cpp | 39 ++++++++++++++++++++++- 1 file changed, 38 insertions(+), 1 deletion(-) diff --git a/unittests/cfdp/handler/testPutRequest.cpp b/unittests/cfdp/handler/testPutRequest.cpp index 501bf325..9c0c0f1f 100644 --- a/unittests/cfdp/handler/testPutRequest.cpp +++ b/unittests/cfdp/handler/testPutRequest.cpp @@ -1,3 +1,40 @@ +#include #include -TEST_CASE("Put Request", "[cfdp]") {} +#include "fsfw/cfdp/handler/PutRequest.h" +#include "fsfw/cfdp/tlv/ReservedMessageCreator.h" + +TEST_CASE("Put Request", "[cfdp]") { + using namespace cfdp; + using namespace returnvalue; + + std::array reservedMsgCustomData{}; + std::array reservedMsgBuf{}; + std::array buffer{}; + EntityId destId(WidthInBytes::ONE_BYTE, 5); + std::string srcFileName = "hello.txt"; + std::string destFileName = "hello2.txt"; + uint8_t* msgBufPtr = reservedMsgCustomData.data(); + size_t msgSize = 0; + cfdp::StringLv srcName(srcFileName); + cfdp::StringLv destName(destFileName); + CHECK(destId.serializeAsLv(&msgBufPtr, &msgSize, reservedMsgCustomData.size()) == OK); + CHECK(srcName.serialize(&msgBufPtr, &msgSize, reservedMsgCustomData.size(), + SerializeIF::Endianness::NETWORK) == OK); + CHECK(destName.serialize(&msgBufPtr, &msgSize, reservedMsgCustomData.size(), + SerializeIF::Endianness::NETWORK) == OK); + ReservedMessageCreator creator(static_cast(ProxyOpMessageType::PUT_REQUEST), + reservedMsgCustomData.data(), msgSize); + msgSize = 0; + ReturnValue_t result = creator.serializeBe(buffer.data(), msgSize, buffer.size()); + CHECK(result == returnvalue::OK); + + SECTION("Put Request with reserved message") { + PutRequest putRequest(destId, reservedMsgCustomData.data(), msgSize, nullptr, 0); + uint8_t* bufPtr = buffer.data(); + size_t serLen = 0; + REQUIRE(putRequest.serialize(&bufPtr, &serLen, buffer.size(), + SerializeIF::Endianness::NETWORK) == OK); + CHECK(putRequest.getSerializedSize() == serLen); + } +}