summaryrefslogtreecommitdiff
path: root/src/components/protocol_handler/test/protocol_header_validator_test.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/components/protocol_handler/test/protocol_header_validator_test.cc')
-rw-r--r--src/components/protocol_handler/test/protocol_header_validator_test.cc249
1 files changed, 187 insertions, 62 deletions
diff --git a/src/components/protocol_handler/test/protocol_header_validator_test.cc b/src/components/protocol_handler/test/protocol_header_validator_test.cc
index 0f38ae98ab..40b0f34846 100644
--- a/src/components/protocol_handler/test/protocol_header_validator_test.cc
+++ b/src/components/protocol_handler/test/protocol_header_validator_test.cc
@@ -38,7 +38,7 @@
#include "protocol_handler/protocol_packet.h"
namespace {
- const size_t MAXIMUM_FRAME_DATA_V3_SIZE = 131072;
+const size_t MAXIMUM_FRAME_DATA_V3_SIZE = 131072;
}
namespace test {
@@ -67,28 +67,37 @@ TEST_F(ProtocolHeaderValidatorTest, MaxPayloadSizeSetGet) {
}
}
-// Protocol version shall be from 1 to 3
+// Protocol version shall be from 1 to 4
TEST_F(ProtocolHeaderValidatorTest, Malformed_Version) {
std::vector<uint8_t> malformed_versions;
malformed_versions.push_back(0);
- for (uint8_t version = PROTOCOL_VERSION_4 + 1; version <= PROTOCOL_VERSION_MAX; ++version) {
+ for (uint8_t version = PROTOCOL_VERSION_4 + 1;
+ version <= PROTOCOL_VERSION_MAX;
+ ++version) {
malformed_versions.push_back(version);
}
for (size_t i = 0; i < malformed_versions.size(); ++i) {
const ProtocolPacket::ProtocolHeader malformed_message_header(
- malformed_versions[i], PROTECTION_OFF, FRAME_TYPE_CONTROL, kControl,
- FRAME_DATA_HEART_BEAT, some_session_id, 0u, some_message_id);
+ malformed_versions[i],
+ PROTECTION_OFF,
+ FRAME_TYPE_CONTROL,
+ kControl,
+ FRAME_DATA_HEART_BEAT,
+ some_session_id,
+ 0u,
+ some_message_id);
EXPECT_EQ(RESULT_FAIL, header_validator.validate(malformed_message_header))
<< "Malformed version " << malformed_message_header.version;
-
}
}
-// ServiceType shall be equal 0x0 (Control), 0x07 (RPC), 0x0A (PCM), 0x0B (Video), 0x0F (Bulk)
+// ServiceType shall be equal 0x0 (Control), 0x07 (RPC), 0x0A (PCM), 0x0B
+// (Video), 0x0F (Bulk)
TEST_F(ProtocolHeaderValidatorTest, Malformed_ServiceType) {
std::vector<uint8_t> malformed_serv_types;
- for (uint8_t service_type = kControl + 1; service_type < kRpc; ++service_type) {
+ for (uint8_t service_type = kControl + 1; service_type < kRpc;
+ ++service_type) {
malformed_serv_types.push_back(service_type);
}
malformed_serv_types.push_back(0x08);
@@ -99,58 +108,89 @@ TEST_F(ProtocolHeaderValidatorTest, Malformed_ServiceType) {
for (size_t i = 0; i < malformed_serv_types.size(); ++i) {
const ProtocolPacket::ProtocolHeader malformed_message_header(
- PROTOCOL_VERSION_3, PROTECTION_OFF, FRAME_TYPE_CONTROL, malformed_serv_types[i],
- FRAME_DATA_HEART_BEAT, some_session_id, 0u, some_message_id);
+ PROTOCOL_VERSION_3,
+ PROTECTION_OFF,
+ FRAME_TYPE_CONTROL,
+ malformed_serv_types[i],
+ FRAME_DATA_HEART_BEAT,
+ some_session_id,
+ 0u,
+ some_message_id);
EXPECT_EQ(RESULT_FAIL, header_validator.validate(malformed_message_header))
<< "Malformed service type " << malformed_message_header.serviceType;
}
}
-// Frame type shall be 0x00 (Control), 0x01 (Single), 0x02 (First), 0x03 (Consecutive)
+// Frame type shall be 0x00 (Control), 0x01 (Single), 0x02 (First), 0x03
+// (Consecutive)
TEST_F(ProtocolHeaderValidatorTest, Malformed_FrameType) {
std::vector<uint8_t> malformed_frame_types;
for (uint8_t frame_type = FRAME_TYPE_CONSECUTIVE + 1;
- frame_type <= FRAME_TYPE_MAX_VALUE; ++frame_type) {
+ frame_type <= FRAME_TYPE_MAX_VALUE;
+ ++frame_type) {
malformed_frame_types.push_back(frame_type);
}
for (size_t i = 0; i < malformed_frame_types.size(); ++i) {
const ProtocolPacket::ProtocolHeader malformed_message_header(
- PROTOCOL_VERSION_3, PROTECTION_OFF, malformed_frame_types[i],
- kControl, FRAME_DATA_HEART_BEAT, some_session_id, 0u, some_message_id);
+ PROTOCOL_VERSION_3,
+ PROTECTION_OFF,
+ malformed_frame_types[i],
+ kControl,
+ FRAME_DATA_HEART_BEAT,
+ some_session_id,
+ 0u,
+ some_message_id);
EXPECT_EQ(RESULT_FAIL, header_validator.validate(malformed_message_header))
<< "Malformed frame type " << malformed_message_header.frameType;
}
}
-// For Control frames Frame info value shall be from 0x00 to 0x06 or 0xFE(Data Ack), 0xFF(HB Ack)
+// For Control frames Frame info value shall be from 0x00 to 0x06 or 0xFE(Data
+// Ack), 0xFF(HB Ack)
TEST_F(ProtocolHeaderValidatorTest, Malformed_ControlFrame) {
std::vector<uint8_t> malformed_frame_data;
for (uint8_t frame_type = FRAME_DATA_END_SERVICE_NACK + 1;
- frame_type < FRAME_DATA_SERVICE_DATA_ACK; ++frame_type) {
+ frame_type < FRAME_DATA_SERVICE_DATA_ACK;
+ ++frame_type) {
malformed_frame_data.push_back(frame_type);
}
for (size_t i = 0; i < malformed_frame_data.size(); ++i) {
const ProtocolPacket::ProtocolHeader malformed_message_header(
- PROTOCOL_VERSION_3, PROTECTION_OFF, FRAME_TYPE_CONTROL, kControl,
- malformed_frame_data[i], some_session_id, 0u, some_message_id);
+ PROTOCOL_VERSION_3,
+ PROTECTION_OFF,
+ FRAME_TYPE_CONTROL,
+ kControl,
+ malformed_frame_data[i],
+ some_session_id,
+ 0u,
+ some_message_id);
EXPECT_EQ(RESULT_FAIL, header_validator.validate(malformed_message_header))
- << "Malformed Control frame with data " << malformed_message_header.frameData;
+ << "Malformed Control frame with data "
+ << malformed_message_header.frameData;
}
}
// For Single and First frames Frame info value shall be equal 0x00
TEST_F(ProtocolHeaderValidatorTest, Malformed_SingleFrame) {
std::vector<uint8_t> malformed_frame_data;
for (uint8_t frame_type = FRAME_DATA_SINGLE + 1;
- frame_type < FRAME_DATA_MAX_VALUE; ++frame_type) {
+ frame_type < FRAME_DATA_MAX_VALUE;
+ ++frame_type) {
malformed_frame_data.push_back(frame_type);
}
malformed_frame_data.push_back(FRAME_DATA_MAX_VALUE);
for (size_t i = 0; i < malformed_frame_data.size(); ++i) {
const ProtocolPacket::ProtocolHeader malformed_message_header(
- PROTOCOL_VERSION_3, PROTECTION_OFF, FRAME_TYPE_SINGLE, kControl,
- malformed_frame_data[i], some_session_id, 0u, some_message_id);
+ PROTOCOL_VERSION_3,
+ PROTECTION_OFF,
+ FRAME_TYPE_SINGLE,
+ kControl,
+ malformed_frame_data[i],
+ some_session_id,
+ 0u,
+ some_message_id);
EXPECT_EQ(RESULT_FAIL, header_validator.validate(malformed_message_header))
- << "Malformed Single frame with data " << malformed_message_header.frameData;
+ << "Malformed Single frame with data "
+ << malformed_message_header.frameData;
// All malformed messages shall be ignored
}
}
@@ -159,40 +199,68 @@ TEST_F(ProtocolHeaderValidatorTest, Malformed_SingleFrame) {
TEST_F(ProtocolHeaderValidatorTest, Malformed_FirstFrame) {
std::vector<uint8_t> malformed_frame_data;
for (uint8_t frame_type = FRAME_DATA_FIRST + 1;
- frame_type < FRAME_DATA_MAX_VALUE; ++frame_type) {
+ frame_type < FRAME_DATA_MAX_VALUE;
+ ++frame_type) {
malformed_frame_data.push_back(frame_type);
}
malformed_frame_data.push_back(FRAME_DATA_MAX_VALUE);
for (size_t i = 0; i < malformed_frame_data.size(); ++i) {
const ProtocolPacket::ProtocolHeader malformed_message_header(
- PROTOCOL_VERSION_3, PROTECTION_OFF, FRAME_TYPE_SINGLE, kControl,
- malformed_frame_data[i], some_session_id, 0u, some_message_id);
+ PROTOCOL_VERSION_3,
+ PROTECTION_OFF,
+ FRAME_TYPE_SINGLE,
+ kControl,
+ malformed_frame_data[i],
+ some_session_id,
+ 0u,
+ some_message_id);
EXPECT_EQ(RESULT_FAIL, header_validator.validate(malformed_message_header))
- << "Malformed First frame with data " << malformed_message_header.frameData;
+ << "Malformed First frame with data "
+ << malformed_message_header.frameData;
}
}
TEST_F(ProtocolHeaderValidatorTest, Malformed_ControlFrame_EmptyPayload) {
const size_t payload_size = 0u;
const ProtocolPacket::ProtocolHeader control_message_header(
- PROTOCOL_VERSION_3, PROTECTION_ON, FRAME_TYPE_CONTROL, kControl,
- FRAME_DATA_HEART_BEAT, some_session_id, payload_size, some_message_id);
- const ProtocolPacket::ProtocolHeader single_message_header(
- PROTOCOL_VERSION_3, PROTECTION_ON, FRAME_TYPE_SINGLE, kControl,
- FRAME_DATA_SINGLE, some_session_id, payload_size, some_message_id);
+ PROTOCOL_VERSION_3,
+ PROTECTION_ON,
+ FRAME_TYPE_CONTROL,
+ kControl,
+ FRAME_DATA_HEART_BEAT,
+ some_session_id,
+ payload_size,
+ some_message_id);
+ const ProtocolPacket::ProtocolHeader single_message_header(PROTOCOL_VERSION_3,
+ PROTECTION_ON,
+ FRAME_TYPE_SINGLE,
+ kControl,
+ FRAME_DATA_SINGLE,
+ some_session_id,
+ payload_size,
+ some_message_id);
const ProtocolPacket::ProtocolHeader consecutive_message_header(
- PROTOCOL_VERSION_3, PROTECTION_ON, FRAME_TYPE_CONSECUTIVE, kControl,
- FRAME_DATA_LAST_CONSECUTIVE, some_session_id, payload_size, some_message_id);
+ PROTOCOL_VERSION_3,
+ PROTECTION_ON,
+ FRAME_TYPE_CONSECUTIVE,
+ kControl,
+ FRAME_DATA_LAST_CONSECUTIVE,
+ some_session_id,
+ payload_size,
+ some_message_id);
- for (size_t max_payload_size = 0; max_payload_size < MAXIMUM_FRAME_DATA_V3_SIZE * 2;
+ for (size_t max_payload_size = 0;
+ max_payload_size < MAXIMUM_FRAME_DATA_V3_SIZE * 2;
++max_payload_size) {
- header_validator.set_max_payload_size(MAXIMUM_FRAME_DATA_V3_SIZE + max_payload_size);
+ header_validator.set_max_payload_size(MAXIMUM_FRAME_DATA_V3_SIZE +
+ max_payload_size);
// For Control frames Data Size value could be zero
EXPECT_EQ(RESULT_OK, header_validator.validate(control_message_header));
// For Control frames Data Size value could be zero
EXPECT_EQ(RESULT_FAIL, header_validator.validate(single_message_header));
- EXPECT_EQ(RESULT_FAIL, header_validator.validate(consecutive_message_header));
+ EXPECT_EQ(RESULT_FAIL,
+ header_validator.validate(consecutive_message_header));
}
}
@@ -200,14 +268,31 @@ TEST_F(ProtocolHeaderValidatorTest, Malformed_ControlFrame_EmptyPayload) {
TEST_F(ProtocolHeaderValidatorTest, Malformed_Payload_V2) {
const size_t payload_size = MAXIMUM_FRAME_DATA_V2_SIZE;
const ProtocolPacket::ProtocolHeader control_message_header(
- PROTOCOL_VERSION_2, PROTECTION_ON, FRAME_TYPE_CONTROL, kControl,
- FRAME_DATA_HEART_BEAT, some_session_id, payload_size, some_message_id);
- const ProtocolPacket::ProtocolHeader single_message_header(
- PROTOCOL_VERSION_2, PROTECTION_ON, FRAME_TYPE_SINGLE, kControl,
- FRAME_DATA_SINGLE, some_session_id, payload_size, some_message_id);
+ PROTOCOL_VERSION_2,
+ PROTECTION_ON,
+ FRAME_TYPE_CONTROL,
+ kControl,
+ FRAME_DATA_HEART_BEAT,
+ some_session_id,
+ payload_size,
+ some_message_id);
+ const ProtocolPacket::ProtocolHeader single_message_header(PROTOCOL_VERSION_2,
+ PROTECTION_ON,
+ FRAME_TYPE_SINGLE,
+ kControl,
+ FRAME_DATA_SINGLE,
+ some_session_id,
+ payload_size,
+ some_message_id);
const ProtocolPacket::ProtocolHeader consecutive_message_header(
- PROTOCOL_VERSION_2, PROTECTION_ON, FRAME_TYPE_CONSECUTIVE, kControl,
- FRAME_DATA_LAST_CONSECUTIVE, some_session_id, payload_size, some_message_id);
+ PROTOCOL_VERSION_2,
+ PROTECTION_ON,
+ FRAME_TYPE_CONSECUTIVE,
+ kControl,
+ FRAME_DATA_LAST_CONSECUTIVE,
+ some_session_id,
+ payload_size,
+ some_message_id);
for (size_t max_payload_size = 0;
max_payload_size < MAXIMUM_FRAME_DATA_V3_SIZE * 2;
@@ -222,14 +307,31 @@ TEST_F(ProtocolHeaderValidatorTest, Malformed_Payload_V2) {
TEST_F(ProtocolHeaderValidatorTest, Malformed_Payload_V3) {
const size_t payload_size = MAXIMUM_FRAME_DATA_V3_SIZE;
const ProtocolPacket::ProtocolHeader control_message_header(
- PROTOCOL_VERSION_3, PROTECTION_ON, FRAME_TYPE_CONTROL, kControl,
- FRAME_DATA_HEART_BEAT, some_session_id, payload_size, some_message_id);
- const ProtocolPacket::ProtocolHeader single_message_header(
- PROTOCOL_VERSION_3, PROTECTION_ON, FRAME_TYPE_SINGLE, kControl,
- FRAME_DATA_SINGLE, some_session_id, payload_size, some_message_id);
+ PROTOCOL_VERSION_3,
+ PROTECTION_ON,
+ FRAME_TYPE_CONTROL,
+ kControl,
+ FRAME_DATA_HEART_BEAT,
+ some_session_id,
+ payload_size,
+ some_message_id);
+ const ProtocolPacket::ProtocolHeader single_message_header(PROTOCOL_VERSION_3,
+ PROTECTION_ON,
+ FRAME_TYPE_SINGLE,
+ kControl,
+ FRAME_DATA_SINGLE,
+ some_session_id,
+ payload_size,
+ some_message_id);
const ProtocolPacket::ProtocolHeader consecutive_message_header(
- PROTOCOL_VERSION_3, PROTECTION_ON, FRAME_TYPE_CONSECUTIVE, kControl,
- FRAME_DATA_LAST_CONSECUTIVE, some_session_id, payload_size, some_message_id);
+ PROTOCOL_VERSION_3,
+ PROTECTION_ON,
+ FRAME_TYPE_CONSECUTIVE,
+ kControl,
+ FRAME_DATA_LAST_CONSECUTIVE,
+ some_session_id,
+ payload_size,
+ some_message_id);
for (size_t max_payload_size = 0;
max_payload_size < MAXIMUM_FRAME_DATA_V3_SIZE;
@@ -237,7 +339,8 @@ TEST_F(ProtocolHeaderValidatorTest, Malformed_Payload_V3) {
header_validator.set_max_payload_size(max_payload_size);
EXPECT_EQ(RESULT_FAIL, header_validator.validate(control_message_header));
EXPECT_EQ(RESULT_FAIL, header_validator.validate(single_message_header));
- EXPECT_EQ(RESULT_FAIL, header_validator.validate(consecutive_message_header));
+ EXPECT_EQ(RESULT_FAIL,
+ header_validator.validate(consecutive_message_header));
}
for (size_t max_payload_size = MAXIMUM_FRAME_DATA_V3_SIZE;
@@ -253,14 +356,31 @@ TEST_F(ProtocolHeaderValidatorTest, Malformed_Payload_V3) {
TEST_F(ProtocolHeaderValidatorTest, Malformed_Payload_V3_with_V2_size) {
const size_t payload_size = MAXIMUM_FRAME_DATA_V2_SIZE;
const ProtocolPacket::ProtocolHeader control_message_header(
- PROTOCOL_VERSION_3, PROTECTION_ON, FRAME_TYPE_CONTROL, kControl,
- FRAME_DATA_HEART_BEAT, some_session_id, payload_size, some_message_id);
- const ProtocolPacket::ProtocolHeader single_message_header(
- PROTOCOL_VERSION_3, PROTECTION_ON, FRAME_TYPE_SINGLE, kControl,
- FRAME_DATA_SINGLE, some_session_id, payload_size, some_message_id);
+ PROTOCOL_VERSION_3,
+ PROTECTION_ON,
+ FRAME_TYPE_CONTROL,
+ kControl,
+ FRAME_DATA_HEART_BEAT,
+ some_session_id,
+ payload_size,
+ some_message_id);
+ const ProtocolPacket::ProtocolHeader single_message_header(PROTOCOL_VERSION_3,
+ PROTECTION_ON,
+ FRAME_TYPE_SINGLE,
+ kControl,
+ FRAME_DATA_SINGLE,
+ some_session_id,
+ payload_size,
+ some_message_id);
const ProtocolPacket::ProtocolHeader consecutive_message_header(
- PROTOCOL_VERSION_3, PROTECTION_ON, FRAME_TYPE_CONSECUTIVE, kControl,
- FRAME_DATA_LAST_CONSECUTIVE, some_session_id, payload_size, some_message_id);
+ PROTOCOL_VERSION_3,
+ PROTECTION_ON,
+ FRAME_TYPE_CONSECUTIVE,
+ kControl,
+ FRAME_DATA_LAST_CONSECUTIVE,
+ some_session_id,
+ payload_size,
+ some_message_id);
for (size_t max_payload_size = 0;
max_payload_size < MAXIMUM_FRAME_DATA_V3_SIZE * 2;
@@ -275,9 +395,14 @@ TEST_F(ProtocolHeaderValidatorTest, Malformed_Payload_V3_with_V2_size) {
// Message ID be equal or greater than 0x01
TEST_F(ProtocolHeaderValidatorTest, Malformed_MessageID) {
const uint32_t malformed_message_id = 0x0u;
- ProtocolPacket::ProtocolHeader message_header(
- PROTOCOL_VERSION_3, PROTECTION_ON, FRAME_TYPE_FIRST, kControl,
- FRAME_DATA_HEART_BEAT, some_session_id, 0u, malformed_message_id);
+ ProtocolPacket::ProtocolHeader message_header(PROTOCOL_VERSION_3,
+ PROTECTION_ON,
+ FRAME_TYPE_FIRST,
+ kControl,
+ FRAME_DATA_HEART_BEAT,
+ some_session_id,
+ 0u,
+ malformed_message_id);
message_header.frameType = FRAME_TYPE_FIRST;
message_header.version = PROTOCOL_VERSION_1;