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.cc91
1 files changed, 88 insertions, 3 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 40b0f34846..e42ba96251 100644
--- a/src/components/protocol_handler/test/protocol_header_validator_test.cc
+++ b/src/components/protocol_handler/test/protocol_header_validator_test.cc
@@ -57,7 +57,7 @@ class ProtocolHeaderValidatorTest : public ::testing::Test {
uint32_t some_session_id;
};
-// Protocol version shall be from 1 to 3
+// Protocol version shall be from 1 to 5
TEST_F(ProtocolHeaderValidatorTest, MaxPayloadSizeSetGet) {
EXPECT_EQ(std::numeric_limits<size_t>::max(),
header_validator.max_payload_size());
@@ -67,11 +67,96 @@ TEST_F(ProtocolHeaderValidatorTest, MaxPayloadSizeSetGet) {
}
}
-// Protocol version shall be from 1 to 4
+TEST_F(ProtocolHeaderValidatorTest, MaxControlPayloadSizeSetGet) {
+ EXPECT_EQ(0u, header_validator.max_control_payload_size());
+ for (size_t value = 0; value < MAXIMUM_FRAME_DATA_V3_SIZE * 2; ++value) {
+ header_validator.set_max_control_payload_size(value);
+ EXPECT_EQ(value, header_validator.max_control_payload_size());
+ }
+}
+
+TEST_F(ProtocolHeaderValidatorTest, MaxRpcPayloadSizeSetGet) {
+ EXPECT_EQ(0u, header_validator.max_rpc_payload_size());
+ for (size_t value = 0; value < MAXIMUM_FRAME_DATA_V3_SIZE * 2; ++value) {
+ header_validator.set_max_rpc_payload_size(value);
+ EXPECT_EQ(value, header_validator.max_rpc_payload_size());
+ }
+}
+
+TEST_F(ProtocolHeaderValidatorTest, MaxAudioPayloadSizeSetGet) {
+ EXPECT_EQ(0u, header_validator.max_audio_payload_size());
+ for (size_t value = 0; value < MAXIMUM_FRAME_DATA_V3_SIZE * 2; ++value) {
+ header_validator.set_max_audio_payload_size(value);
+ EXPECT_EQ(value, header_validator.max_audio_payload_size());
+ }
+}
+
+TEST_F(ProtocolHeaderValidatorTest, MaxVideoPayloadSizeSetGet) {
+ EXPECT_EQ(0u, header_validator.max_video_payload_size());
+ for (size_t value = 0; value < MAXIMUM_FRAME_DATA_V3_SIZE * 2; ++value) {
+ header_validator.set_max_video_payload_size(value);
+ EXPECT_EQ(value, header_validator.max_video_payload_size());
+ }
+}
+
+TEST_F(ProtocolHeaderValidatorTest, GetMaxPayloadSizeByServiceType_Control) {
+ size_t payload_size = MAXIMUM_FRAME_DATA_V2_SIZE;
+ header_validator.set_max_payload_size(payload_size);
+ // Default to max_payload_size if a specific MTU is not set
+ EXPECT_EQ(payload_size,
+ header_validator.max_payload_size_by_service_type(kControl));
+ for (size_t value = 1; value < MAXIMUM_FRAME_DATA_V3_SIZE * 2; ++value) {
+ header_validator.set_max_control_payload_size(value);
+ EXPECT_EQ(value,
+ header_validator.max_payload_size_by_service_type(kControl));
+ }
+}
+
+TEST_F(ProtocolHeaderValidatorTest, GetMaxPayloadSizeByServiceType_Rpc) {
+ size_t payload_size = MAXIMUM_FRAME_DATA_V2_SIZE;
+ header_validator.set_max_payload_size(payload_size);
+ // Default to max_payload_size if a specific MTU is not set
+ EXPECT_EQ(payload_size,
+ header_validator.max_payload_size_by_service_type(kRpc));
+ EXPECT_EQ(payload_size,
+ header_validator.max_payload_size_by_service_type(kBulk));
+ for (size_t value = 1; value < MAXIMUM_FRAME_DATA_V3_SIZE * 2; ++value) {
+ header_validator.set_max_rpc_payload_size(value);
+ EXPECT_EQ(value, header_validator.max_payload_size_by_service_type(kRpc));
+ EXPECT_EQ(value, header_validator.max_payload_size_by_service_type(kBulk));
+ }
+}
+
+TEST_F(ProtocolHeaderValidatorTest, GetMaxPayloadSizeByServiceType_Audio) {
+ size_t payload_size = MAXIMUM_FRAME_DATA_V2_SIZE;
+ header_validator.set_max_payload_size(payload_size);
+ // Default to max_payload_size if a specific MTU is not set
+ EXPECT_EQ(payload_size,
+ header_validator.max_payload_size_by_service_type(kAudio));
+ for (size_t value = 1; value < MAXIMUM_FRAME_DATA_V3_SIZE * 2; ++value) {
+ header_validator.set_max_audio_payload_size(value);
+ EXPECT_EQ(value, header_validator.max_payload_size_by_service_type(kAudio));
+ }
+}
+
+TEST_F(ProtocolHeaderValidatorTest, GetMaxPayloadSizeByServiceType_Video) {
+ size_t payload_size = MAXIMUM_FRAME_DATA_V2_SIZE;
+ header_validator.set_max_payload_size(payload_size);
+ // Default to max_payload_size if a specific MTU is not set
+ EXPECT_EQ(payload_size,
+ header_validator.max_payload_size_by_service_type(kMobileNav));
+ for (size_t value = 1; value < MAXIMUM_FRAME_DATA_V3_SIZE * 2; ++value) {
+ header_validator.set_max_video_payload_size(value);
+ EXPECT_EQ(value,
+ header_validator.max_payload_size_by_service_type(kMobileNav));
+ }
+}
+
+// Protocol version shall be from 1 to 5
TEST_F(ProtocolHeaderValidatorTest, Malformed_Version) {
std::vector<uint8_t> malformed_versions;
malformed_versions.push_back(0);
- for (uint8_t version = PROTOCOL_VERSION_4 + 1;
+ for (uint8_t version = PROTOCOL_VERSION_5 + 1;
version <= PROTOCOL_VERSION_MAX;
++version) {
malformed_versions.push_back(version);