tres/test/ofp_features_test.exs
Eishun Kondoh 7635272fbd Formatted
2018-01-30 22:47:31 +09:00

71 lines
1.8 KiB
Elixir

defmodule OfpFeaturesTest do
use ExUnit.Case
doctest Openflow
describe "Openflow.read/1" do
test "with OFP_FEATURES_REQUEST packet" do
{:ok, %Openflow.Features.Request{} = features, ""} =
"test/packet_data/ofp_features_request.raw"
|> File.read!()
|> Openflow.read()
assert features.version == 4
assert features.xid == 0
end
test "with OFP_FEATURES_REPLY packet" do
{:ok, %Openflow.Features.Reply{} = features, ""} =
"test/packet_data/ofp_features_reply.raw"
|> File.read!()
|> Openflow.read()
assert features.version == 4
assert features.xid == 0
assert features.datapath_id == "0000000000000001"
assert features.n_buffers == 255
assert features.n_tables == 255
assert features.aux_id == 0
assert features.capabilities == [
:flow_stats,
:table_stats,
:port_stats,
:group_stats,
:queue_stats
]
end
end
describe "Openflow.to_binary/1" do
test "with %Openflow.Features.Request{}" do
features = %Openflow.Features.Request{
version: 4,
xid: 0
}
expect =
"test/packet_data/ofp_features_request.raw"
|> File.read!()
assert Openflow.to_binary(features) == expect
end
end
test "with %Openflow.Features.Reply{}" do
features = %Openflow.Features.Reply{
version: 4,
xid: 0,
datapath_id: "0000000000000001",
n_buffers: 255,
n_tables: 255,
aux_id: 0,
capabilities: [:flow_stats, :table_stats, :port_stats, :group_stats, :queue_stats]
}
expect =
"test/packet_data/ofp_features_reply.raw"
|> File.read!()
assert Openflow.to_binary(features) == expect
end
end