1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93
|
require 'spec_helper'
require 'puppet'
require 'puppet_spec/files'
describe Puppet do
include PuppetSpec::Files
context "#version" do
it "should be valid semver" do
expect(SemanticPuppet::Version).to be_valid Puppet.version
end
end
Puppet::Util::Log.eachlevel do |level|
it "should have a method for sending '#{level}' logs" do
expect(Puppet).to respond_to(level)
end
end
it "should be able to change the path" do
newpath = ENV["PATH"] + File::PATH_SEPARATOR + "/something/else"
Puppet[:path] = newpath
expect(ENV["PATH"]).to eq(newpath)
end
it "should change $LOAD_PATH when :libdir changes" do
one = tmpdir('load-path-one')
two = tmpdir('load-path-two')
expect(one).not_to eq(two)
Puppet[:libdir] = one
expect($LOAD_PATH).to include one
expect($LOAD_PATH).not_to include two
Puppet[:libdir] = two
expect($LOAD_PATH).not_to include one
expect($LOAD_PATH).to include two
end
it 'should propagate --modulepath to base environment' do
expect(Puppet::Node::Environment).to receive(:create).with(
be_a(Symbol), ['/my/modules'], Puppet::Node::Environment::NO_MANIFEST)
Puppet.base_context({
:environmentpath => '/envs',
:basemodulepath => '/base/modules',
:modulepath => '/my/modules'
})
end
it 'empty modulepath does not override basemodulepath' do
expect(Puppet::Node::Environment).to receive(:create).with(
be_a(Symbol), ['/base/modules'], Puppet::Node::Environment::NO_MANIFEST)
Puppet.base_context({
:environmentpath => '/envs',
:basemodulepath => '/base/modules',
:modulepath => ''
})
end
it 'nil modulepath does not override basemodulepath' do
expect(Puppet::Node::Environment).to receive(:create).with(
be_a(Symbol), ['/base/modules'], Puppet::Node::Environment::NO_MANIFEST)
Puppet.base_context({
:environmentpath => '/envs',
:basemodulepath => '/base/modules',
:modulepath => nil
})
end
context "Puppet::OLDEST_RECOMMENDED_RUBY_VERSION" do
it "should have an oldest recommended ruby version constant" do
expect(Puppet::OLDEST_RECOMMENDED_RUBY_VERSION).not_to be_nil
end
it "should be a string" do
expect(Puppet::OLDEST_RECOMMENDED_RUBY_VERSION).to be_a_kind_of(String)
end
it "should match a semver version" do
expect(SemanticPuppet::Version).to be_valid(Puppet::OLDEST_RECOMMENDED_RUBY_VERSION)
end
end
context "newtype" do
it "should issue a deprecation warning" do
expect(subject).to receive(:deprecation_warning).with("Creating sometype via Puppet.newtype is deprecated and will be removed in a future release. Use Puppet::Type.newtype instead.")
subject.newtype("sometype")
end
end
end
|