summaryrefslogtreecommitdiff
path: root/spec
diff options
context:
space:
mode:
authorHunter Haugen <hunter@puppet.com>2017-01-19 16:17:47 -0800
committerHunter Haugen <hunter@puppet.com>2017-01-24 11:13:55 -0800
commit1229d5a831995ddc2c9814f5104ea2a2c9df65a9 (patch)
tree2e22c5dfdba611449494acf6e6873d5bc6b28d66 /spec
parent5aa8419c94a8c5005383f5a8948708ed8efd0e5f (diff)
(MODULES-4098) Sync the rest of the files
Diffstat (limited to 'spec')
-rw-r--r--spec/functions/deprecation_spec.rb4
-rwxr-xr-xspec/functions/load_module_metadata_spec.rb37
-rw-r--r--spec/functions/loadjson_spec.rb31
-rwxr-xr-xspec/functions/validate_cmd_spec.rb2
-rw-r--r--spec/functions/validate_legacy_spec.rb2
-rwxr-xr-xspec/unit/puppet/type/file_line_spec.rb36
6 files changed, 77 insertions, 35 deletions
diff --git a/spec/functions/deprecation_spec.rb b/spec/functions/deprecation_spec.rb
index cee4f1c..8a65b69 100644
--- a/spec/functions/deprecation_spec.rb
+++ b/spec/functions/deprecation_spec.rb
@@ -1,6 +1,6 @@
require 'spec_helper'
-if Puppet.version.to_f >= 4.0
+if Puppet.version.to_f >= 4.5
describe 'deprecation' do
before(:each) {
# this is to reset the strict variable to default
@@ -40,7 +40,7 @@ if Puppet.version.to_f >= 4.0
Puppet.settings[:strict] = :warning
}
end
-else
+elsif Puppet.version.to_f < 4.0
# Puppet version < 4 will use these tests.
describe 'deprecation' do
after(:all) do
diff --git a/spec/functions/load_module_metadata_spec.rb b/spec/functions/load_module_metadata_spec.rb
index 1a61e2c..2ba41a5 100755
--- a/spec/functions/load_module_metadata_spec.rb
+++ b/spec/functions/load_module_metadata_spec.rb
@@ -7,30 +7,43 @@ describe 'load_module_metadata' do
describe "when calling with valid arguments" do
before :each do
- if RSpec.configuration.puppet_future
- 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
+ allow(File).to receive(:read).with(/\/stdlib\/metadata.json/, {:encoding=>"utf-8"}).and_return('{"name": "puppetlabs-stdlib"}')
+ allow(File).to receive(:read).with(/\/stdlib\/metadata.json/).and_return('{"name": "puppetlabs-stdlib"}')
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"}')
+ if Puppet::Util::Platform.windows?
+ allow(scope).to receive(:function_get_module_path).with(['science']).and_return('C:/path/to/module/')
+ allow(File).to receive(:exists?).with('C:/path/to/module/metadata.json').and_return(true)
+ allow(File).to receive(:read).with('C:/path/to/module/metadata.json').and_return('{"name": "spencer-science"}')
+ else
+ 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"}')
+ end
result = subject.call(['science'])
expect(result['name']).to eq('spencer-science')
end
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(File).to receive(:exists?).with('/path/to/module/metadata.json').and_return(false)
+ if Puppet::Util::Platform.windows?
+ allow(scope).to receive(:function_get_module_path).with(['science']).and_return('C:/path/to/module/')
+ allow(File).to receive(:exists?).with('C:/path/to/module/metadata.json').and_return(false)
+ else
+ 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(false)
+ end
expect {subject.call(['science'])}.to raise_error(Puppet::ParseError)
end
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(File).to receive(:exists?).with('/path/to/module/metadata.json').and_return(false)
+ if Puppet::Util::Platform.windows?
+ allow(scope).to receive(:function_get_module_path).with(['science']).and_return('C:/path/to/module/')
+ allow(File).to receive(:exists?).with('C:/path/to/module/metadata.json').and_return(false)
+ else
+ 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(false)
+ end
result = subject.call(['science', true])
expect(result).to eq({})
end
diff --git a/spec/functions/loadjson_spec.rb b/spec/functions/loadjson_spec.rb
index a00dff9..9d26e93 100644
--- a/spec/functions/loadjson_spec.rb
+++ b/spec/functions/loadjson_spec.rb
@@ -6,15 +6,18 @@ describe 'loadjson' do
describe "when calling with valid arguments" do
before :each do
- if RSpec.configuration.puppet_future
- 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
+ allow(File).to receive(:read).with(/\/stdlib\/metadata.json/, {:encoding=>"utf-8"}).and_return('{"name": "puppetlabs-stdlib"}')
+ allow(File).to receive(:read).with(/\/stdlib\/metadata.json/).and_return('{"name": "puppetlabs-stdlib"}')
end
context 'when a non-existing file is specified' do
- let(:filename) { '/tmp/doesnotexist' }
+ let(:filename) {
+ if Puppet::Util::Platform.windows?
+ 'C:/tmp/doesnotexist'
+ else
+ '/tmp/doesnotexist'
+ end
+ }
before {
allow(File).to receive(:exists?).with(filename).and_return(false).once
allow(PSON).to receive(:load).never
@@ -23,7 +26,13 @@ describe 'loadjson' do
end
context 'when an existing file is specified' do
- let(:filename) { '/tmp/doesexist' }
+ let(:filename) {
+ if Puppet::Util::Platform.windows?
+ 'C:/tmp/doesexist'
+ else
+ '/tmp/doesexist'
+ end
+ }
let(:data) { { 'key' => 'value' } }
let(:json) { '{"key":"value"}' }
before {
@@ -36,7 +45,13 @@ describe 'loadjson' do
end
context 'when the file could not be parsed' do
- let(:filename) { '/tmp/doesexist' }
+ let(:filename) {
+ if Puppet::Util::Platform.windows?
+ 'C:/tmp/doesexist'
+ else
+ '/tmp/doesexist'
+ end
+ }
let(:json) { '{"key":"value"}' }
before {
allow(File).to receive(:exists?).with(filename).and_return(true).once
diff --git a/spec/functions/validate_cmd_spec.rb b/spec/functions/validate_cmd_spec.rb
index ab0cbc9..c6559e8 100755
--- a/spec/functions/validate_cmd_spec.rb
+++ b/spec/functions/validate_cmd_spec.rb
@@ -1,6 +1,6 @@
require 'spec_helper'
-describe 'validate_cmd' do
+describe 'validate_cmd', :unless => Puppet::Util::Platform.windows? do
let(:touch) { File.exists?('/usr/bin/touch') ? '/usr/bin/touch' : '/bin/touch' }
describe 'signature validation' do
diff --git a/spec/functions/validate_legacy_spec.rb b/spec/functions/validate_legacy_spec.rb
index 50cb317..10b2aee 100644
--- a/spec/functions/validate_legacy_spec.rb
+++ b/spec/functions/validate_legacy_spec.rb
@@ -1,6 +1,6 @@
require 'spec_helper'
-if Puppet.version.to_f >= 4.0
+if Puppet.version.to_f >= 4.4
describe 'validate_legacy' do
it { is_expected.not_to eq(nil) }
it { is_expected.to run.with_params.and_raise_error(ArgumentError) }
diff --git a/spec/unit/puppet/type/file_line_spec.rb b/spec/unit/puppet/type/file_line_spec.rb
index 48e2670..c559e44 100755
--- a/spec/unit/puppet/type/file_line_spec.rb
+++ b/spec/unit/puppet/type/file_line_spec.rb
@@ -2,14 +2,28 @@
require 'spec_helper'
require 'tempfile'
describe Puppet::Type.type(:file_line) do
+ let :tmp_path do
+ if Puppet::Util::Platform.windows?
+ 'C:\tmp\path'
+ else
+ '/tmp/path'
+ end
+ end
+ let :my_path do
+ if Puppet::Util::Platform.windows?
+ 'C:\my\path'
+ else
+ '/my/path'
+ end
+ end
let :file_line do
- Puppet::Type.type(:file_line).new(:name => 'foo', :line => 'line', :path => '/tmp/path')
+ Puppet::Type.type(:file_line).new(:name => 'foo', :line => 'line', :path => tmp_path)
end
it 'should accept a line and path' do
file_line[:line] = 'my_line'
expect(file_line[:line]).to eq('my_line')
- file_line[:path] = '/my/path'
- expect(file_line[:path]).to eq('/my/path')
+ file_line[:path] = my_path
+ expect(file_line[:path]).to eq(my_path)
end
it 'should accept a match regex' do
file_line[:match] = '^foo.*$'
@@ -19,7 +33,7 @@ describe Puppet::Type.type(:file_line) do
expect {
Puppet::Type.type(:file_line).new(
:name => 'foo',
- :path => '/my/path',
+ :path => my_path,
:line => 'foo=bar',
:match => '^bar=blah$'
)}.not_to raise_error
@@ -28,23 +42,23 @@ describe Puppet::Type.type(:file_line) do
expect {
Puppet::Type.type(:file_line).new(
:name => 'foo',
- :path => '/my/path',
+ :path => my_path,
:line => 'foo=bar',
:match => '^\s*foo=.*$'
)}.not_to raise_error
end
it 'should accept posix filenames' do
- file_line[:path] = '/tmp/path'
- expect(file_line[:path]).to eq('/tmp/path')
+ file_line[:path] = tmp_path
+ expect(file_line[:path]).to eq(tmp_path)
end
it 'should not accept unqualified path' do
expect { file_line[:path] = 'file' }.to raise_error(Puppet::Error, /File paths must be fully qualified/)
end
it 'should require that a line is specified' do
- expect { Puppet::Type.type(:file_line).new(:name => 'foo', :path => '/tmp/file') }.to raise_error(Puppet::Error, /line is a required attribute/)
+ expect { Puppet::Type.type(:file_line).new(:name => 'foo', :path => tmp_path) }.to raise_error(Puppet::Error, /line is a required attribute/)
end
it 'should not require that a line is specified when matching for absence' do
- expect { Puppet::Type.type(:file_line).new(:name => 'foo', :path => '/tmp/file', :ensure => :absent, :match_for_absence => :true, :match => 'match') }.not_to raise_error
+ expect { Puppet::Type.type(:file_line).new(:name => 'foo', :path => tmp_path, :ensure => :absent, :match_for_absence => :true, :match => 'match') }.not_to raise_error
end
it 'should require that a file is specified' do
expect { Puppet::Type.type(:file_line).new(:name => 'foo', :line => 'path') }.to raise_error(Puppet::Error, /path is a required attribute/)
@@ -58,12 +72,12 @@ describe Puppet::Type.type(:file_line) do
it "should autorequire the file it manages" do
catalog = Puppet::Resource::Catalog.new
- file = Puppet::Type.type(:file).new(:name => "/tmp/path")
+ file = Puppet::Type.type(:file).new(:name => tmp_path)
catalog.add_resource file
catalog.add_resource file_line
relationship = file_line.autorequire.find do |rel|
- (rel.source.to_s == "File[/tmp/path]") and (rel.target.to_s == file_line.to_s)
+ (rel.source.to_s == "File[#{tmp_path}]") and (rel.target.to_s == file_line.to_s)
end
expect(relationship).to be_a Puppet::Relationship
end