quality: Add test cases for openflow actions
This commit is contained in:
parent
1ac5aa265e
commit
211d703366
3 changed files with 74 additions and 3 deletions
|
|
@ -12,12 +12,23 @@ defmodule Openflow.Action.NxSample do
|
|||
alias __MODULE__
|
||||
alias Openflow.Action.Experimenter
|
||||
|
||||
def new(options \\ []) do
|
||||
@spec new(
|
||||
probability: 1..0xFFFF,
|
||||
collector_set_id: 0..0xFFFFFFFF,
|
||||
obs_domain_id: 0..0xFFFFFFFF,
|
||||
obs_point_id: 0..0xFFFFFFFF
|
||||
) :: %NxSample{
|
||||
probability: 1..0xFFFF,
|
||||
collector_set_id: 0..0xFFFFFFFF,
|
||||
obs_domain_id: 0..0xFFFFFFFF,
|
||||
obs_point_id: 0..0xFFFFFFFF
|
||||
}
|
||||
def new(options) do
|
||||
(is_integer(options[:probability]) and options[:probability] > 0) ||
|
||||
raise("probability must be greater than 0")
|
||||
|
||||
%NxSample{
|
||||
probability: options[:probability] || 0,
|
||||
probability: options[:probability],
|
||||
collector_set_id: options[:collector_set_id] || 0,
|
||||
obs_domain_id: options[:obs_domain_id] || 0,
|
||||
obs_point_id: options[:obs_point_id] || 0
|
||||
|
|
|
|||
|
|
@ -18,7 +18,7 @@ defmodule Openflow.Action.NxSample2 do
|
|||
raise("probability must be greater than 0")
|
||||
|
||||
%NxSample2{
|
||||
probability: options[:probability] || 0,
|
||||
probability: options[:probability],
|
||||
collector_set_id: options[:collector_set_id] || 0,
|
||||
obs_domain_id: options[:obs_domain_id] || 0,
|
||||
obs_point_id: options[:obs_point_id] || 0,
|
||||
|
|
|
|||
|
|
@ -1242,4 +1242,64 @@ defmodule OfpActionTest do
|
|||
Openflow.Action.NxConjunction.new(id: 1, clause: 0, n_clauses: 1)
|
||||
end
|
||||
end
|
||||
|
||||
describe "Opefnlow.Action.NxSample" do
|
||||
test "with sample(probability=1,collector_set_id=0,obs_domain_id=0,obs_point_id=0)" do
|
||||
sample =
|
||||
Openflow.Action.NxSample.new(
|
||||
probability: 1,
|
||||
collector_set_id: 0,
|
||||
obs_domain_id: 0,
|
||||
obs_point_id: 0
|
||||
)
|
||||
|
||||
sample
|
||||
|> Openflow.Action.to_binary()
|
||||
|> Openflow.Action.read()
|
||||
|> Enum.at(0)
|
||||
|> Kernel.==(sample)
|
||||
|> assert()
|
||||
end
|
||||
end
|
||||
|
||||
describe "Opefnlow.Action.NxSample2" do
|
||||
test "with sample(probability=1,collector_set_id=0,obs_domain_id=0,obs_point_id=0, sampling_port=100)" do
|
||||
sample =
|
||||
Openflow.Action.NxSample2.new(
|
||||
probability: 1,
|
||||
collector_set_id: 0,
|
||||
obs_domain_id: 0,
|
||||
obs_point_id: 0,
|
||||
sampling_port: 100
|
||||
)
|
||||
|
||||
sample
|
||||
|> Openflow.Action.to_binary()
|
||||
|> Openflow.Action.read()
|
||||
|> Enum.at(0)
|
||||
|> Kernel.==(sample)
|
||||
|> assert()
|
||||
end
|
||||
end
|
||||
|
||||
describe "Opefnlow.Action.NxSample3" do
|
||||
test "with sample(probability=1,collector_set_id=0,obs_domain_id=0,obs_point_id=0, sampling_port=100,egress)" do
|
||||
sample =
|
||||
Openflow.Action.NxSample3.new(
|
||||
probability: 1,
|
||||
collector_set_id: 0,
|
||||
obs_domain_id: 0,
|
||||
obs_point_id: 0,
|
||||
sampling_port: 100,
|
||||
direction: :egress
|
||||
)
|
||||
|
||||
sample
|
||||
|> Openflow.Action.to_binary()
|
||||
|> Openflow.Action.read()
|
||||
|> Enum.at(0)
|
||||
|> Kernel.==(sample)
|
||||
|> assert()
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue