abide_dev_utils 0.9.7 → 0.11.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.gitignore +1 -0
- data/.rubocop.yml +7 -1
- data/Gemfile.lock +82 -64
- data/Rakefile +28 -0
- data/abide_dev_utils.gemspec +3 -1
- data/lib/abide_dev_utils/cem/benchmark.rb +291 -0
- data/lib/abide_dev_utils/cem/coverage_report.rb +348 -0
- data/lib/abide_dev_utils/cem/generate/reference.rb +116 -0
- data/lib/abide_dev_utils/cem/generate.rb +10 -0
- data/lib/abide_dev_utils/cem/mapping/mapper.rb +155 -0
- data/lib/abide_dev_utils/cem.rb +74 -0
- data/lib/abide_dev_utils/cli/cem.rb +153 -0
- data/lib/abide_dev_utils/cli/jira.rb +1 -1
- data/lib/abide_dev_utils/cli/xccdf.rb +15 -1
- data/lib/abide_dev_utils/cli.rb +2 -0
- data/lib/abide_dev_utils/errors/cem.rb +22 -0
- data/lib/abide_dev_utils/errors/general.rb +8 -2
- data/lib/abide_dev_utils/errors/ppt.rb +4 -0
- data/lib/abide_dev_utils/errors.rb +6 -0
- data/lib/abide_dev_utils/files.rb +34 -0
- data/lib/abide_dev_utils/markdown.rb +104 -0
- data/lib/abide_dev_utils/ppt/facter_utils.rb +140 -0
- data/lib/abide_dev_utils/ppt/hiera.rb +297 -0
- data/lib/abide_dev_utils/ppt/puppet_module.rb +74 -0
- data/lib/abide_dev_utils/ppt.rb +3 -5
- data/lib/abide_dev_utils/validate.rb +14 -0
- data/lib/abide_dev_utils/version.rb +1 -1
- data/lib/abide_dev_utils/xccdf/diff/benchmark/number_title.rb +270 -0
- data/lib/abide_dev_utils/xccdf/diff/benchmark/profile.rb +104 -0
- data/lib/abide_dev_utils/xccdf/diff/benchmark/property.rb +127 -0
- data/lib/abide_dev_utils/xccdf/diff/benchmark/property_existence.rb +47 -0
- data/lib/abide_dev_utils/xccdf/diff/benchmark.rb +267 -0
- data/lib/abide_dev_utils/xccdf/diff/utils.rb +30 -0
- data/lib/abide_dev_utils/xccdf/diff.rb +233 -0
- data/lib/abide_dev_utils/xccdf/parser/objects/digest_object.rb +118 -0
- data/lib/abide_dev_utils/xccdf/parser/objects/numbered_object.rb +104 -0
- data/lib/abide_dev_utils/xccdf/parser/objects.rb +741 -0
- data/lib/abide_dev_utils/xccdf/parser.rb +52 -0
- data/lib/abide_dev_utils/xccdf.rb +14 -124
- data/new_diff.rb +48 -0
- metadata +60 -9
- data/lib/abide_dev_utils/ppt/coverage.rb +0 -86
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 7cf13209260261bcf509e7953d4af4a47aa7301cc7c2e8227c3d736d163cd0b1
|
4
|
+
data.tar.gz: a6d6cb52aadf58e33ce6a57d77c7921226ebb130aa2d6e4350c42c197df0f06c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: be0ac34b2ee3ea116793580ef1ffff41ca4f11b41ceb6587866183734f1aee15a566b5a0063b106a18962739a1d4d7091d6e8d276dffdf6101cfcfb48afb3832
|
7
|
+
data.tar.gz: 97f9b753cb94f1a1d326eb370a59ae35d00a3c2797b6e030941e51f51e9f7713eca0af9148f9858a0f4c375273bb468ab1df928cd589903d48b9bbe7c86a92fd
|
data/.gitignore
CHANGED
data/.rubocop.yml
CHANGED
@@ -39,6 +39,9 @@ Style/IpAddresses:
|
|
39
39
|
Exclude:
|
40
40
|
- spec/rubocop/cop/style/ip_addresses_spec.rb
|
41
41
|
|
42
|
+
Style/RegexpLiteral:
|
43
|
+
Enabled: false
|
44
|
+
|
42
45
|
Layout/EndOfLine:
|
43
46
|
EnforcedStyle: lf
|
44
47
|
|
@@ -133,4 +136,7 @@ Performance/CollectionLiteralInLoop:
|
|
133
136
|
- 'spec/**/*.rb'
|
134
137
|
|
135
138
|
RSpec/StubbedMock:
|
136
|
-
Enabled: false
|
139
|
+
Enabled: false
|
140
|
+
|
141
|
+
Convention/ExplicitBlockArgument:
|
142
|
+
Enabled: false
|
data/Gemfile.lock
CHANGED
@@ -1,12 +1,14 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
abide_dev_utils (0.
|
4
|
+
abide_dev_utils (0.11.0)
|
5
|
+
amatch (~> 0.4)
|
5
6
|
cmdparse (~> 3.0)
|
7
|
+
facterdb (>= 1.18)
|
6
8
|
google-cloud-storage (~> 1.34)
|
7
9
|
hashdiff (~> 1.0)
|
8
10
|
jira-ruby (~> 2.2)
|
9
|
-
nokogiri (~> 1.
|
11
|
+
nokogiri (~> 1.13)
|
10
12
|
puppet (>= 6.23)
|
11
13
|
ruby-progressbar (~> 1.11)
|
12
14
|
selenium-webdriver (~> 4.0.0.beta4)
|
@@ -14,73 +16,62 @@ PATH
|
|
14
16
|
GEM
|
15
17
|
remote: https://rubygems.org/
|
16
18
|
specs:
|
17
|
-
|
19
|
+
CFPropertyList (2.3.6)
|
20
|
+
activesupport (7.0.3)
|
18
21
|
concurrent-ruby (~> 1.0, >= 1.0.2)
|
19
22
|
i18n (>= 1.6, < 2)
|
20
23
|
minitest (>= 5.1)
|
21
24
|
tzinfo (~> 2.0)
|
22
25
|
addressable (2.8.0)
|
23
26
|
public_suffix (>= 2.0.2, < 5.0)
|
27
|
+
amatch (0.4.1)
|
28
|
+
mize
|
29
|
+
tins (~> 1.0)
|
24
30
|
ast (2.4.2)
|
25
|
-
async (1.30.
|
31
|
+
async (1.30.2)
|
26
32
|
console (~> 1.10)
|
27
33
|
nio4r (~> 2.3)
|
28
34
|
timers (~> 4.1)
|
29
|
-
async-http (0.56.
|
35
|
+
async-http (0.56.6)
|
30
36
|
async (>= 1.25)
|
31
37
|
async-io (>= 1.28)
|
32
38
|
async-pool (>= 0.2)
|
33
39
|
protocol-http (~> 0.22.0)
|
34
40
|
protocol-http1 (~> 0.14.0)
|
35
41
|
protocol-http2 (~> 0.14.0)
|
42
|
+
traces (~> 0.4.0)
|
36
43
|
async-http-faraday (0.11.0)
|
37
44
|
async-http (~> 0.42)
|
38
45
|
faraday
|
39
|
-
async-io (1.
|
46
|
+
async-io (1.33.0)
|
40
47
|
async
|
41
|
-
async-pool (0.3.
|
48
|
+
async-pool (0.3.10)
|
42
49
|
async (>= 1.25)
|
43
50
|
atlassian-jwt (0.2.1)
|
44
51
|
jwt (~> 2.1)
|
45
52
|
childprocess (4.1.0)
|
46
53
|
cmdparse (3.0.7)
|
47
54
|
coderay (1.1.3)
|
48
|
-
concurrent-ruby (1.1.
|
49
|
-
console (1.
|
55
|
+
concurrent-ruby (1.1.10)
|
56
|
+
console (1.15.3)
|
50
57
|
fiber-local
|
51
58
|
declarative (0.0.20)
|
52
59
|
deep_merge (1.2.2)
|
53
60
|
diff-lcs (1.5.0)
|
54
61
|
digest-crc (0.6.4)
|
55
62
|
rake (>= 12.0.0, < 14.0.0)
|
56
|
-
facter (4.2.
|
63
|
+
facter (4.2.10)
|
57
64
|
hocon (~> 1.3)
|
58
65
|
thor (>= 1.0.1, < 2.0)
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
faraday-
|
64
|
-
faraday-multipart (~> 1.0)
|
65
|
-
faraday-net_http (~> 1.0)
|
66
|
-
faraday-net_http_persistent (~> 1.0)
|
67
|
-
faraday-patron (~> 1.0)
|
68
|
-
faraday-rack (~> 1.0)
|
69
|
-
faraday-retry (~> 1.0)
|
66
|
+
facterdb (1.18.0)
|
67
|
+
facter (< 5.0.0)
|
68
|
+
jgrep
|
69
|
+
faraday (2.3.0)
|
70
|
+
faraday-net_http (~> 2.0)
|
70
71
|
ruby2_keywords (>= 0.0.4)
|
71
|
-
faraday-
|
72
|
-
faraday-em_synchrony (1.0.0)
|
73
|
-
faraday-excon (1.1.0)
|
74
|
-
faraday-http-cache (2.2.0)
|
72
|
+
faraday-http-cache (2.3.0)
|
75
73
|
faraday (>= 0.8)
|
76
|
-
faraday-
|
77
|
-
faraday-multipart (1.0.3)
|
78
|
-
multipart-post (>= 1.2, < 3)
|
79
|
-
faraday-net_http (1.0.1)
|
80
|
-
faraday-net_http_persistent (1.2.0)
|
81
|
-
faraday-patron (1.0.0)
|
82
|
-
faraday-rack (1.0.0)
|
83
|
-
faraday-retry (1.0.3)
|
74
|
+
faraday-net_http (2.0.3)
|
84
75
|
fast_gettext (1.8.0)
|
85
76
|
fiber-local (1.0.0)
|
86
77
|
gem-release (2.2.2)
|
@@ -93,7 +84,7 @@ GEM
|
|
93
84
|
octokit (~> 4.6)
|
94
85
|
rainbow (>= 2.2.1)
|
95
86
|
rake (>= 10.0)
|
96
|
-
google-apis-core (0.
|
87
|
+
google-apis-core (0.5.0)
|
97
88
|
addressable (~> 2.5, >= 2.5.1)
|
98
89
|
googleauth (>= 0.16.2, < 2.a)
|
99
90
|
httpclient (>= 2.8.1, < 3.a)
|
@@ -104,15 +95,15 @@ GEM
|
|
104
95
|
webrick
|
105
96
|
google-apis-iamcredentials_v1 (0.10.0)
|
106
97
|
google-apis-core (>= 0.4, < 2.a)
|
107
|
-
google-apis-storage_v1 (0.
|
98
|
+
google-apis-storage_v1 (0.14.0)
|
108
99
|
google-apis-core (>= 0.4, < 2.a)
|
109
100
|
google-cloud-core (1.6.0)
|
110
101
|
google-cloud-env (~> 1.0)
|
111
102
|
google-cloud-errors (~> 1.0)
|
112
|
-
google-cloud-env (1.
|
113
|
-
faraday (>= 0.17.3, <
|
103
|
+
google-cloud-env (1.6.0)
|
104
|
+
faraday (>= 0.17.3, < 3.0)
|
114
105
|
google-cloud-errors (1.2.0)
|
115
|
-
google-cloud-storage (1.36.
|
106
|
+
google-cloud-storage (1.36.2)
|
116
107
|
addressable (~> 2.8)
|
117
108
|
digest-crc (~> 0.4)
|
118
109
|
google-apis-iamcredentials_v1 (~> 0.1)
|
@@ -120,7 +111,7 @@ GEM
|
|
120
111
|
google-cloud-core (~> 1.6)
|
121
112
|
googleauth (>= 0.16.2, < 2.a)
|
122
113
|
mini_mime (~> 1.0)
|
123
|
-
googleauth (1.1.
|
114
|
+
googleauth (1.1.3)
|
124
115
|
faraday (>= 0.17.3, < 3.a)
|
125
116
|
jwt (>= 1.4, < 3.0)
|
126
117
|
memoist (~> 0.16)
|
@@ -128,11 +119,12 @@ GEM
|
|
128
119
|
os (>= 0.9, < 2.0)
|
129
120
|
signet (>= 0.16, < 2.a)
|
130
121
|
hashdiff (1.0.1)
|
131
|
-
hiera (3.
|
122
|
+
hiera (3.9.0)
|
132
123
|
hocon (1.3.1)
|
133
124
|
httpclient (2.8.3)
|
134
125
|
i18n (1.10.0)
|
135
126
|
concurrent-ruby (~> 1.0)
|
127
|
+
jgrep (1.5.4)
|
136
128
|
jira-ruby (2.2.0)
|
137
129
|
activesupport
|
138
130
|
atlassian-jwt
|
@@ -144,22 +136,28 @@ GEM
|
|
144
136
|
method_source (1.0.0)
|
145
137
|
mini_mime (1.1.2)
|
146
138
|
minitest (5.15.0)
|
139
|
+
mize (0.4.0)
|
140
|
+
protocol (~> 2.0)
|
147
141
|
multi_json (1.15.0)
|
148
142
|
multipart-post (2.1.1)
|
149
143
|
nio4r (2.5.8)
|
150
|
-
nokogiri (1.13.
|
144
|
+
nokogiri (1.13.6-x86_64-darwin)
|
151
145
|
racc (~> 1.4)
|
152
|
-
|
153
|
-
|
154
|
-
|
155
|
-
|
146
|
+
nokogiri (1.13.6-x86_64-linux)
|
147
|
+
racc (~> 1.4)
|
148
|
+
oauth (0.5.10)
|
149
|
+
octokit (4.25.0)
|
150
|
+
faraday (>= 1, < 3)
|
151
|
+
sawyer (~> 0.9)
|
156
152
|
os (1.1.4)
|
157
|
-
parallel (1.
|
158
|
-
parser (3.1.
|
153
|
+
parallel (1.22.1)
|
154
|
+
parser (3.1.2.0)
|
159
155
|
ast (~> 2.4.1)
|
156
|
+
protocol (2.0.0)
|
157
|
+
ruby_parser (~> 3.0)
|
160
158
|
protocol-hpack (1.4.2)
|
161
|
-
protocol-http (0.22.
|
162
|
-
protocol-http1 (0.14.
|
159
|
+
protocol-http (0.22.6)
|
160
|
+
protocol-http1 (0.14.4)
|
163
161
|
protocol-http (~> 0.22)
|
164
162
|
protocol-http2 (0.14.2)
|
165
163
|
protocol-hpack (~> 1.4)
|
@@ -167,8 +165,20 @@ GEM
|
|
167
165
|
pry (0.14.1)
|
168
166
|
coderay (~> 1.1)
|
169
167
|
method_source (~> 1.0)
|
170
|
-
public_suffix (4.0.
|
171
|
-
puppet (7.
|
168
|
+
public_suffix (4.0.7)
|
169
|
+
puppet (7.17.0)
|
170
|
+
concurrent-ruby (~> 1.0)
|
171
|
+
deep_merge (~> 1.0)
|
172
|
+
facter (> 2.0.1, < 5)
|
173
|
+
fast_gettext (>= 1.1, < 3)
|
174
|
+
hiera (>= 3.2.1, < 4)
|
175
|
+
locale (~> 2.1)
|
176
|
+
multi_json (~> 1.10)
|
177
|
+
puppet-resource_api (~> 1.5)
|
178
|
+
scanf (~> 1.0)
|
179
|
+
semantic_puppet (~> 1.0)
|
180
|
+
puppet (7.17.0-universal-darwin)
|
181
|
+
CFPropertyList (~> 2.2)
|
172
182
|
concurrent-ruby (~> 1.0)
|
173
183
|
deep_merge (~> 1.0)
|
174
184
|
facter (> 2.0.1, < 5)
|
@@ -184,8 +194,8 @@ GEM
|
|
184
194
|
racc (1.6.0)
|
185
195
|
rainbow (3.1.1)
|
186
196
|
rake (13.0.6)
|
187
|
-
regexp_parser (2.
|
188
|
-
representable (3.
|
197
|
+
regexp_parser (2.5.0)
|
198
|
+
representable (3.2.0)
|
189
199
|
declarative (< 0.1.0)
|
190
200
|
trailblazer-option (>= 0.1.1, < 0.2.0)
|
191
201
|
uber (< 0.2.0)
|
@@ -200,47 +210,54 @@ GEM
|
|
200
210
|
rspec-expectations (3.11.0)
|
201
211
|
diff-lcs (>= 1.2.0, < 2.0)
|
202
212
|
rspec-support (~> 3.11.0)
|
203
|
-
rspec-mocks (3.11.
|
213
|
+
rspec-mocks (3.11.1)
|
204
214
|
diff-lcs (>= 1.2.0, < 2.0)
|
205
215
|
rspec-support (~> 3.11.0)
|
206
216
|
rspec-support (3.11.0)
|
207
|
-
rubocop (1.
|
217
|
+
rubocop (1.30.0)
|
208
218
|
parallel (~> 1.10)
|
209
219
|
parser (>= 3.1.0.0)
|
210
220
|
rainbow (>= 2.2.2, < 4.0)
|
211
221
|
regexp_parser (>= 1.8, < 3.0)
|
212
|
-
rexml
|
213
|
-
rubocop-ast (>= 1.
|
222
|
+
rexml (>= 3.2.5, < 4.0)
|
223
|
+
rubocop-ast (>= 1.18.0, < 2.0)
|
214
224
|
ruby-progressbar (~> 1.7)
|
215
225
|
unicode-display_width (>= 1.4.0, < 3.0)
|
216
|
-
rubocop-ast (1.
|
226
|
+
rubocop-ast (1.18.0)
|
217
227
|
parser (>= 3.1.1.0)
|
218
228
|
rubocop-i18n (3.0.0)
|
219
229
|
rubocop (~> 1.0)
|
220
|
-
rubocop-performance (1.
|
230
|
+
rubocop-performance (1.14.0)
|
221
231
|
rubocop (>= 1.7.0, < 2.0)
|
222
232
|
rubocop-ast (>= 0.4.0)
|
223
|
-
rubocop-rspec (2.
|
233
|
+
rubocop-rspec (2.11.1)
|
224
234
|
rubocop (~> 1.19)
|
225
235
|
ruby-progressbar (1.11.0)
|
226
236
|
ruby2_keywords (0.0.5)
|
237
|
+
ruby_parser (3.19.1)
|
238
|
+
sexp_processor (~> 4.16)
|
227
239
|
rubyzip (2.3.2)
|
228
|
-
sawyer (0.
|
240
|
+
sawyer (0.9.2)
|
229
241
|
addressable (>= 2.3.5)
|
230
|
-
faraday (
|
242
|
+
faraday (>= 0.17.3, < 3)
|
231
243
|
scanf (1.0.0)
|
232
244
|
selenium-webdriver (4.0.3)
|
233
245
|
childprocess (>= 0.5, < 5.0)
|
234
246
|
rexml (~> 3.2, >= 3.2.5)
|
235
247
|
rubyzip (>= 1.2.2)
|
236
248
|
semantic_puppet (1.0.4)
|
249
|
+
sexp_processor (4.16.1)
|
237
250
|
signet (0.16.1)
|
238
251
|
addressable (~> 2.8)
|
239
252
|
faraday (>= 0.17.5, < 3.0)
|
240
253
|
jwt (>= 1.5, < 3.0)
|
241
254
|
multi_json (~> 1.10)
|
255
|
+
sync (0.5.0)
|
242
256
|
thor (1.2.1)
|
243
257
|
timers (4.3.3)
|
258
|
+
tins (1.31.1)
|
259
|
+
sync
|
260
|
+
traces (0.4.1)
|
244
261
|
trailblazer-option (0.1.2)
|
245
262
|
tzinfo (2.0.4)
|
246
263
|
concurrent-ruby (~> 1.0)
|
@@ -249,7 +266,8 @@ GEM
|
|
249
266
|
webrick (1.7.0)
|
250
267
|
|
251
268
|
PLATFORMS
|
252
|
-
|
269
|
+
x86_64-darwin-19
|
270
|
+
x86_64-linux
|
253
271
|
|
254
272
|
DEPENDENCIES
|
255
273
|
abide_dev_utils!
|
@@ -268,4 +286,4 @@ DEPENDENCIES
|
|
268
286
|
rubocop-rspec (~> 2.1)
|
269
287
|
|
270
288
|
BUNDLED WITH
|
271
|
-
2.
|
289
|
+
2.3.9
|
data/Rakefile
CHANGED
@@ -1,5 +1,6 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
+
require 'rake'
|
3
4
|
require "bundler/gem_tasks"
|
4
5
|
require "rspec/core/rake_task"
|
5
6
|
|
@@ -10,3 +11,30 @@ require "rubocop/rake_task"
|
|
10
11
|
RuboCop::RakeTask.new
|
11
12
|
|
12
13
|
task default: %i[spec rubocop]
|
14
|
+
|
15
|
+
namespace 'cem' do
|
16
|
+
directory 'spec/fixtures'
|
17
|
+
|
18
|
+
directory 'spec/fixtures/puppetlabs-cem_linux' do
|
19
|
+
sh 'git clone git@github.com:puppetlabs/puppetlabs-cem_linux.git spec/fixtures/puppetlabs-cem_linux'
|
20
|
+
end
|
21
|
+
file 'spec/fixtures/puppetlabs-cem_linux' => ['spec/fixtures']
|
22
|
+
|
23
|
+
directory 'spec/fixtures/puppetlabs-cem_windows' do
|
24
|
+
sh 'git clone git@github.com:puppetlabs/puppetlabs-cem_windows.git spec/fixtures/puppetlabs-cem_windows'
|
25
|
+
end
|
26
|
+
file 'spec/fixtures/puppetlabs-cem_windows' => ['spec/fixtures']
|
27
|
+
|
28
|
+
task :fixture, [:cem_mod] do |_, args|
|
29
|
+
case args.cem_mod
|
30
|
+
when /linux/
|
31
|
+
Rake::Task['spec/fixtures/puppetlabs-cem_linux'].invoke
|
32
|
+
when /windows/
|
33
|
+
Rake::Task['spec/fixtures/puppetlabs-cem_windows'].invoke
|
34
|
+
else
|
35
|
+
raise "Unknown CEM module #{args.cem_mod}"
|
36
|
+
end
|
37
|
+
end
|
38
|
+
|
39
|
+
multitask fixtures: %w[spec/fixtures/puppetlabs-cem_linux spec/fixtures/puppetlabs-cem_windows]
|
40
|
+
end
|
data/abide_dev_utils.gemspec
CHANGED
@@ -32,7 +32,7 @@ Gem::Specification.new do |spec|
|
|
32
32
|
spec.require_paths = ['lib']
|
33
33
|
|
34
34
|
# Prod dependencies
|
35
|
-
spec.add_dependency 'nokogiri', '~> 1.
|
35
|
+
spec.add_dependency 'nokogiri', '~> 1.13'
|
36
36
|
spec.add_dependency 'cmdparse', '~> 3.0'
|
37
37
|
spec.add_dependency 'puppet', '>= 6.23'
|
38
38
|
spec.add_dependency 'jira-ruby', '~> 2.2'
|
@@ -40,6 +40,8 @@ Gem::Specification.new do |spec|
|
|
40
40
|
spec.add_dependency 'selenium-webdriver', '~> 4.0.0.beta4'
|
41
41
|
spec.add_dependency 'google-cloud-storage', '~> 1.34'
|
42
42
|
spec.add_dependency 'hashdiff', '~> 1.0'
|
43
|
+
spec.add_dependency 'amatch', '~> 0.4'
|
44
|
+
spec.add_dependency 'facterdb', '>= 1.18'
|
43
45
|
|
44
46
|
# Dev dependencies
|
45
47
|
spec.add_development_dependency 'bundler'
|