1plugin =
2{
3    type = "piglet",
4    name = "piglet::packet",
5    test = function()
6        dofile(SCRIPT_DIR .. "/../common.lua")
7        return run_tests(tests)
8    end
9}
10
11DEFAULT_VALUES =
12{
13    packet_flags = 0,
14    xtradata_mask = 0,
15    proto_bits = 0,
16    application_protocol_ordinal = 0,
17    alt_dsize = 0,
18    num_layers = 0,
19    iplist_id = 0,
20    user_policy_id = 0,
21    ps_proto = 0
22}
23
24VALUES =
25{
26    packet_flags = 1,
27    xtradata_mask = 2,
28    proto_bits = 3,
29    application_protocol_ordinal = 4,
30    alt_dsize = 5,
31    num_layers = 6,
32    iplist_id = 7,
33    user_policy_id = 8,
34    ps_proto = 9
35}
36
37tests =
38{
39    initialize_default = function()
40        local p = Packet.new()
41        assert(p)
42    end,
43
44    init_with_string = function()
45        local p = Packet.new("foobar")
46        assert(p)
47    end,
48
49    init_with_size = function()
50        local p = Packet.new(128)
51        assert(p)
52    end,
53
54    init_with_raw_buffer = function()
55        local rb = RawBuffer.new()
56        local p = Packet.new(rb)
57        assert(p)
58    end,
59
60    init_with_daq = function()
61        local daq = DAQHeader.new()
62        local p = Packet.new(daq)
63        assert(p)
64    end,
65
66    init_with_table = function()
67        local p = Packet.new(VALUES)
68        check.tables_equal(VALUES, p:get())
69    end,
70
71    init_with_everything = function()
72        local p = Packet.new("foobar", DAQHeader.new(), { packet_flags = 4 })
73        assert(p)
74    end,
75
76    set_decode_data = function()
77        local p = Packet.new()
78        local dd = DecodeData.new()
79        p:set_decode_data(dd)
80    end,
81
82    set_data = function()
83        local rb = RawBuffer.new()
84        local p = Packet.new(rb)
85        p:set_data(1, 2)
86    end,
87
88    set_flow = function()
89        local flow = Flow.new()
90        local p = Packet.new()
91        p:set_flow(flow)
92    end,
93
94    get_and_set = function()
95        local p = Packet.new()
96        check.tables_equal(DEFAULT_VALUES, p:get())
97        p:set(VALUES)
98        check.tables_equal(VALUES, p:get())
99    end
100}
101