deploy_rubygem 0.60.19 → 0.60.20

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: ee7c9d9e75a9bb9a640edffb6d267bb28385677078e28dfaca96cf17edba4a24
4
- data.tar.gz: 103b0f1bd56705075451e8ce3f72759b25b5f5d60067ddc1bf93dbd31c0ca3a6
3
+ metadata.gz: 1f61e704844f1f80fc9da968ad0e9ad34f2961f1c97f31c6ed329ffdd21d4a17
4
+ data.tar.gz: 7028f7729663bdff4748c01959c227865ef70fd506cc869bd0ef8e097c42a8fe
5
5
  SHA512:
6
- metadata.gz: c5cbaf614cc2b00d6d22f514a818592d8f2201d2808d6adb6c6e142c1e98ff3dd2327275fc73bea627b2c565b83529f80e9d29eb6c50149d17b942e202eeda5a
7
- data.tar.gz: d2f6ad82f811b76618d10d0af44f8109e3457f103ed41a6e8c48b1a419a130621c9db5f2356645f26ec03d5cef6ef8c306c7409e545745c7b2d8a30afba0bcbd
6
+ metadata.gz: 2a4e9293b7af8c0a4335aee4ba6aae09f5e8495da15055bebddd2187f9ba9fe620bb89f4b7ef3c46b16fd326d3cab518bced7ba096a8f96eb2aa0a8d35da3d88
7
+ data.tar.gz: 29678da2f8a7096a239fed59503ad356d3171778ce19db1a8994a66714ec4874b47a993ff804b02917f7eb2783376a97abff823debce4dd2c0789685c6d55dcd
checksums.yaml.gz.sig CHANGED
Binary file
@@ -0,0 +1,67 @@
1
+ # frozen_string_literal: true
2
+
3
+ # DeployRubygem - deploy a gem using rake
4
+ # Containing a class
5
+ module DeployRubygem
6
+ # Using Inspec to deploy and manage Inspec
7
+ class InspecTestorResult
8
+ attr_reader :success_control, :success_result, :failed_control, :failed_result, :pending_control, :pending_result
9
+
10
+ def initialize(as_json)
11
+ @as_json = as_json
12
+ @success_control = 0
13
+ @success_result = 0
14
+ @failed_control = 0
15
+ @failed_result = 0
16
+ @pending_control = 0
17
+ @pending_result = 0
18
+ results
19
+ end
20
+
21
+ def profile
22
+ @as_json['profiles'].first
23
+ end
24
+
25
+ def status
26
+ profile['status']
27
+ end
28
+
29
+ def controls
30
+ profile['controls']
31
+ end
32
+
33
+ def result_summary
34
+ {
35
+ success_control: success_control,
36
+ success_result: success_result,
37
+ failed_control: failed_control,
38
+ failed_result: failed_result,
39
+ pending_control: pending_control,
40
+ pending_result: pending_result
41
+ }
42
+ end
43
+
44
+ private
45
+
46
+ def results
47
+ controls.each do |control_result|
48
+ control_as_fail = false
49
+ control_result['results'].each do |item_result|
50
+ case item_result['status']
51
+ when 'passed'
52
+ @success_result += 1
53
+ when 'failed'
54
+ @failed_result += 1
55
+ @failed_control += 1
56
+ control_as_fail = true
57
+ else
58
+ @pending_result += 1
59
+ @pending_control += 1
60
+ control_as_fail = true
61
+ end
62
+ end
63
+ @success_control += 1 unless control_as_fail
64
+ end
65
+ end
66
+ end
67
+ end
@@ -2,6 +2,8 @@
2
2
 
3
3
  require 'json'
4
4
 
5
+ require_relative 'inspec_result'
6
+
5
7
  # DeployRubygem - deploy a gem using rake
6
8
  # Containing a class
7
9
  module DeployRubygem
@@ -19,26 +21,6 @@ module DeployRubygem
19
21
  File.basename(inspec_path)
20
22
  end
21
23
 
22
- def inspec_options
23
- cmd_opt = []
24
-
25
- unless input_file.nil?
26
- cmd_opt << '--input-file'
27
- cmd_opt << input_file
28
- end
29
-
30
- unless waiver_file.nil?
31
- cmd_opt << '--waiver-file'
32
- cmd_opt << waiver_file
33
- end
34
- cmd_opt
35
- end
36
-
37
- def check
38
- update
39
- system("inspec check #{inspec_path}")
40
- end
41
-
42
24
  def apply
