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 __MODULE__
|
||||||
alias Openflow.Action.Experimenter
|
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) ||
|
(is_integer(options[:probability]) and options[:probability] > 0) ||
|
||||||
raise("probability must be greater than 0")
|
raise("probability must be greater than 0")
|
||||||
|
|
||||||
%NxSample{
|
%NxSample{
|
||||||
probability: options[:probability] || 0,
|
probability: options[:probability],
|
||||||
collector_set_id: options[:collector_set_id] || 0,
|
collector_set_id: options[:collector_set_id] || 0,
|
||||||
obs_domain_id: options[:obs_domain_id] || 0,
|
obs_domain_id: options[:obs_domain_id] || 0,
|
||||||
obs_point_id: options[:obs_point_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")
|
raise("probability must be greater than 0")
|
||||||
|
|
||||||
%NxSample2{
|
%NxSample2{
|
||||||
probability: options[:probability] || 0,
|
probability: options[:probability],
|
||||||
collector_set_id: options[:collector_set_id] || 0,
|
collector_set_id: options[:collector_set_id] || 0,
|
||||||
obs_domain_id: options[:obs_domain_id] || 0,
|
obs_domain_id: options[:obs_domain_id] || 0,
|
||||||
obs_point_id: options[:obs_point_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)
|
Openflow.Action.NxConjunction.new(id: 1, clause: 0, n_clauses: 1)
|
||||||
end
|
end
|
||||||
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
|
end
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue