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:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 76cfad81b886a35a1ac5a27b3e6d2e756d7c46b8d3e32e4d6c8eb661220414bf
|
4
|
+
data.tar.gz: fb6bd787d1246aad83ac4e89a504be1c9a0d47c6f1369c038a59760dede06718
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
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
|
-
|
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] = @
|
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
|
data/serverspec_launcher.gemspec
CHANGED
@@ -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.
|
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-
|
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
|