serverspec 0.0.14 → 0.0.15

Sign up to get free protection for your applications and to get access to all the features.
@@ -63,6 +63,10 @@ module Serverspec
63
63
  def check_link link, target
64
64
  "stat -c %N #{link} | grep #{target}"
65
65
  end
66
+
67
+ def check_installed_by_gem name
68
+ "gem list --local | grep #{name}"
69
+ end
66
70
  end
67
71
  end
68
72
  end
@@ -12,4 +12,5 @@ require 'serverspec/matchers/be_owned_by'
12
12
  require 'serverspec/matchers/be_grouped_into'
13
13
  require 'serverspec/matchers/have_cron_entry'
14
14
  require 'serverspec/matchers/be_linked_to'
15
+ require 'serverspec/matchers/be_installed_by_gem'
15
16
 
@@ -0,0 +1,13 @@
1
+ RSpec::Matchers.define :be_installed_by_gem do
2
+ match do |name|
3
+ ret = ssh_exec(commands.check_installed_by_gem(name))
4
+ res = ret[:exit_code] == 0
5
+ if res && @version
6
+ res = false if not ret[:stdout].match(/\(#{@version}\)/)
7
+ end
8
+ res
9
+ end
10
+ chain :with_version do |version|
11
+ @version = version
12
+ end
13
+ end
@@ -1,3 +1,3 @@
1
1
  module Serverspec
2
- VERSION = "0.0.14"
2
+ VERSION = "0.0.15"
3
3
  end
@@ -178,3 +178,27 @@ shared_examples_for 'support be_linked_to matcher' do |file, target|
178
178
  end
179
179
  end
180
180
  end
181
+
182
+ shared_examples_for 'support be_installed_by_gem matcher' do |name|
183
+ describe 'be_installed_by_gem' do
184
+ describe name do
185
+ it { should be_installed_by_gem }
186
+ end
187
+
188
+ describe 'dummygem' do
189
+ it { should_not be_installed_by_gem }
190
+ end
191
+ end
192
+ end
193
+
194
+ shared_examples_for 'support be_installed_by_gem.with_version matcher' do |name, version|
195
+ describe 'be_installed_by_gem.with_version' do
196
+ describe name do
197
+ it { should be_installed_by_gem.with_version(version) }
198
+ end
199
+
200
+ describe name do
201
+ it { should_not be_installed_by_gem.with_version('dummyversion') }
202
+ end
203
+ end
204
+ end
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: serverspec
3
3
  version: !ruby/object:Gem::Version
4
- hash: 3
4
+ hash: 1
5
5
  prerelease: false
6
6
  segments:
7
7
  - 0
8
8
  - 0
9
- - 14
10
- version: 0.0.14
9
+ - 15
10
+ version: 0.0.15
11
11
  platform: ruby
12
12
  authors:
13
13
  - Gosuke Miyashita
@@ -105,6 +105,7 @@ files:
105
105
  - lib/serverspec/matchers/be_group.rb
106
106
  - lib/serverspec/matchers/be_grouped_into.rb
107
107
  - lib/serverspec/matchers/be_installed.rb
108
+ - lib/serverspec/matchers/be_installed_by_gem.rb
108
109
  - lib/serverspec/matchers/be_linked_to.rb
109
110
  - lib/serverspec/matchers/be_listening.rb
110
111
  - lib/serverspec/matchers/be_mode.rb