simp-rake-helpers 5.25.0 → 6.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (129) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +26 -0
  3. data/Gemfile +13 -6
  4. data/lib/simp/command_utils.rb +6 -3
  5. data/lib/simp/componentinfo.rb +47 -33
  6. data/lib/simp/local_gpg_signing_key.rb +302 -303
  7. data/lib/simp/packer/iso_vars_json.rb +17 -15
  8. data/lib/simp/rake/build/auto.rb +415 -432
  9. data/lib/simp/rake/build/build.rb +119 -124
  10. data/lib/simp/rake/build/clean.rb +39 -39
  11. data/lib/simp/rake/build/code.rb +125 -128
  12. data/lib/simp/rake/build/constants.rb +7 -4
  13. data/lib/simp/rake/build/deps.rb +196 -207
  14. data/lib/simp/rake/build/helpers.rb +17 -13
  15. data/lib/simp/rake/build/iso.rb +404 -411
  16. data/lib/simp/rake/build/pkg.rb +752 -759
  17. data/lib/simp/rake/build/rpmdeps.rb +70 -70
  18. data/lib/simp/rake/build/spec.rb +44 -46
  19. data/lib/simp/rake/build/tar.rb +169 -173
  20. data/lib/simp/rake/build/unpack.rb +105 -107
  21. data/lib/simp/rake/build/upload.rb +93 -102
  22. data/lib/simp/rake/fixtures.rb +69 -66
  23. data/lib/simp/rake/helpers/rpm_spec.rb +10 -7
  24. data/lib/simp/rake/helpers/version.rb +3 -1
  25. data/lib/simp/rake/helpers.rb +12 -10
  26. data/lib/simp/rake/pkg.rb +417 -440
  27. data/lib/simp/rake/pupmod/helpers.rb +100 -87
  28. data/lib/simp/rake/pupmod/module_build.rb +39 -0
  29. data/lib/simp/rake/rubygem.rb +57 -56
  30. data/lib/simp/rake.rb +34 -29
  31. data/lib/simp/relchecks.rb +52 -43
  32. data/lib/simp/rpm.rb +123 -127
  33. data/lib/simp/rpm_signer.rb +57 -55
  34. data/lib/simp/yum.rb +54 -53
  35. data/spec/acceptance/nodesets/{default_ruby3_1.yml → almalinux10.yml} +4 -4
  36. data/spec/acceptance/nodesets/{default.yml → almalinux8.yml} +2 -2
  37. data/spec/acceptance/nodesets/almalinux9.yml +25 -0
  38. data/spec/acceptance/suites/default/00_pkg_rpm_custom_scriptlets_spec.rb +23 -28
  39. data/spec/acceptance/suites/default/10_pkg_rpm_spec.rb +54 -56
  40. data/spec/acceptance/suites/default/30_pkg_misc_spec.rb +17 -19
  41. data/spec/acceptance/suites/default/50_local_gpg_signing_key_spec.rb +5 -5
  42. data/spec/acceptance/suites/default/55_build_pkg_signing_spec.rb +109 -101
  43. data/spec/acceptance/suites/default/files/testpackage/spec/classes/init_spec.rb +1 -0
  44. data/spec/acceptance/suites/default/files/testpackage/spec/files/mock_something.rb +3 -1
  45. data/spec/acceptance/suites/default/files/testpackage/utils/convert_v1_to_v2.rb +2 -0
  46. data/spec/acceptance/suites/default/support/build_project_helpers.rb +20 -17
  47. data/spec/acceptance/suites/default/support/build_user_helpers.rb +4 -2
  48. data/spec/acceptance/suites/default/support/pkg_rpm_helpers.rb +30 -31
  49. data/spec/acceptance/support/simp_rake_helpers.rb +3 -1
  50. data/spec/lib/simp/command_utils_spec.rb +13 -10
  51. data/spec/lib/simp/componentinfo_changelog_regex_spec.rb +33 -33
  52. data/spec/lib/simp/componentinfo_spec.rb +99 -86
  53. data/spec/lib/simp/packer/iso_vars_json_spec.rb +16 -14
  54. data/spec/lib/simp/rake/build/helpers_spec.rb +7 -7
  55. data/spec/lib/simp/rake/build/rpmdeps_spec.rb +48 -46
  56. data/spec/lib/simp/rake/helpers_spec.rb +6 -5
  57. data/spec/lib/simp/rake/pkg_spec.rb +7 -5
  58. data/spec/lib/simp/rake/pupmod/fixtures/othermod/spec/classes/init_spec.rb +3 -1
  59. data/spec/lib/simp/rake/pupmod/fixtures/othermod/spec/spec_helper.rb +2 -0
  60. data/spec/lib/simp/rake/pupmod/fixtures/simpmod/spec/acceptance/suites/default/class_spec.rb +6 -5
  61. data/spec/lib/simp/rake/pupmod/fixtures/simpmod/spec/classes/init_spec.rb +51 -33
  62. data/spec/lib/simp/rake/pupmod/fixtures/simpmod/spec/spec_helper.rb +15 -16
  63. data/spec/lib/simp/rake/pupmod/fixtures/simpmod/spec/spec_helper_acceptance.rb +9 -9
  64. data/spec/lib/simp/rake/pupmod/helpers_spec.rb +20 -19
  65. data/spec/lib/simp/rake/pupmod/module_build_spec.rb +87 -0
  66. data/spec/lib/simp/rake_spec.rb +7 -6
  67. data/spec/lib/simp/relchecks_check_rpm_changelog_spec.rb +26 -31
  68. data/spec/lib/simp/relchecks_compare_latest_tag_spec.rb +32 -26
  69. data/spec/lib/simp/relchecks_create_tag_changelog_spec.rb +27 -19
  70. data/spec/lib/simp/rpm_signer_spec.rb +45 -39
  71. data/spec/lib/simp/rpm_spec.rb +190 -194
  72. data/spec/spec_helper.rb +4 -2
  73. data/spec/spec_helper_acceptance.rb +3 -5
  74. metadata +37 -72
  75. data/bin/simp_rake_helpers +0 -3
  76. data/lib/simp/ci/gitlab.rb +0 -226
  77. data/lib/simp/rake/ci.rb +0 -31
  78. data/spec/lib/simp/ci/files/global_nodesets_only/spec/acceptance/nodesets/default.yml +0 -41
  79. data/spec/lib/simp/ci/files/global_nodesets_only/spec/acceptance/nodesets/oel.yml +0 -41
  80. data/spec/lib/simp/ci/files/job_broken_link_nodeset/spec/acceptance/nodesets/centos.yml +0 -41
  81. data/spec/lib/simp/ci/files/job_broken_link_nodeset/spec/acceptance/nodesets/oel.yml +0 -41
  82. data/spec/lib/simp/ci/files/job_broken_link_nodeset/spec/acceptance/suites/default/class_spec.rb +0 -0
  83. data/spec/lib/simp/ci/files/job_invalid_nodeset/spec/acceptance/nodesets/default.yml +0 -41
  84. data/spec/lib/simp/ci/files/job_invalid_nodeset/spec/acceptance/nodesets/oel.yml +0 -41
  85. data/spec/lib/simp/ci/files/job_invalid_nodeset/spec/acceptance/suites/default/class_spec.rb +0 -0
  86. data/spec/lib/simp/ci/files/job_invalid_suite/spec/acceptance/nodesets/default.yml +0 -41
  87. data/spec/lib/simp/ci/files/job_invalid_suite/spec/acceptance/nodesets/oel.yml +0 -41
  88. data/spec/lib/simp/ci/files/job_invalid_suite/spec/acceptance/suites/default/class_spec.rb +0 -0
  89. data/spec/lib/simp/ci/files/job_missing_nodeset/spec/acceptance/nodesets/default.yml +0 -41
  90. data/spec/lib/simp/ci/files/job_missing_nodeset/spec/acceptance/nodesets/oel.yml +0 -41
  91. data/spec/lib/simp/ci/files/job_missing_nodeset/spec/acceptance/suites/default/class_spec.rb +0 -0
  92. data/spec/lib/simp/ci/files/job_missing_suite_and_nodeset/spec/acceptance/nodesets/default.yml +0 -41
  93. data/spec/lib/simp/ci/files/job_missing_suite_and_nodeset/spec/acceptance/nodesets/oel.yml +0 -41
  94. data/spec/lib/simp/ci/files/job_missing_suite_and_nodeset/spec/acceptance/suites/default/class_spec.rb +0 -0
  95. data/spec/lib/simp/ci/files/multiple_invalid_jobs/spec/acceptance/nodesets/default.yml +0 -41
  96. data/spec/lib/simp/ci/files/multiple_invalid_jobs/spec/acceptance/nodesets/oel.yml +0 -41
  97. data/spec/lib/simp/ci/files/multiple_invalid_jobs/spec/acceptance/suites/default/class_spec.rb +0 -0
  98. data/spec/lib/simp/ci/files/multiple_invalid_jobs/spec/acceptance/suites/feature-1/feature-1_spec.rb +0 -0
  99. data/spec/lib/simp/ci/files/multiple_invalid_jobs/spec/acceptance/suites/feature_2/feature_2_spec.rb +0 -0
  100. data/spec/lib/simp/ci/files/multiple_invalid_jobs/spec/acceptance/suites/feature_2/nodesets/default.yml +0 -35
  101. data/spec/lib/simp/ci/files/multiple_invalid_jobs/spec/acceptance/suites/feature_2/nodesets/oel.yml +0 -35
  102. data/spec/lib/simp/ci/files/multiple_valid_jobs/spec/acceptance/nodesets/default.yml +0 -41
  103. data/spec/lib/simp/ci/files/multiple_valid_jobs/spec/acceptance/nodesets/oel.yml +0 -41
  104. data/spec/lib/simp/ci/files/multiple_valid_jobs/spec/acceptance/suites/default/class_spec.rb +0 -0
  105. data/spec/lib/simp/ci/files/multiple_valid_jobs/spec/acceptance/suites/feature-1/feature-1_spec.rb +0 -0
  106. data/spec/lib/simp/ci/files/multiple_valid_jobs/spec/acceptance/suites/feature_2/feature_2_spec.rb +0 -0
  107. data/spec/lib/simp/ci/files/multiple_valid_jobs/spec/acceptance/suites/feature_2/nodesets/default.yml +0 -35
  108. data/spec/lib/simp/ci/files/multiple_valid_jobs/spec/acceptance/suites/feature_2/nodesets/oel.yml +0 -35
  109. data/spec/lib/simp/ci/files/no_acceptance_tests/spec/spec_helper.rb +0 -0
  110. data/spec/lib/simp/ci/files/no_gitlab_config_with_tests/spec/acceptance/nodesets/default.yml +0 -41
  111. data/spec/lib/simp/ci/files/no_gitlab_config_with_tests/spec/acceptance/nodesets/oel.yml +0 -41
  112. data/spec/lib/simp/ci/files/no_gitlab_config_with_tests/spec/acceptance/suites/default/class_spec.rb +0 -0
  113. data/spec/lib/simp/ci/files/no_gitlab_config_without_tests/spec/acceptance/nodesets/default.yml +0 -41
  114. data/spec/lib/simp/ci/files/no_gitlab_config_without_tests/spec/acceptance/nodesets/oel.yml +0 -41
  115. data/spec/lib/simp/ci/files/suite_skeleton_only/spec/acceptance/nodesets/centos.yml +0 -41
  116. data/spec/lib/simp/ci/files/suite_skeleton_only/spec/acceptance/nodesets/oel.yml +0 -41
  117. data/spec/lib/simp/ci/files/valid_job_global_nodeset/spec/acceptance/nodesets/default.yml +0 -41
  118. data/spec/lib/simp/ci/files/valid_job_global_nodeset/spec/acceptance/nodesets/oel.yml +0 -41
  119. data/spec/lib/simp/ci/files/valid_job_global_nodeset/spec/acceptance/suites/default/class_spec.rb +0 -0
  120. data/spec/lib/simp/ci/files/valid_job_nodeset_dir_link/spec/acceptance/nodesets/default.yml +0 -41
  121. data/spec/lib/simp/ci/files/valid_job_nodeset_dir_link/spec/acceptance/nodesets/oel.yml +0 -41
  122. data/spec/lib/simp/ci/files/valid_job_nodeset_dir_link/spec/acceptance/suites/default/class_spec.rb +0 -0
  123. data/spec/lib/simp/ci/files/valid_job_nodeset_link/spec/acceptance/suites/default/class_spec.rb +0 -0
  124. data/spec/lib/simp/ci/files/valid_job_nodeset_link/spec/acceptance/suites/default/nodesets/centos.yml +0 -41
  125. data/spec/lib/simp/ci/files/valid_job_nodeset_link/spec/acceptance/suites/default/nodesets/oel.yml +0 -41
  126. data/spec/lib/simp/ci/files/valid_job_suite_nodeset/spec/acceptance/suites/default/class_spec.rb +0 -0
  127. data/spec/lib/simp/ci/files/valid_job_suite_nodeset/spec/acceptance/suites/default/nodesets/default.yml +0 -41
  128. data/spec/lib/simp/ci/files/valid_job_suite_nodeset/spec/acceptance/suites/default/nodesets/oel.yml +0 -41
  129. data/spec/lib/simp/ci/gitlab_spec.rb +0 -245
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'simp/rake/build/rpmdeps'
2
4
  require 'spec_helper'
