serverspec 0.6.7 → 0.6.8

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