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

48 lines
1.9 KiB
Elixir

defmodule OfpPortStatusTest do
use ExUnit.Case
doctest Openflow
describe "Openflow.read/1" do
test "with OFP_PORT_STATUS packet" do
{:ok, port_status, ""} =
"test/packet_data/libofproto-OFP13-port_status.packet"
|> File.read!
|> Openflow.read
assert port_status.version == 4
assert port_status.xid == 0
assert port_status.reason == :modify
assert port_status.port.number == 1
assert port_status.port.hw_addr == "ffffffffffff"
assert port_status.port.name == "eth0"
assert port_status.port.config == []
assert port_status.port.state == [:live]
assert port_status.port.current_features == [:"100mb_fd", :copper, :autoneg]
assert port_status.port.advertised_features == [:"100mb_fd", :copper, :autoneg]
assert port_status.port.peer_features == [:"100mb_fd", :copper, :autoneg]
assert port_status.port.current_speed == 50_000
assert port_status.port.max_speed == 100_000
end
test "with OFP_PORT_STATUS packet(with kanji port name)" do
{:ok, port_status, ""} =
"test/packet_data/4-39-ofp_port_status.packet"
|> File.read!
|> Openflow.read
assert port_status.version == 4
assert port_status.xid == 0
assert port_status.reason == :add
assert port_status.port.number == 7
assert port_status.port.hw_addr == "f20ba4d03f70"
assert port_status.port.name == "私のポート"
assert port_status.port.config == []
assert port_status.port.state == [:live]
assert port_status.port.current_features == [:"100mb_fd", :copper, :autoneg]
assert port_status.port.advertised_features == [:copper, :autoneg]
assert port_status.port.peer_features == [:"100mb_fd", :copper, :autoneg]
assert port_status.port.current_speed == 5_000
assert port_status.port.max_speed == 5_000
end
end
end