summaryrefslogtreecommitdiff
path: root/src/components/protocol_handler
diff options
context:
space:
mode:
authorElisey Zamakhov <EZamakhov@luxoft.com>2015-03-05 18:16:28 +0300
committerElisey Zamakhov <EZamakhov@luxoft.com>2015-03-18 13:59:41 +0300
commit2edb2f348fa50c079aa9fcfb57d1ab1b5ae81b23 (patch)
tree309f71feeaabf4b0e4687a24eeb682696a34f85a /src/components/protocol_handler
parent87410e45cd8b8e44db9ef15595997f9eb342b2d7 (diff)
downloadsdl_core-2edb2f348fa50c079aa9fcfb57d1ab1b5ae81b23.tar.gz
Update MalformedPacket_AdditionalByte test
Add MalformedPacket_Mix test
Diffstat (limited to 'src/components/protocol_handler')
-rw-r--r--src/components/protocol_handler/test/incoming_data_handler_test.cc79
1 files changed, 77 insertions, 2 deletions
diff --git a/src/components/protocol_handler/test/incoming_data_handler_test.cc b/src/components/protocol_handler/test/incoming_data_handler_test.cc
index c47e9dda8b..5db5a640d2 100644
--- a/src/components/protocol_handler/test/incoming_data_handler_test.cc
+++ b/src/components/protocol_handler/test/incoming_data_handler_test.cc
@@ -186,7 +186,7 @@ TEST_F(IncomingDataHandlerTest, MixedPayloadData_TwoConnections) {
// consecutive packet Bulk
mobile_packets.push_back(
new ProtocolPacket(
- uid1, PROTOCOL_VERSION_3, PROTECTION_ON, FRAME_TYPE_CONSECUTIVE,
+ uid1, PROTOCOL_VERSION_4, PROTECTION_ON, FRAME_TYPE_CONSECUTIVE,
kBulk, FRAME_DATA_LAST_CONSECUTIVE, ++some_session_id, some_data2_size,
++some_message_id, some_data2));
for (FrameList::iterator it = mobile_packets.begin(); it != mobile_packets.end(); ++it) {
@@ -400,6 +400,81 @@ TEST_F(IncomingDataHandlerTest, MalformedPacket_AdditionalByte) {
kRpc, FRAME_DATA_HEART_BEAT, some_session_id, some_data_size,
protov1_message_id, some_data));
AppendPacketToTMData(*mobile_packets.back());
+ // Add malformed bytes
+ tm_data.insert(tm_data.end(), 5, 0x5);
+
+ // single packet Audio
+ mobile_packets.push_back(
+ new ProtocolPacket(
+ uid1, PROTOCOL_VERSION_1, PROTECTION_OFF, FRAME_TYPE_CONTROL,
+ kAudio, FRAME_DATA_HEART_BEAT, some_session_id, some_data_size,
+ protov1_message_id, some_data));
+ AppendPacketToTMData(*mobile_packets.back());
+ // Add malformed bytes
+ tm_data.insert(tm_data.end(), 6, 0x6);
+
+ ProcessData(uid1, &tm_data[0], tm_data.size());
+ EXPECT_EQ(RESULT_MALFORMED_OCCURS, result_code);
+ EXPECT_EQ(mobile_packets.size(), actual_frames.size());
+ FrameList::iterator it_exp = mobile_packets.begin();
+ for (FrameList::const_iterator it = actual_frames.begin(); it != actual_frames.end();
+ ++it, ++it_exp) {
+ // TODO(EZamakhov): investigate valgrind warning (unitialized value)
+ EXPECT_EQ(**it, **it_exp)
+ << "Element number " << std::distance(mobile_packets.begin(), it_exp);
+ }
+}
+
+// For Single and First frames Frame info value shall be equal 0x00
+TEST_F(IncomingDataHandlerTest, MalformedPacket_Mix) {
+ FrameList mobile_packets;
+ // single packet RPC
+ mobile_packets.push_back(
+ new ProtocolPacket(
+ uid1, PROTOCOL_VERSION_1, PROTECTION_OFF, FRAME_TYPE_SINGLE,
+ kRpc, FRAME_DATA_SINGLE, some_session_id, some_data_size,
+ protov1_message_id, some_data));
+ AppendPacketToTMData(*mobile_packets.back());
+
+ // consecutive packet Audio
+ mobile_packets.push_back(
+ new ProtocolPacket(
+ uid1, PROTOCOL_VERSION_2, PROTECTION_ON, FRAME_TYPE_CONSECUTIVE,
+ kAudio, FRAME_DATA_LAST_CONSECUTIVE, ++some_session_id, some_data2_size,
+ some_message_id, some_data2));
+ AppendPacketToTMData(*mobile_packets.back());
+
+ // Malformed packet
+ const uint8_t malformed_version = 5;
+ const ProtocolPacket malformed_packet1(
+ uid1, malformed_version, PROTECTION_ON, FRAME_TYPE_SINGLE,
+ kMobileNav, FRAME_DATA_SINGLE, ++some_session_id, some_data_size,
+ ++some_message_id, some_data);
+ AppendPacketToTMData(malformed_packet1);
+
+ // consecutive packet Bulk
+ mobile_packets.push_back(
+ new ProtocolPacket(
+ uid1, PROTOCOL_VERSION_3, PROTECTION_ON, FRAME_TYPE_CONSECUTIVE,
+ kBulk, FRAME_DATA_LAST_CONSECUTIVE, ++some_session_id, some_data2_size,
+ ++some_message_id, some_data2));
+ AppendPacketToTMData(*mobile_packets.back());
+
+ // Malformed packet
+ const uint8_t malformed_type = FRAME_TYPE_MAX_VALUE - 1;
+ ProtocolPacket malformed_packet2(
+ uid1, PROTOCOL_VERSION_4, PROTECTION_OFF, malformed_type,
+ kRpc, FRAME_DATA_HEART_BEAT, some_session_id, some_data_size,
+ protov1_message_id, some_data);
+ AppendPacketToTMData(malformed_packet2);
+
+ // Corrupted audio packet
+ mobile_packets.push_back(
+ new ProtocolPacket(
+ uid1, PROTOCOL_VERSION_4, PROTECTION_OFF, FRAME_TYPE_CONTROL,
+ kAudio, FRAME_DATA_HEART_BEAT, some_session_id, some_data_size,
+ protov1_message_id, some_data));
+ AppendPacketToTMData(*mobile_packets.back());
ProcessData(uid1, &tm_data[0], tm_data.size());
EXPECT_EQ(RESULT_MALFORMED_OCCURS, result_code);
@@ -413,7 +488,7 @@ TEST_F(IncomingDataHandlerTest, MalformedPacket_AdditionalByte) {
}
}
-// TODO(EZamakhov): add correctness on handling 2+ connection data
+// TODO(EZamakhov): add tests for handling 2+ connection data
} // namespace protocol_handler_test
} // namespace components