serverspec 0.9.0 → 0.9.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: af5097bb467c14c4f8d0f22747b6775ecf5d598a
4
- data.tar.gz: fee035ec0e675c79cf74ef7367da9d2e028a7dbb
3
+ metadata.gz: db9382459ee16f535fa09efbe1227d821f06156a
4
+ data.tar.gz: 586c2b1e2d923d3279b28e32bb587e2ef43b58a1
5
5
  SHA512:
6
- metadata.gz: ba213503e568d2c6bcb5a6f814f436508880546bf90bd43c39e5a944b7d6ada8ce9adbb36889e3024f3dafacb43106a382d7d89cb97eba9217b67694578c8295
7
- data.tar.gz: c68841e54c3aa39773d997e330e612ddd74b619a9a93328461a362c326b26e1efea60e3f6d2582c52ab84f8a4ad97931941355c412a3a2baa82b5f51403025d4
6
+ metadata.gz: 8844aeac98285e412ae03cca2bfc86846104e31c72827042676e23ed65c7de47f892f5c019b12d329a5bf48513aac77893fd5df1b638f9ddeb251e533f5f71d5
7
+ data.tar.gz: 143c9e0d6b86f4796559b916cb54f7a80035764d7f93ab404850e6e5daca7d9020e5f35077304e912c47068bc1ec215928f9bdad394b0fb8bb509f51a519169d
data/bin/serverspec-init CHANGED
@@ -5,78 +5,3 @@ $LOAD_PATH.unshift File.join(File.dirname(__FILE__), *%w[.. lib])
5
5
  require 'serverspec'
6
6
 
7
7
  Serverspec::Setup.run
