serverspec-extra-types 0.1.3 → 0.1.4
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.
- checksums.yaml +4 -4
- data/.rubocop.yml +3 -1
- data/Gemfile +2 -0
- data/Rakefile +2 -0
- data/bin/console +1 -0
- data/lib/serverspec_extra_types/helpers/properties.rb +2 -0
- data/lib/serverspec_extra_types/matchers/be_a_manager_node.rb +2 -0
- data/lib/serverspec_extra_types/matchers/be_a_worker_node.rb +2 -0
- data/lib/serverspec_extra_types/matchers/be_active.rb +2 -0
- data/lib/serverspec_extra_types/matchers/configure_queue.rb +2 -0
- data/lib/serverspec_extra_types/matchers/have_count.rb +2 -0
- data/lib/serverspec_extra_types/matchers/have_domain_name.rb +2 -0
- data/lib/serverspec_extra_types/matchers/have_engine_version.rb +2 -0
- data/lib/serverspec_extra_types/matchers/have_environment_variable.rb +2 -0
- data/lib/serverspec_extra_types/matchers/have_ha_mode.rb +2 -0
- data/lib/serverspec_extra_types/matchers/have_ha_nodes.rb +2 -0
- data/lib/serverspec_extra_types/matchers/have_ha_sync_mode.rb +2 -0
- data/lib/serverspec_extra_types/matchers/have_host.rb +2 -0
- data/lib/serverspec_extra_types/matchers/have_hostname.rb +2 -0
- data/lib/serverspec_extra_types/matchers/have_image.rb +2 -0
- data/lib/serverspec_extra_types/matchers/have_image_sha.rb +2 -0
- data/lib/serverspec_extra_types/matchers/have_label.rb +4 -2
- data/lib/serverspec_extra_types/matchers/have_mount.rb +2 -0
- data/lib/serverspec_extra_types/matchers/have_network.rb +2 -0
- data/lib/serverspec_extra_types/matchers/have_placement_constraint.rb +2 -0
- data/lib/serverspec_extra_types/matchers/have_replica_count.rb +2 -0
- data/lib/serverspec_extra_types/matchers/have_restart_limit.rb +2 -0
- data/lib/serverspec_extra_types/matchers/have_restart_policy.rb +2 -0
- data/lib/serverspec_extra_types/matchers/have_user.rb +2 -0
- data/lib/serverspec_extra_types/matchers/have_vhost.rb +2 -0
- data/lib/serverspec_extra_types/matchers/http_1xx.rb +109 -0
- data/lib/serverspec_extra_types/matchers/http_2xx.rb +361 -0
- data/lib/serverspec_extra_types/matchers/http_3xx.rb +289 -0
- data/lib/serverspec_extra_types/matchers/http_4xx.rb +1081 -0
- data/lib/serverspec_extra_types/matchers/http_5xx.rb +433 -0
- data/lib/serverspec_extra_types/matchers/include_regex.rb +2 -0
- data/lib/serverspec_extra_types/matchers/map_port.rb +2 -0
- data/lib/serverspec_extra_types/matchers/mirror_all.rb +2 -0
- data/lib/serverspec_extra_types/matchers/publish_all_ports.rb +2 -0
- data/lib/serverspec_extra_types/matchers/read_from_queue.rb +2 -0
- data/lib/serverspec_extra_types/matchers/url_matchers.rb +7 -0
- data/lib/serverspec_extra_types/matchers/write_to_queue.rb +2 -0
- data/lib/serverspec_extra_types/matchers.rb +4 -0
- data/lib/serverspec_extra_types/types/api_base.rb +2 -0
- data/lib/serverspec_extra_types/types/consul_base.rb +2 -0
- data/lib/serverspec_extra_types/types/consul_node.rb +2 -0
- data/lib/serverspec_extra_types/types/consul_node_list.rb +2 -0
- data/lib/serverspec_extra_types/types/consul_service.rb +2 -0
- data/lib/serverspec_extra_types/types/consul_service_list.rb +2 -0
- data/lib/serverspec_extra_types/types/curl.rb +69 -0
- data/lib/serverspec_extra_types/types/docker_container.rb +2 -0
- data/lib/serverspec_extra_types/types/docker_network.rb +2 -2
- data/lib/serverspec_extra_types/types/docker_node.rb +2 -0
- data/lib/serverspec_extra_types/types/docker_service.rb +2 -0
- data/lib/serverspec_extra_types/types/rabbitmq_base.rb +2 -0
- data/lib/serverspec_extra_types/types/rabbitmq_node_list.rb +2 -0
- data/lib/serverspec_extra_types/types/rabbitmq_user_permission.rb +2 -0
- data/lib/serverspec_extra_types/types/rabbitmq_vhost_list.rb +2 -0
- data/lib/serverspec_extra_types/types/rabbitmq_vhost_policy.rb +2 -0
- data/lib/serverspec_extra_types/types.rb +4 -1
- data/lib/serverspec_extra_types/version.rb +3 -1
- data/lib/serverspec_extra_types.rb +2 -0
- metadata +10 -3
@@ -0,0 +1,7 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'serverspec_extra_types/matchers/http_1xx'
|
4
|
+
require 'serverspec_extra_types/matchers/http_2xx'
|
5
|
+
require 'serverspec_extra_types/matchers/http_3xx'
|
6
|
+
require 'serverspec_extra_types/matchers/http_4xx'
|
7
|
+
require 'serverspec_extra_types/matchers/http_5xx'
|
@@ -1,3 +1,5 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
#--- Docker Matchers
|
2
4
|
require 'serverspec_extra_types/matchers/be_active'
|
3
5
|
require 'serverspec_extra_types/matchers/be_a_manager_node'
|
@@ -32,3 +34,5 @@ require 'serverspec_extra_types/matchers/read_from_queue'
|
|
32
34
|
require 'serverspec_extra_types/matchers/write_to_queue'
|
33
35
|
require 'serverspec_extra_types/matchers/configure_queue'
|
34
36
|
require 'serverspec_extra_types/matchers/have_count'
|
37
|
+
|
38
|
+
require 'serverspec_extra_types/matchers/url_matchers'
|
@@ -0,0 +1,69 @@
|
|
1
|
+
# frozen_string_literal: false
|
2
|
+
|
3
|
+
require 'serverspec_extra_types/helpers/properties'
|
4
|
+
require 'serverspec_extra_types/types/api_base'
|
5
|
+
|
6
|
+
module Serverspec::Type
|
7
|
+
class Curl < ApiBase
|
8
|
+
def initialize(name = nil, options = {})
|
9
|
+
super(name, options)
|
10
|
+
@url_base = name
|
11
|
+
@insecure = options[:insecure]
|
12
|
+
end
|
13
|
+
|
14
|
+
def url
|
15
|
+
@url_base
|
16
|
+
end
|
17
|
+
|
18
|
+
def inspection
|
19
|
+
@inspection ||= get_inspection
|
20
|
+
end
|
21
|
+
|
22
|
+
def body
|
23
|
+
inspection[:body]
|
24
|
+
end
|
25
|
+
|
26
|
+
def response_code
|
27
|
+
inspection[:http_code]
|
28
|
+
end
|
29
|
+
|
30
|
+
def http_code
|
31
|
+
response_code
|
32
|
+
end
|
33
|
+
|
34
|
+
def content_type
|
35
|
+
inspection[:content_type]
|
36
|
+
end
|
37
|
+
|
38
|
+
def size_download
|
39
|
+
inspection[:size_download]
|
40
|
+
end
|
41
|
+
|
42
|
+
def size_upload
|
43
|
+
inspection[:size_upload]
|
44
|
+
end
|
45
|
+
|
46
|
+
private
|
47
|
+
|
48
|
+
def get_inspection
|
49
|
+
command = "curl -s -w \"#{output_format}\" #{url} #{@insecure ? '-k' : ''}"
|
50
|
+
unless @get_inspection
|
51
|
+
(body, rest) = @runner.run_command(command).stdout.split('!!SS_URL_YAML!!')
|
52
|
+
result = YAML.safe_load(rest).each_with_object({}) { |(k, v), memo| memo[k.to_sym] = v; }
|
53
|
+
result[:body] = body
|
54
|
+
@get_inspection = result
|
55
|
+
end
|
56
|
+
|
57
|
+
@get_inspection
|
58
|
+
end
|
59
|
+
|
60
|
+
def output_format
|
61
|
+
out = '!!SS_URL_YAML!!---\\n'
|
62
|
+
out << 'http_code: %{http_code}\\n'
|
63
|
+
out << 'content_type: %{content_type}\\n'
|
64
|
+
out << 'size_download: %{size_download}\\n'
|
65
|
+
out << 'size_upload: %{size_upload}\\n'
|
66
|
+
out
|
67
|
+
end
|
68
|
+
end
|
69
|
+
end
|
@@ -1,9 +1,10 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
require 'serverspec'
|
2
4
|
|
3
5
|
module Serverspec::Type
|
4
6
|
# This class monkey patches serverspec's docker container type with some more method to be used in matchers
|
5
7
|
class DockerNetwork < DockerBase
|
6
|
-
|
7
8
|
def name
|
8
9
|
inspection['Name']
|
9
10
|
end
|
@@ -14,7 +15,6 @@ module Serverspec::Type
|
|
14
15
|
|
15
16
|
private
|
16
17
|
|
17
|
-
|
18
18
|
def get_inspection
|
19
19
|
@get_inspection ||= @runner.run_command("docker network inspect #{@name}")
|
20
20
|
end
|
@@ -1,3 +1,5 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
require 'serverspec_extra_types/types/docker_container'
|
2
4
|
require 'serverspec/helper/type'
|
3
5
|
|
@@ -5,7 +7,8 @@ module Serverspec
|
|
5
7
|
module Helper
|
6
8
|
module Type
|
7
9
|
types = %w[docker_service docker_node rabbitmq_vhost_policy rabbitmq_node_list rabbitmq_vhost_list
|
8
|
-
rabbitmq_user_permission consul_service consul_service_list consul_node consul_node_list
|
10
|
+
rabbitmq_user_permission consul_service consul_service_list consul_node consul_node_list
|
11
|
+
curl]
|
9
12
|
|
10
13
|
types.each do |type|
|
11
14
|
require "serverspec_extra_types/types/#{type}"
|
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.
|
4
|
+
version: 0.1.4
|
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-11-
|
11
|
+
date: 2018-11-24 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -181,11 +181,17 @@ files:
|
|
181
181
|
- lib/serverspec_extra_types/matchers/have_restart_policy.rb
|
182
182
|
- lib/serverspec_extra_types/matchers/have_user.rb
|
183
183
|
- lib/serverspec_extra_types/matchers/have_vhost.rb
|
184
|
+
- lib/serverspec_extra_types/matchers/http_1xx.rb
|
185
|
+
- lib/serverspec_extra_types/matchers/http_2xx.rb
|
186
|
+
- lib/serverspec_extra_types/matchers/http_3xx.rb
|
187
|
+
- lib/serverspec_extra_types/matchers/http_4xx.rb
|
188
|
+
- lib/serverspec_extra_types/matchers/http_5xx.rb
|
184
189
|
- lib/serverspec_extra_types/matchers/include_regex.rb
|
185
190
|
- lib/serverspec_extra_types/matchers/map_port.rb
|
186
191
|
- lib/serverspec_extra_types/matchers/mirror_all.rb
|
187
192
|
- lib/serverspec_extra_types/matchers/publish_all_ports.rb
|
188
193
|
- lib/serverspec_extra_types/matchers/read_from_queue.rb
|
194
|
+
- lib/serverspec_extra_types/matchers/url_matchers.rb
|
189
195
|
- lib/serverspec_extra_types/matchers/write_to_queue.rb
|
190
196
|
- lib/serverspec_extra_types/types.rb
|
191
197
|
- lib/serverspec_extra_types/types/api_base.rb
|
@@ -194,6 +200,7 @@ files:
|
|
194
200
|
- lib/serverspec_extra_types/types/consul_node_list.rb
|
195
201
|
- lib/serverspec_extra_types/types/consul_service.rb
|
196
202
|
- lib/serverspec_extra_types/types/consul_service_list.rb
|
203
|
+
- lib/serverspec_extra_types/types/curl.rb
|
197
204
|
- lib/serverspec_extra_types/types/docker_container.rb
|
198
205
|
- lib/serverspec_extra_types/types/docker_network.rb
|
199
206
|
- lib/serverspec_extra_types/types/docker_node.rb
|
@@ -226,7 +233,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
226
233
|
version: '0'
|
227
234
|
requirements: []
|
228
235
|
rubyforge_project:
|
229
|
-
rubygems_version: 2.7.
|
236
|
+
rubygems_version: 2.7.3
|
230
237
|
signing_key:
|
231
238
|
specification_version: 4
|
232
239
|
summary: Additional Types and Matchers for Serverspec
|