kitchen-verifier-serverspec 0.1.0 → 0.1.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 +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
|