1 #include "slp.hpp" 2 #include "slp_meta.hpp" 3 4 #include <gtest/gtest.h> 5 6 /* 0 1 2 3 7 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 8 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 9 | Version | Function-ID | Length | 10 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 11 | Length, contd.|O|F|R| reserved |Next Ext Offset| 12 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 13 | Next Extension Offset, contd.| XID | 14 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 15 | Language Tag Length | Language Tag \ 16 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ */ 17 18 TEST(parseHeaderTest, BasicGoodPath) 19 { 20 // Basic buffer with valid Function-ID 21 slp::buffer testData{0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 22 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; 23 24 slp::Message req; 25 int rc = slp::SUCCESS; 26 std::tie(rc, req) = slp::parser::internal::parseHeader(testData); 27 28 EXPECT_EQ(rc, 0); 29 } 30 31 TEST(parseHeaderTest, InvalidBufferSize) 32 { 33 // 1 byte too small 34 slp::buffer testData{0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 35 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; 36 37 slp::Message req; 38 int rc = slp::SUCCESS; 39 std::tie(rc, req) = slp::parser::internal::parseHeader(testData); 40 41 EXPECT_NE(rc, 0); 42 } 43