48 lines
1.9 KiB
Elixir
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
|