3
5
  require 'tmpdir'
@@ -8,33 +10,33 @@ describe 'Simp::Rake::Build::RpmDeps#get_version_requires' do
8
10
 
9
11
  context 'with valid version specifications' do
10
12
  {
11
- "1.0.0" => ['Requires: pupmod-foo-bar = 1.0.0'],
12
- "> 2.0.0" => ['Requires: pupmod-foo-bar > 2.0.0'],
13
- "< 3.0.0" => ['Requires: pupmod-foo-bar < 3.0.0'],
14
- ">= 4.0.0 < 5.0.0" => ['Requires: pupmod-foo-bar >= 4.0.0',
13
+ '1.0.0' => ['Requires: pupmod-foo-bar = 1.0.0'],
14
+ '> 2.0.0' => ['Requires: pupmod-foo-bar > 2.0.0'],
15
+ '< 3.0.0' => ['Requires: pupmod-foo-bar < 3.0.0'],
16
+ '>= 4.0.0 < 5.0.0' => ['Requires: pupmod-foo-bar >= 4.0.0',
15
17
  'Requires: pupmod-foo-bar < 5.0.0'],
16
- "5.x" => ['Requires: pupmod-foo-bar >= 5.0.0',
17
- 'Requires: pupmod-foo-bar < 6.0.0'],
18
- "6.4.x" => ['Requires: pupmod-foo-bar >= 6.4.0',
19
- 'Requires: pupmod-foo-bar < 7.0.0'],
20
- nil => ['Requires: pupmod-foo-bar']
18
+ '5.x' => ['Requires: pupmod-foo-bar >= 5.0.0',
19
+ 'Requires: pupmod-foo-bar < 6.0.0'],
20
+ '6.4.x' => ['Requires: pupmod-foo-bar >= 6.4.0',
21
+ 'Requires: pupmod-foo-bar < 7.0.0'],
22
+ nil => ['Requires: pupmod-foo-bar']
21
23
  }.each do |input, output|
22
24
  it do
23
- expect(Simp::Rake::Build::RpmDeps::get_version_requires(pkg, input)).to eq output
25
+ expect(Simp::Rake::Build::RpmDeps.get_version_requires(pkg, input)).to eq output
24
26
  end
25
27
  end
26
28
  end
27
29
 
28
30
  context 'with invalid version specifications' do
29
31
  it do
30
- expect{
31
- Simp::Rake::Build::RpmDeps::get_version_requires(pkg, '1.0.0.1')
32
+ expect {
33
+ Simp::Rake::Build::RpmDeps.get_version_requires(pkg, '1.0.0.1')
32
34
  }.to raise_error(SIMPRpmDepVersionException)
33
35
  end
34
36
 
35
- it( nil, :pending => "FIXME regex doesn't catch this" ) do
36
- expect{
37
- Simp::Rake::Build::RpmDeps::get_version_requires(pkg, '<= 3.0.0')
37
+ it(nil, :pending => "FIXME regex doesn't catch this") do
38
+ expect {
39
+ Simp::Rake::Build::RpmDeps.get_version_requires(pkg, '<= 3.0.0')
38
40
  }.to raise_error(SIMPRpmDepVersionException)
39
41
  end
40
42
  end
@@ -50,12 +52,12 @@ end
50
52
  #
51
53
  describe 'Simp::Rake::Build::RpmDeps#generate_rpm_meta_files' do
52
54
  let(:files_dir) { File.join(File.dirname(__FILE__), 'files') }
53
- let(:rpm_metadata) {
54
- YAML.load(File.read(File.join(files_dir, 'dependencies.yaml')))
55
- }
55
+ let(:rpm_metadata) do
56
+ YAML.load_file(File.join(files_dir, 'dependencies.yaml'))
57
+ end
56
58
 
57
59
  before :each do
58
- @tmp_dir = Dir.mktmpdir( File.basename( __FILE__ ) )
60
+ @tmp_dir = Dir.mktmpdir(File.basename(__FILE__))
59
61
  FileUtils.cp_r(files_dir, @tmp_dir)
60
62
  end
61
63
 
@@ -64,9 +66,9 @@ describe 'Simp::Rake::Build::RpmDeps#generate_rpm_meta_files' do
64
66
  end
65
67
 
66
68
  context 'managed component with a name change (obsoletes)' do
67
- it 'should generate requires file with obsoletes' do
69
+ it 'generates requires file with obsoletes' do
68
70
  mod_dir = File.join(@tmp_dir, 'files', 'changed_name_mod')
69
- Simp::Rake::Build::RpmDeps::generate_rpm_meta_files(mod_dir, rpm_metadata)
71
+ Simp::Rake::Build::RpmDeps.generate_rpm_meta_files(mod_dir, rpm_metadata)
70
72
 
71
73
  requires_file = File.join(mod_dir, 'build', 'rpm_metadata', 'requires')
72
74
  expect(File.exist?(requires_file)).to be true
@@ -83,7 +85,7 @@ Requires: pupmod-foo5-bar5 < 6.0.0
83
85
  Requires: pupmod-foo6-bar6 >= 6.4.0
84
86
  Requires: pupmod-foo6-bar6 < 7.0.0
85
87
  EOM
86
- actual = IO.read(requires_file)
88
+ actual = File.read(requires_file)
87
89
  expect(actual).to eq expected
88
90
 
89
91
  release_file = File.join(mod_dir, 'build', 'rpm_metadata', 'release')
@@ -92,9 +94,9 @@ EOM
92
94
  end
93
95
 
94
96
  context 'managed component with a subset of metadata.json deps, external deps and a release' do
95
- it 'should generate both a requires file and a release file from dependencies.yaml' do
97
+ it 'generates both a requires file and a release file from dependencies.yaml' do
96
98
  mod_dir = File.join(@tmp_dir, 'files', 'managed_mod')
97
- Simp::Rake::Build::RpmDeps::generate_rpm_meta_files(mod_dir, rpm_metadata)
99
+ Simp::Rake::Build::RpmDeps.generate_rpm_meta_files(mod_dir, rpm_metadata)
98
100
 
99
101
  requires_file = File.join(mod_dir, 'build', 'rpm_metadata', 'requires')
100
102
  expect(File.exist?(requires_file)).to be true
@@ -111,19 +113,19 @@ Requires: rubygem-puppetserver-toml >= 0.1.2
111
113
  Requires: rubygem-puppetserver-blackslate >= 2.1.2.4-1
112
114
  Requires: rubygem-puppetserver-blackslate < 2.2.0.0
113
115
  EOM
114
- actual = IO.read(requires_file)
116
+ actual = File.read(requires_file)
115
117
  expect(actual).to eq expected
116
118
 
117
119
  release_file = File.join(mod_dir, 'build', 'rpm_metadata', 'release')
118
120
  expect(File.exist?(release_file)).to be true
119
- expect(IO.read(release_file)).to match(/^2017.0$/)
121
+ expect(File.read(release_file)).to match(%r{^2017.0$})
120
122
  end
121
123
  end
122
124
 
123
125
  context 'managed component with only a release' do
124
- it 'should generate a release file from dependencies.yaml' do
126
+ it 'generates a release file from dependencies.yaml' do
125
127
  mod_dir = File.join(@tmp_dir, 'files', 'release_only_mod')
126
- Simp::Rake::Build::RpmDeps::generate_rpm_meta_files(mod_dir, rpm_metadata)
128
+ Simp::Rake::Build::RpmDeps.generate_rpm_meta_files(mod_dir, rpm_metadata)
127
129
 
128
130
  requires_file = File.join(mod_dir, 'build', 'rpm_metadata', 'requires')
129
131
  expect(File.exist?(requires_file)).to be true
@@ -132,19 +134,19 @@ EOM
132
134
  Requires: pupmod-puppetlabs-stdlib >= 3.2.0
133
135
  Requires: pupmod-puppetlabs-stdlib < 5.0.0
134
136
  EOM
135
- actual = IO.read(requires_file)
137
+ actual = File.read(requires_file)
136
138
  expect(actual).to eq expected
137
139
 
138
140
  release_file = File.join(mod_dir, 'build', 'rpm_metadata', 'release')
139
141
  expect(File.exist?(release_file)).to be true
140
- expect(IO.read(release_file)).to match(/^2017.2$/)
142
+ expect(File.read(release_file)).to match(%r{^2017.2$})
141
143
  end
142
144
  end
143
145
 
144
146
  context 'unmanaged component' do
145
- it 'should replace requires file with metadata.json dependencies' do
147
+ it 'replaces requires file with metadata.json dependencies' do
146
148
  mod_dir = File.join(@tmp_dir, 'files', 'unmanaged_mod')
147
- Simp::Rake::Build::RpmDeps::generate_rpm_meta_files(mod_dir, rpm_metadata)
149
+ Simp::Rake::Build::RpmDeps.generate_rpm_meta_files(mod_dir, rpm_metadata)
148
150
 
149
151
  # expected should overwritten with simply dependencies in order
150
152
  # they were listed in metadata.json
@@ -161,12 +163,12 @@ EOM
161
163
  requires_file = File.join(mod_dir, 'build', 'rpm_metadata', 'requires')
162
164
  expect(File.exist?(requires_file)).to be true
163
165
 
164
- actual = IO.read(requires_file)
166
+ actual = File.read(requires_file)
165
167
  expect(actual).to eq expected
166
168
 
167
- original = IO.readlines(File.join(files_dir, 'unmanaged_mod',
168
- 'build', 'rpm_metadata', 'requires'))
169
- expect(actual).to_not eq original
169
+ original = File.readlines(File.join(files_dir, 'unmanaged_mod',
170
+ 'build', 'rpm_metadata', 'requires'))
171
+ expect(actual).not_to eq original
170
172
 
171
173
  release_file = File.join(mod_dir, 'build', 'rpm_metadata', 'release')
172
174
  expect(File.exist?(release_file)).to be false
@@ -174,9 +176,9 @@ EOM
174
176
  end
175
177
 
176
178
  context 'ignores obsoletes when version obsoleted is newer than this version' do
177
- it 'should generate requires file with no obsoletes' do
179
+ it 'generates requires file with no obsoletes' do
178
180
  mod_dir = File.join(@tmp_dir, 'files', 'obsoletes_too_new_mod')
179
- Simp::Rake::Build::RpmDeps::generate_rpm_meta_files(mod_dir, rpm_metadata)
181
+ Simp::Rake::Build::RpmDeps.generate_rpm_meta_files(mod_dir, rpm_metadata)
180
182
 
181
183
  requires_file = File.join(mod_dir, 'build', 'rpm_metadata', 'requires')
182
184
  expect(File.exist?(requires_file)).to be true
@@ -186,37 +188,37 @@ EOM
186
188
  Requires: pupmod-foo1-bar1 = 1.0.0
187
189
  Requires: pupmod-foo2-bar2 > 2.0.0
188
190
  EOM
189
- actual = IO.read(requires_file)
191
+ actual = File.read(requires_file)
190
192
  expect(actual).to eq expected
191
193
  end
192
194
  end
193
195
 
194
196
  context 'dependency from dependencies.yaml not found in metadata.json' do
195
- it 'should fail when dep in depedencies.yaml is not found in metadata.json' do
197
+ it 'fails when dep in depedencies.yaml is not found in metadata.json' do
196
198
  mod_dir = File.join(@tmp_dir, 'files', 'unknown_dep_mod')
197
199
  err_msg = "Could not find 'oops/unknown' dependency in #{mod_dir}/metadata.json"
198
200
  expect {
199
- Simp::Rake::Build::RpmDeps::generate_rpm_meta_files(mod_dir, rpm_metadata)
201
+ Simp::Rake::Build::RpmDeps.generate_rpm_meta_files(mod_dir, rpm_metadata)
200
202
  }.to raise_error(err_msg)
201
203
  end
202
204
  end
203
205
 
204
206
  context 'malformed dependency version' do
205
- it 'should fail for managed component with invalid dep version in metadata.json' do
207
+ it 'fails for managed component with invalid dep version in metadata.json' do
206
208
  mod_dir = File.join(@tmp_dir, 'files', 'malformed_dep_meta_mod')
207
209
  err_msg = "Unable to parse 'foo1/bar1' dependency version '1.0.0.1' in #{mod_dir}/metadata.json"
208
210
  expect {
209
- Simp::Rake::Build::RpmDeps::generate_rpm_meta_files(mod_dir, rpm_metadata)
211
+ Simp::Rake::Build::RpmDeps.generate_rpm_meta_files(mod_dir, rpm_metadata)
210
212
  }.to raise_error(err_msg)
211
213
  end
212
214
 
213
- it 'should fail for unmanaged component with invalid dep version in metadata.json' do
215
+ it 'fails for unmanaged component with invalid dep version in metadata.json' do
214
216
  rpm_meta = rpm_metadata.dup
215
- rpm_meta ['malformed_dep_meta_mod'] = nil
217
+ rpm_meta['malformed_dep_meta_mod'] = nil
216
218
  mod_dir = File.join(@tmp_dir, 'files', 'malformed_dep_meta_mod')
217
219
  err_msg = "Unable to parse 'foo1/bar1' dependency version '1.0.0.1' in #{mod_dir}/metadata.json"
218
220
  expect {
219
- Simp::Rake::Build::RpmDeps::generate_rpm_meta_files(mod_dir, rpm_meta)
221
+ Simp::Rake::Build::RpmDeps.generate_rpm_meta_files(mod_dir, rpm_meta)
220
222
  }.to raise_error(err_msg)
221
223
  end
222
224
  end
@@ -1,15 +1,16 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'simp/rake/helpers'
2
4
  require 'spec_helper'
3
5
 
4
6
  describe Simp::Rake::Helpers do
5
7
  before :each do
6
- @obj = Simp::Rake::Helpers.new
8
+ @obj = described_class.new
7
9
  end
8
10
 
9
- describe "#initialize" do
10
- it "initialized (smoke test)" do
11
- expect( @obj.class ).to eq Simp::Rake::Helpers
11
+ describe '#initialize' do
12
+ it 'initialized (smoke test)' do
13
+ expect(@obj.class).to eq described_class
12
14
  end
13
15
  end
14
16
  end
15
-
@@ -1,15 +1,17 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'simp/rake/pkg'
2
4
  require 'spec_helper'
3
5
 
4
6
  describe Simp::Rake::Pkg do
5
7
  before :all do
6
- dir = File.expand_path( '../files', File.dirname( __FILE__ ) )
7
- @obj = Simp::Rake::Pkg.new( dir )
8
+ dir = File.expand_path('../files', File.dirname(__FILE__))
9
+ @obj = described_class.new(dir)
8
10
  end
9
11
 
10
- describe "#initialize" do
11
- it "initializes (smoke test)" do
12
- expect( @obj.class ).to eq Simp::Rake::Pkg
12
+ describe '#initialize' do
13
+ it 'initializes (smoke test)' do
14
+ expect(@obj.class).to eq described_class
13
15
  end
14
16
  end
15
17
  end
@@ -1,6 +1,8 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'spec_helper'
2
4
  describe 'othermod' do
3
5
  context 'with default values for all parameters' do
4
- it { should contain_class('othermod') }
6
+ it { is_expected.to contain_class('othermod') }
5
7
  end
6
8
  end
@@ -1 +1,3 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'puppetlabs_spec_helper/module_spec_helper'
@@ -1,25 +1,26 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'spec_helper_acceptance'
2
4
 
3
5
  test_name 'simpmod class'
4
6
 
5
7
  describe 'simpmod class' do
6
- let(:manifest) {
8
+ let(:manifest) do
7
9
  <<-EOS
8
10
  class { 'simpmod': }
9
11
  EOS
10
- }
12
+ end
11
13
 
12
14
  context 'default parameters' do
13
15
  # Using puppet_apply as a helper
14
- it 'should work with no errors' do
16
+ it 'works with no errors' do
15
17
  apply_manifest(manifest, :catch_failures => true)
16
18
  end
17
19
 
18
- it 'should be idempotent' do
20
+ it 'is idempotent' do
19
21
  apply_manifest(manifest, :catch_changes => true)
20
22
  end
21
23
 
22
-
23
24
  describe package('simpmod') do
24
25
  it { is_expected.to be_installed }
25
26
  end
@@ -1,7 +1,9 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'spec_helper'
2
4
 
3
5
  describe 'simpmod' do
4
- shared_examples_for "a structured module" do
6
+ shared_examples_for 'a structured module' do
5
7
  it { is_expected.to compile.with_all_deps }
6
8
  it { is_expected.to create_class('simpmod') }
7
9
  it { is_expected.to contain_class('simpmod') }
@@ -13,7 +15,6 @@ describe 'simpmod' do
13
15
  it { is_expected.to contain_package('simpmod').with_ensure('present') }
14
16
  end
15
17
 
16
-
17
18
  context 'supported operating systems' do
18
19
  on_supported_os.each do |os, facts|
19
20
  context "on #{os}" do
@@ -21,51 +22,66 @@ describe 'simpmod' do
21
22
  facts
22
23
  end
23
24
 
24
- context "simpmod class without any parameters" do
25
- let(:params) {{ }}
26
- it_behaves_like "a structured module"
25
+ context 'simpmod class without any parameters' do
26
+ let(:params) { {} }
27
+
28
+ it_behaves_like 'a structured module'
27
29
  it { is_expected.to contain_class('simpmod').with_trusted_nets(['127.0.0.1/32']) }
28
30
  end
29
31
 
30
- context "simpmod class with firewall enabled" do
31
- let(:params) {{
32
- :trusted_nets => ['10.0.2.0/24'],
33
- :tcp_listen_port => 1234,
34
- :enable_firewall => true,
35
- }}
36
- ###it_behaves_like "a structured module"
32
+ context 'simpmod class with firewall enabled' do
33
+ let(:params) do
34
+ {
35
+ :trusted_nets => ['10.0.2.0/24'],
36
+ :tcp_listen_port => 1234,
37
+ :enable_firewall => true
38
+ }
39
+ end
40
+
41
+ # ##it_behaves_like "a structured module"
37
42
  it { is_expected.to contain_class('simpmod::config::firewall') }
38
43
 
39
44
  it { is_expected.to contain_class('simpmod::config::firewall').that_comes_before('Class[simpmod::service]') }
40
- it { is_expected.to create_iptables__listen__tcp_stateful('allow_simpmod_tcp_connections').with_dports(1234)
45
+
46
+ it {
47
+ expect(subject).to create_iptables__listen__tcp_stateful('allow_simpmod_tcp_connections').with_dports(1234)
41
48
  }
42
49
  end
43
50
 
44
- context "simpmod class with selinux enabled" do
45
- let(:params) {{
46
- :enable_selinux => true,
47
- }}
48
- ###it_behaves_like "a structured module"
51
+ context 'simpmod class with selinux enabled' do
52
+ let(:params) do
53
+ {
54
+ :enable_selinux => true
55
+ }
56
+ end
57
+
58
+ # ##it_behaves_like "a structured module"
49
59
  it { is_expected.to contain_class('simpmod::config::selinux') }
50
60
  it { is_expected.to contain_class('simpmod::config::selinux').that_comes_before('Class[simpmod::service]') }
51
61
  it { is_expected.to create_notify('FIXME: selinux') }
52
62
  end
53
63
 
54
- context "simpmod class with auditing enabled" do
55
- let(:params) {{
56
- :enable_auditing => true,
57
- }}
58
- ###it_behaves_like "a structured module"
64
+ context 'simpmod class with auditing enabled' do
65
+ let(:params) do
66
+ {
67
+ :enable_auditing => true
68
+ }
69
+ end
70
+
71
+ # ##it_behaves_like "a structured module"
59
72
  it { is_expected.to contain_class('simpmod::config::auditing') }
60
73
  it { is_expected.to contain_class('simpmod::config::auditing').that_comes_before('Class[simpmod::service]') }
61
74
  it { is_expected.to create_notify('FIXME: auditing') }
62
75
  end
63
76
 
64
- context "simpmod class with logging enabled" do
65
- let(:params) {{
66
- :enable_logging => true,
67
- }}
68
- ###it_behaves_like "a structured module"
77
+ context 'simpmod class with logging enabled' do
78
+ let(:params) do
79
+ {
80
+ :enable_logging => true
81
+ }
82
+ end
83
+
84
+ # ##it_behaves_like "a structured module"
69
85
  it { is_expected.to contain_class('simpmod::config::logging') }
70
86
  it { is_expected.to contain_class('simpmod::config::logging').that_comes_before('Class[simpmod::service]') }
71
87
  it { is_expected.to create_notify('FIXME: logging') }
@@ -76,12 +92,14 @@ describe 'simpmod' do
76
92
 
77
93
  context 'unsupported operating system' do
78
94
  describe 'simpmod class without any parameters on Solaris/Nexenta' do
79
- let(:facts) {{
80
- :osfamily => 'Solaris',
81
- :operatingsystem => 'Nexenta',
82
- }}
95
+ let(:facts) do
96
+ {
97
+ :osfamily => 'Solaris',
98
+ :operatingsystem => 'Nexenta'
99
+ }
100
+ end
83
101
 
84
- it { expect { is_expected.to contain_package('simpmod') }.to raise_error(Puppet::Error, /Nexenta not supported/) }
102
+ it { expect { is_expected.to contain_package('simpmod') }.to raise_error(Puppet::Error, %r{Nexenta not supported}) }
85
103
  end
86
104
  end
87
105
  end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'puppetlabs_spec_helper/module_spec_helper'
2
4
  require 'rspec-puppet'
3
5
  require 'simp/rspec-puppet-facts'
@@ -7,9 +9,9 @@ require 'pathname'
7
9
 
8
10
  # RSpec Material
9
11
  fixture_path = File.expand_path(File.join(__FILE__, '..', 'fixtures'))
10
- module_name = File.basename(File.expand_path(File.join(__FILE__,'../..')))
12
+ File.basename(File.expand_path(File.join(__FILE__, '../..')))
11
13
 
12
- default_hiera_config =<<-EOM
14
+ default_hiera_config = <<-EOM
13
15
  ---
14
16
  :backends:
15
17
  - "rspec"
@@ -23,9 +25,8 @@ default_hiera_config =<<-EOM
23
25
  - "default"
24
26
  EOM
25
27
 
26
-
27
- ['hieradata','modules'].each do |dir|
28
- _dir = File.join(fixture_path,dir)
28
+ ['hieradata', 'modules'].each do |dir|
29
+ _dir = File.join(fixture_path, dir)
29
30
  FileUtils.mkdir_p(_dir) unless File.directory?(_dir)
30
31
  end
31
32
 
@@ -33,8 +34,8 @@ RSpec.configure do |c|
33
34
  # If nothing else...
34
35
  c.default_facts = {
35
36
  :production => {
36
- #:fqdn => 'production.rspec.test.localdomain',
37
- :path => '/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin',
37
+ # :fqdn => 'production.rspec.test.localdomain',
38
+ :path => '/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin',
38
39
  :concat_basedir => '/tmp'
39
40
  }
40
41
  }
@@ -44,10 +45,10 @@ RSpec.configure do |c|
44
45
 
45
46
  c.module_path = File.join(fixture_path, 'modules')
46
47
  c.manifest_dir = File.join(fixture_path, 'manifests')
47
- c.hiera_config = File.join(fixture_path,'hieradata','hiera.yaml')
48
+ c.hiera_config = File.join(fixture_path, 'hieradata', 'hiera.yaml')
48
49
 
49
50
  # Useless backtrace noise
50
- backtrace_exclusion_patterns = [ /spec_helper/, /gems/ ]
51
+ backtrace_exclusion_patterns = [%r{spec_helper}, %r{gems}]
51
52
 
52
53
  if c.respond_to?(:backtrace_exclusion_patterns)
53
54
  c.backtrace_exclusion_patterns = backtrace_exclusion_patterns
@@ -56,19 +57,17 @@ RSpec.configure do |c|
56
57
  end
57
58
 
58
59
  c.before(:all) do
59
- data = YAML.load(default_hiera_config)
60
+ data = YAML.safe_load(default_hiera_config)
60
61
  data[:yaml][:datadir] = File.join(fixture_path, 'hieradata')
61
62
 
62
- File.open(c.hiera_config, 'w') do |f|
63
- f.write data.to_yaml
64
- end
63
+ File.write(c.hiera_config, data.to_yaml)
65
64
  end
66
65
 
67
66
  c.before(:each) do
68
67
  @spec_global_env_temp = Dir.mktmpdir('simpspec')
69
68
 
70
69
  if defined?(environment)
71
- FileUtils.mkdir_p(File.join(@spec_global_env_temp,environment.to_s))
70
+ FileUtils.mkdir_p(File.join(@spec_global_env_temp, environment.to_s))
72
71
  end
73
72
 
74
73
  # ensure the user running these tests has an accessible environmentpath
@@ -86,7 +85,7 @@ end
86
85
  Dir.glob("#{RSpec.configuration.module_path}/*").each do |dir|
87
86
  begin
88
87
  Pathname.new(dir).realpath
89
- rescue
90
- fail "ERROR: The module '#{dir}' is not installed. Tests cannot continue."
88
+ rescue StandardError
89
+ raise "ERROR: The module '#{dir}' is not installed. Tests cannot continue."
91
90
  end
92
91
  end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'beaker-rspec'
2
4
  require 'tmpdir'
3
5
  require 'yaml'
@@ -15,7 +17,6 @@ unless ENV['BEAKER_provision'] == 'no'
15
17
  end
16
18
  end
17
19
 
18
-
19
20
  RSpec.configure do |c|
20
21
  # ensure that environment OS is ready on each host
21
22
  fix_errata_on hosts
@@ -27,19 +28,18 @@ RSpec.configure do |c|
27
28
  c.before :suite do
28
29
  begin
29
30
  # Install modules and dependencies from spec/fixtures/modules
30
- copy_fixture_modules_to( hosts )
31
+ copy_fixture_modules_to(hosts)
31
32
 
32
33
  # Generate and install PKI certificates on each SUT
33
34
  Dir.mktmpdir do |cert_dir|
34
- run_fake_pki_ca_on( default, hosts, cert_dir )
35
- hosts.each{ |sut| copy_pki_to( sut, cert_dir, '/etc/pki/simp-testing' )}
35
+ run_fake_pki_ca_on(default, hosts, cert_dir)
36
+ hosts.each { |sut| copy_pki_to(sut, cert_dir, '/etc/pki/simp-testing') }
36
37
  end
37
38
  rescue StandardError, ScriptError => e
38
- if ENV['PRY']
39
- require 'pry'; binding.pry
40
- else
41
- raise e
42
- end
39
+ raise e unless ENV['PRY']
40
+
41
+ require 'pry'
42
+ binding.pry # rubocop:disable Lint/Debugger
43
43
  end
44
44
  end
45
45
  end
@@ -1,23 +1,25 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'simp/rake/pupmod/helpers'
2
4
  require 'spec_helper'
3
5
 
4
6
  describe Simp::Rake::Pupmod::Helpers do
5
7
  before :each do
6
- fixtures_dir = File.expand_path( '../fixtures', __FILE__ )
7
- @simpmod = Simp::Rake::Pupmod::Helpers.new(File.join(fixtures_dir, 'simpmod'))
8
- @othermod = Simp::Rake::Pupmod::Helpers.new(File.join(fixtures_dir, 'othermod'))
8
+ fixtures_dir = File.expand_path('fixtures', __dir__)
9
+ @simpmod = described_class.new(File.join(fixtures_dir, 'simpmod'))
10
+ @othermod = described_class.new(File.join(fixtures_dir, 'othermod'))
9
11
  end
10
12
 
11
13
  describe '#initialize' do
12
14
  it 'initialized (smoke test)' do
13
- expect( @simpmod.class ).to eq Simp::Rake::Pupmod::Helpers
15
+ expect(@simpmod.class).to eq described_class
14
16
  end
15
17
  end
16
18
 
17
19
  describe '#metadata' do
18
20
  it 'reads a valid metadata.json (simp)' do
19
- expect( @simpmod.send( :metadata )['name'] ).to eq 'simp-simpmod'
20
- expect( @othermod.send( :metadata )['name'] ).to eq 'other-othermod'
21
+ expect(@simpmod.send(:metadata)['name']).to eq 'simp-simpmod'
22
+ expect(@othermod.send(:metadata)['name']).to eq 'other-othermod'
21
23
  end
22
24
  end
23
25
 
@@ -36,32 +38,31 @@ describe Simp::Rake::Pupmod::Helpers do
36
38
  end
37
39
 
38
40
  it "doesn't match invalid one-line CHANGELOG entries" do
39
- expect("* Foo Jan 1 1970 First Last <email@domain.com> - 0.0.1\n").to_not match @rgx
40
- expect("* Mon Xxn 1 1970 First Last <email@domain.com> - 0.0.1\n").to_not match @rgx
41
- expect("* Mon Jan 111 1970 First Last <email@domain.com> - 0.0.1\n").to_not match @rgx
42
- expect("* Mon Jan 1 1970 <email@domain.com> - 0.0.1\n").to_not match @rgx
41
+ expect("* Foo Jan 1 1970 First Last <email@domain.com> - 0.0.1\n").not_to match @rgx
42
+ expect("* Mon Xxn 1 1970 First Last <email@domain.com> - 0.0.1\n").not_to match @rgx
43
+ expect("* Mon Jan 111 1970 First Last <email@domain.com> - 0.0.1\n").not_to match @rgx
44
+ expect("* Mon Jan 1 1970 <email@domain.com> - 0.0.1\n").not_to match @rgx
43
45
  end
44
46
 
45
47
  it 'matches valid two-line CHANGELOG entries' do
46
- skip "Not worth implementing right now"
48
+ skip 'Not worth implementing right now'
47
49
  end
48
50
  end
49
51
 
50
- describe "#changelog_annotation" do
52
+ describe '#changelog_annotation' do
51
53
  it "generates a tag annotation from a valid SIMP module's CHANGELOG" do
52
- _log = @simpmod.send( :changelog_annotation )
53
- expect( _log.class ).to be String
54
- expect( _log.size ).to be > 0
55
- expect( _log.scan( /^Release of/ ).size ).to eq 1
54
+ _log = @simpmod.send(:changelog_annotation)
55
+ expect(_log.class).to be String
56
+ expect(_log.size).to be > 0
57
+ expect(_log.scan(%r{^Release of}).size).to eq 1
56
58
  end
57
59
 
58
60
  it 'handles multiple CHANGELOG entries for the same release' do
59
- _log = @simpmod.send( :changelog_annotation )
60
- expect( _log.scan(/^\*.*\d+\.\d+\.\d+$/) ).to eq [
61
+ _log = @simpmod.send(:changelog_annotation)
62
+ expect(_log.scan(%r{^\*.*\d+\.\d+\.\d+$})).to eq [
61
63
  '* Tue Jan 2 1970 Second Author <email1@domain.com> - 0.1.0',
62
64
  '* Mon Jan 1 1970 First Author <email2@domain.com> - 0.1.0',
63
65
  ]
64
66
  end
65
67
  end
66
68
  end
67
-