vagrant/test/unit/plugins/guests/alt/cap/flavor_test.rb

73 lines
2.4 KiB
Ruby

require_relative "../../../../base"
describe "VagrantPlugins::GuestALT::Cap::Flavor" do
let(:caps) do
VagrantPlugins::GuestALT::Plugin
.components
.guest_capabilities[:alt]
end
let(:machine) { double("machine") }
let(:comm) { VagrantTests::DummyCommunicator::Communicator.new(machine) }
before do
allow(machine).to receive(:communicate).and_return(comm)
end
after do
comm.verify_expectations!
end
describe ".flavor" do
let(:cap) { caps.get(:flavor) }
context "without /etc/os-release file" do
{
"ALT 8.1 Server" => :alt_8,
"ALT Education 8.1" => :alt_8,
"ALT Workstation 8.1" => :alt_8,
"ALT Workstation K 8.1 (Centaurea Ruthenica)" => :alt_8,
"ALT Linux p8 (Hypericum)" => :alt_8,
"ALT Sisyphus (unstable) (sisyphus)" => :alt,
"ALT Linux Sisyphus (unstable)" => :alt,
"ALT Linux 6.0.1 Spt (separator)" => :alt,
"ALT Linux 7.0.5 School Master" => :alt,
"ALT starter kit (Hypericum)" => :alt,
"ALT" => :alt,
"Simply" => :alt,
}.each do |str, expected|
it "returns #{expected} for #{str} in /etc/altlinux-release" do
comm.stub_command("test -f /etc/os-release", exit_code: 1)
comm.stub_command("cat /etc/altlinux-release", stdout: str)
expect(cap.flavor(machine)).to be(expected)
end
end
end
context "with /etc/os-release file" do
{
[ "NAME=\"Sisyphus\"", "VERSION_ID=20161130" ] => :alt,
[ "NAME=\"ALT Education\"", "VERSION_ID=8.1" ] => :alt_8,
[ "NAME=\"ALT Server\"", "VERSION_ID=8.1" ] => :alt_8,
[ "NAME=\"ALT SPServer\"", "VERSION_ID=8.0" ] => :alt_8,
[ "NAME=\"starter kit\"", "VERSION_ID=p8" ] => :alt_8,
[ "NAME=\"ALT Linux\"", "VERSION_ID=8.0.0" ] => :alt_8,
[ "NAME=\"Simply Linux\"", "VERSION_ID=7.95.0" ] => :alt_8,
[ "NAME=\"ALT Linux\"", "VERSION_ID=7.0.5" ] => :alt_7,
[ "NAME=\"School Junior\"", "VERSION_ID=7.0.5" ] => :alt_7,
}.each do |strs, expected|
it "returns #{expected} for #{strs[0]} and #{strs[1]} in /etc/os-release" do
comm.stub_command("test -f /etc/os-release", exit_code: 0)
comm.stub_command("grep NAME /etc/os-release", stdout: strs[0])
comm.stub_command("grep VERSION_ID /etc/os-release", stdout: strs[1])
expect(cap.flavor(machine)).to be(expected)
end
end
end
end
end