serverspec-extra-types 0.1.1 → 0.1.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (35) hide show
  1. checksums.yaml +4 -4
  2. data/.rubocop.yml +15 -2
  3. data/lib/serverspec_extra_types/helpers/properties.rb +4 -4
  4. data/lib/serverspec_extra_types/matchers.rb +1 -1
  5. data/lib/serverspec_extra_types/matchers/be_a_manager_node.rb +1 -1
  6. data/lib/serverspec_extra_types/matchers/be_a_worker_node.rb +1 -1
  7. data/lib/serverspec_extra_types/matchers/be_active.rb +1 -3
  8. data/lib/serverspec_extra_types/matchers/configure_queue.rb +1 -1
  9. data/lib/serverspec_extra_types/matchers/have_count.rb +2 -2
  10. data/lib/serverspec_extra_types/matchers/have_engine_version.rb +1 -1
  11. data/lib/serverspec_extra_types/matchers/have_environment_variable.rb +1 -2
  12. data/lib/serverspec_extra_types/matchers/have_ha_sync_mode.rb +1 -1
  13. data/lib/serverspec_extra_types/matchers/have_label.rb +20 -13
  14. data/lib/serverspec_extra_types/matchers/have_mount.rb +8 -4
  15. data/lib/serverspec_extra_types/matchers/have_network.rb +1 -1
  16. data/lib/serverspec_extra_types/matchers/have_placement_constraint.rb +1 -1
  17. data/lib/serverspec_extra_types/matchers/have_user.rb +1 -1
  18. data/lib/serverspec_extra_types/matchers/map_port.rb +3 -5
  19. data/lib/serverspec_extra_types/matchers/mirror_all.rb +2 -4
  20. data/lib/serverspec_extra_types/matchers/publish_all_ports.rb +1 -1
  21. data/lib/serverspec_extra_types/types/consul_node.rb +1 -7
  22. data/lib/serverspec_extra_types/types/consul_node_list.rb +2 -6
  23. data/lib/serverspec_extra_types/types/consul_service.rb +0 -4
  24. data/lib/serverspec_extra_types/types/consul_service_list.rb +1 -5
  25. data/lib/serverspec_extra_types/types/docker_container.rb +6 -6
  26. data/lib/serverspec_extra_types/types/docker_network.rb +22 -0
  27. data/lib/serverspec_extra_types/types/docker_node.rb +2 -2
  28. data/lib/serverspec_extra_types/types/docker_service.rb +55 -5
  29. data/lib/serverspec_extra_types/types/rabbitmq_base.rb +1 -2
  30. data/lib/serverspec_extra_types/types/rabbitmq_node_list.rb +1 -6
  31. data/lib/serverspec_extra_types/types/rabbitmq_user_permission.rb +3 -5
  32. data/lib/serverspec_extra_types/types/rabbitmq_vhost_list.rb +2 -7
  33. data/lib/serverspec_extra_types/types/rabbitmq_vhost_policy.rb +0 -1
  34. data/lib/serverspec_extra_types/version.rb +1 -1
  35. metadata +4 -3
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: b2abeaee406277bcf2ba5645d062647dfe4f9488fcd8c905459a1d52e2f3a4fa
4
- data.tar.gz: 43b87999802efc74e3b93c870a6a714bf743d5fae8ccf534c1f64bdc6adff1cd
3
+ metadata.gz: 6fa7e592e8372304d35d02542def418d190d43fb780566c21c99769cc72bcef1
4
+ data.tar.gz: d114bf6691afdc377f9b510f34c49d0fc2aac0200e5cc3315bc89a55afa53051
5
5
  SHA512:
6
- metadata.gz: 01dad3872b4584935d104e0dce1f36bd385cd2fe515079a3008f498a51cd636d9b120fb2aad103a1386af7676f111b6fe269ddb3629096200e7406febffb8134
7
- data.tar.gz: d3dfbc51d3b260b342d3480ebd9000b5e4d0144535a100340e611754eabf3eec729f77bfe904e049df410f27b6bb66efa5f9a27c8b57c6e46fd2b78360cb525b
6
+ metadata.gz: 3314cbfb00b930aedbc74624e76010df186de9db54793b988b6c94cc6d0e89f173dc7b17ec01aa4a309de608f4a4ae543739268730db4e163ca14e14b3016cc6
7
+ data.tar.gz: b5c7335d7f3701a1b63397cb7680db498e698fbb115ffa144b19e42496df9335e4edb142b61772296dedc7f49636d3d73fb207d39a764c70d31c40108fc69fb4
data/.rubocop.yml CHANGED
@@ -2,5 +2,18 @@ AllCops:
2
2
  Exclude:
