serverspec 0.6.7 → 0.6.8

Sign up to get free protection for your applications and to get access to all the features.
@@ -6,7 +6,7 @@ module Serverspec
6
6
  "ls /etc/rc3.d/ | grep -- #{escape(service)} || grep 'start on' /etc/init/#{escape(service)}.conf"
7
7
  end
8
8
 
9
- def check_installed(package)
9
+ def check_installed(package, version=nil)
10
10
  escaped_package = escape(package)
11
11
  "dpkg -s #{escaped_package} && ! dpkg -s #{escaped_package} | grep -E '^Status: .+ not-installed$'"
12
12
  end
@@ -6,7 +6,7 @@ module Serverspec
6
6
  "rc-update show | grep -- #{escape(regexp)}"
7
7
  end
8
8
 
9
- def check_installed(package)
9
+ def check_installed(package, version=nil)
10
10
  "eix #{escape(package)} --installed"
11
11
  end
12
12
 
@@ -11,15 +11,19 @@ module Serverspec
11
11
  end
12
12
 
13
13
  def check_yumrepo(repository)
14
- "yum repolist -C | grep ^#{escape(repository)}"
14
+ "yum repolist all -C | grep ^#{escape(repository)}"
15
15
  end
16
16
 
17
17
  def check_yumrepo_enabled(repository)
18
18
  "yum repolist all -C | grep ^#{escape(repository)} | grep enabled"
19
19
  end
20
20
 
21
- def check_installed(package)
22
- "rpm -q #{escape(package)}"
21
+ def check_installed(package,version=nil)
22
+ cmd = "rpm -q #{escape(package)}"
23
+ if ! version.nil?
24
+ cmd = "#{cmd} | grep -w -- #{escape(version)}"
25
+ end
26
+ cmd
23
27
  end
24
28
  end
25
29
  end
@@ -5,7 +5,7 @@ module Serverspec
5
5
  "svcs -l #{escape(service)} 2> /dev/null | grep 'enabled true'"
6
6
  end
7
7
 
8
- def check_installed(package)
8
+ def check_installed(package, version=nil)
9
9
  "pkg list -H #{escape(package)} 2> /dev/null"
10
10
  end
11
11
 
@@ -3,7 +3,7 @@ module Serverspec
3
3
  class Package < Base
4
4
  def installed?(provider, version)
5
5
  if provider.nil?
6
- backend.check_installed(@name)
6
+ backend.check_installed(@name, version)
7
7
  else
8
8
  check_method = "check_installed_by_#{provider}".to_sym
9
9
 
@@ -1,3 +1,3 @@
1
1
  module Serverspec
2
- VERSION = "0.6.7"
2
+ VERSION = "0.6.8"
3
3
  end
@@ -68,7 +68,7 @@ end
68
68
 
69
69
  describe 'check_yumrepo' do
70
70
  subject { commands.check_yumrepo('epel') }
71
- it { should eq 'yum repolist -C | grep ^epel' }
71
+ it { should eq 'yum repolist all -C | grep ^epel' }
72
72
  end
73
73
 
74
74
  describe 'check_yumrepo_enabled' do
@@ -81,6 +81,11 @@ describe 'check_installed' do
81
81
  it { should eq 'rpm -q httpd' }
82
82
  end
83
83
 
84
+ describe 'check_installed' do
85
+ subject { commands.check_installed('httpd','2.2') }
86
+ it { should eq 'rpm -q httpd | grep -w -- 2.2' }
87
+ end
88
+
84
89
  describe 'check_running' do
85
90
  subject { commands.check_running('httpd') }
86
91
  it { should eq 'service httpd status' }
@@ -4,6 +4,7 @@ include Serverspec::Helper::RedHat
4
4
 
5
5
  describe 'Serverspec package matchers of Red Hat family' do
6
6
  it_behaves_like 'support package installed matcher', 'httpd'
7
+ it_behaves_like 'support package installed with version matcher', 'httpd', '2.2'
7
8
  it_behaves_like 'support package installed by gem matcher', 'jekyll'
8
9
  it_behaves_like 'support package installed by gem with version matcher', 'jekyll', '1.1.1'
9
10
  it_behaves_like 'support package installed by npm matcher', 'bower'
@@ -10,6 +10,18 @@ shared_examples_for 'support package installed matcher' do |name|
10
10
  end
11
11
  end
12
12
 
13
+ shared_examples_for 'support package installed with version matcher' do |name,version|
14
+ describe 'installed with version' do
15
+ describe package(name) do
16
+ it { should be_installed.with_version(version) }
17
+ end
18
+
19
+ describe package('invalid-package') do
20
+ it { should_not be_installed.with_version(version) }
21
+ end
22
+ end
23
+ end
24
+
13
25
  shared_examples_for 'support package installed by gem matcher' do |name|
14
26
  describe 'installed by gem' do
15
27
  describe package(name) do
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.6.7
4
+ version: 0.6.8
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-06-23 00:00:00.000000000 Z
12
+ date: 2013-06-25 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: net-ssh
@@ -324,7 +324,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
324
324
  version: '0'
325
325
  requirements: []
326
326
  rubyforge_project:
327
- rubygems_version: 1.8.25
327
+ rubygems_version: 1.8.23
328
328
  signing_key:
329
329
  specification_version: 3
330
330
  summary: RSpec tests for your servers configured by Puppet, Chef or anything else