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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: e55f311ebf1c7b632dd7516006ac16e27c2896580faa9dbc4b4dbeb88f8fd71c
4
- data.tar.gz: 6311bffa791cca9110c24f18dfa8c460d12c4727b5529355a926ffd24434dd41
3
+ metadata.gz: 7de2ca3f6169459884be2198e565853e1fee7db5813a1fdbc3a126ea2733c490
4
+ data.tar.gz: e04ac23e2618633a2482806806ecab71f80050a45aea22f9a2b5b793c7df45a2
5
5
  SHA512:
6
- metadata.gz: 71f628147a984da062079f260103088d65bd21ff8320d0fe5ffea1eb30d27b4dce2a9089602a21f1a87975cf6c59fad1cba189ff7406b42001ad867a2b41402b
7
- data.tar.gz: '0738e285ee7f33852572311676a570ca4fa0914b226fabe0781a90841263d787e34286628949fbece5aeb0ea2d716535962b1357c1f2da7c217e35dc46ac4cff'
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
 
@@ -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
@@ -1,4 +1,4 @@
1
1
  # frozen_string_literal: true
2
2
  module ServerspecLauncher
3
- VERSION = '0.6.0'
3
+ VERSION = '0.7.0'
4
4
  end
data/properties.yml CHANGED
@@ -9,6 +9,9 @@ targets:
9
9
  exec-example:
10
10
  backend: exec
11
11
  spec_type: integration/example
12
+ formatters:
13
+ - launcher
14
+ - tick
12
15
 
13
16
  docker-example:
14
17
  backend: docker
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.6.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-15 00:00:00.000000000 Z
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