quality: Add test cases for queue_stats messages
This commit is contained in:
parent
599f1947db
commit
2bfccd693f
3 changed files with 75 additions and 12 deletions
|
|
@ -13,12 +13,8 @@ defmodule Openflow.Multipart.Queue.Reply do
|
|||
|
||||
def ofp_type, do: 18
|
||||
|
||||
def new(queues \\ []) do
|
||||
%Reply{queues: queues}
|
||||
end
|
||||
|
||||
def read(<<queues_bin::bytes>>) do
|
||||
queues = Openflow.Multipart.Queue.read(queues_bin)
|
||||
queues = Openflow.Multipart.QueueStats.read(queues_bin)
|
||||
%Reply{queues: queues}
|
||||
end
|
||||
|
||||
|
|
@ -36,7 +32,7 @@ defmodule Openflow.Multipart.Queue.Reply do
|
|||
end
|
||||
end
|
||||
|
||||
defmodule Openflow.Multipart.Queue do
|
||||
defmodule Openflow.Multipart.QueueStats do
|
||||
defstruct(
|
||||
port_number: 0,
|
||||
queue_id: 0,
|
||||
|
|
@ -65,7 +61,7 @@ defmodule Openflow.Multipart.Queue do
|
|||
<<port_no::32, queue_id::32, tx_bytes::64, tx_packets::64, tx_errors::64,
|
||||
duration_sec::32, duration_nsec::32>>
|
||||
) do
|
||||
%Queue{
|
||||
%QueueStats{
|
||||
port_number: port_no,
|
||||
queue_id: queue_id,
|
||||
tx_bytes: tx_bytes,
|
||||
|
|
|
|||
|
|
@ -13,11 +13,12 @@ defmodule Openflow.Multipart.Queue.Request do
|
|||
|
||||
def ofp_type, do: 18
|
||||
|
||||
def new(options) do
|
||||
xid = Keyword.get(options, :xid, 0)
|
||||
port_no = Keyword.get(options, :port_number, :any)
|
||||
queue_id = Keyword.get(options, :queue_id, :all)
|
||||
%Request{xid: xid, port_number: port_no, queue_id: queue_id}
|
||||
def new(options \\ []) do
|
||||
%Request{
|
||||
xid: options[:xid] || 0,
|
||||
port_number: options[:port_number] || :any,
|
||||
queue_id: options[:queue_id] || :all
|
||||
}
|
||||
end
|
||||
|
||||
def read(<<port_no_int::32, queue_id_int::32>>) do
|
||||
|
|
|
|||
66
test/lib/openflow/ofp_queue_stats_test.exs
Normal file
66
test/lib/openflow/ofp_queue_stats_test.exs
Normal file
|
|
@ -0,0 +1,66 @@
|
|||
defmodule OfpQueueStatsTest do
|
||||
use ExUnit.Case
|
||||
|
||||
describe "Openflow.Multipart.Queue.Request" do
|
||||
test "with default values" do
|
||||
queue_stats =
|
||||
%Openflow.Multipart.Queue.Request{}
|
||||
|> Map.to_list()
|
||||
|> Openflow.Multipart.Queue.Request.new()
|
||||
|> Openflow.to_binary()
|
||||
|> Openflow.read()
|
||||
|> Kernel.elem(1)
|
||||
|
||||
assert queue_stats.xid == 0
|
||||
assert queue_stats.port_number == :any
|
||||
assert queue_stats.queue_id == :all
|
||||
end
|
||||
end
|
||||
|
||||
describe "Openflow.Multipart.Queue.Reply" do
|
||||
test "with test packet_data" do
|
||||
queue_stats =
|
||||
"test/packet_data/4-38-ofp_queue_stats_reply.packet"
|
||||
|> File.read!()
|
||||
|> Openflow.read()
|
||||
|> Kernel.elem(1)
|
||||
|
||||
%Openflow.Multipart.Queue.Reply{
|
||||
aux_id: nil,
|
||||
datapath_id: nil,
|
||||
flags: [],
|
||||
queues: [
|
||||
%Openflow.Multipart.QueueStats{
|
||||
duration_nsec: 0,
|
||||
duration_sec: 0,
|
||||
port_number: 7,
|
||||
queue_id: 1,
|
||||
tx_bytes: 0,
|
||||
tx_errors: 0,
|
||||
tx_packets: 0
|
||||
},
|
||||
%Openflow.Multipart.QueueStats{
|
||||
duration_nsec: 0,
|
||||
duration_sec: 0,
|
||||
port_number: 6,
|
||||
queue_id: 1,
|
||||
tx_bytes: 0,
|
||||
tx_errors: 0,
|
||||
tx_packets: 0
|
||||
},
|
||||
%Openflow.Multipart.QueueStats{
|
||||
duration_nsec: 0,
|
||||
duration_sec: 0,
|
||||
port_number: 7,
|
||||
queue_id: 2,
|
||||
tx_bytes: 0,
|
||||
tx_errors: 0,
|
||||
tx_packets: 0
|
||||
}
|
||||
],
|
||||
version: 4,
|
||||
xid: 0
|
||||
} = queue_stats
|
||||
end
|
||||
end
|
||||
end
|
||||
Loading…
Add table
Add a link
Reference in a new issue