tres/test/ofp_features_test.exs
2017-11-13 22:52:53 +09:00

58 lines
1.7 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