reserved message unittest working
This commit is contained in:
@ -26,15 +26,33 @@ TEST_CASE("Put Request", "[cfdp]") {
|
||||
ReservedMessageCreator creator(static_cast<uint8_t>(ProxyOpMessageType::PUT_REQUEST),
|
||||
reservedMsgCustomData.data(), msgSize);
|
||||
msgSize = 0;
|
||||
ReturnValue_t result = creator.serializeBe(buffer.data(), msgSize, buffer.size());
|
||||
ReturnValue_t result = creator.serializeBe(reservedMsgBuf.data(), msgSize, buffer.size());
|
||||
CHECK(result == returnvalue::OK);
|
||||
|
||||
SECTION("Put Request with reserved message") {
|
||||
PutRequest putRequest(destId, reservedMsgCustomData.data(), msgSize, nullptr, 0);
|
||||
PutRequest putRequest(destId, reservedMsgBuf.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);
|
||||
PutRequest requestDeserialized;
|
||||
size_t deserLen = putRequest.getSerializedSize();
|
||||
const uint8_t* deserPtr = buffer.data();
|
||||
REQUIRE(requestDeserialized.deSerialize(&deserPtr, &deserLen, SerializeIF::Endianness::NETWORK) == OK);
|
||||
CHECK(requestDeserialized.getDestId().getWidth() == destId.getWidth());
|
||||
CHECK(requestDeserialized.getDestId().getValue() == destId.getValue());
|
||||
size_t totalMsgsSize = 0;
|
||||
const uint8_t* msgsToUserStart = requestDeserialized.getMessagesToUser(totalMsgsSize);
|
||||
CHECK(totalMsgsSize == msgSize);
|
||||
cfdp::Tlv genericTlv;
|
||||
genericTlv.deSerialize(&msgsToUserStart, &totalMsgsSize, SerializeIF::Endianness::NETWORK);
|
||||
CHECK(genericTlv.getType() == TlvType::MSG_TO_USER);
|
||||
CHECK(genericTlv.getLengthField() == genericTlv.getSerializedSize() - 2);
|
||||
CHECK(genericTlv.getValue()[0] == 'c');
|
||||
CHECK(genericTlv.getValue()[1] == 'f');
|
||||
CHECK(genericTlv.getValue()[2] == 'd');
|
||||
CHECK(genericTlv.getValue()[3] == 'p');
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user