serverspec_launcher 0.2.0 → 0.2.1

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: c7f4e2ec421c549a1d9c00424757c4d14b671a53f7eec83b4628071f5554efd3
4
- data.tar.gz: 903bd958354012b07b8896d3e82735a32900e08d450c875cc3ff3ea1070f3644
3
+ metadata.gz: 76cfad81b886a35a1ac5a27b3e6d2e756d7c46b8d3e32e4d6c8eb661220414bf
4
+ data.tar.gz: fb6bd787d1246aad83ac4e89a504be1c9a0d47c6f1369c038a59760dede06718
5
5
  SHA512:
6
- metadata.gz: 434da33e43b8a283af112b1c3cbeba59ebf9f0586bd7305c41110a08a03446b754837e475b51fd30033482b865ebb75828f98ab38cb93f93a432d3f58dec837f
7
- data.tar.gz: 7399373d264ee5207366c1b68e9eab1ab5ef455eae67663d3fcb7516e15223a5eedcb2fb6318d0095d35c311570d7f676d67632b7752c7e0d868caea15b5c2ab
6
+ metadata.gz: 9a719d32252a27fdf36853e46730f823d136b4432aea72a028643395b2de1cd99ea9ab41e3a5fe34d74ea25f9f21a521119dabd4ad442f1d5120448473e759bd
7
+ data.tar.gz: 5657731b4a4fd10086d0f4aed6e89c7d4348b6ddd361cde408477dd60524e8f42500e4fad7f8d8f8e57b8666a43dd78e9eba0c6fcd3515c9e5ce202bc5f3f14a
@@ -39,7 +39,7 @@ class ServerspecLauncherRakeTasks
39
39
  environments.keys.each do |key|
40
40
  environment = environments[key]
41
41
  environment[:targets].each do |target, hash|
42
- process_target("#{key}:#{target}", hash)
42
+ process_target("#{key}:#{target}", hash, 'environment')
43
43
  end
44
44
  end
45
45
 
@@ -64,6 +64,7 @@ class ServerspecLauncherRakeTasks
64
64
  ENV['TARGET_HOST'] = host.to_s
65
65
  ENV['TARGET'] = key.to_s
66
66
  ENV['TASK_NAME'] = task_name.to_s
67
+ ENV['TASK_SOURCE'] = options[:source]
67
68
  t.pattern = "spec/#{spec_type}_spec.rb"
68
69
  t.fail_on_error = options[:fail_on_err]
69
70
  set_formatters(task_name, options, t)
@@ -128,11 +129,12 @@ class ServerspecLauncherRakeTasks
128
129
 
129
130
  private
130
131
 
131
- def process_target(key, target)
132
+ def process_target(key, target, task_source = 'target')
132
133
  options = {
133
134
  fail_on_err: target[:fail_on_err] || @fail_on_err,
134
135
  formatters: target[:formatters] || @formatters,
135
- color: target[:color].nil? ? @colorize : target[:color]
136
+ color: target[:color].nil? ? @colorize : target[:color],
137
+ source: task_source
136
138
  }
137
139
  spec_type = target[:spec_type] || 'role'
138
140
  if target[:hosts].is_a?(Array)
@@ -20,11 +20,12 @@ class SpecHelper
20
20
  include ExampleHelper
21
21
  using SymbolizeHelper
22
22
 
23
- attr_reader :properties, :target_properties
24
- def initialize(host = ENV['TARGET_HOST'], target = ENV['TARGET'], properties = nil)
23
+ attr_reader :properties, :target_properties, :target_variables
24
+
25
+ def initialize(host = ENV['TARGET_HOST'], target = ENV['TARGET'], properties = nil, task_source = ENV['TASK_SOURCE'])
25
26
  @host = host
26
27
  @target = target
27
-
28
+ @source = task_source
28
29
  load_properties properties
29
30
  end
30
31
 
@@ -35,11 +36,17 @@ class SpecHelper
35
36
  else
36
37
  @target_properties = @properties[:targets][@target.to_sym]
37
38
  end
39
+ if @source == 'environment'
40
+ vars = @properties[:environments][@target.split(':')[0].to_sym][:variables] ? @properties[:environments][@target.split(':')[0].to_sym][:variables] : {}
41
+ @target_variables = @properties[:variables] ? @properties[:variables].deep_merge(vars) : {}.deep_merge(vars)
42
+ else
43
+ @target_variables = @properties[:variables] ? @properties[:variables] : {}
44
+ end
38
45
 
39
46
  @backend = @target_properties[:backend] || 'ssh'
40
47
  @target_properties[:target] = ENV['TASK_NAME']
41
48
 
42
- @target_properties[:variables] = @properties[:variables] ? @properties[:variables].deep_merge(@target_properties[:variables]) : {}.deep_merge(@target_properties[:variables])
49
+ @target_properties[:variables] = @target_variables.deep_merge(@target_properties[:variables])
43
50
  @target_properties[:environment] = @properties[:environment] ? @properties[:variables].deep_merge(@target_properties[:environment]) : {}.deep_merge(@target_properties[:environment])
44
51
 
45
52
  set_property @target_properties
@@ -142,8 +149,8 @@ class SpecHelper
142
149
  end
143
150
  end
144
151
 
145
- def self.load(host = ENV['TARGET_HOST'], target = ENV['TARGET'], properties = nil)
146
- helper = SpecHelper.new host, target, properties
152
+ def self.load(host = ENV['TARGET_HOST'], target = ENV['TARGET'], properties = nil, task_source = ENV['TASK_SOURCE'])
153
+ helper = SpecHelper.new host, target, properties, task_source
147
154
  props = helper.properties[:shared_example_gems] || []
148
155
  helper.load_shared_examples props
149
156
  helper.setup_backend
@@ -1,4 +1,4 @@
1
1
  # frozen_string_literal: true
2
2
  module ServerspecLauncher
3
- VERSION = '0.2.0'
3
+ VERSION = '0.2.1'
4
4
  end
@@ -29,6 +29,7 @@ Gem::Specification.new do |spec|
29
29
  spec.add_development_dependency 'rubocop'
30
30
  spec.add_development_dependency 'simplecov'
31
31
  spec.add_development_dependency 'debase'
32
+ spec.add_development_dependency 'ruby-debug-ide', '0.7.0.beta6'
32
33
  spec.add_runtime_dependency 'serverspec'
33
34
  spec.add_runtime_dependency 'rspec_junit_formatter'
34
35
  spec.add_runtime_dependency 'rspec-tick-formatter', '0.1.3'
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.2.0
4
+ version: 0.2.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Andrew Wardrobe
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2018-09-09 00:00:00.000000000 Z
11
+ date: 2018-09-22 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -94,6 +94,20 @@ dependencies:
94
94
  - - ">="
95
95
  - !ruby/object:Gem::Version
96
96
  version: '0'
97
+ - !ruby/object:Gem::Dependency
98
+ name: ruby-debug-ide
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - '='
102
+ - !ruby/object:Gem::Version
103
+ version: 0.7.0.beta6
104
+ type: :development
105
+ prerelease: false
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - '='
109
+ - !ruby/object:Gem::Version
110
+ version: 0.7.0.beta6
97
111
  - !ruby/object:Gem::Dependency
98
112
  name: serverspec
99
113
  requirement: !ruby/object:Gem::Requirement