Merge pull request #616 from DavidS/modules-3435-fix-stdlib-symlinks
(MODULES-3435) remove symlinks
This commit is contained in:
commit
9465eeaea7
5 changed files with 68 additions and 48 deletions
4
.gitignore
vendored
4
.gitignore
vendored
|
@ -2,10 +2,12 @@
|
||||||
pkg/
|
pkg/
|
||||||
Gemfile.lock
|
Gemfile.lock
|
||||||
vendor/
|
vendor/
|
||||||
spec/fixtures/
|
spec/fixtures/manifests/site.pp
|
||||||
|
spec/fixtures/modules/*
|
||||||
.vagrant/
|
.vagrant/
|
||||||
.bundle/
|
.bundle/
|
||||||
coverage/
|
coverage/
|
||||||
log/
|
log/
|
||||||
.idea/
|
.idea/
|
||||||
*.iml
|
*.iml
|
||||||
|
tmp/
|
||||||
|
|
1
spec/fixtures/modules/stdlib/lib
vendored
1
spec/fixtures/modules/stdlib/lib
vendored
|
@ -1 +0,0 @@
|
||||||
../../../../lib/
|
|
1
spec/fixtures/modules/stdlib/manifests
vendored
1
spec/fixtures/modules/stdlib/manifests
vendored
|
@ -1 +0,0 @@
|
||||||
../../../../manifests/
|
|
|
@ -5,25 +5,34 @@ describe 'load_module_metadata' do
|
||||||
it { is_expected.to run.with_params().and_raise_error(Puppet::ParseError, /wrong number of arguments/i) }
|
it { is_expected.to run.with_params().and_raise_error(Puppet::ParseError, /wrong number of arguments/i) }
|
||||||
it { is_expected.to run.with_params("one", "two", "three").and_raise_error(Puppet::ParseError, /wrong number of arguments/i) }
|
it { is_expected.to run.with_params("one", "two", "three").and_raise_error(Puppet::ParseError, /wrong number of arguments/i) }
|
||||||
|
|
||||||
it "should json parse the file" do
|
describe "when calling with valid arguments" do
|
||||||
allow(scope).to receive(:function_get_module_path).with(['science']).and_return('/path/to/module/')
|
before :each do
|
||||||
allow(File).to receive(:exists?).with(/metadata.json/).and_return(true)
|
if RSpec.configuration.puppet_future
|
||||||
allow(File).to receive(:read).with(/metadata.json/).and_return('{"name": "spencer-science"}')
|
allow(File).to receive(:read).with(/\/stdlib\/metadata.json/, {:encoding=>"utf-8"}).and_return('{"name": "puppetlabs-stdlib"}')
|
||||||
|
else
|
||||||
|
allow(File).to receive(:read).with(/\/stdlib\/metadata.json/).and_return('{"name": "puppetlabs-stdlib"}')
|
||||||
|
end
|
||||||
|
end
|
||||||
|
it "should json parse the file" do
|
||||||
|
allow(scope).to receive(:function_get_module_path).with(['science']).and_return('/path/to/module/')
|
||||||
|
allow(File).to receive(:exists?).with('/path/to/module/metadata.json').and_return(true)
|
||||||
|
allow(File).to receive(:read).with('/path/to/module/metadata.json').and_return('{"name": "spencer-science"}')
|
||||||
|
|
||||||
result = subject.call(['science'])
|
result = subject.call(['science'])
|
||||||
expect(result['name']).to eq('spencer-science')
|
expect(result['name']).to eq('spencer-science')
|
||||||
end
|
end
|
||||||
|
|
||||||
it "should fail by default if there is no metadata.json" do
|
it "should fail by default if there is no metadata.json" do
|
||||||
allow(scope).to receive(:function_get_module_path).with(['science']).and_return('/path/to/module/')
|
allow(scope).to receive(:function_get_module_path).with(['science']).and_return('/path/to/module/')
|
||||||
allow(File).to receive(:exists?).with(/metadata.json/).and_return(false)
|
allow(File).to receive(:exists?).with('/path/to/module/metadata.json').and_return(false)
|
||||||
expect {subject.call(['science'])}.to raise_error(Puppet::ParseError)
|
expect {subject.call(['science'])}.to raise_error(Puppet::ParseError)
|
||||||
end
|
end
|
||||||
|
|
||||||
it "should return nil if user allows empty metadata.json" do
|
it "should return nil if user allows empty metadata.json" do
|
||||||
allow(scope).to receive(:function_get_module_path).with(['science']).and_return('/path/to/module/')
|
allow(scope).to receive(:function_get_module_path).with(['science']).and_return('/path/to/module/')
|
||||||
allow(File).to receive(:exists?).with(/metadata.json/).and_return(false)
|
allow(File).to receive(:exists?).with('/path/to/module/metadata.json').and_return(false)
|
||||||
result = subject.call(['science', true])
|
result = subject.call(['science', true])
|
||||||
expect(result).to eq({})
|
expect(result).to eq({})
|
||||||
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -4,35 +4,46 @@ describe 'loadjson' do
|
||||||
it { is_expected.not_to eq(nil) }
|
it { is_expected.not_to eq(nil) }
|
||||||
it { is_expected.to run.with_params().and_raise_error(ArgumentError, /wrong number of arguments/i) }
|
it { is_expected.to run.with_params().and_raise_error(ArgumentError, /wrong number of arguments/i) }
|
||||||
|
|
||||||
context 'when a non-existing file is specified' do
|
describe "when calling with valid arguments" do
|
||||||
let(:filename) { '/tmp/doesnotexist' }
|
before :each do
|
||||||
before {
|
if RSpec.configuration.puppet_future
|
||||||
File.expects(:exists?).with(filename).returns(false).once
|
allow(File).to receive(:read).with(/\/stdlib\/metadata.json/, {:encoding=>"utf-8"}).and_return('{"name": "puppetlabs-stdlib"}')
|
||||||
PSON.expects(:load).never
|
else
|
||||||
}
|
allow(File).to receive(:read).with(/\/stdlib\/metadata.json/).and_return('{"name": "puppetlabs-stdlib"}')
|
||||||
it { is_expected.to run.with_params(filename, {'default' => 'value'}).and_return({'default' => 'value'}) }
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
context 'when an existing file is specified' do
|
context 'when a non-existing file is specified' do
|
||||||
let(:filename) { '/tmp/doesexist' }
|
let(:filename) { '/tmp/doesnotexist' }
|
||||||
let(:data) { { 'key' => 'value' } }
|
before {
|
||||||
let(:json) { '{"key":"value"}' }
|
allow(File).to receive(:exists?).with(filename).and_return(false).once
|
||||||
before {
|
allow(PSON).to receive(:load).never
|
||||||
File.expects(:exists?).with(filename).returns(true).once
|
}
|
||||||
File.expects(:read).with(filename).returns(json).once
|
it { is_expected.to run.with_params(filename, {'default' => 'value'}).and_return({'default' => 'value'}) }
|
||||||
PSON.expects(:load).with(json).returns(data).once
|
end
|
||||||
}
|
|
||||||
it { is_expected.to run.with_params(filename).and_return(data) }
|
|
||||||
end
|
|
||||||
|
|
||||||
context 'when the file could not be parsed' do
|
context 'when an existing file is specified' do
|
||||||
let(:filename) { '/tmp/doesexist' }
|
let(:filename) { '/tmp/doesexist' }
|
||||||
let(:json) { '{"key":"value"}' }
|
let(:data) { { 'key' => 'value' } }
|
||||||
before {
|
let(:json) { '{"key":"value"}' }
|
||||||
File.expects(:exists?).with(filename).returns(true).once
|
before {
|
||||||
File.expects(:read).with(filename).returns(json).once
|
allow(File).to receive(:exists?).with(filename).and_return(true).once
|
||||||
PSON.stubs(:load).with(json).once.raises StandardError, 'Something terrible have happened!'
|
allow(File).to receive(:read).with(filename).and_return(json).once
|
||||||
}
|
allow(File).to receive(:read).with(filename).and_return(json).once
|
||||||
it { is_expected.to run.with_params(filename, {'default' => 'value'}).and_return({'default' => 'value'}) }
|
allow(PSON).to receive(:load).with(json).and_return(data).once
|
||||||
|
}
|
||||||
|
it { is_expected.to run.with_params(filename).and_return(data) }
|
||||||
|
end
|
||||||
|
|
||||||
|
context 'when the file could not be parsed' do
|
||||||
|
let(:filename) { '/tmp/doesexist' }
|
||||||
|
let(:json) { '{"key":"value"}' }
|
||||||
|
before {
|
||||||
|
allow(File).to receive(:exists?).with(filename).and_return(true).once
|
||||||
|
allow(File).to receive(:read).with(filename).and_return(json).once
|
||||||
|
allow(PSON).to receive(:load).with(json).once.and_raise StandardError, 'Something terrible have happened!'
|
||||||
|
}
|
||||||
|
it { is_expected.to run.with_params(filename, {'default' => 'value'}).and_return({'default' => 'value'}) }
|
||||||
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
Loading…
Reference in a new issue