rspec-webservice_matchers 4.10.0 → 4.13

Sign up to get free protection for your applications and to get access to all the features.
@@ -31,7 +31,7 @@ describe 'be_status' do
31
31
  }.to fail_matching(/404/)
32
32
  end
33
33
 
34
- it 'succeeds even if the site times out on the first try' do
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
- it 'succeeds even if the site times out on the first try' do
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
@@ -10,7 +10,7 @@ describe '#up?' do
10
10
  expect(WebTest::Util.up?('temp-redirector.org')).to be_truthy
11
11
  end
12
12
 
13
- it 'retries timeout errors once' do
13
+ xit 'retries timeout errors once' do
14
14
  expect(WebTest::Util.up?('http://www.timeout-once.com')).to be_truthy
15
15
  end
16
16
  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
- }.to fail_matching(/temporary/i)
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
- }.to fail_matching(/location/i)
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
- }.to fail_matching(/^not a redirect: received status 404$/i)
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('asdhfjadhsfksd.com').to redirect_permanently_to 'http://the-wrong-site.com/'
39
- }.to fail_matching(/not known/i)
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
- }.to fail_matching(/permanent/i)
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
- }.to fail_matching(/location/i)
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
- }.to fail_matching(/^not a redirect: received status 404$/i)
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('234678234687234.com').to redirect_temporarily_to 'www.nowhere.com'
77
- }.to fail_matching(/not known/i)
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 'have_a_valid_cert matcher' do
6
- it 'passes when SSL is properly configured' do
7
- # EFF created the HTTPS Everywhere movement
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
- it 'fails if the server is not serving SSL at all' do
13
- expect {
14
- expect('www.psu.edu').to have_a_valid_cert
15
- }.to fail_matching(/443/)
16
- end
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
- it 'provides a relevant error message' do
19
- expect {
20
- expect('www.psu.edu').to have_a_valid_cert
21
- }.to fail_matching(/(unreachable)|(no route to host)|(connection refused)/i)
22
- end
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
- it "provides a relevant error message when the domain name doesn't exist" do
25
- expect {
26
- expect('sdfgkljhsdfghjkhsdfgj.edu').to have_a_valid_cert
27
- }.to fail_matching(/not known/i)
28
- end
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
- it "provides a good error message when it's a redirect" do
31
- expect {
32
- # Can't figure out how to do this with WebMock.
33
- expect('bloc.io').to have_a_valid_cert
34
- }.to fail_matching(/redirect/i)
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
- # TODO: Find a good way to test this.
38
- # it 'provides a good error message if the request times out' do
39
- # expect {
40
- # expect('www.myapp.com').to have_a_valid_cert
41
- # }.to fail_matching(/(timeout)|(execution expired)/)
42
- # end
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
- # See https://www.eff.org/https-everywhere
46
- describe 'enforce_https_everywhere' do
47
- it 'passes when http requests are redirected to valid https urls' do
48
- expect('eff.org').to enforce_https_everywhere
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
- it 'provides a relevant error message' do
52
- expect {
53
- expect('www.psu.edu').to enforce_https_everywhere
54
- }.to fail_matching(/200/)
55
- end
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
- it "provides a relevant error message when the domain name doesn't exist" do
58
- expect {
59
- expect('asdhfjkalsdhfjklasdfhjkasdhfl.com').to enforce_https_everywhere
60
- }.to fail_matching(/connection failed/i)
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 'webmock/rspec'
2
+ require 'web_mock_config'
3
+ require 'failure_matchers'
3
4
 
4
- RSpec.configure do |config|
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: 'http://nonstop.qa'
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(SAMPLE_JSON_RESPONSE)
18
+ api_response = File.read(SAMPLE_PAGESPEED_JSON_RESPONSE)
18
19
  data = WebTest::BeFast.parse json: api_response
19
- expect(data[:score]).to eq 85
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.10.0
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: 2016-03-31 00:00:00.000000000 Z
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: '1.3'
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: '1.3'
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: rspec-core
98
+ name: faraday
99
99
  requirement: !ruby/object:Gem::Requirement
100
100
  requirements:
101
- - - "~>"
101
+ - - ">="
102
102
  - !ruby/object:Gem::Version
103
- version: '3.0'
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: '3.0'
110
+ version: '0'
111
111
  - !ruby/object:Gem::Dependency
112
- name: rspec-expectations
112
+ name: faraday_middleware
113
113
  requirement: !ruby/object:Gem::Requirement
114
114
  requirements:
115
- - - "~>"
115
+ - - ">="
116
116
  - !ruby/object:Gem::Version
117
- version: '3.0'
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: '3.0'
124
+ version: '0'
125
125
  - !ruby/object:Gem::Dependency
126
- name: faraday
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: faraday_middleware
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: '0'
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: '0'
166
+ version: 1.1.0
167
167
  description: Black-box web app configuration testing
168
168
  email:
169
- - robb@weblaws.org
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.1.0
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
- rubyforge_project:
225
- rubygems_version: 2.5.1
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