serverspec 0.4.4 → 0.4.5

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.
@@ -3,7 +3,7 @@ module Serverspec
3
3
  module Type
4
4
  types = %w(
5
5
  base service package port file cron command linux_kernel_parameter iptables host
6
- routing_table default_gateway selinux user group
6
+ routing_table default_gateway selinux user group zfs ipnat ipfilter
7
7
  )
8
8
 
9
9
  types.each {|type| require "serverspec/type/#{type}" }
@@ -41,4 +41,6 @@ require 'serverspec/matchers/return_stdout'
41
41
  require 'serverspec/matchers/return_stderr'
42
42
  require 'serverspec/matchers/match_md5checksum'
43
43
 
44
+ # For explicit types
44
45
  require 'serverspec/matchers/have_rule'
46
+
@@ -1,6 +1,10 @@
1
1
  RSpec::Matchers.define :have_rule do |rule|
2
- match do |iptables|
3
- iptables.has_rule?(rule, @table, @chain)
2
+ match do |subject|
3
+ if subject.class.name == 'Serverspec::Type::Iptables'
4
+ subject.has_rule?(rule, @table, @chain)
5
+ else
6
+ subject.has_rule?(rule)
7
+ end
4
8
  end
5
9
  chain :with_table do |table|
6
10
  @table = table
@@ -0,0 +1,13 @@
1
+ module Serverspec
2
+ module Type
3
+ class Ipfilter < Base
4
+ def has_rule?(rule)
5
+ backend.check_ipfilter_rule(nil, rule)
6
+ end
7
+
8
+ def to_s
9
+ 'ipfilter'
10
+ end
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,13 @@
1
+ module Serverspec
2
+ module Type
3
+ class Ipnat < Base
4
+ def has_rule?(rule)
5
+ backend.check_ipnat_rule(nil, rule)
6
+ end
7
+
8
+ def to_s
9
+ 'ipnat'
10
+ end
11
+ end
12
+ end
13
+ end
@@ -18,6 +18,10 @@ module Serverspec
18
18
  backend.check_running(nil, @name)
19
19
  end
20
20
  end
21
+
22
+ def has_property?(property)
23
+ backend.check_svcprops(nil, @name, property)
24
+ end
21
25
  end
22
26
  end
23
27
  end
@@ -0,0 +1,17 @@
1
+ module Serverspec
2
+ module Type
3
+ class Zfs < Base
4
+ def exists?
5
+ backend.check_zfs(nil, @name)
6
+ end
7
+
8
+ def has_property?(property)
9
+ backend.check_zfs(nil, @name, property)
10
+ end
11
+
12
+ def to_s
13
+ 'ZFS'
14
+ end
15
+ end
16
+ end
17
+ end
@@ -1,3 +1,3 @@
1
1
  module Serverspec
2
- VERSION = "0.4.4"
2
+ VERSION = "0.4.5"
3
3
  end
@@ -0,0 +1,7 @@
1
+ require 'spec_helper'
2
+
3
+ include Serverspec::Helper::Solaris
4
+
5
+ describe ipfilter do
6
+ it { should have_rule 'pass in quick on lo0 all' }
7
+ end
@@ -0,0 +1,7 @@
1
+ require 'spec_helper'
2
+
3
+ include Serverspec::Helper::Solaris
4
+
5
+ describe ipnat do
6
+ it { should have_rule 'map net1 192.168.0.0/24 -> 0.0.0.0/32' }
7
+ end
@@ -0,0 +1,8 @@
1
+ require 'spec_helper'
2
+
3
+ include Serverspec::Helper::Solaris
4
+
5
+ describe service('svc:/network/http:apache22') do
6
+ it { should have_property 'httpd/enable_64bit' => false }
7
+ it { should have_property 'httpd/enable_64bit' => false, 'httpd/server_type' => 'worker' }
8
+ end
@@ -0,0 +1,9 @@
1
+ require 'spec_helper'
2
+
3
+ include Serverspec::Helper::Solaris
4
+
5
+ describe zfs('rpool') do
6
+ it { should exist }
7
+ it { should have_property 'mountpoint' => '/rpool' }
8
+ it { should have_property 'mountpoint' => '/rpool', 'compression' => 'off' }
9
+ 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.4.4
4
+ version: 0.4.5
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -220,6 +220,8 @@ files:
220
220
  - lib/serverspec/type/file.rb
221
221
  - lib/serverspec/type/group.rb
222
222
  - lib/serverspec/type/host.rb
223
+ - lib/serverspec/type/ipfilter.rb
224
+ - lib/serverspec/type/ipnat.rb
223
225
  - lib/serverspec/type/iptables.rb
224
226
  - lib/serverspec/type/linux_kernel_parameter.rb
225
227
  - lib/serverspec/type/package.rb
@@ -228,6 +230,7 @@ files:
228
230
  - lib/serverspec/type/selinux.rb
229
231
  - lib/serverspec/type/service.rb
230
232
  - lib/serverspec/type/user.rb
233
+ - lib/serverspec/type/zfs.rb
231
234
  - lib/serverspec/version.rb
232
235
  - serverspec.gemspec
233
236
  - spec/darwin/command_spec.rb
@@ -298,12 +301,16 @@ files:
298
301
  - spec/solaris/file_spec.rb
299
302
  - spec/solaris/group_spec.rb
300
303
  - spec/solaris/host_spec.rb
304
+ - spec/solaris/ipfilter_spec.rb
305
+ - spec/solaris/ipnat_spec.rb
301
306
  - spec/solaris/matchers_spec.rb
302
307
  - spec/solaris/package_spec.rb
303
308
  - spec/solaris/port_spec.rb
304
309
  - spec/solaris/routing_table_spec.rb
305
310
  - spec/solaris/service_spec.rb
311
+ - spec/solaris/svcprop_spec.rb
306
312
  - spec/solaris/user_spec.rb
313
+ - spec/solaris/zfs_spec.rb
307
314
  - spec/spec_helper.rb
308
315
  - spec/support/shared_command_examples.rb
309
316
  - spec/support/shared_cron_examples.rb
@@ -414,12 +421,16 @@ test_files:
414
421
  - spec/solaris/file_spec.rb
415
422
  - spec/solaris/group_spec.rb
416
423
  - spec/solaris/host_spec.rb
424
+ - spec/solaris/ipfilter_spec.rb
425
+ - spec/solaris/ipnat_spec.rb
417
426
  - spec/solaris/matchers_spec.rb
418
427
  - spec/solaris/package_spec.rb
419
428
  - spec/solaris/port_spec.rb
420
429
  - spec/solaris/routing_table_spec.rb
421
430
  - spec/solaris/service_spec.rb
431
+ - spec/solaris/svcprop_spec.rb
422
432
  - spec/solaris/user_spec.rb
433
+ - spec/solaris/zfs_spec.rb
423
434
  - spec/spec_helper.rb
424
435
  - spec/support/shared_command_examples.rb
425
436
  - spec/support/shared_cron_examples.rb