8
-
9
- __END__
10
- require 'serverspec'
11
- <% if @os_type == 'UN*X' -%>
12
- require 'pathname'
13
- <% end -%>
14
- <% if @backend_type == 'Ssh' -%>
15
- require 'net/ssh'
16
- <% end -%>
17
- <% if @backend_type == 'WinRM' -%>
18
- require 'winrm'
19
- <% end -%>
20
-
21
- include Serverspec::Helper::<%= @backend_type %>
22
- <% if @os_type == 'UN*X' -%>
23
- include Serverspec::Helper::DetectOS
24
- <% else -%>
25
- include Serverspec::Helper::Windows
26
- <% end -%>
27
-
28
- <% if @os_type == 'UN*X' -%>
29
- RSpec.configure do |c|
30
- if ENV['ASK_SUDO_PASSWORD']
31
- require 'highline/import'
32
- c.sudo_password = ask("Enter sudo password: ") { |q| q.echo = false }
33
- else
34
- c.sudo_password = ENV['SUDO_PASSWORD']
35
- end
36
- <%- if @backend_type == 'Ssh' -%>
37
- c.before :all do
38
- block = self.class.metadata[:example_group_block]
39
- if RUBY_VERSION.start_with?('1.8')
40
- file = block.to_s.match(/.*@(.*):[0-9]+>/)[1]
41
- else
42
- file = block.source_location.first
43
- end
44
- host = File.basename(Pathname.new(file).dirname)
45
- if c.host != host
46
- c.ssh.close if c.ssh
47
- c.host = host
48
- options = Net::SSH::Config.for(c.host)
49
- user = options[:user] || Etc.getlogin
50
- <%- if @vagrant -%>
51
- vagrant_up = `vagrant up #{@hostname}`
52
- config = `vagrant ssh-config #{@hostname}`
53
- if config != ''
54
- config.each_line do |line|
55
- if match = /HostName (.*)/.match(line)
56
- c.host = match[1]
57
- elsif match = /User (.*)/.match(line)
58
- user = match[1]
59
- elsif match = /IdentityFile (.*)/.match(line)
60
- options[:keys] = [match[1].gsub(/\"/,'')]
61
- elsif match = /Port (.*)/.match(line)
62
- options[:port] = match[1]
63
- end
64
- end
65
- end
66
- <%- end -%>
67
- c.ssh = Net::SSH.start(c.host, user, options)
68
- end
69
- end
70
- <%- end -%>
71
- end
72
- <% end -%>
73
- <% if @backend_type == 'WinRM'-%>
74
- RSpec.configure do |c|
75
- user = <username>
76
- pass = <password>
77
- endpoint = "http://<hostname>:5985/wsman"
78
-
79
- c.winrm = ::WinRM::WinRMWebService.new(endpoint, :ssl, :user => user, :pass => pass, :basic_auth_only => true)
80
- c.winrm.set_timeout 300 # 5 minutes max timeout for any operation
81
- end
82
- <% end -%>
@@ -139,7 +139,7 @@ EOF
139
139
 
140
140
  def self.safe_create_spec_helper
141
141
  requirements = []
142
- content = ERB.new(DATA.read, nil, '-').result(binding)
142
+ content = ERB.new(spec_helper_template, nil, '-').result(binding)
143
143
  if File.exists? 'spec/spec_helper.rb'
144
144
  old_content = File.read('spec/spec_helper.rb')
145
145
  if old_content != content
@@ -210,5 +210,84 @@ EOF
210
210
  exit 1
211
211
  end
212
212
  end
213
+
214
+ def self.spec_helper_template
215
+ template = <<-EOF
216
+ require 'serverspec'
217
+ <% if @os_type == 'UN*X' -%>
218
+ require 'pathname'
219
+ <% end -%>
220
+ <% if @backend_type == 'Ssh' -%>
221
+ require 'net/ssh'
222
+ <% end -%>
223
+ <% if @backend_type == 'WinRM' -%>
224
+ require 'winrm'
225
+ <% end -%>
226
+
227
+ include Serverspec::Helper::<%= @backend_type %>
228
+ <% if @os_type == 'UN*X' -%>
229
+ include Serverspec::Helper::DetectOS
230
+ <% else -%>
231
+ include Serverspec::Helper::Windows
232
+ <% end -%>
233
+
234
+ <% if @os_type == 'UN*X' -%>
235
+ RSpec.configure do |c|
236
+ if ENV['ASK_SUDO_PASSWORD']
237
+ require 'highline/import'
238
+ c.sudo_password = ask("Enter sudo password: ") { |q| q.echo = false }
239
+ else
240
+ c.sudo_password = ENV['SUDO_PASSWORD']
241
+ end
242
+ <%- if @backend_type == 'Ssh' -%>
243
+ c.before :all do
244
+ block = self.class.metadata[:example_group_block]
245
+ if RUBY_VERSION.start_with?('1.8')
246
+ file = block.to_s.match(/.*@(.*):[0-9]+>/)[1]
247
+ else
248
+ file = block.source_location.first
249
+ end
250
+ host = File.basename(Pathname.new(file).dirname)
251
+ if c.host != host
252
+ c.ssh.close if c.ssh
253
+ c.host = host
254
+ options = Net::SSH::Config.for(c.host)
255
+ user = options[:user] || Etc.getlogin
256
+ <%- if @vagrant -%>
257
+ vagrant_up = `vagrant up #{@hostname}`
258
+ config = `vagrant ssh-config #{@hostname}`
259
+ if config != ''
260
+ config.each_line do |line|
261
+ if match = /HostName (.*)/.match(line)
262
+ c.host = match[1]
263
+ elsif match = /User (.*)/.match(line)
264
+ user = match[1]
265
+ elsif match = /IdentityFile (.*)/.match(line)
266
+ options[:keys] = [match[1].gsub(/\"/,'')]
267
+ elsif match = /Port (.*)/.match(line)
268
+ options[:port] = match[1]
269
+ end
270
+ end
271
+ end
272
+ <%- end -%>
273
+ c.ssh = Net::SSH.start(c.host, user, options)
274
+ end
275
+ end
276
+ <%- end -%>
277
+ end
278
+ <% end -%>
279
+ <% if @backend_type == 'WinRM'-%>
280
+ RSpec.configure do |c|
281
+ user = <username>
282
+ pass = <password>
283
+ endpoint = "http://<hostname>:5985/wsman"
284
+
285
+ c.winrm = ::WinRM::WinRMWebService.new(endpoint, :ssl, :user => user, :pass => pass, :basic_auth_only => true)
286
+ c.winrm.set_timeout 300 # 5 minutes max timeout for any operation
287
+ end
288
+ <% end -%>
289
+ EOF
290
+ template
291
+ end
213
292
  end
214
293
  end
@@ -1,3 +1,3 @@
1
1
  module Serverspec
2
- VERSION = "0.9.0"
2
+ VERSION = "0.9.1"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: serverspec
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.9.0
4
+ version: 0.9.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Gosuke Miyashita