quality: Add testcases for error message handler

This commit is contained in:
Eishun Kondoh 2019-05-08 11:14:24 +09:00
parent c62eaeb42a
commit 27cfce26b3

View file

@ -12,8 +12,14 @@ defmodule Tres.HanderTest do
describe "Openflow RoleRequest message" do describe "Openflow RoleRequest message" do
test "with role and generation_id" do test "with role and generation_id" do
send_message(Openflow.Role.Request.new(role: :nochange, generation_id: 1)) {:ok, %Openflow.Role.Reply{}} = sync_send_message(Openflow.Role.Request.new(role: :nochange, generation_id: 1))
%Openflow.Role.Reply{} = get_message() end
end
describe "Openflow Error message" do
test "with a flow" do
send_message(Openflow.FlowMod.new(match: Openflow.Match.new(arp_tpa: {10, 10, 10, 10})))
%Openflow.ErrorMsg{} = get_message()
end end
end end
@ -30,16 +36,14 @@ defmodule Tres.HanderTest do
) )
) )
send_message(Openflow.GetAsync.Request.new()) {:ok, %Openflow.GetAsync.Reply{
%Openflow.GetAsync.Reply{
flow_removed_mask_master: [:idle_timeout, :hard_timeout, :delete, :group_delete], flow_removed_mask_master: [:idle_timeout, :hard_timeout, :delete, :group_delete],
flow_removed_mask_slave: [], flow_removed_mask_slave: [],
packet_in_mask_master: [:no_match, :action], packet_in_mask_master: [:no_match, :action],
packet_in_mask_slave: [], packet_in_mask_slave: [],
port_status_mask_master: [:add, :delete, :modify], port_status_mask_master: [:add, :delete, :modify],
port_status_mask_slave: [] port_status_mask_slave: []
} = get_message() }} = sync_send_message(Openflow.GetAsync.Request.new())
end end
end end
@ -194,6 +198,10 @@ defmodule Tres.HanderTest do
end end
end end
def sync_send_message(msg) do
Tres.SwitchRegistry.send_message(msg, @datapath_id, true)
end
def send_message(msg) do def send_message(msg) do
:ok = Tres.ExampleHandler.send(@datapath_id, msg) :ok = Tres.ExampleHandler.send(@datapath_id, msg)
end end