43
25
  puts "ActuaL Dir #{Dir.pwd}"
44
26
  puts "inspec_name = #{inspec_name}"
@@ -60,6 +42,32 @@ module DeployRubygem
60
42
  system("inspec exec #{inspec_path} #{inspec_options.join(' ')} --reporter html:#{html_file}")
61
43
  end
62
44
 
45
+ def test_json
46
+ @test_json ||= InspecTestorResult.new(as_json)
47
+ end
48
+
49
+ private
50
+
51
+ def inspec_options
52
+ cmd_opt = []
53
+
54
+ unless input_file.nil?
55
+ cmd_opt << '--input-file'
56
+ cmd_opt << input_file
57
+ end
58
+
59
+ unless waiver_file.nil?
60
+ cmd_opt << '--waiver-file'
61
+ cmd_opt << waiver_file
62
+ end
63
+ cmd_opt
64
+ end
65
+
66
+ def check
67
+ update
68
+ system("inspec check #{inspec_path}")
69
+ end
70
+
63
71
  def as_json
64
72
  check
65
73
  request_str = `inspec exec #{inspec_path} #{inspec_options.join(' ')} --reporter json`
@@ -96,18 +96,24 @@ module DeployRubygem
96
96
  end
97
97
  end
98
98
 
99
- def testing_inspec(inspec_path, input_file = nil, waiver_file = nil)
100
- inspect_test = InspecTestor.new(inspec_path, input_file, waiver_file)
99
+ def testing_inspec(inspector)
100
+ inspect_test = InspecTestor.new(inspector[:inspec_path], inspector[:input_file], inspector[:waiver_file])
101
101
  RSpec.describe "Testing #{inspect_test} at #{Dir.pwd}" do
102
102
  it 'Should be a kind of Html' do
103
- test_json = inspect_test.save_as_html('/tmp/html/deploy_rubygem_kind_of_html.html')
104
- expect(test_json).not_to be nil
105
- expect(test_json).to be true
103
+ test_html = inspect_test.save_as_html('/tmp/html/deploy_rubygem_kind_of_html.html')
104
+ expect(test_html).to be true
106
105
  end
107
106
  it 'Should be a kind of Json' do
108
- test_json = inspect_test.as_json
109
- expect(test_json).not_to be nil
110
- expect(test_json).to be_kind_of(Hash)
107
+ expect(inspect_test.test_json).to be_kind_of(InspecTestorResult)
108
+ expect(inspect_test.test_json.status).to eq 'loaded'
109
+ end
110
+ it 'Should be successfull' do
111
+ expect(inspect_test.test_json.success_result).to eq inspector[:success_result]
112
+ expect(inspect_test.test_json.success_control).to eq inspector[:success_control]
113
+ expect(inspect_test.test_json.failed_result).to eq inspector[:failed_result]
114
+ expect(inspect_test.test_json.failed_control).to eq inspector[:failed_control]
115
+ expect(inspect_test.test_json.pending_result).to eq inspector[:pending_result]
116
+ expect(inspect_test.test_json.pending_control).to eq inspector[:pending_control]
111
117
  end
112
118
  end
113
119
  end
@@ -17,5 +17,5 @@ module DeployRubygem
17
17
  end
18
18
 
19
19
  # VERSION = new_deploy_rubygem.gvb_version.short_version
20
- VERSION = '0.60.19'
20
+ VERSION = '0.60.20'
21
21
  end
data.tar.gz.sig CHANGED
Binary file
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: deploy_rubygem
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.60.19
4
+ version: 0.60.20
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jimmy Provencher
@@ -138,6 +138,7 @@ files:
138
138
  - lib/deploy_rubygem.rb
139
139
  - lib/deploy_rubygem/cookbook.rb
140
140
  - lib/deploy_rubygem/deploy_rubygem_options.rb
141
+ - lib/deploy_rubygem/inspec_result.rb
141
142
  - lib/deploy_rubygem/inspectestor.rb
142
143
  - lib/deploy_rubygem/kitchen.rb
143
144
  - lib/deploy_rubygem/project.rb
metadata.gz.sig CHANGED
Binary file