serverspec_launcher 0.6.0 → 0.7.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/launcher_json_formatter.rb +4 -1
- data/lib/serverspec_launcher.rb +5 -0
- data/lib/serverspec_launcher/helpers/reshaper.rb +40 -0
- data/lib/serverspec_launcher/version.rb +1 -1
- data/properties.yml +3 -0
- metadata +3 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 7de2ca3f6169459884be2198e565853e1fee7db5813a1fdbc3a126ea2733c490
|
4
|
+
data.tar.gz: e04ac23e2618633a2482806806ecab71f80050a45aea22f9a2b5b793c7df45a2
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: be71e288008620928545895edaa2e2b8c4c3eef388983b213ef03d9fe87385cbdaa81a8f2201ea3e618aa6f135d652b4c234d3edc02ffbe9870e6fce30a90aaa
|
7
|
+
data.tar.gz: ed075116ec3bbecbd269400aa73ade75d8b1e8bf54528b27d6e11152b3da2de263f7781f585c3c84cf1a85ab19de49c58d011c2a670ef19bcee00e82a2635eee
|
@@ -103,7 +103,10 @@ class LauncherJsonFormatter < RSpec::Core::Formatters::BaseFormatter
|
|
103
103
|
:run_time => example.execution_result.run_time,
|
104
104
|
:pending_message => example.execution_result.pending_message,
|
105
105
|
:resource => example.example_group.description,
|
106
|
-
:context => get_tree(example)
|
106
|
+
:context => get_tree(example),
|
107
|
+
:metadata => example.metadata,
|
108
|
+
:tags => example.metadata[:tags],
|
109
|
+
:type => example.metadata[:type]
|
107
110
|
}
|
108
111
|
end
|
109
112
|
|
data/lib/serverspec_launcher.rb
CHANGED
@@ -1,5 +1,6 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
require 'serverspec_launcher/version'
|
3
|
+
require 'serverspec_launcher/helpers/reshaper'
|
3
4
|
require 'serverspec_launcher/generators/properties_generator'
|
4
5
|
require 'serverspec_launcher/generators/rakefile_generator'
|
5
6
|
require 'serverspec_launcher/generators/spec_helper_generator'
|
@@ -9,6 +10,7 @@ require 'serverspec_launcher/generators/gemspec_generator'
|
|
9
10
|
|
10
11
|
# Main Class
|
11
12
|
module ServerspecLauncher
|
13
|
+
|
12
14
|
def self.generate_properties
|
13
15
|
properties = PropertiesGenerator.new
|
14
16
|
properties.generate
|
@@ -93,6 +95,9 @@ module ServerspecLauncher
|
|
93
95
|
init
|
94
96
|
when 'version'
|
95
97
|
puts "Serverspec Launcher version #{ServerspecLauncher::VERSION}"
|
98
|
+
when 'reshape'
|
99
|
+
|
100
|
+
ReShaper.reshape_report args[0]
|
96
101
|
end
|
97
102
|
|
98
103
|
end
|
@@ -0,0 +1,40 @@
|
|
1
|
+
require 'json'
|
2
|
+
require 'yaml'
|
3
|
+
|
4
|
+
module ReShaper
|
5
|
+
def self.deep_set(hash, path, value)
|
6
|
+
*path, final_key = path
|
7
|
+
to_set = path.empty? ? hash : hash.dig(*path)
|
8
|
+
|
9
|
+
return unless to_set
|
10
|
+
to_set[final_key] = to_set[final_key] ? to_set[final_key].merge(value) : value
|
11
|
+
end
|
12
|
+
|
13
|
+
def self.transform_data(data)
|
14
|
+
new_data = {}
|
15
|
+
(data['examples'] || {}).each do |ex|
|
16
|
+
tree = []
|
17
|
+
ex['context'].push(ex['description']).each do |k|
|
18
|
+
tree.push k
|
19
|
+
deep_set(new_data, tree, {})
|
20
|
+
deep_set(new_data, tree, ex) if tree.length == ex['context'].length
|
21
|
+
end
|
22
|
+
end
|
23
|
+
{"examples" => new_data }.merge(data.reject{ |k,v| k == 'examples' })
|
24
|
+
end
|
25
|
+
|
26
|
+
def self.get_report(report_file)
|
27
|
+
json = File.read(report_file).gsub(',]', ']').gsub(',}', '}')
|
28
|
+
data = JSON.parse(json)
|
29
|
+
data
|
30
|
+
end
|
31
|
+
|
32
|
+
def self.reshape_report(file)
|
33
|
+
report_name = /\/([\w\-:]*)_extended.json/.match(file)[1]
|
34
|
+
report = get_report(file)
|
35
|
+
data = transform_data report
|
36
|
+
outpath = File.dirname file
|
37
|
+
File.open("#{outpath}/#{report_name}_reshaped.json", 'w') { |f| f.write data.to_json }
|
38
|
+
File.open("#{outpath}/#{report_name}_reshaped.yaml", 'w') { |f| f.write data.to_yaml }
|
39
|
+
end
|
40
|
+
end
|
data/properties.yml
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: serverspec_launcher
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.7.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Andrew Wardrobe
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2019-06-
|
11
|
+
date: 2019-06-19 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -236,6 +236,7 @@ files:
|
|
236
236
|
- lib/serverspec_launcher/generators/spec_helper_generator.rb
|
237
237
|
- lib/serverspec_launcher/helpers/example_helper.rb
|
238
238
|
- lib/serverspec_launcher/helpers/properties_loader.rb
|
239
|
+
- lib/serverspec_launcher/helpers/reshaper.rb
|
239
240
|
- lib/serverspec_launcher/helpers/symbolize_helper.rb
|
240
241
|
- lib/serverspec_launcher/rake_tasks.rb
|
241
242
|
- lib/serverspec_launcher/spec_helper.rb
|