3
3
  - 'serverspec-extra-types.gemspec'
4
4
 
5
- Metric/LineLength:
6
- Max: 120
5
+ tyle/Documentation:
6
+ Enabled: false
7
+
8
+ Metrics/LineLength:
9
+ Max: 140
10
+
11
+
12
+ Metrics/MethodLength:
13
+ Max: 15
14
+
15
+ Metrics/BlockLength:
16
+ Exclude:
17
+ - 'Rakefile'
18
+ - '**/*.rake'
19
+ - 'spec/**/*.rb'
@@ -4,8 +4,8 @@ rabbitmq_user = ENV['RABBITMQ_USER'] || 'guest'
4
4
  rabbitmq_password = ENV['RABBITMQ_PASSWORD'] || 'guest'
5
5
  rabbitmq_url = ENV['RABBITMQ_URL'] || 'http://localhost:15672'
6
6
  props = {
7
- rabbitmq_user: rabbitmq_user,
8
- rabbitmq_password: rabbitmq_password,
9
- rabbitmq_url: rabbitmq_url
7
+ rabbitmq_user: property[:rabbitmq_user] || rabbitmq_user,
8
+ rabbitmq_password: property[:rabbitmq_password] || rabbitmq_password,
9
+ rabbitmq_url: property[:rabbitmq_url] || rabbitmq_url
10
10
  }
11
- set_property props
11
+ set_property property.merge(props)
@@ -1,4 +1,3 @@
1
-
2
1
  #--- Docker Matchers
3
2
  require 'serverspec_extra_types/matchers/be_active'
4
3
  require 'serverspec_extra_types/matchers/be_a_manager_node'
@@ -9,6 +8,7 @@ require 'serverspec_extra_types/matchers/have_placement_constraint'
9
8
  require 'serverspec_extra_types/matchers/have_hostname'
10
9
  require 'serverspec_extra_types/matchers/have_host'
11
10
  require 'serverspec_extra_types/matchers/have_image'
11
+ require 'serverspec_extra_types/matchers/have_label'
12
12
  require 'serverspec_extra_types/matchers/have_image_sha'
13
13
  require 'serverspec_extra_types/matchers/have_restart_limit'
14
14
  require 'serverspec_extra_types/matchers/have_restart_policy'
@@ -12,4 +12,4 @@ end
12
12
 
13
13
  RSpec::Matchers.alias_matcher :be_manager, :be_a_manager_node
14
14
  RSpec::Matchers.alias_matcher :be_a_manager, :be_a_manager_node
15
- RSpec::Matchers.alias_matcher :be_manager_node, :be_a_manager_node
15
+ RSpec::Matchers.alias_matcher :be_manager_node, :be_a_manager_node
@@ -11,4 +11,4 @@ RSpec::Matchers.define :be_a_worker_node do
11
11
  end
12
12
  RSpec::Matchers.alias_matcher :be_worker, :be_a_worker_node
13
13
  RSpec::Matchers.alias_matcher :be_a_worker, :be_a_worker_node
14
- RSpec::Matchers.alias_matcher :be_worker_node, :be_a_worker_node
14
+ RSpec::Matchers.alias_matcher :be_worker_node, :be_a_worker_node
@@ -1,7 +1,5 @@
1
1
  RSpec::Matchers.define :be_active do
2
- match do |actual|
3
- actual.active?
4
- end
2
+ match(&:active?)
5
3
  failure_message do |actual|
6
4
  "expected '#{actual.availability}' to be active"
7
5
  end
@@ -1,6 +1,6 @@
1
1
  RSpec::Matchers.define :configure_queue do |vhost, queue|
2
2
  match do |actual|
3
- actual.configure_queue? vhost, queue
3
+ actual.configure_queue? vhost, queue
4
4
  end
5
5
  description do
6
6
  "be able configure #{queue} on the #{vhost} vhost"
