Skip to content

Commit 7556282

Browse files
author
Helen Campbell
committed
pdksync_heads/master-0-g34e3266
1 parent 921a869 commit 7556282

23 files changed

+93
-98
lines changed

.gitignore

+1-1
Original file line numberDiff line numberDiff line change
@@ -13,11 +13,11 @@
1313
/Gemfile.lock
1414
/junit/
1515
/log/
16-
/log/
1716
/pkg/
1817
/spec/fixtures/manifests/
1918
/spec/fixtures/modules/
2019
/tmp/
2120
/vendor/
2221
/convert_report.txt
22+
/update_report.txt
2323
.DS_Store

.pdkignore

+23
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
.*.sw[op]
2+
.metadata
3+
.yardoc
4+
.yardwarns
5+
*.iml
6+
/.bundle/
7+
/.idea/
8+
/.vagrant/
9+
/coverage/
10+
/bin/
11+
/doc/
12+
/Gemfile.local
13+
/Gemfile.lock
14+
/junit/
15+
/log/
16+
/pkg/
17+
/spec/fixtures/manifests/
18+
/spec/fixtures/modules/
19+
/tmp/
20+
/vendor/
21+
/convert_report.txt
22+
/update_report.txt
23+
.DS_Store

.rubocop.yml

+12-2
Original file line numberDiff line numberDiff line change
@@ -10,11 +10,14 @@ AllCops:
1010
Exclude:
1111
- bin/*
1212
- ".vendor/**/*"
13-
- Gemfile
14-
- Rakefile
13+
- "**/Gemfile"
14+
- "**/Rakefile"
1515
- pkg/**/*
1616
- spec/fixtures/**/*
1717
- vendor/**/*
18+
- "**/Puppetfile"
19+
- "**/Vagrantfile"
20+
- "**/Guardfile"
1821
Metrics/LineLength:
1922
Description: People have wide screens, use them.
2023
Max: 200
@@ -66,6 +69,13 @@ Style/SymbolArray:
6669
Description: Using percent style obscures symbolic intent of array's contents.
6770
EnforcedStyle: brackets
6871
inherit_from: ".rubocop_todo.yml"
72+
RSpec/MessageSpies:
73+
EnforcedStyle: receive
74+
Style/Documentation:
75+
Exclude:
76+
- lib/puppet/parser/functions/**/*
77+
Style/WordArray:
78+
EnforcedStyle: brackets
6979
Style/CollectionMethods:
7080
Enabled: true
7181
Style/MethodCalledOnDoEndBlock:

.travis.yml

+7-13
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@ before_install:
77
- bundle -v
88
- rm -f Gemfile.lock
99
- gem update --system
10-
- gem update bundler
1110
- gem --version
1211
- bundle -v
1312
script:
@@ -16,38 +15,33 @@ bundler_args: --without system_tests
1615
rvm:
1716
- 2.4.1
1817
env:
19-
- PUPPET_GEM_VERSION="~> 5.0" CHECK=spec
18+
global:
19+
- BEAKER_PUPPET_COLLECTION=puppet5 PUPPET_GEM_VERSION="~> 5.0"
2020
matrix:
2121
fast_finish: true
2222
include:
2323
-
2424
bundler_args:
2525
dist: trusty
26-
env: PUPPET_INSTALL_TYPE=agent BEAKER_debug=true BEAKER_set=docker/centos-7
26+
env: PUPPET_INSTALL_TYPE=agent BEAKER_debug=true BEAKER_PUPPET_COLLECTION=puppet5 BEAKER_set=docker/centos-7
2727
rvm: 2.4.1
2828
script: bundle exec rake beaker
2929
services: docker
3030
sudo: required
3131
-
3232
bundler_args:
3333
dist: trusty
34-
env: PUPPET_INSTALL_TYPE=agent BEAKER_debug=true BEAKER_set=docker/ubuntu-14.04
34+
env: PUPPET_INSTALL_TYPE=agent BEAKER_debug=true BEAKER_PUPPET_COLLECTION=puppet5 BEAKER_set=docker/ubuntu-14.04
3535
rvm: 2.4.1
3636
script: bundle exec rake beaker
3737
services: docker
3838
sudo: required
3939
-
40-
env: CHECK=rubocop
40+
env: CHECK="syntax lint metadata_lint check:symlinks check:git_ignore check:dot_underscore check:test_file rubocop"
4141
-
42-
env: CHECK="syntax lint"
42+
env: CHECK=parallel_spec
4343
-
44-
env: CHECK=metadata_lint
45-
-
46-
env: CHECK=release_checks
47-
-
48-
env: CHECK=spec
49-
-
50-
env: PUPPET_GEM_VERSION="~> 4.0" CHECK=spec
44+
env: PUPPET_GEM_VERSION="~> 4.0" CHECK=parallel_spec
5145
rvm: 2.1.9
5246
branches:
5347
only:

