serverspec_launcher 0.2.0 → 0.2.1

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: 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