@@ -1,6 +1,6 @@
1
1
  RSpec::Matchers.define :have_count do |count|
2
2
  match do |actual|
3
- actual.length == count
3
+ actual.length == count
4
4
  end
5
5
  description do
6
6
  "have #{count}"
@@ -8,4 +8,4 @@ RSpec::Matchers.define :have_count do |count|
8
8
  failure_message do |actual|
9
9
  "expected count to be #{count} was #{actual.length}"
10
10
  end
11
- end
11
+ end
@@ -8,4 +8,4 @@ RSpec::Matchers.define :have_engine_version do |version|
8
8
  description do
9
9
  "be running docker version #{version}"
10
10
  end
11
- end
11
+ end
@@ -1,5 +1,5 @@
1
1
  RSpec::Matchers.define :have_environment_variable do |regex|
2
- chain :with_value do | value|
2
+ chain :with_value do |value|
3
3
  @value = value
4
4
  end
5
5
  match do |actual|
@@ -17,5 +17,4 @@ RSpec::Matchers.define :have_environment_variable do |regex|
17
17
  "expected #{regex} to have value #{@value}, it was #{actual.environment_variable(regex)}"
18
18
  end
19
19
  end
20
-
21
20
  end
@@ -2,4 +2,4 @@ RSpec::Matchers.define :have_ha_sync_mode do |mode|
2
2
  match do |actual|
3
3
  actual.has_ha_sync_mode? mode
4
4
  end
5
- end
5
+ end
@@ -1,20 +1,27 @@
1
1
  RSpec::Matchers.define :have_label do |label|
2
- match do |actual|
3
- actual.labels.key? label
4
- end
5
- failure_message do |actual|
6
- "expected #{actual.labels} to have key #{label}"
2
+ chain :with_value do |_value|
3
+ @value = _value
7
4
  end
8
- end
9
5
 
10
- RSpec::Matchers.define :have_label_with_value do |label, value|
11
6
  match do |actual|
12
- actual.labels[label] == value
13
- end
14
- failure_message do |actual|
15
- "expected #{actual.labels[label]} to be #{value}"
7
+ if !@value
8
+ actual.labels.key? label
9
+ else
10
+ actual.has_label?(label, @value)
11
+ end
16
12
  end
17
13
  description do
18
- "have label #{label} with value #{value}"
14
+ if !@value
15
+ "have label #{label}"
16
+ else
17
+ "have label #{label} with value #{@value}"
18
+ end
19
+ end
20
+ failure_message do |actual|
21
+ if !@value
22
+ "expected #{actual.labels} to have key #{label}"
23
+ else
24
+ "expected #{actual.label(label)[0]} to have value #{@value}, it had #{actual.label(label)[1]} "
25
+ end
19
26
  end
20
- end
27
+ end
@@ -1,11 +1,15 @@
1
- RSpec::Matchers.define :have_mount do |source, target, type = 'bind'|
1
+ RSpec::Matchers.define :have_mount do |source, target|
2
+ chain :type, :type
2
3
  match do |actual|
3
- actual.has_mount?(source, target, type)
4
+ @type ||= source.include?('/') ? 'bind' : 'volume'
5
+ actual.has_mount?(source, target, @type)
4
6
  end
5
7
  description do
6
- "mount #{source} on host to #{target} in container as a #{type} mount"
8
+ @type ||= source.include?('/') ? 'bind' : 'volume'
9
+ "#{@type == 'bind' ? 'bind' : 'mount volume'} #{source} on host to #{target} in container"
7
10
  end
8
11
  failure_message do |actual|
9
- "expected #{actual.mounts} to contain {'Target' => #{target}, 'Destination' => #{source} , 'Type' => #{type}}"
12
+ @type ||= source.include?('/') ? 'bind' : 'volume'
13
+ "expected #{actual.mounts} to contain {'Target' => #{target}, 'Source' => #{source}, 'Type' => #{@type}}"
10
14
  end
11
15
  end
@@ -5,4 +5,4 @@ RSpec::Matchers.define :have_network do |name|
5
5
  failure_message do |actual|
6
6
  "expected #{actual.networks} to include #{name}"
7
7
  end
8
- end
8
+ end
@@ -5,4 +5,4 @@ RSpec::Matchers.define :have_placement_constraint do |constraint|
5
5
  failure_message do |actual|