.yardopts

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
--markup markdown

Gemfile

+7-55
Original file line numberDiff line numberDiff line change
@@ -28,11 +28,12 @@ group :development do
2828
gem "fast_gettext", require: false if Gem::Version.new(RUBY_VERSION.dup) >= Gem::Version.new('2.1.0')
2929
gem "json_pure", '<= 2.0.1', require: false if Gem::Version.new(RUBY_VERSION.dup) < Gem::Version.new('2.0.0')
3030
gem "json", '= 1.8.1', require: false if Gem::Version.new(RUBY_VERSION.dup) == Gem::Version.new('2.1.9')
31+
gem "json", '<= 2.0.4', require: false if Gem::Version.new(RUBY_VERSION.dup) == Gem::Version.new('2.4.4')
3132
gem "puppet-module-posix-default-r#{minor_version}", require: false, platforms: [:ruby]
3233
gem "puppet-module-posix-dev-r#{minor_version}", require: false, platforms: [:ruby]
3334
gem "puppet-module-win-default-r#{minor_version}", require: false, platforms: [:mswin, :mingw, :x64_mingw]
3435
gem "puppet-module-win-dev-r#{minor_version}", require: false, platforms: [:mswin, :mingw, :x64_mingw]
35-
gem "puppet-blacksmith", '~> 3.4', require: false
36+
gem "puppet-blacksmith", '~> 3.4', require: false, platforms: [:ruby]
3637
gem "puppet-lint-i18n", require: false
3738
end
3839
group :system_tests do
@@ -50,73 +51,24 @@ puppet_type = gem_type(puppet_version)
5051
facter_version = ENV['FACTER_GEM_VERSION']
5152
hiera_version = ENV['HIERA_GEM_VERSION']
5253

53-
def puppet_older_than?(version)
54-
puppet_version = ENV['PUPPET_GEM_VERSION']
55-
!puppet_version.nil? &&
56-
Gem::Version.correct?(puppet_version) &&
57-
Gem::Requirement.new("< #{version}").satisfied_by?(Gem::Version.new(puppet_version.dup))
58-
end
59-
6054
gems = {}
6155

6256
gems['puppet'] = location_for(puppet_version)
6357

6458
# If facter or hiera versions have been specified via the environment
65-
# variables, use those versions. If not, and if the puppet version is < 3.5.0,
66-
# use known good versions of both for puppet < 3.5.0.
67-
if facter_version
68-
gems['facter'] = location_for(facter_version)
69-
elsif puppet_type == :gem && puppet_older_than?('3.5.0')
70-
gems['facter'] = ['>= 1.6.11', '<= 1.7.5', require: false]
71-
end
72-
73-
if hiera_version
74-
gems['hiera'] = location_for(ENV['HIERA_GEM_VERSION'])
75-
elsif puppet_type == :gem && puppet_older_than?('3.5.0')
76-
gems['hiera'] = ['>= 1.0.0', '<= 1.3.0', require: false]
77-
end
59+
# variables
7860

