From 15e362437a65a08922b63fae1413dbb764116265 Mon Sep 17 00:00:00 2001 From: Eishun Kondoh Date: Tue, 7 May 2019 20:44:05 +0900 Subject: [PATCH] quality: Add testcases for nx_packet_in2 and nx_resume message --- test/lib/openflow/ofp_packet_in2_test.exs | 26 +++++++++++++++++++- test/lib/openflow/ofp_resume_test.exs | 30 +++++++++++++++++++++++ 2 files changed, 55 insertions(+), 1 deletion(-) create mode 100644 test/lib/openflow/ofp_resume_test.exs diff --git a/test/lib/openflow/ofp_packet_in2_test.exs b/test/lib/openflow/ofp_packet_in2_test.exs index 45eff9c..32d6e49 100644 --- a/test/lib/openflow/ofp_packet_in2_test.exs +++ b/test/lib/openflow/ofp_packet_in2_test.exs @@ -3,7 +3,7 @@ defmodule OfpPacketIn2Test do doctest Openflow describe "Openflow.read/1" do - test "with NX_PACKET_IN2 packet(with properties)" do + test "with NX_PACKET_IN2 packet(without continuations)" do {:ok, pktin, ""} = "test/packet_data/nx_packet_in2.raw" |> File.read!() @@ -19,5 +19,29 @@ defmodule OfpPacketIn2Test do assert pktin.metadata == [metadata: 0x5A5A5A5A5A5A5A5A] assert pktin.userdata == <<1, 2, 3, 4, 5>> end + + test "with NX_PACKET_IN2 packet(with continuations)" do + pktin = + "test/packet_data/4-64-ofp_nx_packet_in2.packet" + |> File.read!() + |> Openflow.read() + |> Kernel.elem(1) + + assert pktin.continuation_action_set == nil + assert pktin.continuation_actions == [%Openflow.Action.NxResubmitTable{in_port: :in_port, table_id: 5}] + assert pktin.continuation_bridge == <<8, 137, 105, 58, 5, 77, 183, 237, 163, 58, 25, 166, 212, 167, 209, 11>> + assert pktin.continuation_conntracked == nil + assert pktin.continuation_cookie == nil + assert pktin.continuation_mirrors == nil + assert pktin.continuation_stack == nil + assert pktin.continuation_table_id == nil + assert pktin.cookie == 0 + assert pktin.full_len == nil + assert pktin.metadata == [in_port: 2, reg0: 3_232_235_778, reg1: 1] + assert byte_size(pktin.packet) == 98 + assert pktin.reason == :action + assert pktin.table_id == 0 + assert byte_size(pktin.userdata) == 49 + end end end diff --git a/test/lib/openflow/ofp_resume_test.exs b/test/lib/openflow/ofp_resume_test.exs new file mode 100644 index 0000000..3fdbe03 --- /dev/null +++ b/test/lib/openflow/ofp_resume_test.exs @@ -0,0 +1,30 @@ +defmodule OfpResumeTest do + use ExUnit.Case + doctest Openflow + + describe "Openflow.read/1" do + test "with NX_RESUME packet(with continuations)" do + pktin = + "test/packet_data/4-65-ofp_nx_resume.packet" + |> File.read!() + |> Openflow.read() + |> Kernel.elem(1) + + assert pktin.continuation_action_set == nil + assert pktin.continuation_actions == [%Openflow.Action.NxResubmitTable{in_port: :in_port, table_id: 5}] + assert pktin.continuation_bridge == <<8, 137, 105, 58, 5, 77, 183, 237, 163, 58, 25, 166, 212, 167, 209, 11>> + assert pktin.continuation_conntracked == nil + assert pktin.continuation_cookie == nil + assert pktin.continuation_mirrors == nil + assert pktin.continuation_stack == nil + assert pktin.continuation_table_id == nil + assert pktin.cookie == 0 + assert pktin.full_len == nil + assert pktin.metadata == [in_port: :controller, reg0: 3_232_235_778, reg1: 1] + assert byte_size(pktin.packet) == 42 + assert pktin.reason == nil + assert pktin.table_id == 0 + assert byte_size(pktin.userdata) == 49 + end + end +end