serverspec 0.4.4 → 0.4.5

Sign up to get free protection for your applications and to get access to all the features.
@@ -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