kitchen-verifier-serverspec 0.1.0 → 0.1.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +23 -0
- data/lib/kitchen/verifier/serverspec.rb +25 -5
- data/lib/kitchen/verifier/serverspec_version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c96f0cae0d95e4b483b51082bcb656cc817c4ff1
|
4
|
+
data.tar.gz: 7de2f6876e0f16d5702d93ec82279e86fac96bdb
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 88afd1c9537cfcb27938d4108c930fad7c23c09f9adb50c8325ca9d050ee1a95ac804881af8924468105a669605a2e5a7e952bec73b13ff849448fef9abecf4d
|
7
|
+
data.tar.gz: b8b641a7db018965b7c91991140a57a4e744e93c77f1827975b98e170f8bb4b7a1e79c0f8fab1f769a38ca180c05344edd0c1c10aa0a51502095705c785b3656
|
data/README.md
CHANGED
@@ -54,6 +54,26 @@ suites:
|
|
54
54
|
|
55
55
|
See example [https://github.com/neillturner/puppet_beaker_repo](https://github.com/neillturner/puppet_beaker_repo)
|
56
56
|
|
57
|
+
or with environment variables
|
58
|
+
|
59
|
+
```yaml
|
60
|
+
verifier:
|
61
|
+
name: serverspec
|
62
|
+
|
63
|
+
suites:
|
64
|
+
- name: base
|
65
|
+
verifier:
|
66
|
+
patterns:
|
67
|
+
- roles/tomcat/spec/tomcat_spec.rb
|
68
|
+
bundler_path: '/usr/local/bin'
|
69
|
+
rspec_path: '/home/vagrant/bin'
|
70
|
+
env_vars:
|
71
|
+
TARGET_HOST: 172.28.128.7
|
72
|
+
LOGIN_USER: vagrant
|
73
|
+
SSH_KEY: 'spec/tomcat_private_key.pem'
|
74
|
+
```
|
75
|
+
|
76
|
+
|
57
77
|
# Serverspec Verifier Options
|
58
78
|
|
59
79
|
key | default value | Notes
|
@@ -72,6 +92,9 @@ remove_default_path | false | remove the default_path after successful serverspe
|
|
72
92
|
http_proxy | nil | use http proxy when installing ruby, serverspec and running serverspec
|
73
93
|
https_proxy | nil | use https proxy when installing puppet, ruby, serverspec and running serverspec
|
74
94
|
sudo | nil | use sudo to run commands
|
95
|
+
env_vars | {} | environment variable to set for rspec
|
96
|
+
bundle_path | nil | path for bundler command
|
97
|
+
rspec_path | nil | path for rspec command
|
75
98
|
|
76
99
|
|
77
100
|
## Contributing
|
@@ -39,6 +39,9 @@ module Kitchen
|
|
39
39
|
default_config :test_serverspec_installed, true
|
40
40
|
default_config :extra_flags, nil
|
41
41
|
default_config :remove_default_path, false
|
42
|
+
default_config :env_vars, {}
|
43
|
+
default_config :bundle_path, nil
|
44
|
+
default_config :rspec_path, nil
|
42
45
|
|
43
46
|
# (see Base#call)
|
44
47
|
def call(state)
|
@@ -109,7 +112,7 @@ module Kitchen
|
|
109
112
|
if [ -f /etc/system-release ] || [ grep -q 'Amazon Linux' /etc/system-release ]; then
|
110
113
|
#{sudo_env('yum')} -y install ruby
|
111
114
|
else
|
112
|
-
#{
|
115
|
+
#{sudo_env('apt-get')} -y install ruby
|
113
116
|
fi
|
114
117
|
fi
|
115
118
|
fi
|
@@ -126,16 +129,17 @@ module Kitchen
|
|
126
129
|
def install_bundler
|
127
130
|
<<-INSTALL
|
128
131
|
if [ $(#{sudo('gem')} list bundler -i) == 'false' ]; then
|
129
|
-
#{
|
132
|
+
#{sudo_env('gem')} install #{gem_proxy_parm} --no-ri --no-rdoc bundler
|
130
133
|
fi
|
131
134
|
INSTALL
|
132
135
|
end
|
133
136
|
|
134
137
|
def install_serverspec
|
138
|
+
bundler_cmd = "#{bundler_path}bundler"
|
135
139
|
<<-INSTALL
|
136
|
-
|
140
|
+
#{test_serverspec_installed}
|
137
141
|
#{install_gemfile}
|
138
|
-
#{sudo_env(
|
142
|
+
#{sudo_env(bundler_cmd)} install --gemfile=#{config[:default_path]}/Gemfile
|
139
143
|
#{fi_test_serverspec_installed}
|
140
144
|
INSTALL
|
141
145
|
end
|
@@ -179,8 +183,16 @@ module Kitchen
|
|
179
183
|
end
|
180
184
|
|
181
185
|
def rspec_commands
|
186
|
+
rspec_cmd = "#{rspec_path}rspec"
|
182
187
|
info('Running Serverspec')
|
183
|
-
config[:patterns].map { |s| "
|
188
|
+
config[:patterns].map { |s| "#{env_vars} #{sudo_env(rspec_cmd)} #{color} -f #{config[:format]} --default-path #{config[:default_path]} #{config[:extra_flags]} -P #{s}" }.join('\n')
|
189
|
+
end
|
190
|
+
|
191
|
+
def env_vars
|
192
|
+
return nil if config[:env_vars].none?
|
193
|
+
bash_vars = config[:env_vars].map { |k, v| "#{k}=#{v}" }.join(' ')
|
194
|
+
debug(bash_vars)
|
195
|
+
bash_vars
|
184
196
|
end
|
185
197
|
|
186
198
|
def sudo_env(pm)
|
@@ -189,6 +201,14 @@ module Kitchen
|
|
189
201
|
p || s ? "#{sudo('env')} #{p} #{s} #{pm}" : sudo(pm).to_s
|
190
202
|
end
|
191
203
|
|
204
|
+
def bundler_path
|
205
|
+
config[:bundler_path] ? "#{config[:bundler_path]}/" : nil
|
206
|
+
end
|
207
|
+
|
208
|
+
def rspec_path
|
209
|
+
config[:rspec_path] ? "#{config[:rspec_path]}/" : nil
|
210
|
+
end
|
211
|
+
|
192
212
|
def http_proxy
|
193
213
|
config[:http_proxy]
|
194
214
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: kitchen-verifier-serverspec
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Neill Turner
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-02-
|
11
|
+
date: 2016-02-16 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: test-kitchen
|