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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 45596196f4147bbd86339157709190ad793aff46
4
- data.tar.gz: 31b268ebeec5166107f965bbe2064331a902a4c0
3
+ metadata.gz: c96f0cae0d95e4b483b51082bcb656cc817c4ff1
4
+ data.tar.gz: 7de2f6876e0f16d5702d93ec82279e86fac96bdb
5
5
  SHA512:
6
- metadata.gz: b9765cf70d0cea811609f74ee390c061ccdf7da528afcc271947be7c709ee00dc738961827b853ea6ac6ebd54f424fe3e211beb709676989b50eecb0f2d65909
7
- data.tar.gz: 6aaddb1ef845aaf60d00c7660e8711d1f3fcd6987a3aaa0d4dd19544cf57f3210d491def18fab0948e03662ad601f464107b7ff579067eaaed44c8e86cfb76e8
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
- #{sudo('apt-get')} -y install ruby
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
- #{sudo('gem')} install #{gem_proxy_parm} --no-ri --no-rdoc bundler
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
- #{test_serverspec_installed}
140
+ #{test_serverspec_installed}
137
141
  #{install_gemfile}
138
- #{sudo_env('bundler')} install --gemfile=#{config[:default_path]}/Gemfile
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| "rspec #{color} -f #{config[:format]} --default-path #{config[:default_path]} #{config[:extra_flags]} -P #{s}" }.join('\n')
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
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Kitchen
4
4
  module Verifier
5
- SERVERSPEC_VERSION = '0.1.0'.freeze
5
+ SERVERSPEC_VERSION = '0.1.1'.freeze
6
6
  end
7
7
  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.0
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-15 00:00:00.000000000 Z
11
+ date: 2016-02-16 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: test-kitchen