79-
if Gem.win_platform? && (puppet_type != :gem || puppet_older_than?('3.5.0'))
80-
# For Puppet gems < 3.5.0 (tested as far back as 3.0.0) on Windows
81-
if puppet_type == :gem
82-
gems['ffi'] = ['1.9.0', require: false]
83-
gems['minitar'] = ['0.5.4', require: false]
84-
gems['win32-eventlog'] = ['0.5.3', '<= 0.6.5', require: false]
85-
gems['win32-process'] = ['0.6.5', '<= 0.7.5', require: false]
86-
gems['win32-security'] = ['~> 0.1.2', '<= 0.2.5', require: false]
87-
gems['win32-service'] = ['0.7.2', '<= 0.8.8', require: false]
88-
else
89-
gems['ffi'] = ['~> 1.9.0', require: false]
90-
gems['minitar'] = ['~> 0.5.4', require: false]
91-
gems['win32-eventlog'] = ['~> 0.5', '<= 0.6.5', require: false]
92-
gems['win32-process'] = ['~> 0.6', '<= 0.7.5', require: false]
93-
gems['win32-security'] = ['~> 0.1', '<= 0.2.5', require: false]
94-
gems['win32-service'] = ['~> 0.7', '<= 0.8.8', require: false]
95-
end
96-
97-
gems['win32-dir'] = ['~> 0.3', '<= 0.4.9', require: false]
98-
99-
if RUBY_VERSION.start_with?('1.')
100-
gems['win32console'] = ['1.3.2', require: false]
101-
# sys-admin was removed in Puppet 3.7.0 and doesn't compile under Ruby 2.x
102-
gems['sys-admin'] = ['1.5.6', require: false]
103-
end
61+
gems['facter'] = location_for(facter_version) if facter_version
62+
gems['hiera'] = location_for(hiera_version) if hiera_version
10463