6
6
  "expected #{actual.placement_constraint} to include #{constraint}"
7
7
  end
8
- end
8
+ end
@@ -7,4 +7,4 @@ RSpec::Matchers.define :have_user do |user|
7
7
  end
8
8
  end
9
9
 
10
- RSpec::Matchers.alias_matcher :run_as_user, :have_user
10
+ RSpec::Matchers.alias_matcher :run_as_user, :have_user
@@ -1,7 +1,6 @@
1
1
  RSpec::Matchers.define :map_port do |host, container|
2
-
3
2
  match do |actual|
4
- @protocol = 'tcp' unless @protocol
3
+ @protocol ||= 'tcp'
5
4
  if @mode
6
5
  actual.map_port? host, container, @protocol, @mode
7
6
  else
@@ -15,11 +14,10 @@ RSpec::Matchers.define :map_port do |host, container|
15
14
  msg
16
15
  end
17
16
  failure_message do |actual|
18
- @protocol = 'tcp' unless @protocol
17
+ @protocol ||= 'tcp'
19
18
  "expected #{actual.port_map} to contain {\"#{container}/#{@protocol}\"=>[{\"HostPort\"=>\"#{host}\"}] }"
20
19
  end
21
20
 
22
21
  chain :using_protocol, :protocol
23
22
  chain :with_mode, :mode
24
-
25
- end
23
+ end
@@ -1,5 +1,3 @@
1
1
  RSpec::Matchers.define :mirror_all do
2
- match do |actual|
3
- actual.mirror_all?
4
- end
5
- end
2
+ match(&:mirror_all?)
3
+ end
@@ -1,3 +1,3 @@
1
1
  RSpec::Matchers.define :publish_all_ports do
2
- match { |actual| actual.publishes_all_ports? }
2
+ match(&:publishes_all_ports?)
3
3
  end
@@ -1,20 +1,14 @@
1
1
  require 'serverspec_extra_types/types/consul_base'
2
2
 
3
-
4
3
  # TODO: List and singular
5
4
  module Serverspec::Type
6
5
  class ConsulNode < ConsulBase
7
-
8
6
  def url
9
7
  "#{@url_base}/v1/catalog/node/#{@name}"
10
8
  end
11
9
 
12
-
13
-
14
10
  def inspection
15
- @inspection ||= ::MultiJson.load(get_inspection.stdout) #Need a find
11
+ @inspection ||= ::MultiJson.load(get_inspection.stdout) # Need a find
16
12
  end
17
-
18
-
19
13
  end
20
14
  end
@@ -1,20 +1,18 @@
1
1
  require 'serverspec_extra_types/types/consul_base'
2
2
 
3
-
4
3
  # TODO: List and singular
5
4
  module Serverspec::Type
6
5
  class ConsulNodeList < ConsulBase
7
-
8
6
  def url
9
7
  "#{@url_base}/v1/catalog/nodes"
10
8
  end
11
9
 
12
10
  def to_s
13
- msg = "Consul Node List"
11
+ msg = 'Consul Node List'
14
12
  msg << %( with acl token: "#{@token}") if @token
15
13
  msg
16
14
  end
17
-
15
+
18
16
  def has_node?(node)
19
17
  nodes.include? node
20
18
  end
@@ -26,7 +24,5 @@ module Serverspec::Type
26
24
  def inspection
27
25
  @inspection ||= ::MultiJson.load(get_inspection.stdout)
28
26
  end
29
-
30
-
31
27
  end
32
28
  end
@@ -1,10 +1,8 @@
1
1
  require 'serverspec_extra_types/types/consul_base'
2
2
 
3
-
4
3
  # TODO: List and singular
5
4
  module Serverspec::Type
6
5
  class ConsulService < ConsulBase
7
-
8
6
  def url
9
7
  "#{@url_base}/v1/catalog/service/#{@name}"
10
8
  end
@@ -18,7 +16,5 @@ module Serverspec::Type
18
16
  def inspection
19
17
  @inspection ||= ::MultiJson.load(get_inspection.stdout)
20
18
  end
21
-
22
-
23
19
  end
24
20
  end
@@ -1,16 +1,14 @@
1
1
  require 'serverspec_extra_types/types/consul_base'
