Skip to content

Commit

Permalink
fix removing hostname with test
Browse files Browse the repository at this point in the history
  • Loading branch information
jreidinger committed Oct 14, 2016
1 parent 5d4bfaa commit 8eb9bfa
Show file tree
Hide file tree
Showing 2 changed files with 24 additions and 2 deletions.
15 changes: 13 additions & 2 deletions src/lib/cfa/hosts.rb
Original file line number Diff line number Diff line change
Expand Up @@ -140,12 +140,23 @@ def delete_hostname(hostname)
if aliases.empty?
delete_host(entry["ipaddr"])
else
set_host(entry["ipaddr"], aliases.first, aliases[1..-1])
entry["canonical"] = aliases.first
entry.delete("alias")
entry.delete("alias[]")
aliases_col = entry.collection("alias")
aliases[1..-1].each do |a|
aliases_col.add(a)
end
end
else
reduced_aliases = aliases_for(entry)
reduced_aliases.delete(hostname)
set_host(entry["ipaddr"], entry["canonical"], reduced_aliases)
entry.delete("alias")
entry.delete("alias[]")
aliases_col = entry.collection("alias")
aliases[1..-1].each do |a|
aliases_col.add(a)
end
end
end
end
Expand Down
11 changes: 11 additions & 0 deletions test/host_test.rb
Original file line number Diff line number Diff line change
Expand Up @@ -168,5 +168,16 @@
tested_ip = "10.0.0.42"
expect(Yast::Host.name_map[tested_ip]).to eql ["newname.suse.cz newname"]
end

it "deletes old hostnames passed as first parameter" do
Yast::Host.Read
Yast::Host.Update("pepa.labs.suse.cz", "newname.suse.cz", "10.0.0.42")
Yast::Host.Write

content = file.content

expect(content.lines).to include("10.100.128.72 pepa pepa2\n")
expect(content.lines).to include("10.0.0.42\tnewname.suse.cz newname\n")
end
end
end

0 comments on commit 8eb9bfa

Please sign in to comment.