Page MenuHomeSoftware Heritage

No OneTemporary

diff --git a/Gemfile b/Gemfile
index 605d99f..ce0c8f8 100644
--- a/Gemfile
+++ b/Gemfile
@@ -1,53 +1,53 @@
source ENV['GEM_SOURCE'] || 'https://rubygems.org'
group :test do
- gem 'puppetlabs_spec_helper', require: false
+ gem 'puppetlabs_spec_helper', '>= 2.11.0', require: false
gem 'rspec-puppet', require: false
gem 'rspec-puppet-facts', require: false
gem 'rspec-puppet-utils', require: false
gem 'puppet-lint-absolute_classname-check', require: false
gem 'puppet-lint-leading_zero-check', require: false
gem 'puppet-lint-trailing_comma-check', require: false
gem 'puppet-lint-version_comparison-check', require: false
gem 'puppet-lint-classes_and_types_beginning_with_digits-check', require: false
gem 'puppet-lint-unquoted_string-check', require: false
gem 'puppet-lint-variable_contains_upcase', require: false
gem 'metadata-json-lint', require: false
gem 'puppet-blacksmith', require: false
gem 'voxpupuli-release', require: false, git: 'https://github.com/voxpupuli/voxpupuli-release-gem.git'
gem 'puppet-strings', '~> 1.0', require: false
- gem 'rubocop-rspec', '~> 1.5', require: false if RUBY_VERSION >= '2.2.0'
- gem 'json_pure', '<= 2.0.1', require: false if RUBY_VERSION < '2.0.0'
+ gem 'rubocop', '~> 0.49.1', require: false
+ gem 'rubocop-rspec', require: false
gem 'rspec-its', require: false
end
group :development do
gem 'travis', require: false
gem 'travis-lint', require: false
gem 'guard-rake', require: false
end
group :system_tests do
if (beaker_version = ENV['BEAKER_VERSION'])
gem 'beaker', *location_for(beaker_version)
end
if (beaker_rspec_version = ENV['BEAKER_RSPEC_VERSION'])
gem 'beaker-rspec', *location_for(beaker_rspec_version)
else
gem 'beaker-rspec', require: false
end
gem 'beaker-puppet_install_helper', require: false
end
if (facterversion = ENV['FACTER_GEM_VERSION'])
gem 'facter', facterversion.to_s, require: false, groups: [:test]
else
gem 'facter', require: false, groups: [:test]
end
ENV['PUPPET_VERSION'].nil? ? puppetversion = '~> 4.0' : puppetversion = ENV['PUPPET_VERSION'].to_s
gem 'puppet', puppetversion, require: false, groups: [:test]
# vim: syntax=ruby
diff --git a/spec/classes/resolv_conf_spec.rb b/spec/classes/resolv_conf_spec.rb
index 9fc40d7..58e9fe2 100644
--- a/spec/classes/resolv_conf_spec.rb
+++ b/spec/classes/resolv_conf_spec.rb
@@ -1,343 +1,345 @@
+# frozen_string_literal: true
+
require 'spec_helper'
on_supported_os.each_value do |f|
describe 'resolv_conf' do
let(:facts) { { domain: 'example.com' } }
let :default_params do
{
nameservers: ['192.168.0.1', '192.168.1.1', '192.168.2.1']
}
end
[
{
searchpath: 'example.com',
nameservers: ['192.168.0.1', '192.168.1.1', '192.168.2.1'],
domainname: 'example.com'
},
{
searchpath: ['example.com', 'example.de'],
nameservers: ['192.168.0.1', '192.168.1.1', '192.168.2.1'],
domainname: 'example.com',
options: ['timeout:2', 'attempts:3']
},
{
searchpath: 'example.com',
nameservers: ['192.168.0.1', '192.168.1.1', '192.168.2.1'],
domainname: 'example.com',
options: ['timeout:2', 'attempts:3']
}
].each do |param_set|
describe 'when setting searchpath and domainname' do
let :param_hash do
default_params.merge(param_set)
end
let :params do
param_set
end
let(:facts) do
f.merge(super())
end
describe "on #{f[:os]}" do
it 'fails to compile' do
expect { is_expected.to compile }.to raise_error(%r{domainname and searchpath are mutually exclusive parameters})
end
end
end
end
[
{
searchpath: 'example.com',
nameservers: ['192.168.0.1', '192.168.1.1', '192.168.2.1']
},
{
searchpath: ['example.com', 'example.de'],
nameservers: ['192.168.0.1', '192.168.1.1', '192.168.2.1']
},
{
searchpath: ['example.com', 'example.de', 'example.de'],
nameservers: ['192.168.0.1', '192.168.1.1', '192.168.2.1']
},
{
searchpath: 'example.com',
nameservers: ['192.168.0.1', '192.168.1.1', '192.168.2.1'],
options: ['timeout:2', 'attempts:3']
}
].each do |param_set|
describe 'when setting searchpath without domainname' do
let :param_hash do
default_params.merge(param_set)
end
let :params do
param_set
end
let(:facts) do
f.merge(super())
end
describe "on #{f[:os]}" do
it do
is_expected.to contain_file('/etc/resolv.conf').with(
'ensure' => 'file',
'owner' => 'root',
'group' => 0,
'mode' => '0644'
)
end
it 'compiles the template based on the class parameters' do
content = param_value(
catalogue,
'file',
'/etc/resolv.conf',
'content'
)
expected_lines = []
if param_hash[:searchpath].empty?
expected_lines.push("domain #{param_hash[:domainname]}")
elsif param_hash[:searchpath].is_a?(Array)
- expected_lines.push('search ' + param_hash[:searchpath].uniq().join(' '))
+ expected_lines.push('search ' + param_hash[:searchpath].uniq.join(' '))
else
expected_lines.push("search #{param_hash[:searchpath]}")
end
param_hash[:nameservers].each do |ns|
expected_lines.push("nameserver #{ns}")
end
if param_hash[:options] && !param_hash[:options].empty?
param_hash[:options].each do |option|
expected_lines.push("options #{option}")
end
end
(content.split("\n") & expected_lines).should =~ expected_lines
end
end
end
end
[
{
nameservers: ['192.168.0.1', '192.168.1.1', '192.168.2.1'],
domainname: 'example.com'
},
{
nameservers: ['192.168.0.1', '192.168.1.1', '192.168.2.1'],
domainname: 'example.com',
options: ['timeout:2', 'attempts:3']
}
].each do |param_set|
describe 'when setting domainname without searchpath' do
let :param_hash do
default_params.merge(param_set)
end
let :params do
param_set
end
let(:facts) do
f.merge(super())
end
describe "on #{f[:os]}" do
it do
is_expected.to contain_file('/etc/resolv.conf').with(
'ensure' => 'file',
'owner' => 'root',
'group' => 0,
'mode' => '0644'
)
end
it 'compiles the template based on the class parameters' do
content = param_value(
catalogue,
'file',
'/etc/resolv.conf',
'content'
)
expected_lines = [
"domain #{param_hash[:domainname]}"
]
param_hash[:nameservers].each do |ns|
expected_lines.push("nameserver #{ns}")
end
if param_hash[:options] && !param_hash[:options].empty?
param_hash[:options].each do |option|
expected_lines.push("options #{option}")
end
end
(content.split("\n") & expected_lines).should =~ expected_lines
end
end
end
end
[
{
nameservers: ['192.168.0.1', '192.168.1.1', '192.168.2.1']
},
{
nameservers: ['192.168.0.1', '192.168.1.1', '192.168.2.1'],
options: ['timeout:2', 'attempts:3']
},
{
nameservers: ['192.168.0.1', '192.168.1.1', '192.168.2.1'],
options: ['timeout:2', 'attempts:3']
}
].each do |param_set|
describe 'when setting neither searchpath nor domainname' do
let :param_hash do
default_params.merge(param_set)
end
let :params do
param_set
end
let(:facts) do
f.merge(super())
end
describe "on #{f[:os]}" do
it do
is_expected.to contain_file('/etc/resolv.conf').with(
'ensure' => 'file',
'owner' => 'root',
'group' => 0,
'mode' => '0644'
)
end
it 'compiles the template based on the class parameters' do
content = param_value(
catalogue,
'file',
'/etc/resolv.conf',
'content'
)
expected_lines = [
"domain #{facts[:domain]}"
]
param_hash[:nameservers].each do |ns|
expected_lines.push("nameserver #{ns}")
end
if param_hash[:options] && !param_hash[:options].empty?
param_hash[:options].each do |option|
expected_lines.push("options #{option}")
end
end
(content.split("\n") & expected_lines).should =~ expected_lines
end
end
end
end
[
{
nameservers: ['192.168.0.1', '192.168.1.1', '192.168.2.1'],
use_resolvconf: true
}
].each do |param_set|
describe 'when setting neither searchpath nor domainname' do
let :param_hash do
default_params.merge(param_set)
end
let :params do
param_set
end
let(:facts) do
f.merge(super())
end
describe "on #{f[:os]}" do
it do
is_expected.to contain_file('/etc/resolv.conf').with(
'ensure' => 'link',
'target' => '/run/resolvconf/resolv.conf'
)
end
it do
is_expected.to contain_file('/run/resolvconf/resolv.conf').with(
'ensure' => 'file',
'owner' => 'root',
'group' => 0,
'mode' => '0644'
)
end
it 'compiles the template based on the class parameters' do
content = param_value(
catalogue,
'file',
'/run/resolvconf/resolv.conf',
'content'
)
expected_lines = [
"domain #{facts[:domain]}"
]
param_hash[:nameservers].each do |ns|
expected_lines.push("nameserver #{ns}")
end
if param_hash[:options] && !param_hash[:options].empty?
param_hash[:options].each do |option|
expected_lines.push("options #{option}")
end
end
(content.split("\n") & expected_lines).should =~ expected_lines
end
end
end
end
[
{
nameservers: ['192.168.0.1', '192.168.1.1', '192.168.2.1'],
mode: '0444'
}
].each do |param_set|
describe 'when setting neither searchpath nor domainname' do
let :param_hash do
default_params.merge(param_set)
end
let :params do
param_set
end
let(:facts) do
f.merge(super())
end
describe "on #{f[:os]}" do
it do
is_expected.to contain_file('/etc/resolv.conf').with(
'ensure' => 'file',
'owner' => 'root',
'group' => 0,
'mode' => '0444'
)
end
end
end
end
end
end
diff --git a/spec/spec_helper.rb b/spec/spec_helper.rb
index e0c0dfb..99b506d 100644
--- a/spec/spec_helper.rb
+++ b/spec/spec_helper.rb
@@ -1,16 +1,18 @@
+# frozen_string_literal: true
+
require 'puppetlabs_spec_helper/module_spec_helper'
if Puppet::Util::Package.versioncmp(Puppet.version, '4.5.0') >= 0
RSpec.configure do |c|
c.before do
Puppet.settings[:strict] = :error
end
end
end
# put local configuration and setup into spec_helper_local
begin
require 'spec_helper_local'
rescue LoadError => loaderror
puts "Could not require spec_helper_local: #{loaderror.message}"
end
diff --git a/spec/spec_helper_local.rb b/spec/spec_helper_local.rb
index 9ff7f23..35450f7 100644
--- a/spec/spec_helper_local.rb
+++ b/spec/spec_helper_local.rb
@@ -1,2 +1,4 @@
+# frozen_string_literal: true
+
require 'rspec-puppet-facts'
include RspecPuppetFacts

File Metadata

Mime Type
text/x-diff
Expires
Thu, Sep 18, 4:51 PM (20 h, 33 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
3313099

Event Timeline