2
2
 
3
-
4
3
  # TODO: List and singular
5
4
  module Serverspec::Type
6
5
  class ConsulServiceList < ConsulBase
7
-
8
6
  def url
9
7
  "#{@url_base}/v1/catalog/services"
10
8
  end
11
9
 
12
10
  def to_s
13
- msg = "Consul Service List"
11
+ msg = 'Consul Service List'
14
12
  msg << %( with acl token: "#{@token}") if @token
15
13
  msg
16
14
  end
@@ -26,7 +24,5 @@ module Serverspec::Type
26
24
  def inspection
27
25
  @inspection ||= ::MultiJson.load(get_inspection.stdout)
28
26
  end
29
-
30
-
31
27
  end
32
28
  end
@@ -12,7 +12,7 @@ module Serverspec::Type
12
12
  end
13
13
 
14
14
  def has_image_sha?(image)
15
- self.image_sha == image
15
+ image_sha == image
16
16
  end
17
17
 
18
18
  def image
@@ -29,7 +29,6 @@ module Serverspec::Type
29
29
  else
30
30
  environment_variable(regex)
31
31
  end
32
-
33
32
  end
34
33
 
35
34
  def environment_variable(regex)
@@ -57,7 +56,7 @@ module Serverspec::Type
57
56
  end
58
57
 
59
58
  def has_domainname?(domain)
60
- self.domain_name == domain
59
+ domain_name == domain
61
60
  end
62
61
 
63
62
  def domain_name
@@ -79,11 +78,13 @@ module Serverspec::Type
79
78
  def restart_policy
80
79
  inspection['HostConfig']['RestartPolicy']['Name']
81
80
  end
81
+
82
82
  def has_host?(host)
83
83
  hosts.include? host
84
84
  end
85
+
85
86
  def hosts
86
- inspection['HostConfig']['ExtraHosts'].map {|itm| itm.split(':')[1] + ' ' + itm.split(':')[0]}
87
+ inspection['HostConfig']['ExtraHosts'].map { |itm| itm.split(':')[1] + ' ' + itm.split(':')[0] }
87
88
  end
88
89
 
89
90
  def privileged?
@@ -95,7 +96,6 @@ module Serverspec::Type
95
96
  inspection['HostConfig']['PublishAllPorts']
96
97
  end
97
98
 
98
-
99
99
  def map_port?(host, container, protocol = 'tcp')
100
100
  inspection['NetworkSettings']['Ports']["#{container}/#{protocol}"][0]['HostPort'] == host
101
101
  end
@@ -117,7 +117,7 @@ module Serverspec::Type
117
117
  private
118
118
 
119
119
  def get_inspection
120
- @containers ||= @name.include?('=') ? @runner.run_command("docker ps -qa -f #{@name}").stdout : @name
120
+ @containers ||= @name.include?('=') ? @runner.run_command("docker ps -qa -f #{@name}").stdout : @name
121
121
  @get_inspection ||= @runner.run_command("docker inspect #{@containers}")
122
122
  end
123
123
  end
@@ -0,0 +1,22 @@
1
+ require 'serverspec'
2
+
3
+ module Serverspec::Type
4
+ # This class monkey patches serverspec's docker container type with some more method to be used in matchers
5
+ class DockerNetwork < DockerBase
6
+
7
+ def name
8
+ inspection['Name']
9
+ end
10
+
11
+ def id
12
+ inspection['Id']
13
+ end
14
+
15
+ private
16
+
17
+
18
+ def get_inspection
19
+ @get_inspection ||= @runner.run_command("docker network inspect #{@name}")
20
+ end
21
+ end
22
+ end
@@ -1,6 +1,5 @@
1
1
  module Serverspec::Type
2
2
  class DockerNode < DockerBase
3
-
4
3
  def active?
5
4
  availability == 'active'
6
5
  end
@@ -32,10 +31,11 @@ module Serverspec::Type
32
31
  def engine_version
33
32
  inspection['Description']['Engine']['EngineVersion']
34
33
  end
34
+
35
35
  private
36
36
 
37
37
  def get_inspection
38
- @get_inspection ||= @runner.run_command("docker service inspect #{@name}")
38
+ @get_inspection ||= @runner.run_command("docker node inspect #{@name}")
39
39
  end