105-
# Puppet < 3.7.0 requires these.
106-
# Puppet >= 3.5.0 gem includes these as requirements.
107-
# The following versions are tested to work with 3.0.0 <= puppet < 3.7.0.
108-
gems['win32-api'] = ['1.4.8', require: false]
109-
gems['win32-taskscheduler'] = ['0.2.2', require: false]
110-
gems['windows-api'] = ['0.4.3', require: false]
111-
gems['windows-pr'] = ['1.2.3', require: false]
112-
elsif Gem.win_platform?
64+
if Gem.win_platform? && puppet_version =~ %r{^(file:///|git://)}
11365
# If we're using a Puppet gem on Windows which handles its own win32-xxx gem
11466
# dependencies (>= 3.5.0), set the maximum versions (see PUP-6445).
11567
gems['win32-dir'] = ['<= 0.4.9', require: false]
11668
gems['win32-eventlog'] = ['<= 0.6.5', require: false]
11769
gems['win32-process'] = ['<= 0.7.5', require: false]
11870
gems['win32-security'] = ['<= 0.2.5', require: false]
119-
gems['win32-service'] = ['<= 0.8.8', require: false]
71+
gems['win32-service'] = ['0.8.8', require: false]
12072
end
12173

12274
gems.each do |gem_name, gem_params|

Rakefile

+4-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,7 @@
11
require 'puppetlabs_spec_helper/rake_tasks'
22
require 'puppet-syntax/tasks/puppet-syntax'
3-
require 'puppet_blacksmith/rake_tasks'
3+
require 'puppet_blacksmith/rake_tasks' if Bundler.rubygems.find_name('puppet-blacksmith').any?
44
require 'puppet_pot_generator/rake_tasks'
5+
6+
PuppetLint.configuration.send('disable_relative')
7+

lib/puppet/parser/functions/mysql_deepmerge.rb

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
module Puppet::Parser::Functions # rubocop:disable Style/Documentation
1+
module Puppet::Parser::Functions
22
newfunction(:mysql_deepmerge, type: :rvalue, doc: <<-'ENDHEREDOC') do |args|
33
@summary Recursively merges two or more hashes together and returns the resulting hash.
44

lib/puppet/parser/functions/mysql_dirname.rb

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
module Puppet::Parser::Functions # rubocop:disable Style/Documentation
1+
module Puppet::Parser::Functions
22
newfunction(:mysql_dirname, type: :rvalue, doc: <<-EOS
33
@summary
44
Returns the dirname of a path

lib/puppet/parser/functions/mysql_password.rb

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
require 'digest/sha1'
2-
module Puppet::Parser::Functions # rubocop:disable Style/Documentation
2+
module Puppet::Parser::Functions
33
newfunction(:mysql_password, type: :rvalue, doc: <<-EOS
44
@summary
55
Hash a string as mysql's "PASSWORD()" function would do it

lib/puppet/provider/mysql_datadir/mysql.rb

+2-2
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ def create
5252
end
5353

5454
opts = [defaults_extra_file]
55-
%w[basedir datadir user].each do |opt|
55+
['basedir', 'datadir', 'user'].each do |opt|
5656
val = eval(opt) # rubocop:disable Security/Eval
5757
opts << "--#{opt}=#{val}" unless val.nil?
5858
end
@@ -80,7 +80,7 @@ def destroy
8080

8181
def exists?
8282
datadir = @resource[:datadir]
83-
File.directory?("#{datadir}/mysql") && (Dir.entries("#{datadir}/mysql") - %w[. ..]).any?
83+
File.directory?("#{datadir}/mysql") && (Dir.entries("#{datadir}/mysql") - ['.', '..']).any?
8484
end
8585

8686
##

metadata.json

+3-2
Original file line numberDiff line numberDiff line change
@@ -84,6 +84,7 @@
8484
}
8585
],
8686
"description": "MySQL module",
87-
"template-url": "file:///opt/puppetlabs/pdk/share/cache/pdk-templates.git",
88-
"template-ref": "1.3.2-0-g07678c8"
87+
"template-url": "https://github.com/puppetlabs/pdk-templates",
88+
"template-ref": "heads/master-0-g34e3266",
89+
"pdk-version": "1.5.0"
8990
}

spec/acceptance/mysql_backup_spec.rb

+2-2
Original file line numberDiff line numberDiff line change
@@ -124,7 +124,7 @@ class { 'mysql::server::backup':
124124

125125
it 'creates one file per database' do
126126
unless version_is_greater_than('5.7.0')
127-
%w[backup1 backup2].each do |database|
127+
['backup1', 'backup2'].each do |database|
128128
shell("ls -l /tmp/backups/mysql_backup_#{database}_*-*.sql.bz2 | wc -l") do |r|
129129
expect(r.stdout).to match(%r{1})
130130
expect(r.exit_code).to be_zero
@@ -142,7 +142,7 @@ class { 'mysql::server::backup':
142142

143143
it 'has one file per database per run' do
144144
unless version_is_greater_than('5.7.0')
145-
%w[backup1 backup2].each do |database|
145+
['backup1', 'backup2'].each do |database|
146146
shell("ls -l /tmp/backups/mysql_backup_#{database}_*-*.sql.bz2 | wc -l") do |r|
147147
expect(r.stdout).to match(%r{2})
148148
expect(r.exit_code).to be_zero

spec/classes/mycnf_template_spec.rb

+1-1
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
end
1818

1919
describe 'array entry' do
20-
let(:params) { { override_options: { 'mysqld' => { 'replicate-do-db' => %w[base1 base2] } } } }
20+
let(:params) { { override_options: { 'mysqld' => { 'replicate-do-db' => ['base1', 'base2'] } } } }
2121

2222
it do
2323
is_expected.to contain_file('mysql-config-file').with_content(

spec/classes/mysql_server_monitor_spec.rb

+1-1
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@
2727
it {
2828
is_expected.to contain_mysql_grant('monitoruser@monitorhost/*.*').with(
2929
ensure: 'present', user: 'monitoruser@monitorhost',
30-
table: '*.*', privileges: %w[PROCESS SUPER],
30+
table: '*.*', privileges: ['PROCESS', 'SUPER'],
3131
require: 'Mysql_user[monitoruser@monitorhost]'
3232
)
3333
}

spec/classes/mysql_server_spec.rb

+2-2
Original file line numberDiff line numberDiff line change
@@ -205,7 +205,7 @@
205205
'foo@localhost/somedb.*' => {
206206
'user' => 'foo@localhost',
207207
'table' => 'somedb.*',
208-
'privileges' => %w[SELECT UPDATE],
208+
'privileges' => ['SELECT', 'UPDATE'],
209209
'options' => ['GRANT'],
210210
},
211211
'foo2@localhost/*.*' => {
@@ -219,7 +219,7 @@
219219
it {
220220
is_expected.to contain_mysql_grant('foo@localhost/somedb.*').with(
221221
user: 'foo@localhost', table: 'somedb.*',
222-
privileges: %w[SELECT UPDATE], options: ['GRANT']
222+
privileges: ['SELECT', 'UPDATE'], options: ['GRANT']
223223
)
224224
}
225225
it {

spec/defines/mysql_db_spec.rb

+1-1
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@
4747
end
4848

4949
it 'imports sql scripts when more than one is specified' do
50-
params['sql'] = %w[test_sql test_2_sql]
50+
params['sql'] = ['test_sql', 'test_2_sql']
5151
is_expected.to contain_exec('test_db-import').with_command('cat test_sql test_2_sql | mysql test_db')
5252
end
5353

spec/spec_helper.rb

+13
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,13 @@
1+
12
require 'puppetlabs_spec_helper/module_spec_helper'
23
require 'rspec-puppet-facts'
4+
5+
begin
6+
require 'spec_helper_local' if File.file?(File.join(File.dirname(__FILE__), 'spec_helper_local.rb'))
7+
rescue LoadError => loaderror
8+
warn "Could not require spec_helper_local: #{loaderror.message}"
9+
end
10+
311
include RspecPuppetFacts
412

513
default_facts = {
@@ -20,5 +28,10 @@
2028

2129
RSpec.configure do |c|
2230
c.default_facts = default_facts
31+
c.before :each do
32+
# set to strictest setting for testing
33+
# by default Puppet runs at warning level
34+
Puppet.settings[:strict] = :warning
35+
end
2336
end
2437
require 'spec_helper_local'

spec/unit/puppet/functions/mysql_deepmerge_spec.rb

+3-3
Original file line numberDiff line numberDiff line change
@@ -28,8 +28,8 @@
2828
expect { scope.function_mysql_deepmerge([{}, '']) }.not_to raise_error
2929
end
3030

31-
index_values = %w[one two three]
32-
expected_values_one = %w[1 2 2]
31+
index_values = ['one', 'two', 'three']
32+
expected_values_one = ['1', '2', '2']
3333
it 'is able to mysql_deepmerge two hashes' do
3434
new_hash = scope.function_mysql_deepmerge([{ 'one' => '1', 'two' => '1' }, { 'two' => '2', 'three' => '2' }])
3535
index_values.each_with_index do |index, expected|
@@ -67,7 +67,7 @@
6767
end
6868
end
6969

70-
index_values_two = %w[key1 key2]
70+
index_values_two = ['key1', 'key2']
7171
expected_values_four = [{ 'a' => 1, 'b' => 99 }, 'c' => 3]
7272
it 'appends to subhashes 3' do
7373
hash = scope.function_mysql_deepmerge([{ 'key1' => { 'a' => 1, 'b' => 2 }, 'key2' => { 'c' => 3 } }, { 'key1' => { 'b' => 99 } }])

spec/unit/puppet/functions/mysql_password_spec.rb

+2-2
Original file line numberDiff line numberDiff line change
@@ -16,11 +16,11 @@
1616
end
1717

1818
it 'raises a ParseError if there is more than 1 arguments' do
19-
expect { scope.function_mysql_password(%w[foo bar]) }.to(raise_error(Puppet::ParseError))
19+
expect { scope.function_mysql_password(['foo', 'bar']) }.to(raise_error(Puppet::ParseError))
2020
end
2121

2222
it 'converts password into a hash' do
23-
result = scope.function_mysql_password(%w[password])
23+
result = scope.function_mysql_password(['password'])
2424
expect(result).to(eq('*2470C0C06DEE42FD1618BB99005ADCA2EC9D1E19'))
2525
end
2626

0 commit comments

Comments
 (0)