Skip to content

Commit

Permalink
Updated testsuite for createUdevFromIfaceName
Browse files Browse the repository at this point in the history
  • Loading branch information
mchf committed Mar 9, 2016
1 parent 84301dd commit 05d325e
Show file tree
Hide file tree
Showing 2 changed files with 58 additions and 22 deletions.
3 changes: 2 additions & 1 deletion src/modules/LanUdevAuto.rb
Expand Up @@ -119,6 +119,8 @@ def createUdevFromIfaceName(interfaces)
def Import(settings)
settings = deep_copy(settings)
Builtins.y2milestone("importing %1", settings)
# So, if the profile contains old style names, then net-udev section
# of the profile is ignored.
if NetworkAutoYast.instance.oldStyle(settings)
Ops.set(
settings,
Expand All @@ -128,7 +130,6 @@ def Import(settings)
else
@udev_rules = settings["net-udev"] || []
end
# if (Arch::s390())
@s390_devices = Ops.get_list(settings, "s390-devices", [])
Builtins.y2milestone(
"interfaces: %1",
Expand Down
77 changes: 56 additions & 21 deletions test/network_autoyast_test.rb
Expand Up @@ -210,41 +210,76 @@ def nm_installed(installed)
end

context "When AY profile contains old style name" do
describe "#oldStyle" do

let(:ay_old_id) do
{
"interfaces" => [{ "device" => "eth-id-0.0.1111" }]
}
end
let(:ay_old_mac) do
{
"interfaces" => [{ "device" => "eth-bus-00:11:22:33:44:55" }]
}
end
let(:ay_both_vers) do
{ "interfaces" => ay_old_id["interfaces"] + [{ "device" => "eth0" }] }
end
let(:ay_old_id) do
{
"interfaces" => [{ "device" => "eth-id-0.0.1111" }]
}
end
let(:ay_old_mac) do
{
"interfaces" => [{ "device" => "eth-bus-00:11:22:33:44:55" }]
}
end
let(:ay_both_vers) do
{ "interfaces" => ay_old_id["interfaces"] + [{ "device" => "eth0" }] }
end

describe "#oldStyle" do
it "detects old style names in profile" do
expect(network_autoyast.oldStyle(ay_old_id)).to be true
expect(network_autoyast.oldStyle(ay_old_mac)).to be true
expect(network_autoyast.oldStyle(ay_both_vers)).to be true
end
end

describe "#createUdevFromIfaceName" do
Yast.import "LanUdevAuto"
Yast.import "LanItems"

subject(:lan_udev_auto) { Yast::LanUdevAuto }

it "returns list of old-style interface names" do
ifaces = lan_udev_auto.createUdevFromIfaceName(ay_both_vers["interfaces"])

expect(ifaces).to eql ay_old_id["interfaces"]
end

it "updates udev rules list according old style name" do
lan_udev_auto.createUdevFromIfaceName(ay_both_vers["interfaces"])
udev_list = lan_udev_auto.instance_variable_get(:@udev_rules)

allow(Yast::LanItems).to receive(:getDeviceName).and_return("eth0")

expect(udev_list.first["rule"]).to eql "ATTR{address}"
expect(udev_list.first["value"]).to eql "0.0.1111"
expect(udev_list.first["name"]).to eql "eth0"
end
end
end

context "When AY profile doesn't contain old style name" do
describe "#oldStyle" do
let(:ay_only_new) do
{
"interfaces" => [{ "device" => "eth0" }]
}
end
let(:ay_only_new) do
{
"interfaces" => [{ "device" => "eth0" }]
}
end

describe "#oldStyle" do
it "fails when profile contains only new names" do
expect(network_autoyast.oldStyle(ay_only_new)).to be false
end
end

describe "#createUdevFromIfaceName" do
Yast.import "LanUdevAuto"

subject(:lan_udev_auto) { Yast::LanUdevAuto }

it "returns list of old-style interface names" do
ifaces = lan_udev_auto.createUdevFromIfaceName(ay_only_new["interfaces"])

expect(ifaces).to be_empty
end
end
end
end

0 comments on commit 05d325e

Please sign in to comment.