X-Git-Url: http://g0dil.de/git?a=blobdiff_plain;f=senf%2FPackets%2F80221Bundle%2FMIHPacket.test.cc;h=444f576265d8666d8e6a1a3895b059c932858860;hb=0e83cd2ee1ebc409cf73d8774b01bf01f3df22f4;hp=1ba5e0edda1bc5aea40cbf2d0f5f964d884eab9a;hpb=482523171f06cf239fd7e8c991f81711c02cf0ba;p=senf.git diff --git a/senf/Packets/80221Bundle/MIHPacket.test.cc b/senf/Packets/80221Bundle/MIHPacket.test.cc index 1ba5e0e..444f576 100644 --- a/senf/Packets/80221Bundle/MIHPacket.test.cc +++ b/senf/Packets/80221Bundle/MIHPacket.test.cc @@ -73,8 +73,8 @@ BOOST_AUTO_UNIT_TEST(MIHPacket_create_string) // set some fields mihPacket->fragmentNr() = 42; mihPacket->transactionId() = 21; - mihPacket->src_mihfId().setString( "senf@berlios.de"); - mihPacket->dst_mihfId().setString( "test"); + mihPacket->src_mihfId().value( "senf@berlios.de"); + mihPacket->dst_mihfId().value( "test"); mihPacket.finalizeThis(); unsigned char data[] = { @@ -88,15 +88,15 @@ BOOST_AUTO_UNIT_TEST(MIHPacket_create_string) 0x02, 0x04, 0x74, 0x65, 0x73, 0x74 }; BOOST_CHECK(equal( mihPacket.data().begin(), mihPacket.data().end(), data )); - BOOST_CHECK_EQUAL( mihPacket->src_mihfId().asString(), "senf@berlios.de"); - BOOST_CHECK_EQUAL( mihPacket->dst_mihfId().asString(), "test"); + BOOST_CHECK_EQUAL( mihPacket->src_mihfId().valueAsString(), "senf@berlios.de"); + BOOST_CHECK_EQUAL( mihPacket->dst_mihfId().valueAsString(), "test"); // the maximum length of a MIHF_ID is 253 octets - BOOST_CHECK_THROW( mihPacket->dst_mihfId().setString( std::string(254, 'x')), std::length_error); + BOOST_CHECK_THROW( mihPacket->dst_mihfId().value( std::string(254, 'x')), std::length_error); // now expand a MIHF_ID mihPacket->dst_mihfId().maxLengthValue(253); - mihPacket->dst_mihfId().setString( std::string(200, 'x')); + mihPacket->dst_mihfId().value( std::string(200, 'x')); mihPacket.finalizeThis(); BOOST_CHECK_EQUAL( mihPacket.size(), unsigned(8 + 17 + 203)); @@ -111,12 +111,14 @@ BOOST_AUTO_UNIT_TEST(MIHPacket_create_string) BOOST_AUTO_UNIT_TEST(MIHPacket_create_mac) { + MACAddress srcMac ( MACAddress::from_string("01:02:03:04:05:06")); + MACAddress dstMac ( MACAddress::from_string("07:08:09:0a:0b:0c")); MIHPacket mihPacket (MIHPacket::create()); // set some fields mihPacket->fragmentNr() = 42; mihPacket->transactionId() = 21; - mihPacket->src_mihfId().setMACAddress( MACAddress::from_string("01:02:03:04:05:06")); - mihPacket->dst_mihfId().setMACAddress( MACAddress::from_string("07:08:09:0a:0b:0c")); + mihPacket->src_mihfId().value( srcMac); + mihPacket->dst_mihfId().value( dstMac); mihPacket.finalizeThis(); unsigned char data[] = { @@ -131,12 +133,10 @@ BOOST_AUTO_UNIT_TEST(MIHPacket_create_mac) }; SENF_CHECK_EQUAL_COLLECTIONS( data, data+sizeof(data), mihPacket.data().begin(), mihPacket.data().end() ); - BOOST_CHECK_EQUAL( - mihPacket->src_mihfId().asMACAddress(), - MACAddress::from_string("01:02:03:04:05:06")); - BOOST_CHECK_EQUAL( - mihPacket->dst_mihfId().asMACAddress(), - MACAddress::from_string("07:08:09:0a:0b:0c")); + BOOST_CHECK_EQUAL( mihPacket->src_mihfId().valueAsMACAddress(), srcMac); + BOOST_CHECK_EQUAL( mihPacket->dst_mihfId().valueAsMACAddress(), dstMac); + BOOST_CHECK_EQUAL( mihPacket->dst_mihfId().valueAs( MIHFId::MACAddress), MIHFId(dstMac) ); + BOOST_CHECK( mihPacket->src_mihfId().valueEquals(srcMac)); } @@ -146,8 +146,8 @@ BOOST_AUTO_UNIT_TEST(MIHPacket_create_inet4) // set some fields mihPacket->fragmentNr() = 42; mihPacket->transactionId() = 21; - mihPacket->src_mihfId().setINet4Address( INet4Address::from_string("128.129.130.131")); - mihPacket->dst_mihfId().setINet4Address( INet4Address::from_string("132.133.134.135")); + mihPacket->src_mihfId().value( INet4Address::from_string("128.129.130.131")); + mihPacket->dst_mihfId().value( INet4Address::from_string("132.133.134.135")); mihPacket.finalizeThis(); unsigned char data[] = { @@ -163,10 +163,10 @@ BOOST_AUTO_UNIT_TEST(MIHPacket_create_inet4) SENF_CHECK_EQUAL_COLLECTIONS( data, data+sizeof(data), mihPacket.data().begin(), mihPacket.data().end() ); BOOST_CHECK_EQUAL( - mihPacket->src_mihfId().asINet4Address(), + mihPacket->src_mihfId().valueAsINet4Address(), INet4Address::from_string("128.129.130.131")); BOOST_CHECK_EQUAL( - mihPacket->dst_mihfId().asINet4Address(), + mihPacket->dst_mihfId().valueAsINet4Address(), INet4Address::from_string("132.133.134.135")); } @@ -177,8 +177,8 @@ BOOST_AUTO_UNIT_TEST(MIHPacket_create_inet6) // set some fields mihPacket->fragmentNr() = 42; mihPacket->transactionId() = 21; - mihPacket->src_mihfId().setINet6Address( INet6Address::from_string("::ffff:1.2.3.4")); - mihPacket->dst_mihfId().setINet6Address( INet6Address::from_string("::ffff:5.6.7.8")); + mihPacket->src_mihfId().value( INet6Address::from_string("::ffff:1.2.3.4")); + mihPacket->dst_mihfId().value( INet6Address::from_string("::ffff:5.6.7.8")); mihPacket.finalizeThis(); unsigned char data[] = { @@ -202,10 +202,10 @@ BOOST_AUTO_UNIT_TEST(MIHPacket_create_inet6) SENF_CHECK_EQUAL_COLLECTIONS( data, data+sizeof(data), mihPacket.data().begin(), mihPacket.data().end() ); BOOST_CHECK_EQUAL( - mihPacket->src_mihfId().asINet6Address(), + mihPacket->src_mihfId().valueAsINet6Address(), INet6Address::from_string("::ffff:1.2.3.4")); BOOST_CHECK_EQUAL( - mihPacket->dst_mihfId().asINet6Address(), + mihPacket->dst_mihfId().valueAsINet6Address(), INet6Address::from_string("::ffff:5.6.7.8") ); } @@ -216,7 +216,7 @@ BOOST_AUTO_UNIT_TEST(MIHPayload_parse) // MIH header 0x10, 0x54, 0x00, 0x00, 0x00, 0x15, // variable payload length: - 0x00, 0x2a, + 0x00, 0x29, // source MIHF_ID TLV: 0x01, 0x0f, // type, length 0x73, 0x65, 0x6e, 0x66, 0x40, 0x62, 0x65, 0x72, 0x6c, @@ -229,13 +229,13 @@ BOOST_AUTO_UNIT_TEST(MIHPayload_parse) 0x0a, // first bit not set, length=10 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, // value // second test tlv - 0x43, // type - 0x05, // first bit not set, length=5 - 0x1a, 0x2b, 0x3c, 0x4d, 0x5e // value + 0x0c, // type + 0x04, // first bit not set, length=4 + 0x1a, 0x2b, 0x3c, 0x4d // value }; MIHPacket mihPacket (MIHPacket::create(data)); - BOOST_CHECK_EQUAL( mihPacket->payloadLength(), 42u); + BOOST_CHECK_EQUAL( mihPacket->payloadLength(), 41u); BOOST_REQUIRE( mihPacket.next().is() ); MIHGenericPayloadPacket mihPayload (mihPacket.next().as()); @@ -250,9 +250,9 @@ BOOST_AUTO_UNIT_TEST(MIHPayload_parse) BOOST_CHECK_EQUAL( tlv1.value().size(), 0x0a); MIHGenericTLVParser tlv2 = *boost::next(tlvListContainer.begin()); - BOOST_CHECK_EQUAL( tlv2.type(), 0x43); - BOOST_CHECK_EQUAL( tlv2.length(), 0x05u); - BOOST_CHECK_EQUAL( tlv2.value().size(), 0x05); + BOOST_CHECK_EQUAL( tlv2.type(), 0x0c); + BOOST_CHECK_EQUAL( tlv2.length(), 0x04u); + BOOST_CHECK_EQUAL( tlv2.value().size(), 0x04); std::ostringstream oss (std::ostringstream::out); SENF_CHECK_NO_THROW( mihPayload.dump( oss)); @@ -264,8 +264,8 @@ BOOST_AUTO_UNIT_TEST(MIHPayload_create) MIHPacket mihPacket (MIHPacket::create()); mihPacket->fragmentNr() = 42; mihPacket->transactionId() = 21; - mihPacket->src_mihfId().setString( "senf@berlios.de"); - mihPacket->dst_mihfId().setString( "test"); + mihPacket->src_mihfId().value( "senf@berlios.de"); + mihPacket->dst_mihfId().value( "test"); MIHGenericPayloadPacket mihPayload (MIHGenericPayloadPacket::createAfter(mihPacket)); MIHGenericPayloadPacket::Parser::tlvList_t::container tlvListContainer ( @@ -278,9 +278,9 @@ BOOST_AUTO_UNIT_TEST(MIHPayload_create) tlv1.value( tlv1_value); unsigned char tlv2_value[] = { - 0x1a, 0x2b, 0x3c, 0x4d, 0x5e }; + 0x1a, 0x2b, 0x3c, 0x4d }; MIHGenericTLVParser tlv2 ( tlvListContainer.push_back_space()); - tlv2.type() = 0x43; + tlv2.type() = 0x0c; tlv2.value( tlv2_value); mihPacket.finalizeAll(); @@ -289,7 +289,7 @@ BOOST_AUTO_UNIT_TEST(MIHPayload_create) // MIH header 0x10, 0x54, 0x00, 0x00, 0x00, 0x15, // variable payload length: - 0x00, 0x2a, + 0x00, 0x29, // source MIHF_ID TLV: 0x01, 0x0f, // type, length 0x73, 0x65, 0x6e, 0x66, 0x40, 0x62, 0x65, 0x72, 0x6c, @@ -302,9 +302,9 @@ BOOST_AUTO_UNIT_TEST(MIHPayload_create) 0x0a, // first bit not set, length=10 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, // value // second test tlv - 0x43, // type - 0x05, // first bit not set, length=5 - 0x1a, 0x2b, 0x3c, 0x4d, 0x5e // value + 0x0c, // type + 0x04, // first bit not set, length=4 + 0x1a, 0x2b, 0x3c, 0x4d // value }; SENF_CHECK_EQUAL_COLLECTIONS( data, data+sizeof(data), mihPacket.data().begin(), mihPacket.data().end() );