1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62
|
#!perl
use 5.012;
use warnings;
use Test::More;
require Test::NoWarnings;
use MIME::Base64 qw( decode_base64 );
use Zonemaster::Engine::Packet;
use Zonemaster::LDNS::Packet;
my $data =
decode_base64( "O6+EAAABAAIABAAKA2lpcwJzZQAABgABwAwABgABAAAOEAAqAm5zA25pY8AQCmhvc3RtYXN0ZXLADFxa4oUAADhAAA"
. "AOEAAbr4AAADhAwAwALgABAAAOEACaAAYFAgAADhBcaAN1XFrUdROJA2lpcwJzZQCcmkLyHWp2GzxC8X6jsZ/BvfwS"
. "seIFRL6uP/Ou8f8hECYFl7jr0++Ndz+IZsIBvBGm/hhwPkNVp63ZbJ5s4+362T2yF3czWgiPFOYeyw2j/OvJmr7UjU"
. "BNk1qCGQdm1BJ3g1OmIGUaGOHrZ4CWaHSLkdXFxfkKDPX85DC/7izDVMAMAAIAAQAADhAABwFpAm5zwBDADAACAAEA"
. "AA4QAALAJMAMAAIAAQAADhAABgNuczPAJ8AMAC4AAQAADhAAmgACBQIAAA4QXGgDdVxa1HUTiQNpaXMCc2UAPyX6eL"
. "1B3MzfulflW7nFJUTA/CZRrfNCnn9ZGDuhw8UuahIDujydknJQ/M2iwx8RRiLjSLNmM1Cd1jBDeyKMl+VtO4ph7Jlv"
. "PVraxxsLbEWhoQAVT83aWzURLZuf0fWo/ySlYbgIjGQmD+lJvmDwuONTipBaIWW8IqEjUDNmk1DAJAABAAEAAA4QAA"
. "Rb4iQtwCQAHAABAAAOEAAQIAEGfBJMEAoAAAAAAAAARcEhAAEAAQAADhAABFviJS3BIQAcAAEAAA4QABAgAQZ8Ekwg"
. "BwAAAAAAAABFwCQALgABAAAOEACaAAEFAwAADhBcZ+wFXFq9BfiaA25pYwJzZQCWZl5yovo39I0gnKNvFE2W0IEjrM"
. "PHPflaLi+NIbF8Wwy+BB+BDHLgeBbYcJczPmClR+T/1O5UCsBooR2ZOtIqOwVo9OWlPlfT16N5hEl/wSjfrfbjhFOe"
. "sJJbP1o3rtIS372Cogk4yo9qV63FAaU2zoLopRCwMnD0w9fSUoakFcAkAC4AAQAADhAAmgAcBQMAAA4QXGfsBVxavQ"
. "X4mgNuaWMCc2UAYjWjF8tlJtPMKG3fTwBarN7ciDTWbXICrqvO0GPY6nGwOMsz/1sCOb6CqMGXTLr0sTbWv/g9uadA"
. "K6GmRZYk3GFjb3tUsueSMOaSbgR0wztlQA/QMfDW9mjDuOjpIP6XjEwbOdboqOzD3yDQRppBPxMCZnDhlvvADxgcHJ"
. "6SSx/BIQAuAAEAAA4QAJoAAQUDAAAOEFxn7AVcWr0F+JoDbmljAnNlAHA0bnk6ldDN25n3g5FyI67KonWxUQ9TThor"
. "MMFHEkBf+Bi1qcrlyJFtXDsECVvUOEM/mFVPcmTu3kobtgbMz+v8rTVUAp+ZWp9oRbt7Uf9lH2wG5/6raKdR0kyva/"
. "U+n401vogviERiohHMtVNPuWCeywNabK7v0ptfWZwKyiugwSEALgABAAAOEACaABwFAwAADhBcZ+wFXFq9BfiaA25p"
. "YwJzZQCcI0wW/sgx9HP1pCwAiIRnjEC9RXW44a48n25487IzvEea79AmSq6QbkRQpB76xJBfrQlVaXUzWTujolHG5X"
. "96zvU3oyiPe5UwIyMV5eci/C3mbn5O73bWZAAsDpcqj9kllfmmNb1AZRPuxTmDU7STg8UdsTQ4fnUlarO7joPR0QN3"
. "d3fADAABAAEAAAAaAARb4iQuAAApEAAAAIAAAAA=" );
my $inner = Zonemaster::LDNS::Packet->new_from_wireformat( $data );
$inner->timestamp( 1234567890.12345 );
$inner->answerfrom( "192.0.2.1" );
$inner->querytime( 42 );
$inner->id( 15279 );
$inner->opcode( 'QUERY' );
my $packet = Zonemaster::Engine::Packet->new( { packet => $inner } );
is( $packet->data(), $inner->data(), 'data() returns value from inner' );
is( $packet->edns_data(), $inner->edns_data(), 'edns_data() returns value from inner' );
is( $packet->edns_z(), $inner->edns_z(), 'edns_z() returns value from inner' );
is( $packet->id(), $inner->id(), 'id() returns value from inner' );
$packet->id( 43210 );
is( $inner->id(), 43210, 'id() updates value in inner' );
is( $packet->opcode(), $inner->opcode(), 'opcode() returns value from inner' );
$packet->opcode( 'STATUS' );
is( $inner->opcode(), 'STATUS', 'opcode() updates value in inner' );
is( $packet->querytime(), 42, 'querytime() returns value from inner' );
$packet->querytime( 24 );
is( $inner->querytime(), 24, 'querytime() updates value in inner' );
Test::NoWarnings::had_no_warnings();
done_testing;
|