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