diff --git a/test/MessageParser.cpp b/test/MessageParser.cpp index c312ff018fc6d390102436b4949af66bee365cb0..4639d76b875354bf4c7237006d46dc2718ebf5f4 100644 --- a/test/MessageParser.cpp +++ b/test/MessageParser.cpp @@ -7,522 +7,6 @@ #include "Services/ServiceTests.hpp" #include "ServicePool.hpp" -TEST_CASE("execute() for the TC packets", "[MessageParser][execute()]") { - SECTION("ST[19]") { - EventActionService& eventActionService = Services.eventAction; - - SECTION("Add event-action definitions TC[19,1]") { - char checkstring[256]; - Message message(19, 1, Message::TC, 0); - message.appendEnum16(0); - message.appendEnum16(2); - String<64> data = "123"; - message.appendString(data); - - MessageParser::execute(message); - CHECK(eventActionService.eventActionDefinitionArray[0].empty == 0); - CHECK(eventActionService.eventActionDefinitionArray[0].applicationId == 0); - CHECK(eventActionService.eventActionDefinitionArray[0].eventDefinitionID == 2); - CHECK(eventActionService.eventActionDefinitionArray[0].enabled == 1); - CHECK(message.readEnum16() == 0); - CHECK(message.readEnum16() == 2); - message.readString(checkstring, 3); - CHECK(eventActionService.eventActionDefinitionArray[0].request.compare(data) == 0); - - Message message2(19, 1, Message::TC, 0); - message2.appendEnum16(1); - message2.appendEnum16(3); - data = "456"; - message2.appendString(data); - - MessageParser::execute(message2); - CHECK(eventActionService.eventActionDefinitionArray[1].empty == 0); - CHECK(eventActionService.eventActionDefinitionArray[1].applicationId == 1); - CHECK(eventActionService.eventActionDefinitionArray[1].eventDefinitionID == 3); - CHECK(eventActionService.eventActionDefinitionArray[1].enabled == 1); - - CHECK(message2.readEnum16() == 1); - CHECK(message2.readEnum16() == 3); - CHECK(Services.eventAction.eventActionDefinitionArray[1].request.compare(data) == 0); - } - - SECTION("Delete event-action definitions TC[19,2]") { - EventActionService& eventActionService = Services.eventAction; - Services.reset(); - - Message message0(19, 1, Message::TC, 0); - message0.appendEnum16(1); - message0.appendEnum16(0); - String<64> data = "0"; - message0.appendString(data); - MessageParser::execute(message0); - Message message1(19, 1, Message::TC, 0); - message1.appendEnum16(1); - message1.appendEnum16(1); - data = "1"; - message1.appendString(data); - MessageParser::execute(message1); - Message message2(19, 1, Message::TC, 0); - message2.appendEnum16(1); - message2.appendEnum16(2); - data = "2"; - message2.appendString(data); - MessageParser::execute(message2); - Message message3(19, 1, Message::TC, 0); - message3.appendEnum16(1); - message3.appendEnum16(3); - data = "3"; - message3.appendString(data); - MessageParser::execute(message3); - Message message4(19, 1, Message::TC, 0); - message4.appendEnum16(1); - message4.appendEnum16(4); - data = "4"; - message4.appendString(data); - MessageParser::execute(message4); - - Message message(19, 2, Message::TC, 0); - message.appendUint16(2); - message.appendEnum16(1); - message.appendEnum16(4); - message.appendEnum16(1); - message.appendEnum16(2); - MessageParser::execute(message); - - CHECK(eventActionService.eventActionDefinitionArray[0].empty == 0); - CHECK(eventActionService.eventActionDefinitionArray[0].applicationId == 1); - CHECK(eventActionService.eventActionDefinitionArray[0].eventDefinitionID == 0); - CHECK(eventActionService.eventActionDefinitionArray[0].request.compare("0") == 0); - CHECK(eventActionService.eventActionDefinitionArray[0].enabled == 1); - - CHECK(eventActionService.eventActionDefinitionArray[1].empty == 0); - CHECK(eventActionService.eventActionDefinitionArray[1].applicationId == 1); - CHECK(eventActionService.eventActionDefinitionArray[1].eventDefinitionID == 1); - CHECK(eventActionService.eventActionDefinitionArray[1].request.compare("1") == 0); - CHECK(eventActionService.eventActionDefinitionArray[1].enabled == 1); - - CHECK(eventActionService.eventActionDefinitionArray[2].empty == 1); - CHECK(eventActionService.eventActionDefinitionArray[2].applicationId == 0); - CHECK(eventActionService.eventActionDefinitionArray[2].eventDefinitionID == 65535); - CHECK(eventActionService.eventActionDefinitionArray[2].request.compare("") == 0); - CHECK(eventActionService.eventActionDefinitionArray[2].enabled == 0); - - CHECK(eventActionService.eventActionDefinitionArray[3].empty == 0); - CHECK(eventActionService.eventActionDefinitionArray[3].applicationId == 1); - CHECK(eventActionService.eventActionDefinitionArray[3].eventDefinitionID == 3); - CHECK(eventActionService.eventActionDefinitionArray[3].request.compare("3") == 0); - CHECK(eventActionService.eventActionDefinitionArray[3].enabled == 1); - - CHECK(eventActionService.eventActionDefinitionArray[4].empty == 1); - CHECK(eventActionService.eventActionDefinitionArray[4].applicationId == 0); - CHECK(eventActionService.eventActionDefinitionArray[4].eventDefinitionID == 65535); - CHECK(eventActionService.eventActionDefinitionArray[4].request.compare("") == 0); - CHECK(eventActionService.eventActionDefinitionArray[4].enabled == 0); - - } - - SECTION("Delete all event-action definitions TC[19,3]") { - EventActionService& eventActionService = Services.eventAction; - Services.reset(); - - Message message0(19, 1, Message::TC, 0); - message0.appendEnum16(1); - message0.appendEnum16(0); - String<64> data = "0"; - message0.appendString(data); - MessageParser::execute(message0); - Message message1(19, 1, Message::TC, 0); - message1.appendEnum16(1); - message1.appendEnum16(1); - data = "1"; - message1.appendString(data); - MessageParser::execute(message1); - Message message2(19, 1, Message::TC, 0); - message2.appendEnum16(1); - message2.appendEnum16(2); - data = "2"; - message2.appendString(data); - MessageParser::execute(message2); - Message message3(19, 1, Message::TC, 0); - message3.appendEnum16(1); - message3.appendEnum16(3); - data = "3"; - message3.appendString(data); - MessageParser::execute(message3); - Message message4(19, 1, Message::TC, 0); - message4.appendEnum16(1); - message4.appendEnum16(4); - data = "4"; - message4.appendString(data); - MessageParser::execute(message4); - - Message message(19, 3, Message::TC, 0); - MessageParser::execute(message); - - for (int i = 0; i < 256; i++) { - CHECK(eventActionService.eventActionDefinitionArray[i].empty == 1); - CHECK(eventActionService.eventActionDefinitionArray[i].applicationId == 0); - CHECK(eventActionService.eventActionDefinitionArray[i].eventDefinitionID == 65535); - CHECK(eventActionService.eventActionDefinitionArray[i].request.compare("") == 0); - } - } - - SECTION("Enable event-action definitions TC[19,4]") { - EventActionService& eventActionService = Services.eventAction; - Services.reset(); - - Message message0(19, 1, Message::TC, 0); - message0.appendEnum16(1); - message0.appendEnum16(0); - String<64> data = "0"; - message0.appendString(data); - MessageParser::execute(message0); - Message message1(19, 1, Message::TC, 0); - message1.appendEnum16(1); - message1.appendEnum16(1); - data = "00"; - message1.appendString(data); - MessageParser::execute(message1); - Message message2(19, 4, Message::TC, 0); - message2.appendUint16(2); - message2.appendEnum16(1); - message2.appendEnum16(0); - message2.appendEnum16(1); - message2.appendEnum16(1); - MessageParser::execute(message2); - CHECK(eventActionService.eventActionDefinitionArray[0].enabled == 1); - CHECK(eventActionService.eventActionDefinitionArray[1].enabled == 1); - - } - - SECTION("Disable event-action definitions TC[19,5]") { - EventActionService& eventActionService = Services.eventAction; - Services.reset(); - - Message message0(19, 1, Message::TC, 0); - message0.appendEnum16(1); - message0.appendEnum16(0); - String<64> data = "0"; - message0.appendString(data); - MessageParser::execute(message0); - Message message1(19, 1, Message::TC, 0); - message1.appendEnum16(1); - message1.appendEnum16(0); - data = "00"; - message1.appendString(data); - MessageParser::execute(message1); - Message message2(19, 5, Message::TC, 0); - message2.appendUint16(1); - message2.appendEnum16(1); - message2.appendEnum16(0); - MessageParser::execute(message2); - CHECK(eventActionService.eventActionDefinitionArray[0].enabled == 0); - CHECK(eventActionService.eventActionDefinitionArray[1].enabled == 0); - } - - SECTION("Request event-action definition status TC[19,6]") { - EventActionService& eventActionService = Services.eventAction; - Services.reset(); - - Message message(19, 6, Message::TC, 0); - MessageParser::execute(message); - REQUIRE(ServiceTests::hasOneMessage()); - - Message report = ServiceTests::get(0); - CHECK(report.messageType == 7); - } - - SECTION("Event-action status report TM[19,7]") { - EventActionService& eventActionService = Services.eventAction; - Services.reset(); - ServiceTests::reset(); - - Message message0(19, 1, Message::TC, 0); - message0.appendEnum16(1); - message0.appendEnum16(0); - String<64> data = "0"; - message0.appendString(data); - MessageParser::execute(message0); - Message message1(19, 1, Message::TC, 0); - message1.appendEnum16(1); - message1.appendEnum16(2); - data = "2"; - message1.appendString(data); - MessageParser::execute(message1); - Message message2(19, 5, Message::TC, 0); - message2.appendUint16(1); - message2.appendEnum16(1); - message2.appendEnum16(0); - MessageParser::execute(message2); - eventActionService.eventActionStatusReport(); - REQUIRE(ServiceTests::hasOneMessage()); - - Message report = ServiceTests::get(0); - CHECK(report.readUint8() == 2); - CHECK(report.readEnum16() == 1); - CHECK(report.readEnum16() == 0); - CHECK(report.readUint8() == 0); - CHECK(report.readEnum16() == 1); - CHECK(report.readEnum16() == 2); - CHECK(report.readUint8() == 1); - } - - SECTION("Enable event-action function TC[19,8]") { - EventActionService& eventActionService = Services.eventAction; - Services.reset(); - - Message message(19, 8, Message::TC, 0); - MessageParser::execute(message); - CHECK(eventActionService.getEventActionFunctionStatus() == true); - } - - SECTION("Disable event-action function TC[19,9]") { - EventActionService& eventActionService = Services.eventAction; - Services.reset(); - - Message message(19, 9, Message::TC, 0); - MessageParser::execute(message); - CHECK(eventActionService.getEventActionFunctionStatus() == false); - } - } - - SECTION("ST[05]") { - SECTION("Enable Report Generation TC[5,5]") { - EventReportService& eventReportService = Services.eventReport; - Services.reset(); - ServiceTests::reset(); - - eventReportService.getStateOfEvents().reset(); - EventReportService::Event eventID[] = {EventReportService::AssertionFail, - EventReportService::LowSeverityUnknownEvent}; - Message message(5, 5, Message::TC, 1); - message.appendUint16(2); - message.appendEnum16(eventID[0]); - message.appendEnum16(eventID[1]); - MessageParser::execute(message); - CHECK(eventReportService.getStateOfEvents()[2] == 1); - CHECK(eventReportService.getStateOfEvents()[4] == 1); - } - - SECTION("Disable Report Generation TC[5,6]") { - EventReportService& eventReportService = Services.eventReport; - Services.reset(); - ServiceTests::reset(); - - EventReportService::Event eventID[] = {EventReportService::InformativeUnknownEvent, - EventReportService::MediumSeverityUnknownEvent}; - Message message(5, 6, Message::TC, 1); - message.appendUint16(2); - message.appendEnum16(eventID[0]); - message.appendEnum16(eventID[1]); - MessageParser::execute(message); - CHECK(eventReportService.getStateOfEvents()[0] == 0); - CHECK(eventReportService.getStateOfEvents()[5] == 0); - - const String<64> eventReportData = "HelloWorld"; - eventReportService.highSeverityAnomalyReport(EventReportService::InformativeUnknownEvent, - eventReportData); - CHECK(ServiceTests::hasOneMessage() == false); - } - - SECTION("Request list of disabled events TC[5,7]") { - EventReportService& eventReportService = Services.eventReport; - Services.reset(); - ServiceTests::reset(); - - - Message message(5, 7, Message::TC, 1); - MessageParser::execute(message); - REQUIRE(ServiceTests::hasOneMessage()); - - Message report = ServiceTests::get(0); - // Check if there is message of type 8 created - CHECK(report.messageType == 8); - } - } - - SECTION("ST[06]"){ - SECTION("TC[6,2]") { - ServiceTests::reset(); - - // Required test variables - char *pStr = static_cast<char *>(malloc(4)); - *pStr = 'T'; - *(pStr + 1) = 'G'; - *(pStr + 2) = '\0'; - uint8_t data[2] = {'h', 'R'}; - - Message receivedPacket = Message(6, 2, Message::TC, 1); - receivedPacket.appendEnum8(MemoryManagementService::MemoryID::EXTERNAL); // Memory ID - receivedPacket.appendUint16(2); // Iteration count - receivedPacket.appendUint64(reinterpret_cast<uint64_t >(pStr)); // Start address - receivedPacket.appendOctetString(String<2>(data)); - receivedPacket.appendBits(16, CRCHelper::calculateCRC(data, 2)); // Append CRC - receivedPacket.appendUint64(reinterpret_cast<uint64_t >(pStr + 2)); // Start address - receivedPacket.appendOctetString(String<1>(data)); // Append CRC - receivedPacket.appendBits(16, CRCHelper::calculateCRC(data, 1)); - MessageParser::execute(receivedPacket); - - CHECK(pStr[0] == 'h'); - CHECK(pStr[1] == 'R'); - CHECK(pStr[2] == 'h'); - } - - SECTION("TC[6,5]") { - ServiceTests::reset(); - - uint8_t testString_1[6] = "FStrT"; - uint8_t testString_2[8] = "SecStrT"; - uint8_t testString_3[2] = {5, 8}; - - uint8_t checkString[ECSS_MAX_STRING_SIZE]; - uint16_t readSize = 0, checksum = 0; - - Message receivedPacket = Message(6, 5, Message::TC, 1); - receivedPacket.appendEnum8(MemoryManagementService::MemoryID::EXTERNAL); // Memory ID - receivedPacket.appendUint16(3); // Iteration count (Equal to 3 test strings) - receivedPacket.appendUint64(reinterpret_cast<uint64_t >(testString_1)); // Start address - receivedPacket.appendUint16(sizeof(testString_1) / sizeof(testString_1[0])); // Data read length - - receivedPacket.appendUint64(reinterpret_cast<uint64_t >(testString_2)); - receivedPacket.appendUint16(sizeof(testString_2) / sizeof(testString_2[0])); - - receivedPacket.appendUint64(reinterpret_cast<uint64_t >(testString_3)); - receivedPacket.appendUint16(sizeof(testString_3) / sizeof(testString_3[0])); - MessageParser::execute(receivedPacket); - REQUIRE(ServiceTests::hasOneMessage()); - - Message response = ServiceTests::get(0); - CHECK(response.serviceType == 6); - CHECK(response.messageType == 6); - REQUIRE(response.dataSize == 55); - - CHECK(response.readEnum8() == MemoryManagementService::MemoryID::EXTERNAL); - CHECK(response.readUint16() == 3); - CHECK(response.readUint64() == reinterpret_cast<uint64_t >(testString_1)); - readSize = response.readOctetString(checkString); - checksum = response.readBits(16); - CHECK(readSize == sizeof(testString_1) / sizeof(testString_1[0])); - CHECK(checkString[0] == 'F'); - CHECK(checkString[1] == 'S'); - CHECK(checkString[2] == 't'); - CHECK(checkString[3] == 'r'); - CHECK(checkString[4] == 'T'); - CHECK(checkString[5] == '\0'); - CHECK(checksum == CRCHelper::calculateCRC(checkString, readSize)); - - CHECK(response.readUint64() == reinterpret_cast<uint64_t >(testString_2)); - readSize = response.readOctetString(checkString); - checksum = response.readBits(16); - CHECK(readSize == sizeof(testString_2) / sizeof(testString_2[0])); - CHECK(checkString[0] == 'S'); - CHECK(checkString[1] == 'e'); - CHECK(checkString[2] == 'c'); - CHECK(checkString[3] == 'S'); - CHECK(checkString[4] == 't'); - CHECK(checkString[5] == 'r'); - CHECK(checkString[6] == 'T'); - CHECK(checkString[7] == '\0'); - CHECK(checksum == CRCHelper::calculateCRC(checkString, readSize)); - - CHECK(response.readUint64() == reinterpret_cast<uint64_t >(testString_3)); - readSize = response.readOctetString(checkString); - checksum = response.readBits(16); - CHECK(readSize == sizeof(testString_3) / sizeof(testString_3[0])); - CHECK(checkString[0] == 5); - CHECK(checkString[1] == 8); - CHECK(checksum == CRCHelper::calculateCRC(checkString, readSize)); - } - - SECTION("TC[6,9]") { - ServiceTests::reset(); - - uint8_t testString_1[6] = "FStrT"; - uint8_t testString_2[8] = "SecStrT"; - uint16_t readSize = 0, checksum = 0; - - Message receivedPacket = Message(6, 9, Message::TC, 1); - receivedPacket.appendEnum8(MemoryManagementService::MemoryID::EXTERNAL); // Memory ID - receivedPacket.appendUint16(2); // Iteration count - receivedPacket.appendUint64(reinterpret_cast<uint64_t >(testString_1)); // Start address - receivedPacket.appendUint16(sizeof(testString_1) / sizeof(testString_1[0])); // Data read length - - receivedPacket.appendUint64(reinterpret_cast<uint64_t >(testString_2)); - receivedPacket.appendUint16(sizeof(testString_2) / sizeof(testString_2[0])); - MessageParser::execute(receivedPacket); - REQUIRE(ServiceTests::hasOneMessage()); - - Message response = ServiceTests::get(0); - CHECK(response.serviceType == 6); - CHECK(response.messageType == 10); - REQUIRE(response.dataSize == 27); - - CHECK(response.readEnum8() == MemoryManagementService::MemoryID::EXTERNAL); - CHECK(response.readUint16() == 2); - CHECK(response.readUint64() == reinterpret_cast<uint64_t >(testString_1)); - readSize = response.readUint16(); - checksum = response.readBits(16); - CHECK(readSize == sizeof(testString_1) / sizeof(testString_1[0])); - CHECK(checksum == CRCHelper::calculateCRC(testString_1, readSize)); - - CHECK(response.readUint64() == reinterpret_cast<uint64_t >(testString_2)); - readSize = response.readUint16(); - checksum = response.readBits(16); - CHECK(readSize == sizeof(testString_2) / sizeof(testString_2[0])); - CHECK(checksum == CRCHelper::calculateCRC(testString_2, readSize)); - } - } - - SECTION("ST[08]") { - FunctionManagementService & fms = Services.functionManagement; - void test(String<MAX_ARG_LENGTH> a); - SECTION("Malformed name") { - ServiceTests::reset(); - fms.include(String<FUNC_NAME_LENGTH>("test"), &test); - Message msg(8, 1, Message::TC, 1); - msg.appendString(String<FUNC_NAME_LENGTH>("t3st")); - MessageParser::execute(msg); - CHECK(ServiceTests::get(0).messageType == 4); - CHECK(ServiceTests::get(0).serviceType == 1); - } - - SECTION("Too long message") { - ServiceTests::reset(); - fms.include(String<FUNC_NAME_LENGTH>("test"), &test); - Message msg(8, 1, Message::TC, 1); - msg.appendString(String<FUNC_NAME_LENGTH>("test")); - msg.appendString(String<65> - ("eqrhjweghjhwqgthjkrghthjkdsfhgsdfhjsdjsfdhgkjdfsghfjdgkdfsgdfgsgd")); - MessageParser::execute(msg); - CHECK(ServiceTests::get(0).messageType == 4); - CHECK(ServiceTests::get(0).serviceType == 1); - } - } - - SECTION("ST[17]") { - MessageParser messageParser; - TestService& testService = Services.testService; - ServiceTests::reset(); - - Message message = Message(17, 1, Message::TC, 1); - MessageParser::execute(message); - Message response = ServiceTests::get(0); - CHECK(response.serviceType == 17); - CHECK(response.messageType == 2); - CHECK(response.packetType == Message::TM); - - message = Message(17, 3, Message::TC, 1); - message.appendUint16(7); - MessageParser::execute(message); - response = ServiceTests::get(1); - CHECK(response.serviceType == 17); - CHECK(response.messageType == 4); - CHECK(response.packetType == Message::TM); - } - - -} - TEST_CASE("TC message parsing", "[MessageParser]") { MessageParser messageParser; diff --git a/test/Services/EventActionService.cpp b/test/Services/EventActionService.cpp index b46e8267e7bf0c59dc8c1f714b7a0b1015b2ea84..3941e548429d1865ad88620271e822323898fab3 100644 --- a/test/Services/EventActionService.cpp +++ b/test/Services/EventActionService.cpp @@ -19,7 +19,7 @@ TEST_CASE("Add event-action definitions TC[19,1]", "[service][st19]") { String<64> data = "123"; message.appendString(data); - eventActionService.addEventActionDefinitions(message); + Service::execute(message); CHECK(eventActionService.eventActionDefinitionArray[0].empty == 0); CHECK(eventActionService.eventActionDefinitionArray[0].applicationId == 0); CHECK(eventActionService.eventActionDefinitionArray[0].eventDefinitionID == 2); @@ -35,7 +35,7 @@ TEST_CASE("Add event-action definitions TC[19,1]", "[service][st19]") { data = "456"; message2.appendString(data); - eventActionService.addEventActionDefinitions(message2); + Service::execute(message2); CHECK(eventActionService.eventActionDefinitionArray[1].empty == 0); CHECK(eventActionService.eventActionDefinitionArray[1].applicationId == 1); CHECK(eventActionService.eventActionDefinitionArray[1].eventDefinitionID == 3); @@ -52,31 +52,31 @@ TEST_CASE("Delete event-action definitions TC[19,2]", "[service][st19]") { message0.appendEnum16(0); String<64> data = "0"; message0.appendString(data); - eventActionService.addEventActionDefinitions(message0); + Service::execute(message0); Message message1(19, 1, Message::TC, 0); message1.appendEnum16(1); message1.appendEnum16(1); data = "1"; message1.appendString(data); - eventActionService.addEventActionDefinitions(message1); + Service::execute(message1); Message message2(19, 1, Message::TC, 0); message2.appendEnum16(1); message2.appendEnum16(2); data = "2"; message2.appendString(data); - eventActionService.addEventActionDefinitions(message2); + Service::execute(message2); Message message3(19, 1, Message::TC, 0); message3.appendEnum16(1); message3.appendEnum16(3); data = "3"; message3.appendString(data); - eventActionService.addEventActionDefinitions(message3); + Service::execute(message3); Message message4(19, 1, Message::TC, 0); message4.appendEnum16(1); message4.appendEnum16(4); data = "4"; message4.appendString(data); - eventActionService.addEventActionDefinitions(message4); + Service::execute(message4); Message message(19, 2, Message::TC, 0); message.appendUint16(2); @@ -84,7 +84,7 @@ TEST_CASE("Delete event-action definitions TC[19,2]", "[service][st19]") { message.appendEnum16(4); message.appendEnum16(1); message.appendEnum16(2); - eventActionService.deleteEventActionDefinitions(message); + Service::execute(message); CHECK(eventActionService.eventActionDefinitionArray[0].empty == 0); CHECK(eventActionService.eventActionDefinitionArray[0].applicationId == 1); @@ -124,31 +124,31 @@ TEST_CASE("Delete all event-action definitions TC[19,3]", "[service][st19]") { message0.appendEnum16(0); String<64> data = "0"; message0.appendString(data); - eventActionService.addEventActionDefinitions(message0); + Service::execute(message0); Message message1(19, 1, Message::TC, 0); message1.appendEnum16(1); message1.appendEnum16(1); data = "1"; message1.appendString(data); - eventActionService.addEventActionDefinitions(message1); + Service::execute(message1); Message message2(19, 1, Message::TC, 0); message2.appendEnum16(1); message2.appendEnum16(2); data = "2"; message2.appendString(data); - eventActionService.addEventActionDefinitions(message2); + Service::execute(message2); Message message3(19, 1, Message::TC, 0); message3.appendEnum16(1); message3.appendEnum16(3); data = "3"; message3.appendString(data); - eventActionService.addEventActionDefinitions(message3); + Service::execute(message3); Message message4(19, 1, Message::TC, 0); message4.appendEnum16(1); message4.appendEnum16(4); data = "4"; message4.appendString(data); - eventActionService.addEventActionDefinitions(message4); + Service::execute(message4); Message message(19, 3, Message::TC, 0); eventActionService.deleteAllEventActionDefinitions(message); @@ -167,20 +167,20 @@ TEST_CASE("Enable event-action definitions TC[19,4]", "[service][st19]") { message0.appendEnum16(0); String<64> data = "0"; message0.appendString(data); - eventActionService.addEventActionDefinitions(message0); + Service::execute(message0); Message message1(19, 1, Message::TC, 0); message1.appendEnum16(1); message1.appendEnum16(1); data = "00"; message1.appendString(data); - eventActionService.addEventActionDefinitions(message1); + Service::execute(message1); Message message2(19, 4, Message::TC, 0); message2.appendUint16(2); message2.appendEnum16(1); message2.appendEnum16(0); message2.appendEnum16(1); message2.appendEnum16(1); - eventActionService.enableEventActionDefinitions(message2); + Service::execute(message2); CHECK(eventActionService.eventActionDefinitionArray[0].enabled == 1); CHECK(eventActionService.eventActionDefinitionArray[1].enabled == 1); @@ -192,25 +192,25 @@ TEST_CASE("Disable event-action definitions TC[19,5]", "[service][st19]") { message0.appendEnum16(0); String<64> data = "0"; message0.appendString(data); - eventActionService.addEventActionDefinitions(message0); + Service::execute(message0); Message message1(19, 1, Message::TC, 0); message1.appendEnum16(1); message1.appendEnum16(0); data = "00"; message1.appendString(data); - eventActionService.addEventActionDefinitions(message1); + Service::execute(message1); Message message2(19, 5, Message::TC, 0); message2.appendUint16(1); message2.appendEnum16(1); message2.appendEnum16(0); - eventActionService.disableEventActionDefinitions(message2); + Service::execute(message2); CHECK(eventActionService.eventActionDefinitionArray[0].enabled == 0); CHECK(eventActionService.eventActionDefinitionArray[1].enabled == 0); } TEST_CASE("Request event-action definition status TC[19,6]", "[service][st19]") { Message message(19, 6, Message::TC, 0); - eventActionService.requestEventActionDefinitionStatus(message); + Service::execute(message); REQUIRE(ServiceTests::hasOneMessage()); Message report = ServiceTests::get(0); @@ -223,18 +223,18 @@ TEST_CASE("Event-action status report TM[19,7]", "[service][st19]") { message0.appendEnum16(0); String<64> data = "0"; message0.appendString(data); - eventActionService.addEventActionDefinitions(message0); + Service::execute(message0); Message message1(19, 1, Message::TC, 0); message1.appendEnum16(1); message1.appendEnum16(2); data = "2"; message1.appendString(data); - eventActionService.addEventActionDefinitions(message1); + Service::execute(message1); Message message2(19, 5, Message::TC, 0); message2.appendUint16(1); message2.appendEnum16(1); message2.appendEnum16(0); - eventActionService.disableEventActionDefinitions(message2); + Service::execute(message2); eventActionService.eventActionStatusReport(); REQUIRE(ServiceTests::hasOneMessage()); @@ -250,13 +250,13 @@ TEST_CASE("Event-action status report TM[19,7]", "[service][st19]") { TEST_CASE("Enable event-action function TC[19,8]", "[service][st19]") { Message message(19, 8, Message::TC, 0); - eventActionService.enableEventActionFunction(message); + Service::execute(message); CHECK(eventActionService.getEventActionFunctionStatus() == true); } TEST_CASE("Disable event-action function TC[19,9]", "[service][st19]") { Message message(19, 9, Message::TC, 0); - eventActionService.disableEventActionFunction(message); + Service::execute(message); CHECK(eventActionService.getEventActionFunctionStatus() == false); } diff --git a/test/Services/EventReportService.cpp b/test/Services/EventReportService.cpp index e34dbca9de8352bb4c7afd09ff4f874f9f922161..2e3cfee0e41d70f531e8ffcc6098cc6ae3831471 100644 --- a/test/Services/EventReportService.cpp +++ b/test/Services/EventReportService.cpp @@ -90,7 +90,7 @@ TEST_CASE("Enable Report Generation TC[5,5]", "[service][st05]") { message.appendUint16(2); message.appendEnum16(eventID[0]); message.appendEnum16(eventID[1]); - eventReportService.enableReportGeneration(message); + Service::execute(message); CHECK(eventReportService.getStateOfEvents()[2] == 1); CHECK(eventReportService.getStateOfEvents()[4] == 1); } @@ -102,7 +102,7 @@ TEST_CASE("Disable Report Generation TC[5,6]", "[service][st05]") { message.appendUint16(2); message.appendEnum16(eventID[0]); message.appendEnum16(eventID[1]); - eventReportService.disableReportGeneration(message); + Service::execute(message); CHECK(eventReportService.getStateOfEvents()[0] == 0); CHECK(eventReportService.getStateOfEvents()[5] == 0); @@ -114,7 +114,7 @@ TEST_CASE("Disable Report Generation TC[5,6]", "[service][st05]") { TEST_CASE("Request list of disabled events TC[5,7]", "[service][st05]") { Message message(5, 7, Message::TC, 1); - eventReportService.requestListOfDisabledEvents(message); + Service::execute(message); REQUIRE(ServiceTests::hasOneMessage()); Message report = ServiceTests::get(0); @@ -130,7 +130,7 @@ TEST_CASE("List of Disabled Events Report TM[5,8]", "[service][st05]") { message.appendEnum16(eventID[0]); message.appendEnum16(eventID[1]); // Disable 3rd and 6th - eventReportService.disableReportGeneration(message); + Service::execute(message); eventReportService.listOfDisabledEventsReport(); REQUIRE(ServiceTests::hasOneMessage()); @@ -151,7 +151,7 @@ TEST_CASE("List of observables 6.5.6", "[service][st05]") { Message message(5, 6, Message::TC, 1); message.appendUint16(1); message.appendEnum16(eventID[0]); - eventReportService.disableReportGeneration(message); + Service::execute(message); const String<64> eventReportData = "HelloWorld"; diff --git a/test/Services/FunctionManagementService.cpp b/test/Services/FunctionManagementService.cpp index 1cd99bf509a995fd08ce849965d0cd6d3f28a83c..1b8ca1c9e1026bada3b37913a2fefb6254e9f9d6 100644 --- a/test/Services/FunctionManagementService.cpp +++ b/test/Services/FunctionManagementService.cpp @@ -17,7 +17,7 @@ TEST_CASE("ST[08] - Call Tests") { fms.include(String<FUNC_NAME_LENGTH>("test"), &test); Message msg(8, 1, Message::TC, 1); msg.appendString(String<FUNC_NAME_LENGTH>("t3st")); - fms.call(msg); + Service::execute(msg); CHECK(ServiceTests::get(0).messageType == 4); CHECK(ServiceTests::get(0).serviceType == 1); } @@ -29,7 +29,7 @@ TEST_CASE("ST[08] - Call Tests") { msg.appendString(String<FUNC_NAME_LENGTH>("test")); msg.appendString(String<65> ("eqrhjweghjhwqgthjkrghthjkdsfhgsdfhjsdjsfdhgkjdfsghfjdgkdfsgdfgsgd")); - fms.call(msg); + Service::execute(msg); CHECK(ServiceTests::get(0).messageType == 4); CHECK(ServiceTests::get(0).serviceType == 1); } diff --git a/test/Services/MemoryManagementService.cpp b/test/Services/MemoryManagementService.cpp index 43ee44e83b66680b8cedaedb5e3017c8b46fa24e..9176a55d41f19416cee4fb3eb841671fe70f7af8 100644 --- a/test/Services/MemoryManagementService.cpp +++ b/test/Services/MemoryManagementService.cpp @@ -23,7 +23,7 @@ TEST_CASE("TC[6,2]", "[service][st06]") { receivedPacket.appendUint64(reinterpret_cast<uint64_t >(pStr + 2)); // Start address receivedPacket.appendOctetString(String<1>(data)); // Append CRC receivedPacket.appendBits(16, CRCHelper::calculateCRC(data, 1)); - memMangService.rawDataMemorySubservice.loadRawData(receivedPacket); + Service::execute(receivedPacket); CHECK(pStr[0] == 'h'); CHECK(pStr[1] == 'R'); @@ -50,7 +50,7 @@ TEST_CASE("TC[6,5]", "[service][st06]") { receivedPacket.appendUint64(reinterpret_cast<uint64_t >(testString_3)); receivedPacket.appendUint16(sizeof(testString_3) / sizeof(testString_3[0])); - memMangService.rawDataMemorySubservice.dumpRawData(receivedPacket); + Service::execute(receivedPacket); REQUIRE(ServiceTests::hasOneMessage()); Message response = ServiceTests::get(0); @@ -109,7 +109,7 @@ TEST_CASE("TC[6,9]", "[service][st06]") { receivedPacket.appendUint64(reinterpret_cast<uint64_t >(testString_2)); receivedPacket.appendUint16(sizeof(testString_2) / sizeof(testString_2[0])); - memMangService.rawDataMemorySubservice.checkRawData(receivedPacket); + Service::execute(receivedPacket); REQUIRE(ServiceTests::hasOneMessage()); Message response = ServiceTests::get(0); diff --git a/test/Services/ParameterService.cpp b/test/Services/ParameterService.cpp index 61b96d6c1cc1c93cdc0c013717f401cb01c4abec..8f971c04d1d5006e5f992186cbf7dc59ac8acb12 100644 --- a/test/Services/ParameterService.cpp +++ b/test/Services/ParameterService.cpp @@ -14,7 +14,7 @@ TEST_CASE("Parameter Report Subservice") { request.appendUint16(34672); // faulty ID in this context request.appendUint16(1); // valid - pserv.reportParameterIds(request); + Service::execute(request); report = ServiceTests::get(0); request.resetRead(); @@ -33,7 +33,7 @@ TEST_CASE("Parameter Report Subservice") { SECTION("Wrong Message Type Handling Test") { Message falseRequest(15, 3, Message::TM, 1); // a totally wrong message - pserv.reportParameterIds(falseRequest); + Service::execute(falseRequest); Message errorNotif = ServiceTests::get(0); CHECK(errorNotif.messageType == 4); // check for proper failed start of // execution notification @@ -68,19 +68,19 @@ TEST_CASE("Parameter Setting Subservice") { // Since every reporting and setting is called with the same (sometimes faulty) parameters, // and there are errors generated (as should be) it is important to catch and check for // them in order to preserve the integrity of the test. - pserv.reportParameterIds(reportRequest); + Service::execute(reportRequest); Message errorNotif1 = ServiceTests::get(0); CHECK(errorNotif1.messageType == 4); CHECK(errorNotif1.serviceType == 1); Message before = ServiceTests::get(1); - pserv.setParameterIds(setRequest); + Service::execute(setRequest); Message errorNotif2 = ServiceTests::get(2); CHECK(errorNotif2.messageType == 4); CHECK(errorNotif2.serviceType == 1); - pserv.reportParameterIds(reportRequest); + Service::execute(reportRequest); Message errorNotif3 = ServiceTests::get(3); CHECK(errorNotif3.messageType == 4); CHECK(errorNotif3.serviceType == 1); diff --git a/test/Services/TestService.cpp b/test/Services/TestService.cpp index 700c0b9df512d6a5e8aa2ae803762f1e07240294..6e5126dadcef9ccf666263a33f09933ed8225c3e 100644 --- a/test/Services/TestService.cpp +++ b/test/Services/TestService.cpp @@ -7,7 +7,7 @@ TestService & testService = Services.testService; TEST_CASE("TM[17,1]", "[service][st17]") { Message receivedPacket = Message(17, 1, Message::TC, 1); - testService.areYouAlive(receivedPacket); + Service::execute(receivedPacket); REQUIRE(ServiceTests::hasOneMessage()); Message response = ServiceTests::get(0); @@ -19,7 +19,7 @@ TEST_CASE("TM[17,1]", "[service][st17]") { TEST_CASE("TM[17,3]", "[service][st17]") { Message receivedPacket = Message(17, 3, Message::TC, 1); receivedPacket.appendEnum16(40); - testService.onBoardConnection(receivedPacket); + Service::execute(receivedPacket); REQUIRE(ServiceTests::hasOneMessage()); Message response = ServiceTests::get(0); diff --git a/test/Services/TimeBasedSchedulingService.cpp b/test/Services/TimeBasedSchedulingService.cpp index bfa878325c513b2a28dd5f1c840cd5d414a7c7ba..11ae0e8708db8872f7f87d5590a6614bd162292e 100644 --- a/test/Services/TimeBasedSchedulingService.cpp +++ b/test/Services/TimeBasedSchedulingService.cpp @@ -10,9 +10,10 @@ * structure, which has been declared as a friend in the TimeBasedSchedulingService class, so * that it can access the private members required for testing validation. */ -namespace unit_test { +namespace unit_test +{ struct Tester { - static bool executionFunctionStatus(TimeBasedSchedulingService &tmService) { + static bool executionFunctionStatus(TimeBasedSchedulingService& tmService) { return tmService.executionFunctionStatus; } @@ -20,24 +21,24 @@ namespace unit_test { * Read the private member scheduled activities and since it is a list and it can't be * accessed, get each element and save it to a vector. */ - static auto scheduledActivities(TimeBasedSchedulingService &tmService) { - std::vector<TimeBasedSchedulingService::ScheduledActivity*>listElements; + static auto scheduledActivities(TimeBasedSchedulingService& tmService) { + std::vector<TimeBasedSchedulingService::ScheduledActivity*> listElements; + + std::transform(tmService.scheduledActivities.begin(), tmService.scheduledActivities.end(), + std::back_inserter(listElements), [](auto& activity) -> auto { return &activity; }); - for (auto &element : tmService.scheduledActivities) { - listElements.push_back(&element); - } return listElements; // Return the list elements } }; -} +} // namespace unit_test Message testMessage1, testMessage2, testMessage3, testMessage4; MessageParser msgParser; -auto currentTime = static_cast<uint32_t >(time(nullptr)); // Get the current system time +auto currentTime = static_cast<uint32_t>(time(nullptr)); // Get the current system time bool messagesPopulated = false; // Indicate whether the test messages are initialized // Run this function to set the service up before moving on with further testing -auto activityInsertion(TimeBasedSchedulingService &timeService) { +auto activityInsertion(TimeBasedSchedulingService& timeService) { if (not messagesPopulated) { // Initialize the test messages testMessage1.serviceType = 6; @@ -90,26 +91,27 @@ auto activityInsertion(TimeBasedSchedulingService &timeService) { return unit_test::Tester::scheduledActivities(timeService); // Return the activities vector } +TimeBasedSchedulingService & timeBasedService = Services.timeBasedScheduling; TEST_CASE("TC[11,1] Enable Schedule Execution", "[service][st11]") { - TimeBasedSchedulingService timeService; + Services.reset(); Message receivedMessage(11, 1, Message::TC, 1); - timeService.enableScheduleExecution(receivedMessage); - CHECK(unit_test::Tester::executionFunctionStatus(timeService)); + Service::execute(receivedMessage);//timeService.enableScheduleExecution(receivedMessage); + CHECK(unit_test::Tester::executionFunctionStatus(timeBasedService)); } TEST_CASE("TC[11,2] Disable Schedule Execution", "[service][st11]") { + Services.reset(); Message receivedMessage(11, 2, Message::TC, 1); - TimeBasedSchedulingService timeService; - timeService.disableScheduleExecution(receivedMessage); - CHECK(not unit_test::Tester::executionFunctionStatus(timeService)); + Service::execute(receivedMessage);//timeService.disableScheduleExecution(receivedMessage); + CHECK(not unit_test::Tester::executionFunctionStatus(timeBasedService)); } TEST_CASE("TC[11,4] Activity Insertion", "[service][st11]") { - TimeBasedSchedulingService timeService; - auto scheduledActivities = activityInsertion(timeService); + Services.reset(); + auto scheduledActivities = activityInsertion(timeBasedService); REQUIRE(scheduledActivities.size() == 4); REQUIRE(scheduledActivities.at(0)->requestReleaseTime == currentTime + 1556435); @@ -126,60 +128,58 @@ TEST_CASE("TC[11,4] Activity Insertion", "[service][st11]") { receivedMessage.appendUint16(1); // Total number of requests receivedMessage.appendUint32(currentTime - 15564350); - timeService.insertActivities(receivedMessage); + Service::execute(receivedMessage);//timeService.insertActivities(receivedMessage); REQUIRE(ServiceTests::thrownError(ErrorHandler::InstructionExecutionStartError)); } } TEST_CASE("TC[11,15] Time shift all scheduled activities", "[service][st11]") { - TimeBasedSchedulingService timeService; + Services.reset(); Message receivedMessage(11, 15, Message::TC, 1); - auto scheduledActivities = activityInsertion(timeService); + auto scheduledActivities = activityInsertion(timeBasedService); const int32_t timeShift = 6789; SECTION("Positive Shift") { receivedMessage.appendSint32(-timeShift); CHECK(scheduledActivities.size() == 4); - timeService.timeShiftAllActivities(receivedMessage); + Service::execute(receivedMessage);//timeService.timeShiftAllActivities(receivedMessage); REQUIRE(scheduledActivities.at(0)->requestReleaseTime == currentTime + 1556435 - timeShift); REQUIRE(scheduledActivities.at(1)->requestReleaseTime == currentTime + 1726435 - timeShift); REQUIRE(scheduledActivities.at(2)->requestReleaseTime == currentTime + 1957232 - timeShift); - REQUIRE( - scheduledActivities.at(3)->requestReleaseTime == currentTime + 17248435 - timeShift); + REQUIRE(scheduledActivities.at(3)->requestReleaseTime == currentTime + 17248435 - timeShift); } SECTION("Negative Shift") { receivedMessage.appendSint32(timeShift); CHECK(scheduledActivities.size() == 4); - timeService.timeShiftAllActivities(receivedMessage); + Service::execute(receivedMessage);//timeService.timeShiftAllActivities(receivedMessage); REQUIRE(scheduledActivities.at(0)->requestReleaseTime == currentTime + 1556435 + timeShift); REQUIRE(scheduledActivities.at(1)->requestReleaseTime == currentTime + 1726435 + timeShift); REQUIRE(scheduledActivities.at(2)->requestReleaseTime == currentTime + 1957232 + timeShift); - REQUIRE( - scheduledActivities.at(3)->requestReleaseTime == currentTime + 17248435 + timeShift); + REQUIRE(scheduledActivities.at(3)->requestReleaseTime == currentTime + 17248435 + timeShift); } SECTION("Error throwing") { receivedMessage.appendSint32(-6789000); // Provide a huge time shift to cause an error CHECK(scheduledActivities.size() == 4); - timeService.timeShiftAllActivities(receivedMessage); + Service::execute(receivedMessage);//timeService.timeShiftAllActivities(receivedMessage); REQUIRE(ServiceTests::thrownError(ErrorHandler::SubServiceExecutionStartError)); } } TEST_CASE("TC[11,7] Time shift activities by ID", "[service][st11]") { - TimeBasedSchedulingService timeService; + Services.reset(); Message receivedMessage(11, 7, Message::TC, 1); - auto scheduledActivities = activityInsertion(timeService); + auto scheduledActivities = activityInsertion(timeBasedService); scheduledActivities.at(2)->requestID.applicationID = 4; // Append a dummy application ID CHECK(scheduledActivities.size() == 4); @@ -192,8 +192,8 @@ TEST_CASE("TC[11,7] Time shift activities by ID", "[service][st11]") { receivedMessage.appendUint16(testMessage2.applicationId); // todo: Remove the dummy app ID receivedMessage.appendUint16(0); // todo: Remove the dummy sequence count - timeService.timeShiftActivitiesByID(receivedMessage); - scheduledActivities = unit_test::Tester::scheduledActivities(timeService); + timeBasedService.timeShiftActivitiesByID(receivedMessage); + scheduledActivities = unit_test::Tester::scheduledActivities(timeBasedService); // Make sure the new value is inserted sorted REQUIRE(scheduledActivities.at(3)->requestReleaseTime == currentTime + 1957232 + timeShift); @@ -207,8 +207,8 @@ TEST_CASE("TC[11,7] Time shift activities by ID", "[service][st11]") { receivedMessage.appendUint16(testMessage2.applicationId); // todo: Remove the dummy app ID receivedMessage.appendUint16(0); // todo: Remove the dummy sequence count - timeService.timeShiftActivitiesByID(receivedMessage); - scheduledActivities = unit_test::Tester::scheduledActivities(timeService); + timeBasedService.timeShiftActivitiesByID(receivedMessage); + scheduledActivities = unit_test::Tester::scheduledActivities(timeBasedService); // Output should be sorted REQUIRE(scheduledActivities.at(1)->requestReleaseTime == currentTime + 1957232 - 250000); @@ -222,7 +222,7 @@ TEST_CASE("TC[11,7] Time shift activities by ID", "[service][st11]") { receivedMessage.appendUint16(80); // Dummy application ID to throw an error receivedMessage.appendUint16(0); // Dummy sequence count - timeService.timeShiftActivitiesByID(receivedMessage); + timeBasedService.timeShiftActivitiesByID(receivedMessage); REQUIRE(ServiceTests::thrownError(ErrorHandler::InstructionExecutionStartError)); } @@ -233,16 +233,16 @@ TEST_CASE("TC[11,7] Time shift activities by ID", "[service][st11]") { receivedMessage.appendUint16(testMessage2.applicationId); // todo: Remove the dummy app ID receivedMessage.appendUint16(0); // todo: Remove the dummy sequence count - timeService.timeShiftActivitiesByID(receivedMessage); + timeBasedService.timeShiftActivitiesByID(receivedMessage); REQUIRE(ServiceTests::thrownError(ErrorHandler::InstructionExecutionStartError)); } } TEST_CASE("TC[11,9] Detail report scheduled activities by ID", "[service][st11]") { - TimeBasedSchedulingService timeService; + Services.reset(); Message receivedMessage(11, 9, Message::TC, 1); - auto scheduledActivities = activityInsertion(timeService); + auto scheduledActivities = activityInsertion(timeBasedService); SECTION("Detailed activity report") { // Verify that everything is in place @@ -259,7 +259,7 @@ TEST_CASE("TC[11,9] Detail report scheduled activities by ID", "[service][st11]" receivedMessage.appendUint16(testMessage1.applicationId); // todo: Remove the dummy app ID receivedMessage.appendUint16(0); // todo: Remove the dummy sequence count - timeService.detailReportActivitiesByID(receivedMessage); + timeBasedService.detailReportActivitiesByID(receivedMessage); REQUIRE(ServiceTests::hasOneMessage()); Message response = ServiceTests::get(0); @@ -292,16 +292,16 @@ TEST_CASE("TC[11,9] Detail report scheduled activities by ID", "[service][st11]" receivedMessage.appendUint16(80); // Dummy application ID to throw an error receivedMessage.appendUint16(0); // Dummy sequence count - timeService.detailReportActivitiesByID(receivedMessage); + timeBasedService.detailReportActivitiesByID(receivedMessage); REQUIRE(ServiceTests::thrownError(ErrorHandler::InstructionExecutionStartError)); } } TEST_CASE("TC[11,12] Summary report scheduled activities by ID", "[service][st11]") { - TimeBasedSchedulingService timeService; + Services.reset(); Message receivedMessage(11, 12, Message::TC, 1); - auto scheduledActivities = activityInsertion(timeService); + auto scheduledActivities = activityInsertion(timeBasedService); SECTION("Summary report") { // Verify that everything is in place @@ -318,7 +318,7 @@ TEST_CASE("TC[11,12] Summary report scheduled activities by ID", "[service][st11 receivedMessage.appendUint16(testMessage1.applicationId); // todo: Remove the dummy app ID receivedMessage.appendUint16(0); // todo: Remove the dummy sequence count - timeService.summaryReportActivitiesByID(receivedMessage); + timeBasedService.summaryReportActivitiesByID(receivedMessage); REQUIRE(ServiceTests::hasOneMessage()); Message response = ServiceTests::get(0); @@ -335,17 +335,13 @@ TEST_CASE("TC[11,12] Summary report scheduled activities by ID", "[service][st11 if (i == 0) { REQUIRE(receivedReleaseTime == scheduledActivities.at(0)->requestReleaseTime); REQUIRE(receivedSourceID == scheduledActivities.at(0)->requestID.sourceID); - REQUIRE( - receivedApplicationID == scheduledActivities.at(0)->requestID.applicationID); - REQUIRE( - receivedSequenceCount == scheduledActivities.at(0)->requestID.sequenceCount); + REQUIRE(receivedApplicationID == scheduledActivities.at(0)->requestID.applicationID); + REQUIRE(receivedSequenceCount == scheduledActivities.at(0)->requestID.sequenceCount); } else { REQUIRE(receivedReleaseTime == scheduledActivities.at(2)->requestReleaseTime); REQUIRE(receivedSourceID == scheduledActivities.at(2)->requestID.sourceID); - REQUIRE( - receivedApplicationID == scheduledActivities.at(2)->requestID.applicationID); - REQUIRE( - receivedSequenceCount == scheduledActivities.at(2)->requestID.sequenceCount); + REQUIRE(receivedApplicationID == scheduledActivities.at(2)->requestID.applicationID); + REQUIRE(receivedSequenceCount == scheduledActivities.at(2)->requestID.sequenceCount); } } } @@ -356,17 +352,17 @@ TEST_CASE("TC[11,12] Summary report scheduled activities by ID", "[service][st11 receivedMessage.appendUint16(80); // Dummy application ID to throw an error receivedMessage.appendUint16(0); // Dummy sequence count - timeService.summaryReportActivitiesByID(receivedMessage); + timeBasedService.summaryReportActivitiesByID(receivedMessage); REQUIRE(ServiceTests::thrownError(ErrorHandler::InstructionExecutionStartError)); } } TEST_CASE("TC[11,16] Detail report all scheduled activities", "[service][st11]") { - TimeBasedSchedulingService timeService; - auto scheduledActivities = activityInsertion(timeService); + Services.reset(); + auto scheduledActivities = activityInsertion(timeBasedService); Message receivedMessage(11, 16, Message::TC, 1); - timeService.detailReportAllActivities(receivedMessage); + timeBasedService.detailReportAllActivities(receivedMessage); REQUIRE(ServiceTests::hasOneMessage()); Message response = ServiceTests::get(0); @@ -390,10 +386,10 @@ TEST_CASE("TC[11,16] Detail report all scheduled activities", "[service][st11]") } TEST_CASE("TC[11,5] Activity deletion by ID", "[service][st11]") { - TimeBasedSchedulingService timeService; + Services.reset(); Message receivedMessage(11, 5, Message::TC, 1); - auto scheduledActivities = activityInsertion(timeService); + auto scheduledActivities = activityInsertion(timeBasedService); SECTION("Activity deletion") { // Verify that everything is in place @@ -406,8 +402,8 @@ TEST_CASE("TC[11,5] Activity deletion by ID", "[service][st11]") { receivedMessage.appendUint16(0); // todo: Remove the dummy sequence count CHECK(scheduledActivities.size() == 4); - timeService.deleteActivitiesByID(receivedMessage); - scheduledActivities = unit_test::Tester::scheduledActivities(timeService); + timeBasedService.deleteActivitiesByID(receivedMessage); + scheduledActivities = unit_test::Tester::scheduledActivities(timeBasedService); REQUIRE(scheduledActivities.size() == 3); REQUIRE(scheduledActivities.at(2)->requestReleaseTime == currentTime + 17248435); @@ -420,20 +416,20 @@ TEST_CASE("TC[11,5] Activity deletion by ID", "[service][st11]") { receivedMessage.appendUint16(80); // Dummy application ID to throw an error receivedMessage.appendUint16(0); // Dummy sequence count - timeService.deleteActivitiesByID(receivedMessage); + timeBasedService.deleteActivitiesByID(receivedMessage); REQUIRE(ServiceTests::thrownError(ErrorHandler::InstructionExecutionStartError)); } } TEST_CASE("TC[11,3] Reset schedule", "[service][st11]") { - TimeBasedSchedulingService timeService; - auto scheduledActivities = activityInsertion(timeService); + Services.reset(); + activityInsertion(timeBasedService); Message receivedMessage(11, 3, Message::TC, 1); - timeService.resetSchedule(receivedMessage); - scheduledActivities = unit_test::Tester::scheduledActivities(timeService); // Get the new list + timeBasedService.resetSchedule(receivedMessage); + auto scheduledActivities = unit_test::Tester::scheduledActivities(timeBasedService); // Get the new list REQUIRE(scheduledActivities.empty()); - REQUIRE(not unit_test::Tester::executionFunctionStatus(timeService)); + REQUIRE(not unit_test::Tester::executionFunctionStatus(timeBasedService)); }