quality: Add some test cases for openflow messages

This commit is contained in:
Eishun Kondoh 2019-04-28 11:47:05 +09:00
parent 578c0d1bdc
commit f3fc896408
13 changed files with 1403 additions and 1321 deletions

View file

@ -11,8 +11,18 @@ defmodule Openflow.Echo.Reply do
alias __MODULE__
@type t :: %Reply{
version: 4,
xid: 0..0xFFFFFFFF,
data: String.t(),
datapath_id: String.t() | nil,
aux_id: 0..0xFFFF | nil
}
@spec ofp_type :: 3
def ofp_type, do: 3
@spec new(xid: 0..0xFFFFFFFF, data: String.t()) :: t()
def new(options) when is_list(options) do
%Reply{
xid: options[:xid] || 0,
@ -20,15 +30,15 @@ defmodule Openflow.Echo.Reply do
}
end
def new(data) when is_binary(data) do
%Reply{data: data}
end
@spec new(String.t()) :: t()
def new(data) when is_binary(data), do: %Reply{data: data}
def read(data) do
%Reply{data: data}
end
@spec new() :: t()
def new, do: new([])
def to_binary(%Reply{data: data}) do
data
end
@spec read(String.t()) :: t()
def read(data), do: %Reply{data: data}
@spec to_binary(t()) :: String.t()
def to_binary(%Reply{data: data}), do: data
end

View file

@ -11,8 +11,18 @@ defmodule Openflow.Echo.Request do
alias __MODULE__
@type t :: %Request{
version: 4,
xid: 0..0xFFFFFFFF,
data: String.t(),
datapath_id: String.t() | nil,
aux_id: 0..0xFFFF | nil
}
@spec ofp_type :: 2
def ofp_type, do: 2
@spec new(xid: 0..0xFFFFFFFF, data: String.t()) :: t()
def new(options) when is_list(options) do
%Request{
xid: options[:xid] || 0,
@ -20,15 +30,15 @@ defmodule Openflow.Echo.Request do
}
end
def new(data) when is_binary(data) do
%Request{data: data}
end
@spec new(String.t()) :: t()
def new(data) when is_binary(data), do: %Request{data: data}
def read(data) do
%Request{data: data}
end
@spec new() :: t()
def new, do: new([])
def to_binary(%Request{data: data}) do
data
end
@spec read(String.t()) :: t()
def read(data), do: %Request{data: data}
@spec to_binary(t()) :: String.t()
def to_binary(%Request{data: data}), do: data
end