40
40
  end
41
41
  end
@@ -1,6 +1,7 @@
1
1
  require 'serverspec'
2
2
  require 'serverspec/type/base'
3
3
  require 'serverspec/type/docker_base'
4
+ require 'serverspec_extra_types/types/docker_network'
4
5
 
5
6
  module Serverspec::Type
6
7
  class DockerService < DockerBase
@@ -58,6 +59,26 @@ module Serverspec::Type
58
59
  inspection['Spec']['TaskTemplate']['ContainerSpec']['Mounts']
59
60
  end
60
61
 
62
+ def has_config?(name, target = nil)
63
+ if target
64
+ configs.find { |config| config['ConfigName'] == name && config['File']['Name'] == target }
65
+ else
66
+ configs.find { |config| config['ConfigName'] == name }
67
+ end
68
+ end
69
+
70
+ def configs
71
+ inspection['Spec']['TaskTemplate']['ContainerSpec']['Configs']
72
+ end
73
+
74
+ def has_secret?(name)
75
+ secrets.find { |secret| secret['SecretName'] == name }
76
+ end
77
+
78
+ def secrets
79
+ inspection['Spec']['TaskTemplate']['ContainerSpec']['Secrets']
80
+ end
81
+
61
82
  def has_host?(host)
62
83
  hosts.include? host
63
84
  end
@@ -78,9 +99,6 @@ module Serverspec::Type
78
99
  inspection['Spec']['Mode']['Replicated']
79
100
  end
80
101
 
81
- def replicas
82
- ['Spec']['Mode']['Replicated']['Replicas']
83
- end
84
102
  def global?
85
103
  inspection['Spec']['Mode']['Global']
86
104
  end
@@ -94,14 +112,15 @@ module Serverspec::Type
94
112
  end
95
113
 
96
114
  def has_network?(name)
97
- networks.find { |network| network['Aliases'].include? name }
115
+ target_network = DockerNetwork.new(name)
116
+ networks.find { |network| network['Target'].include? target_network.id }
98
117
  end
99
118
 
100
119
  def port_map
101
120
  inspection['Spec']['EndpointSpec']['Ports']
102
121
  end
103
122
 
104
- def map_port?(published, target, protocol = 'tcp',mode = 'ingress')
123
+ def map_port?(published, target, protocol = 'tcp', mode = 'ingress')
105
124
  port_map.find do |port|
106
125
  port['PublishedPort'] == published.to_i &&
107
126
  port['TargetPort'] == target.to_i && port['PublishMode'] == mode &&
@@ -109,6 +128,37 @@ module Serverspec::Type
109
128
  end
110
129
  end
111
130
 
