From e886b5b372d5bea0605a0a6bf2d5af0b4bac179a Mon Sep 17 00:00:00 2001 From: thodkatz <thodkatz@gmail.com> Date: Thu, 24 Jan 2019 15:28:28 +0200 Subject: [PATCH] Added tests for ST[01] --- test/Services/RequestVerificationService.cpp | 112 ++++++++++++++++++- 1 file changed, 106 insertions(+), 6 deletions(-) diff --git a/test/Services/RequestVerificationService.cpp b/test/Services/RequestVerificationService.cpp index c98e6c77..a653c6d4 100644 --- a/test/Services/RequestVerificationService.cpp +++ b/test/Services/RequestVerificationService.cpp @@ -22,7 +22,7 @@ TEST_CASE("TM[1,1]", "[service][st01]") { CHECK(response.readEnumerated(1) == Message::TC); // packet type CHECK(response.readBits(1) == 0); // secondary header flag CHECK(response.readEnumerated(11) == 3); // application process ID - CHECK(response.readEnumerated(2) == 3); // sequence flags + CHECK(response.readEnumerated(2) == ECSS_SEQUENCE_FLAGS); // sequence flags CHECK(response.readBits(14) == 0); // packet sequence count } @@ -46,11 +46,111 @@ TEST_CASE("TM[1,2]", "[service][st01]") { CHECK(response.readEnumerated(1) == Message::TC); // packet type CHECK(response.readBits(1) == 0); // secondary header flag CHECK(response.readEnumerated(11) == 3); // application process ID - CHECK(response.readEnumerated(2) == 3); // sequence flags + CHECK(response.readEnumerated(2) == ECSS_SEQUENCE_FLAGS); // sequence flags CHECK(response.readBits(14) == 0); // packet sequence count CHECK(response.readEnum16() == ErrorHandler::UnknownAcceptanceError); // error code } +TEST_CASE("TM[1,3]", "[service][st01]") { + RequestVerificationService reqVerifService; + + Message receivedMessage = Message(1, 3, Message::TC, 3); + reqVerifService.successStartExecutionVerification(receivedMessage); + REQUIRE(ServiceTests::hasOneMessage()); + + Message response = ServiceTests::get(0); + // Checks for the data-members of the object response + CHECK(response.serviceType == 1); + CHECK(response.messageType == 3); + CHECK(response.packetType == Message::TM); // packet type + CHECK(response.applicationId == 0); + REQUIRE(response.dataSize == 4); // dataSize is the number of bytes of data array + // Check for the value that is stored in <<data>> array(data-member of object response) + CHECK(response.readEnumerated(3) == CCSDS_PACKET_VERSION); // packet version number + CHECK(response.readEnumerated(1) == Message::TC); // packet type + CHECK(response.readBits(1) == 0); // secondary header flag + CHECK(response.readEnumerated(11) == 3); // application process ID + CHECK(response.readEnumerated(2) == ECSS_SEQUENCE_FLAGS); // sequence flags + CHECK(response.readBits(14) == 0); // packet sequence count +} + +TEST_CASE("TM[1,4]", "[service][st01]") { + RequestVerificationService reqVerifService; + + Message receivedMessage = Message(1, 2, Message::TC, 3); + reqVerifService.failStartExecutionVerification(receivedMessage, + ErrorHandler::UnknownStartExecutionError); + REQUIRE(ServiceTests::hasOneMessage()); + + Message response = ServiceTests::get(0); + // Checks for the data-members of the object response + CHECK(response.serviceType == 1); + CHECK(response.messageType == 4); + CHECK(response.packetType == Message::TM); // packet type + CHECK(response.applicationId == 0); + REQUIRE(response.dataSize == 6); // dataSize is the number of bytes of data array + // Check for the value that is stored in <<data>> array(data-member of object response) + CHECK(response.readEnumerated(3) == CCSDS_PACKET_VERSION); // packet version number + CHECK(response.readEnumerated(1) == Message::TC); // packet type + CHECK(response.readBits(1) == 0); // secondary header flag + CHECK(response.readEnumerated(11) == 3); // application process ID + CHECK(response.readEnumerated(2) == ECSS_SEQUENCE_FLAGS); // sequence flags + CHECK(response.readBits(14) == 0); // packet sequence count + CHECK(response.readEnum16() == ErrorHandler::UnknownAcceptanceError); // error code +} + +TEST_CASE("TM[1,5]", "[service][st01]") { + RequestVerificationService reqVerifService; + + Message receivedMessage = Message(1, 5, Message::TC, 3); + reqVerifService.successProgressExecutionVerification(receivedMessage, + ErrorHandler::UnknownStepID); + REQUIRE(ServiceTests::hasOneMessage()); + + Message response = ServiceTests::get(0); + // Checks for the data-members of the object response + CHECK(response.serviceType == 1); + CHECK(response.messageType == 5); + CHECK(response.packetType == Message::TM); // packet type + CHECK(response.applicationId == 0); + REQUIRE(response.dataSize == 6); // dataSize is the number of bytes of data array + // Check for the value that is stored in <<data>> array(data-member of object response) + CHECK(response.readEnumerated(3) == CCSDS_PACKET_VERSION); // packet version number + CHECK(response.readEnumerated(1) == Message::TC); // packet type + CHECK(response.readBits(1) == 0); // secondary header flag + CHECK(response.readEnumerated(11) == 3); // application process ID + CHECK(response.readEnumerated(2) == ECSS_SEQUENCE_FLAGS); // sequence flags + CHECK(response.readBits(14) == 0); // packet sequence count + CHECK(response.readEnum16() == ErrorHandler::UnknownStepID); // step ID +} + +TEST_CASE("TM[1,6]", "[service][st01]") { + RequestVerificationService reqVerifService; + + Message receivedMessage = Message(1, 5, Message::TC, 3); + reqVerifService.failProgressExecutionVerification(receivedMessage, + ErrorHandler::UnknownProgressExecutionError, + ErrorHandler::UnknownStepID); + REQUIRE(ServiceTests::hasOneMessage()); + + Message response = ServiceTests::get(0); + // Checks for the data-members of the object response + CHECK(response.serviceType == 1); + CHECK(response.messageType == 6); + CHECK(response.packetType == Message::TM); // packet type + CHECK(response.applicationId == 0); + REQUIRE(response.dataSize == 8); // dataSize is the number of bytes of data array + // Check for the value that is stored in <<data>> array(data-member of object response) + CHECK(response.readEnumerated(3) == CCSDS_PACKET_VERSION); // packet version number + CHECK(response.readEnumerated(1) == Message::TC); // packet type + CHECK(response.readBits(1) == 0); // secondary header flag + CHECK(response.readEnumerated(11) == 3); // application process ID + CHECK(response.readEnumerated(2) == ECSS_SEQUENCE_FLAGS); // sequence flags + CHECK(response.readBits(14) == 0); // packet sequence count + CHECK(response.readEnum16() == ErrorHandler::UnknownStepID); // step ID + CHECK(response.readEnum16() == ErrorHandler::UnknownProgressExecutionError); +} + TEST_CASE("TM[1,7]", "[service][st01]") { RequestVerificationService reqVerifService; @@ -70,7 +170,7 @@ TEST_CASE("TM[1,7]", "[service][st01]") { CHECK(response.readEnumerated(1) == Message::TC); // packet type CHECK(response.readBits(1) == 0); // secondary header flag CHECK(response.readEnumerated(11) == 3); // application process ID - CHECK(response.readEnumerated(2) == 3); // sequence flags + CHECK(response.readEnumerated(2) == ECSS_SEQUENCE_FLAGS); // sequence flags CHECK(response.readBits(14) == 0); // packet sequence count } @@ -79,7 +179,7 @@ TEST_CASE("TM[1,8]", "[service][st01]") { Message receivedMessage = Message(1, 8, Message::TC, 3); reqVerifService.failCompletionExecutionVerification(receivedMessage, - ErrorHandler::UnknownCompletionExecutionError); + ErrorHandler::UnknownCompletionExecutionError); REQUIRE(ServiceTests::hasOneMessage()); Message response = ServiceTests::get(0); @@ -93,7 +193,7 @@ TEST_CASE("TM[1,8]", "[service][st01]") { CHECK(response.readEnumerated(1) == Message::TC); // packet type CHECK(response.readBits(1) == 0); // secondary header flag CHECK(response.readEnumerated(11) == 3); // application process ID - CHECK(response.readEnumerated(2) == 3); // sequence flags + CHECK(response.readEnumerated(2) == ECSS_SEQUENCE_FLAGS); // sequence flags CHECK(response.readBits(14) == 0); // packet sequence count CHECK(response.readEnum16() == ErrorHandler::UnknownCompletionExecutionError); // error code } @@ -117,7 +217,7 @@ TEST_CASE("TM[1,10]", "[service][st01]") { CHECK(response.readEnumerated(1) == Message::TC); // packet type CHECK(response.readBits(1) == 0); // secondary header flag CHECK(response.readEnumerated(11) == 3); // application process ID - CHECK(response.readEnumerated(2) == 3); // sequence flags + CHECK(response.readEnumerated(2) == ECSS_SEQUENCE_FLAGS); // sequence flags CHECK(response.readBits(14) == 0); // packet sequence count CHECK(response.readEnum16() == ErrorHandler::UnknownRoutingError); // error code } -- GitLab