serverspec 0.7.0 → 0.7.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -20,8 +20,8 @@ module Serverspec
20
20
  cmd = super(cmd)
21
21
  if RSpec.configuration.ssh.options[:user] != 'root'
22
22
  cmd = "sudo #{cmd}"
23
- cmd.gsub!(/(\&\&\s*\(?)/, "\\1sudo ")
24
- cmd.gsub!(/(\|\|\s*\(?)/, "\\1sudo ")
23
+ cmd.gsub!(/(\&\&\s*!?\(?\s*)/, "\\1sudo ")
24
+ cmd.gsub!(/(\|\|\s*!?\(?\s*)/, "\\1sudo ")
25
25
  end
26
26
  cmd
27
27
  end
@@ -1,3 +1,3 @@
1
1
  module Serverspec
2
- VERSION = "0.7.0"
2
+ VERSION = "0.7.1"
3
3
  end
@@ -0,0 +1,30 @@
1
+ require 'spec_helper'
2
+
3
+ include Serverspec::Helper::Ssh
4
+
5
+ ssh = double
6
+
7
+
8
+ describe 'build command with sudo' do
9
+ before :each do
10
+ RSpec.configure do |c|
11
+ ssh.stub(:options) { { :user => 'foo' } }
12
+ c.ssh = ssh
13
+ end
14
+ end
15
+
16
+ context 'command pattern 1' do
17
+ subject { backend.build_command('test -f /etc/passwd') }
18
+ it { should eq 'sudo test -f /etc/passwd' }
19
+ end
20
+
21
+ context 'command pattern 2' do
22
+ subject { backend.build_command('test ! -f /etc/selinux/config || (getenforce | grep -i -- disabled && grep -i -- ^SELINUX=disabled$ /etc/selinux/config)') }
23
+ it { should eq 'sudo test ! -f /etc/selinux/config || (sudo getenforce | grep -i -- disabled && sudo grep -i -- ^SELINUX=disabled$ /etc/selinux/config)' }
24
+ end
25
+
26
+ context 'command pattern 3' do
27
+ subject { backend.build_command("dpkg -s apache2 && ! dpkg -s apache2 | grep -E '^Status: .+ not-installed$'") }
28
+ it { should eq "sudo dpkg -s apache2 && ! sudo dpkg -s apache2 | grep -E '^Status: .+ not-installed$'" }
29
+ end
30
+ 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.7.0
4
+ version: 0.7.1
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2013-07-15 00:00:00.000000000 Z
12
+ date: 2013-07-22 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: net-ssh
@@ -218,6 +218,7 @@ files:
218
218
  - lib/serverspec/version.rb
219
219
  - serverspec.gemspec
220
220
  - spec/backend/exec/configuration_spec.rb
221
+ - spec/backend/ssh/build_command_spec.rb
221
222
  - spec/backend/ssh/configuration_spec.rb
222
223
  - spec/darwin/command_spec.rb
223
224
  - spec/darwin/cron_spec.rb
@@ -348,6 +349,7 @@ specification_version: 3
348
349
  summary: RSpec tests for your servers configured by Puppet, Chef or anything else
349
350
  test_files:
350
351
  - spec/backend/exec/configuration_spec.rb
352
+ - spec/backend/ssh/build_command_spec.rb
351
353
  - spec/backend/ssh/configuration_spec.rb
352
354
  - spec/darwin/command_spec.rb
353
355
  - spec/darwin/cron_spec.rb