rspec-webservice_matchers 4.10.0 → 4.13
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 +5 -5
- data/.github/workflows/ruby.yml +35 -0
- data/HISTORY.md +9 -0
- data/README.md +11 -15
- data/circle.yml +2 -0
- data/lib/rspec/webservice_matchers/enforce_https_everywhere.rb +2 -2
- data/lib/rspec/webservice_matchers/version.rb +2 -1
- data/lib/web_test/be_fast.rb +29 -17
- data/lib/web_test/be_up.rb +1 -1
- data/lib/web_test/util.rb +11 -1
- data/rspec-webservice_matchers.gemspec +8 -8
- data/spec/failure_matchers.rb +16 -0
- data/spec/fixtures/pagespeed.json +3179 -370
- data/spec/rspec/webservice_matchers/protocol_spec.rb +2 -6
- data/spec/rspec/webservice_matchers/public_api_spec.rb +1 -1
- data/spec/rspec/webservice_matchers/redirect_spec.rb +19 -18
- data/spec/rspec/webservice_matchers/ssl_spec.rb +72 -47
- data/spec/spec_helper.rb +3 -54
- data/spec/web_mock_config.rb +54 -0
- data/spec/web_test/be_fast_spec.rb +13 -3
- metadata +39 -37
- data/spec/rspec/webservice_matchers/page_speed_spec.rb +0 -30
@@ -31,7 +31,7 @@ describe 'be_status' do
|
|
31
31
|
}.to fail_matching(/404/)
|
32
32
|
end
|
33
33
|
|
34
|
-
|
34
|
+
xit 'succeeds even if the site times out on the first try' do
|
35
35
|
expect('http://www.timeout-once.com').to be_status 200
|
36
36
|
end
|
37
37
|
|
@@ -61,11 +61,7 @@ describe 'be_up' do
|
|
61
61
|
}.to fail_matching(/^received status 404$/i)
|
62
62
|
end
|
63
63
|
|
64
|
-
|
64
|
+
xit 'succeeds even if the site times out on the first try' do
|
65
65
|
expect('http://www.timeout-once.com').to be_up
|
66
66
|
end
|
67
|
-
|
68
|
-
it 'works on cars.com' do
|
69
|
-
expect('http://cars.com').to be_up
|
70
|
-
end
|
71
67
|
end
|
@@ -1,4 +1,5 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
|
+
|
2
3
|
require 'spec_helper'
|
3
4
|
require 'rspec/webservice_matchers'
|
4
5
|
|
@@ -16,27 +17,27 @@ describe 'redirect_permanently_to' do
|
|
16
17
|
end
|
17
18
|
|
18
19
|
it 'gives a good error message for the wrong redirect type' do
|
19
|
-
expect
|
20
|
+
expect do
|
20
21
|
expect('temp-redirector.org').to redirect_permanently_to 'http://a-page.com/a/page.txt'
|
21
|
-
|
22
|
+
end.to fail_matching(/temporary/i)
|
22
23
|
end
|
23
24
|
|
24
25
|
it 'gives a good error message for a redirect to the wrong location' do
|
25
|
-
expect
|
26
|
+
expect do
|
26
27
|
expect('perm-redirector.com').to redirect_permanently_to 'http://the-wrong-site.com/'
|
27
|
-
|
28
|
+
end.to fail_matching(/location/i)
|
28
29
|
end
|
29
30
|
|
30
31
|
it 'gives a good error message for a non-redirect status' do
|
31
|
-
expect
|
32
|
+
expect do
|
32
33
|
expect('notfound.com').to redirect_permanently_to 'http://the-wrong-site.com/'
|
33
|
-
|
34
|
+
end.to fail_matching(/^not a redirect: received status 404$/i)
|
34
35
|
end
|
35
36
|
|
36
37
|
it 'gives a good error message when the hostname is bad' do
|
37
|
-
expect
|
38
|
-
expect('
|
39
|
-
|
38
|
+
expect do
|
39
|
+
expect('not-a-domain.com').to redirect_permanently_to 'http://the-wrong-site.com/'
|
40
|
+
end.to fail_matching(/not known/i)
|
40
41
|
end
|
41
42
|
end
|
42
43
|
|
@@ -54,26 +55,26 @@ describe 'redirect_temporarily_to' do
|
|
54
55
|
end
|
55
56
|
|
56
57
|
it 'gives a good error message for the wrong redirect type' do
|
57
|
-
expect
|
58
|
+
expect do
|
58
59
|
expect('perm-redirector.com').to redirect_temporarily_to 'www.website.com/'
|
59
|
-
|
60
|
+
end.to fail_matching(/permanent/i)
|
60
61
|
end
|
61
62
|
|
62
63
|
it 'gives a good error message for a redirect to the wrong location' do
|
63
|
-
expect
|
64
|
+
expect do
|
64
65
|
expect('temp-307-redirector.net').to redirect_temporarily_to 'www.nowhere.com'
|
65
|
-
|
66
|
+
end.to fail_matching(/location/i)
|
66
67
|
end
|
67
68
|
|
68
69
|
it 'gives a good error message for a non-redirect status' do
|
69
|
-
expect
|
70
|
+
expect do
|
70
71
|
expect('notfound.com').to redirect_temporarily_to 'www.nowhere.com'
|
71
|
-
|
72
|
+
end.to fail_matching(/^not a redirect: received status 404$/i)
|
72
73
|
end
|
73
74
|
|
74
75
|
it 'gives a good error message when the hostname is bad' do
|
75
|
-
expect
|
76
|
-
expect('
|
77
|
-
|
76
|
+
expect do
|
77
|
+
expect('not-a-domain.com').to redirect_temporarily_to 'www.nowhere.com'
|
78
|
+
end.to fail_matching(/not known/i)
|
78
79
|
end
|
79
80
|
end
|
@@ -1,62 +1,87 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
|
+
|
2
3
|
require 'spec_helper'
|
3
4
|
require 'rspec/webservice_matchers'
|
4
5
|
|
5
|
-
describe '
|
6
|
-
|
7
|
-
|
8
|
-
# TODO: set up a test server for this. (?)
|
9
|
-
expect('www.eff.org').to have_a_valid_cert
|
10
|
-
end
|
6
|
+
describe 'SSL tests' do
|
7
|
+
before(:each) { WebMock.allow_net_connect! }
|
8
|
+
after(:each) { WebMock.disable_net_connect! }
|
11
9
|
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
10
|
+
describe 'have_a_valid_cert matcher' do
|
11
|
+
it 'passes when SSL is properly configured' do
|
12
|
+
# EFF created the HTTPS Everywhere movement
|
13
|
+
# TODO: set up a test server for this. (?)
|
14
|
+
expect('www.eff.org').to have_a_valid_cert
|
15
|
+
end
|
17
16
|
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
17
|
+
it 'fails if the server is not serving SSL at all' do
|
18
|
+
expect do
|
19
|
+
expect('neverssl.com').to have_a_valid_cert
|
20
|
+
end.to fail_matching(/Unable to verify/)
|
21
|
+
end
|
23
22
|
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
23
|
+
it 'provides a relevant error message' do
|
24
|
+
expect do
|
25
|
+
expect('neverssl.com').to have_a_valid_cert
|
26
|
+
end.to fail_matching(/(unreachable)|(no route to host)|(connection refused)|(redirect was detected)/i)
|
27
|
+
end
|
29
28
|
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
end
|
29
|
+
xit "provides a relevant error message when the domain name doesn't exist" do
|
30
|
+
expect do
|
31
|
+
expect('sdfgkljhsdfghjkhsdfgj.edu').to have_a_valid_cert
|
32
|
+
end.to fail_matching(/not known/i)
|
33
|
+
end
|
36
34
|
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
end
|
35
|
+
xit "provides a good error message when it's a redirect" do
|
36
|
+
expect do
|
37
|
+
# Can't figure out how to do this with WebMock.
|
38
|
+
expect('bloc.io').to have_a_valid_cert
|
39
|
+
end.to fail_matching(/redirect/i)
|
40
|
+
end
|
44
41
|
|
45
|
-
#
|
46
|
-
|
47
|
-
|
48
|
-
|
42
|
+
# TODO: Find a good way to test this.
|
43
|
+
xit 'provides a good error message if the request times out' do
|
44
|
+
expect {
|
45
|
+
expect('www.myapp.com').to have_a_valid_cert
|
46
|
+
}.to fail_matching(/(timeout)|(execution expired)/)
|
47
|
+
end
|
49
48
|
end
|
50
49
|
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
50
|
+
# See https://www.eff.org/https-everywhere
|
51
|
+
describe 'enforce_https_everywhere' do
|
52
|
+
it 'passes when http requests are redirected to valid https urls' do
|
53
|
+
expect('www.eff.org').to enforce_https_everywhere
|
54
|
+
end
|
55
|
+
|
56
|
+
it 'passes when given an https url' do
|
57
|
+
expect('https://www.eff.org').to enforce_https_everywhere
|
58
|
+
end
|
59
|
+
|
60
|
+
it 'passes when given an http url' do
|
61
|
+
expect('http://www.eff.org').to enforce_https_everywhere
|
62
|
+
end
|
63
|
+
|
64
|
+
it 'provides a relevant error code' do
|
65
|
+
expect do
|
66
|
+
expect('neverssl.com').to enforce_https_everywhere
|
67
|
+
end.to fail_matching(/200/)
|
68
|
+
end
|
69
|
+
|
70
|
+
it 'provides a relevant error code with https url' do
|
71
|
+
expect do
|
72
|
+
expect('https://neverssl.com').to enforce_https_everywhere
|
73
|
+
end.to fail_matching(/200/)
|
74
|
+
end
|
56
75
|
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
76
|
+
it 'provides a relevant error code with http url' do
|
77
|
+
expect do
|
78
|
+
expect('http://neverssl.com').to enforce_https_everywhere
|
79
|
+
end.to fail_matching(/200/)
|
80
|
+
end
|
81
|
+
# it "provides a relevant error message when the domain name doesn't exist" do
|
82
|
+
# expect do
|
83
|
+
# expect('asdhfjkalsdhfjklasdfhjkasdhfl.com').to enforce_https_everywhere
|
84
|
+
# end.to fail_matching(/connection failed/i)
|
85
|
+
# end
|
61
86
|
end
|
62
87
|
end
|
data/spec/spec_helper.rb
CHANGED
@@ -1,56 +1,5 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
|
-
require '
|
2
|
+
require 'web_mock_config'
|
3
|
+
require 'failure_matchers'
|
3
4
|
|
4
|
-
|
5
|
-
config.before(:each) do
|
6
|
-
WebMock.stub_request :any, 'http://a-page.com/a/page.txt'
|
7
|
-
WebMock.stub_request :any, 'www.website.com'
|
8
|
-
WebMock.stub_request(:any, /notfound.com/).to_return(status: 404)
|
9
|
-
WebMock.stub_request(:any, 'outoforder.com').to_return(status: 503)
|
10
|
-
|
11
|
-
# A host which doesn't support HEAD
|
12
|
-
WebMock.stub_request(:head, 'appengine.com').to_return(status: 405)
|
13
|
-
WebMock.stub_request(:get, 'appengine.com').to_return(status: 200)
|
14
|
-
|
15
|
-
WebMock.stub_request(:any, 'perm-redirector.com')
|
16
|
-
.to_return(status: 301, headers: { Location: 'http://www.website.com/' })
|
17
|
-
|
18
|
-
WebMock.stub_request(:any, 'temp-redirector.org')
|
19
|
-
.to_return(status: 302, headers: { Location: 'http://a-page.com/a/page.txt' })
|
20
|
-
|
21
|
-
WebMock.stub_request(:any, 'temp-307-redirector.net')
|
22
|
-
.to_return(status: 307, headers: { Location: 'http://a-page.com/a/page.txt' })
|
23
|
-
|
24
|
-
# Timeout scenarios
|
25
|
-
WebMock.stub_request(:any, 'www.timeout.com').to_timeout
|
26
|
-
WebMock.stub_request(:any, 'www.timeout-once.com').to_timeout.then.to_return(body: 'abc')
|
27
|
-
|
28
|
-
# Insights API
|
29
|
-
key = ENV['WEBSERVICE_MATCHER_INSIGHTS_KEY']
|
30
|
-
WebMock.stub_request(:get, "https://www.googleapis.com/pagespeedonline/v2/runPagespeed?key=#{key}&screenshot=false&url=http://nonstop.qa")
|
31
|
-
.with(headers: { 'Accept' => '*/*', 'Accept-Encoding' => 'gzip;q=1.0,deflate;q=0.6,identity;q=0.3', 'User-Agent' => 'Faraday v0.9.2' })
|
32
|
-
.to_return(
|
33
|
-
status: 200,
|
34
|
-
body: IO.read('spec/fixtures/pagespeed.json'),
|
35
|
-
headers: {})
|
36
|
-
|
37
|
-
WebMock.allow_net_connect!
|
38
|
-
end
|
39
|
-
end
|
40
|
-
|
41
|
-
module RSpec
|
42
|
-
# Matchers to help test RSpec matchers
|
43
|
-
module Matchers
|
44
|
-
def fail
|
45
|
-
raise_error(RSpec::Expectations::ExpectationNotMetError)
|
46
|
-
end
|
47
|
-
|
48
|
-
def fail_with(message)
|
49
|
-
raise_error(RSpec::Expectations::ExpectationNotMetError, message)
|
50
|
-
end
|
51
|
-
|
52
|
-
def fail_matching(regex)
|
53
|
-
raise_error(RSpec::Expectations::ExpectationNotMetError, regex)
|
54
|
-
end
|
55
|
-
end
|
56
|
-
end
|
5
|
+
SAMPLE_PAGESPEED_JSON_RESPONSE = 'spec/fixtures/pagespeed.json'
|
@@ -0,0 +1,54 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
require 'faraday'
|
3
|
+
require 'webmock/rspec'
|
4
|
+
|
5
|
+
RSpec.configure do |config|
|
6
|
+
config.before(:each) do
|
7
|
+
# HOSTS WHICH RETURN ERRORS
|
8
|
+
WebMock.stub_request(:any, /notfound.com/).to_return(status: 404)
|
9
|
+
WebMock.stub_request(:any, 'outoforder.com').to_return(status: 503)
|
10
|
+
WebMock.stub_request(:any, 'not-a-domain.com')
|
11
|
+
.to_raise(Faraday::ConnectionFailed.new('Failed to open TCP ' \
|
12
|
+
'connection to asdhfjkahsdfadfd.com:80 ' \
|
13
|
+
'(getaddrinfo: nodename nor servname provided, ' \
|
14
|
+
'or not known)'))
|
15
|
+
|
16
|
+
# FUNCTIONING WEB PAGES
|
17
|
+
WebMock.stub_request :any, 'http://a-page.com/a/page.txt'
|
18
|
+
WebMock.stub_request :any, 'www.website.com'
|
19
|
+
|
20
|
+
# A HOST WHICH DOESN'T SUPPORT HEAD
|
21
|
+
WebMock.stub_request(:head, 'appengine.com').to_return(status: 405)
|
22
|
+
WebMock.stub_request(:get, 'appengine.com').to_return(status: 200)
|
23
|
+
|
24
|
+
# FUNCTIONING REDIRECTS
|
25
|
+
WebMock.stub_request(:head, 'perm-redirector.com')
|
26
|
+
.to_return(status: 301,
|
27
|
+
body: '',
|
28
|
+
headers: { Location: 'http://www.website.com/' })
|
29
|
+
|
30
|
+
WebMock.stub_request(:any, 'temp-redirector.org')
|
31
|
+
.to_return(status: 302,
|
32
|
+
headers: { Location: 'http://a-page.com/a/page.txt' })
|
33
|
+
|
34
|
+
WebMock.stub_request(:any, 'temp-307-redirector.net')
|
35
|
+
.to_return(status: 307,
|
36
|
+
headers: { Location: 'http://a-page.com/a/page.txt' })
|
37
|
+
|
38
|
+
# TIMEOUT SCENARIOS
|
39
|
+
WebMock.stub_request(:any, 'www.timeout.com').to_timeout
|
40
|
+
WebMock.stub_request(:any, 'www.timeout-once.com').to_timeout
|
41
|
+
.then.to_return(body: 'abc')
|
42
|
+
|
43
|
+
# PageSpeed Insights API
|
44
|
+
key = ENV['WEBSERVICE_MATCHER_INSIGHTS_KEY']
|
45
|
+
WebMock.stub_request(:get,
|
46
|
+
'https://www.googleapis.com/pagespeedonline/v5/' \
|
47
|
+
"runPagespeed?key=#{key}&screenshot=false" \
|
48
|
+
'&url=https://constant.qa')
|
49
|
+
.to_return(
|
50
|
+
status: 200,
|
51
|
+
body: IO.read('spec/fixtures/pagespeed.json'),
|
52
|
+
headers: {})
|
53
|
+
end
|
54
|
+
end
|
@@ -1,4 +1,5 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
|
+
require 'spec_helper'
|
2
3
|
require 'web_test/be_fast'
|
3
4
|
|
4
5
|
RSpec.describe WebTest::BeFast do
|
@@ -6,7 +7,7 @@ RSpec.describe WebTest::BeFast do
|
|
6
7
|
|
7
8
|
describe '#test' do
|
8
9
|
it 'handles a fast site' do
|
9
|
-
result = WebTest::BeFast.test url: '
|
10
|
+
result = WebTest::BeFast.test url: 'https://constant.qa'
|
10
11
|
expect(result.success?).to be true
|
11
12
|
expect(result.score).to be >= 85
|
12
13
|
end
|
@@ -14,9 +15,9 @@ RSpec.describe WebTest::BeFast do
|
|
14
15
|
|
15
16
|
describe '#parse' do
|
16
17
|
it 'can parse the overall score' do
|
17
|
-
api_response = File.read(
|
18
|
+
api_response = File.read(SAMPLE_PAGESPEED_JSON_RESPONSE)
|
18
19
|
data = WebTest::BeFast.parse json: api_response
|
19
|
-
expect(data[:score]).to eq
|
20
|
+
expect(data[:score]).to eq 91
|
20
21
|
end
|
21
22
|
end
|
22
23
|
|
@@ -32,5 +33,14 @@ RSpec.describe WebTest::BeFast do
|
|
32
33
|
WebTest::BeFast::TestResult.new { |r| r.success = true }
|
33
34
|
end.to raise_error(ArgumentError, /score/i)
|
34
35
|
end
|
36
|
+
|
37
|
+
it 'requires :response' do
|
38
|
+
expect do
|
39
|
+
WebTest::BeFast::TestResult.new { |r|
|
40
|
+
r.success = true
|
41
|
+
r.score = 90
|
42
|
+
}
|
43
|
+
end.to raise_error(ArgumentError, /response/i)
|
44
|
+
end
|
35
45
|
end
|
36
46
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rspec-webservice_matchers
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 4.
|
4
|
+
version: '4.13'
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Robb Shecter
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2021-03-26 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -16,14 +16,14 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: '
|
19
|
+
version: '2.0'
|
20
20
|
type: :development
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
24
|
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version: '
|
26
|
+
version: '2.0'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: pry
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
@@ -95,82 +95,83 @@ dependencies:
|
|
95
95
|
- !ruby/object:Gem::Version
|
96
96
|
version: '0'
|
97
97
|
- !ruby/object:Gem::Dependency
|
98
|
-
name:
|
98
|
+
name: faraday
|
99
99
|
requirement: !ruby/object:Gem::Requirement
|
100
100
|
requirements:
|
101
|
-
- - "
|
101
|
+
- - ">="
|
102
102
|
- !ruby/object:Gem::Version
|
103
|
-
version: '
|
103
|
+
version: '0'
|
104
104
|
type: :runtime
|
105
105
|
prerelease: false
|
106
106
|
version_requirements: !ruby/object:Gem::Requirement
|
107
107
|
requirements:
|
108
|
-
- - "
|
108
|
+
- - ">="
|
109
109
|
- !ruby/object:Gem::Version
|
110
|
-
version: '
|
110
|
+
version: '0'
|
111
111
|
- !ruby/object:Gem::Dependency
|
112
|
-
name:
|
112
|
+
name: faraday_middleware
|
113
113
|
requirement: !ruby/object:Gem::Requirement
|
114
114
|
requirements:
|
115
|
-
- - "
|
115
|
+
- - ">="
|
116
116
|
- !ruby/object:Gem::Version
|
117
|
-
version: '
|
117
|
+
version: '0'
|
118
118
|
type: :runtime
|
119
119
|
prerelease: false
|
120
120
|
version_requirements: !ruby/object:Gem::Requirement
|
121
121
|
requirements:
|
122
|
-
- - "
|
122
|
+
- - ">="
|
123
123
|
- !ruby/object:Gem::Version
|
124
|
-
version: '
|
124
|
+
version: '0'
|
125
125
|
- !ruby/object:Gem::Dependency
|
126
|
-
name:
|
126
|
+
name: rspec-core
|
127
127
|
requirement: !ruby/object:Gem::Requirement
|
128
128
|
requirements:
|
129
|
-
- - "
|
129
|
+
- - "~>"
|
130
130
|
- !ruby/object:Gem::Version
|
131
|
-
version: '0'
|
131
|
+
version: '3.0'
|
132
132
|
type: :runtime
|
133
133
|
prerelease: false
|
134
134
|
version_requirements: !ruby/object:Gem::Requirement
|
135
135
|
requirements:
|
136
|
-
- - "
|
136
|
+
- - "~>"
|
137
137
|
- !ruby/object:Gem::Version
|
138
|
-
version: '0'
|
138
|
+
version: '3.0'
|
139
139
|
- !ruby/object:Gem::Dependency
|
140
|
-
name:
|
140
|
+
name: rspec-expectations
|
141
141
|
requirement: !ruby/object:Gem::Requirement
|
142
142
|
requirements:
|
143
|
-
- - "
|
143
|
+
- - "~>"
|
144
144
|
- !ruby/object:Gem::Version
|
145
|
-
version: '0'
|
145
|
+
version: '3.0'
|
146
146
|
type: :runtime
|
147
147
|
prerelease: false
|
148
148
|
version_requirements: !ruby/object:Gem::Requirement
|
149
149
|
requirements:
|
150
|
-
- - "
|
150
|
+
- - "~>"
|
151
151
|
- !ruby/object:Gem::Version
|
152
|
-
version: '0'
|
152
|
+
version: '3.0'
|
153
153
|
- !ruby/object:Gem::Dependency
|
154
154
|
name: validated_object
|
155
155
|
requirement: !ruby/object:Gem::Requirement
|
156
156
|
requirements:
|
157
|
-
- - "
|
157
|
+
- - "~>"
|
158
158
|
- !ruby/object:Gem::Version
|
159
|
-
version:
|
159
|
+
version: 1.1.0
|
160
160
|
type: :runtime
|
161
161
|
prerelease: false
|
162
162
|
version_requirements: !ruby/object:Gem::Requirement
|
163
163
|
requirements:
|
164
|
-
- - "
|
164
|
+
- - "~>"
|
165
165
|
- !ruby/object:Gem::Version
|
166
|
-
version:
|
166
|
+
version: 1.1.0
|
167
167
|
description: Black-box web app configuration testing
|
168
168
|
email:
|
169
|
-
- robb@
|
169
|
+
- robb@public.law
|
170
170
|
executables: []
|
171
171
|
extensions: []
|
172
172
|
extra_rdoc_files: []
|
173
173
|
files:
|
174
|
+
- ".github/workflows/ruby.yml"
|
174
175
|
- ".gitignore"
|
175
176
|
- Gemfile
|
176
177
|
- HISTORY.md
|
@@ -192,13 +193,14 @@ files:
|
|
192
193
|
- lib/web_test/be_up.rb
|
193
194
|
- lib/web_test/util.rb
|
194
195
|
- rspec-webservice_matchers.gemspec
|
196
|
+
- spec/failure_matchers.rb
|
195
197
|
- spec/fixtures/pagespeed.json
|
196
|
-
- spec/rspec/webservice_matchers/page_speed_spec.rb
|
197
198
|
- spec/rspec/webservice_matchers/protocol_spec.rb
|
198
199
|
- spec/rspec/webservice_matchers/public_api_spec.rb
|
199
200
|
- spec/rspec/webservice_matchers/redirect_spec.rb
|
200
201
|
- spec/rspec/webservice_matchers/ssl_spec.rb
|
201
202
|
- spec/spec_helper.rb
|
203
|
+
- spec/web_mock_config.rb
|
202
204
|
- spec/web_test/be_fast_spec.rb
|
203
205
|
- spec/web_test/be_up_spec.rb
|
204
206
|
- spec/web_test/util_spec.rb
|
@@ -206,7 +208,7 @@ homepage: https://github.com/dogweather/rspec-webservice_matchers
|
|
206
208
|
licenses:
|
207
209
|
- MIT
|
208
210
|
metadata: {}
|
209
|
-
post_install_message:
|
211
|
+
post_install_message:
|
210
212
|
rdoc_options: []
|
211
213
|
require_paths:
|
212
214
|
- lib
|
@@ -214,26 +216,26 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
214
216
|
requirements:
|
215
217
|
- - ">="
|
216
218
|
- !ruby/object:Gem::Version
|
217
|
-
version: 2.
|
219
|
+
version: 2.4.0
|
218
220
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
219
221
|
requirements:
|
220
222
|
- - ">="
|
221
223
|
- !ruby/object:Gem::Version
|
222
224
|
version: '0'
|
223
225
|
requirements: []
|
224
|
-
|
225
|
-
|
226
|
-
signing_key:
|
226
|
+
rubygems_version: 3.2.9
|
227
|
+
signing_key:
|
227
228
|
specification_version: 4
|
228
229
|
summary: Black-box web app configuration testing
|
229
230
|
test_files:
|
231
|
+
- spec/failure_matchers.rb
|
230
232
|
- spec/fixtures/pagespeed.json
|
231
|
-
- spec/rspec/webservice_matchers/page_speed_spec.rb
|
232
233
|
- spec/rspec/webservice_matchers/protocol_spec.rb
|
233
234
|
- spec/rspec/webservice_matchers/public_api_spec.rb
|
234
235
|
- spec/rspec/webservice_matchers/redirect_spec.rb
|
235
236
|
- spec/rspec/webservice_matchers/ssl_spec.rb
|
236
237
|
- spec/spec_helper.rb
|
238
|
+
- spec/web_mock_config.rb
|
237
239
|
- spec/web_test/be_fast_spec.rb
|
238
240
|
- spec/web_test/be_up_spec.rb
|
239
241
|
- spec/web_test/util_spec.rb
|