131
+ def has_environment_variable?(regex, value = nil)
132
+ if value
133
+ environment_variable(regex) == value
134
+ else
135
+ environment_variable(regex)
136
+ end
137
+ end
138
+
139
+ def environment_variable(regex)
140
+ environment_variables.find { |str| str =~ /^#{regex}=/ }.split('=')[1]
141
+ end
142
+
143
+ def environment_variables
144
+ inspection['Spec']['TaskTemplate']['ContainerSpec']['Env']
145
+ end
146
+
147
+ def has_label?(label, value = nil)
148
+ if value
149
+ label(label)[1] == value
150
+ else
151
+ label(label)
152
+ end
153
+ end
154
+
155
+ def label(label)
156
+ labels.find { |key, _val| key == label }
157
+ end
158
+
159
+ def labels
160
+ inspection['Spec']['Labels']
161
+ end
112
162
 
113
163
  private
114
164
 
@@ -13,7 +13,6 @@ module Serverspec::Type
13
13
  @url_base = property[:variables][:rabbitmq_url] || 'http://localhost:15672'
14
14
  end
15
15
 
16
-
17
16
  def inspection
18
17
  @inspection ||= ::MultiJson.load(get_inspection.stdout)[0]
19
18
  end
@@ -21,7 +20,7 @@ module Serverspec::Type
21
20
  def length
22
21
  if inspection.is_a? String
23
22
  inspection.length
24
- elsif inspection.kind_of? Array
23
+ elsif inspection.is_a? Array
25
24
  inspection.length
26
25
  else
27
26
  1
@@ -1,18 +1,13 @@
1
1
  require 'serverspec_extra_types/types/rabbitmq_base'
2
2
 
3
3
  module Serverspec::Type
4
- class RabbitmqNodeList < RabbitmqBase
5
-
4
+ class RabbitmqNodeList < RabbitmqBase
6
5
  def url
7
6
  "#{@url_base}/api/vhosts"
8
7
  end
9
8
 
10
-
11
-
12
9
  def inspection
13
10
  @inspection ||= ::MultiJson.load(get_inspection.stdout)
14
11
  end
15
-
16
-
17
12
  end
18
13
  end
@@ -2,7 +2,6 @@ require 'serverspec_extra_types/types/rabbitmq_base'
2
2
 
3
3
  module Serverspec::Type
4
4
  class RabbitmqUserPermission < RabbitmqBase
5
-
6
5
  def url
7
6
  "#{@url_base}/api/users/#{name}/permissions"
8
7
  end
@@ -20,20 +19,19 @@ module Serverspec::Type
20
19
  end
21
20
 
22
21
  def read_permissions(vhost)
23
- inspection.find { |item| item['vhost'] == vhost}['read']
22
+ inspection.find { |item| item['vhost'] == vhost }['read']
24
23
  end
25
24
 
26
25
  def write_permissions(vhost)
27
- inspection.find { |item| item['vhost'] == vhost}['write']
26
+ inspection.find { |item| item['vhost'] == vhost }['write']
28
27
  end
29
28
 
30
29
  def configure_permissions(vhost)
31
- inspection.find { |item| item['vhost'] == vhost}['configure']
30
+ inspection.find { |item| item['vhost'] == vhost }['configure']
32
31
  end
33
32
 
34
33
  def inspection
35
34
  @inspection ||= ::MultiJson.load(get_inspection.stdout)
36
35
  end
37
-
38
36
  end
39
37
  end
@@ -1,11 +1,9 @@
1
1
  require 'serverspec_extra_types/types/rabbitmq_base'
2
2
 
3
3
  module Serverspec::Type
4
- class RabbitmqVhostList < RabbitmqBase
5
-
6
-
4
+ class RabbitmqVhostList < RabbitmqBase
7
5
  def has_vhost?(vhost)
8
- inspection.find { |str| str['name'] == vhost }
6
+ inspection.find { |str| str['name'] == vhost }
9
7
  end
10
8
 
11
9
  def url
@@ -15,8 +13,5 @@ module Serverspec::Type
15
13
  def inspection
16
14
  @inspection ||= ::MultiJson.load(get_inspection.stdout)
17
15
  end
18
-
19
-
20
-
21
16
  end
22
17
  end
@@ -2,7 +2,6 @@ require 'serverspec_extra_types/types/rabbitmq_base'
2
2
 
3
3
  module Serverspec::Type
4
4
  class RabbitmqVhostPolicy < RabbitmqBase
5
-
6
5
  def initialize(name = nil, vhost = nil, options = {})
7
6
  super(name, options)
8
7
  @vhost = vhost
@@ -1,3 +1,3 @@
1
1
  module ServerspecExtraTypes
2
- VERSION = '0.1.1'.freeze
2
+ VERSION = '0.1.2'.freeze
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: serverspec-extra-types
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 0.1.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Andrew Wardrobe
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2018-10-02 00:00:00.000000000 Z
11
+ date: 2018-11-07 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -195,6 +195,7 @@ files:
195
195
  - lib/serverspec_extra_types/types/consul_service.rb
196
196
  - lib/serverspec_extra_types/types/consul_service_list.rb
197
197
  - lib/serverspec_extra_types/types/docker_container.rb
198
+ - lib/serverspec_extra_types/types/docker_network.rb
198
199
  - lib/serverspec_extra_types/types/docker_node.rb
199
200
  - lib/serverspec_extra_types/types/docker_service.rb
200
201
  - lib/serverspec_extra_types/types/rabbitmq_base.rb
@@ -225,7 +226,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
225
226
  version: '0'
226
227
  requirements: []
227
228
  rubyforge_project:
228
- rubygems_version: 2.7.3
229
+ rubygems_version: 2.7.6
229
230
  signing_key:
230
231
  specification_version: 4
231
232
  summary: Additional Types and Matchers for Serverspec