cassette 1.0.18 → 1.1.0
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/README.md +89 -12
- data/lib/cassette/authentication/authorities.rb +34 -30
- data/lib/cassette/authentication/cache.rb +22 -18
- data/lib/cassette/authentication/filter.rb +52 -33
- data/lib/cassette/authentication/user.rb +20 -16
- data/lib/cassette/authentication.rb +39 -27
- data/lib/cassette/cache.rb +2 -2
- data/lib/cassette/client/cache.rb +39 -35
- data/lib/cassette/client.rb +5 -4
- data/lib/cassette/http/parsed_response.rb +20 -0
- data/lib/cassette/http/request.rb +44 -0
- data/lib/cassette/http/ticket_response.rb +48 -0
- data/lib/cassette/http.rb +8 -0
- data/lib/cassette/rubycas/helper.rb +2 -8
- data/lib/cassette/rubycas/routing_constraint.rb +23 -0
- data/lib/cassette/rubycas/single_sign_out_constraint.rb +8 -8
- data/lib/cassette/rubycas/user_factory.rb +14 -0
- data/lib/cassette/rubycas.rb +2 -0
- data/lib/cassette/version.rb +2 -2
- data/lib/cassette.rb +12 -50
- data/spec/cassette/authentication/authorities_spec.rb +1 -1
- data/spec/cassette/authentication/cache_spec.rb +40 -4
- data/spec/cassette/authentication/filter_spec.rb +106 -36
- data/spec/cassette/authentication/user_factory_spec.rb +42 -0
- data/spec/cassette/authentication/user_spec.rb +4 -3
- data/spec/cassette/authentication_spec.rb +24 -12
- data/spec/cassette/cache_spec.rb +0 -2
- data/spec/cassette/client/cache_spec.rb +1 -1
- data/spec/cassette/client_spec.rb +319 -0
- data/spec/cassette/errors_spec.rb +1 -1
- data/spec/cassette/http/parsed_response_spec.rb +27 -0
- data/spec/cassette/http/request_spec.rb +41 -0
- data/spec/cassette/http/ticket_response_spec.rb +41 -0
- data/spec/cassette/rubycas/routing_constraint_spec.rb +84 -0
- data/spec/cassette_spec.rb +36 -0
- data/spec/integration/cas/client_spec.rb +0 -3
- data/spec/spec_helper.rb +5 -0
- data/spec/support/controllers/controller_mock.rb +19 -0
- metadata +98 -36
- data/spec/cas_spec.rb +0 -78
metadata
CHANGED
@@ -1,181 +1,223 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: cassette
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0
|
4
|
+
version: 1.1.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ricardo Hermida Ruiz
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2016-04-14 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: faraday
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- -
|
17
|
+
- - '>'
|
18
18
|
- !ruby/object:Gem::Version
|
19
19
|
version: '0.9'
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
|
-
- -
|
24
|
+
- - '>'
|
25
25
|
- !ruby/object:Gem::Version
|
26
26
|
version: '0.9'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: libxml-ruby
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
|
-
- -
|
31
|
+
- - '>='
|
32
32
|
- !ruby/object:Gem::Version
|
33
33
|
version: '0'
|
34
34
|
type: :runtime
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
|
-
- -
|
38
|
+
- - '>='
|
39
39
|
- !ruby/object:Gem::Version
|
40
40
|
version: '0'
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: activesupport
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
|
-
- -
|
45
|
+
- - '>'
|
46
46
|
- !ruby/object:Gem::Version
|
47
47
|
version: 3.1.0
|
48
48
|
type: :runtime
|
49
49
|
prerelease: false
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
51
51
|
requirements:
|
52
|
-
- -
|
52
|
+
- - '>'
|
53
53
|
- !ruby/object:Gem::Version
|
54
54
|
version: 3.1.0
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
56
|
name: rspec
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
58
58
|
requirements:
|
59
|
-
- -
|
59
|
+
- - ~>
|
60
60
|
- !ruby/object:Gem::Version
|
61
61
|
version: '3.0'
|
62
62
|
type: :development
|
63
63
|
prerelease: false
|
64
64
|
version_requirements: !ruby/object:Gem::Requirement
|
65
65
|
requirements:
|
66
|
-
- -
|
66
|
+
- - ~>
|
67
67
|
- !ruby/object:Gem::Version
|
68
68
|
version: '3.0'
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: rspec-its
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
72
|
+
requirements:
|
73
|
+
- - '>='
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
version: '0'
|
76
|
+
type: :development
|
77
|
+
prerelease: false
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
79
|
+
requirements:
|
80
|
+
- - '>='
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: '0'
|
69
83
|
- !ruby/object:Gem::Dependency
|
70
84
|
name: rake
|
71
85
|
requirement: !ruby/object:Gem::Requirement
|
72
86
|
requirements:
|
73
|
-
- -
|
87
|
+
- - '>='
|
74
88
|
- !ruby/object:Gem::Version
|
75
89
|
version: '0'
|
76
90
|
type: :development
|
77
91
|
prerelease: false
|
78
92
|
version_requirements: !ruby/object:Gem::Requirement
|
79
93
|
requirements:
|
80
|
-
- -
|
94
|
+
- - '>='
|
81
95
|
- !ruby/object:Gem::Version
|
82
96
|
version: '0'
|
83
97
|
- !ruby/object:Gem::Dependency
|
84
98
|
name: pry
|
85
99
|
requirement: !ruby/object:Gem::Requirement
|
86
100
|
requirements:
|
87
|
-
- -
|
101
|
+
- - '>='
|
88
102
|
- !ruby/object:Gem::Version
|
89
103
|
version: '0'
|
90
104
|
type: :development
|
91
105
|
prerelease: false
|
92
106
|
version_requirements: !ruby/object:Gem::Requirement
|
93
107
|
requirements:
|
94
|
-
- -
|
108
|
+
- - '>='
|
95
109
|
- !ruby/object:Gem::Version
|
96
110
|
version: '0'
|
97
111
|
- !ruby/object:Gem::Dependency
|
98
112
|
name: rubycas-client
|
99
113
|
requirement: !ruby/object:Gem::Requirement
|
100
114
|
requirements:
|
101
|
-
- -
|
115
|
+
- - '>='
|
102
116
|
- !ruby/object:Gem::Version
|
103
117
|
version: '0'
|
104
118
|
type: :development
|
105
119
|
prerelease: false
|
106
120
|
version_requirements: !ruby/object:Gem::Requirement
|
107
121
|
requirements:
|
108
|
-
- -
|
122
|
+
- - '>='
|
109
123
|
- !ruby/object:Gem::Version
|
110
124
|
version: '0'
|
111
125
|
- !ruby/object:Gem::Dependency
|
112
126
|
name: simplecov
|
113
127
|
requirement: !ruby/object:Gem::Requirement
|
114
128
|
requirements:
|
115
|
-
- -
|
129
|
+
- - '>='
|
116
130
|
- !ruby/object:Gem::Version
|
117
131
|
version: '0'
|
118
132
|
type: :development
|
119
133
|
prerelease: false
|
120
134
|
version_requirements: !ruby/object:Gem::Requirement
|
121
135
|
requirements:
|
122
|
-
- -
|
136
|
+
- - '>='
|
123
137
|
- !ruby/object:Gem::Version
|
124
138
|
version: '0'
|
125
139
|
- !ruby/object:Gem::Dependency
|
126
140
|
name: rubocop
|
127
141
|
requirement: !ruby/object:Gem::Requirement
|
128
142
|
requirements:
|
129
|
-
- -
|
143
|
+
- - '>='
|
130
144
|
- !ruby/object:Gem::Version
|
131
145
|
version: '0'
|
132
146
|
type: :development
|
133
147
|
prerelease: false
|
134
148
|
version_requirements: !ruby/object:Gem::Requirement
|
135
149
|
requirements:
|
136
|
-
- -
|
150
|
+
- - '>='
|
137
151
|
- !ruby/object:Gem::Version
|
138
152
|
version: '0'
|
139
153
|
- !ruby/object:Gem::Dependency
|
140
154
|
name: simplecov-rcov
|
141
155
|
requirement: !ruby/object:Gem::Requirement
|
142
156
|
requirements:
|
143
|
-
- -
|
157
|
+
- - '>='
|
144
158
|
- !ruby/object:Gem::Version
|
145
159
|
version: '0'
|
146
160
|
type: :development
|
147
161
|
prerelease: false
|
148
162
|
version_requirements: !ruby/object:Gem::Requirement
|
149
163
|
requirements:
|
150
|
-
- -
|
164
|
+
- - '>='
|
151
165
|
- !ruby/object:Gem::Version
|
152
166
|
version: '0'
|
153
167
|
- !ruby/object:Gem::Dependency
|
154
168
|
name: simplecov-gem-adapter
|
155
169
|
requirement: !ruby/object:Gem::Requirement
|
156
170
|
requirements:
|
157
|
-
- -
|
171
|
+
- - '>='
|
158
172
|
- !ruby/object:Gem::Version
|
159
173
|
version: '0'
|
160
174
|
type: :development
|
161
175
|
prerelease: false
|
162
176
|
version_requirements: !ruby/object:Gem::Requirement
|
163
177
|
requirements:
|
164
|
-
- -
|
178
|
+
- - '>='
|
165
179
|
- !ruby/object:Gem::Version
|
166
180
|
version: '0'
|
167
181
|
- !ruby/object:Gem::Dependency
|
168
182
|
name: rspec_junit_formatter
|
169
183
|
requirement: !ruby/object:Gem::Requirement
|
170
184
|
requirements:
|
171
|
-
- -
|
185
|
+
- - '>='
|
186
|
+
- !ruby/object:Gem::Version
|
187
|
+
version: '0'
|
188
|
+
type: :development
|
189
|
+
prerelease: false
|
190
|
+
version_requirements: !ruby/object:Gem::Requirement
|
191
|
+
requirements:
|
192
|
+
- - '>='
|
193
|
+
- !ruby/object:Gem::Version
|
194
|
+
version: '0'
|
195
|
+
- !ruby/object:Gem::Dependency
|
196
|
+
name: webmock
|
197
|
+
requirement: !ruby/object:Gem::Requirement
|
198
|
+
requirements:
|
199
|
+
- - '>='
|
172
200
|
- !ruby/object:Gem::Version
|
173
201
|
version: '0'
|
174
202
|
type: :development
|
175
203
|
prerelease: false
|
176
204
|
version_requirements: !ruby/object:Gem::Requirement
|
177
205
|
requirements:
|
178
|
-
- -
|
206
|
+
- - '>='
|
207
|
+
- !ruby/object:Gem::Version
|
208
|
+
version: '0'
|
209
|
+
- !ruby/object:Gem::Dependency
|
210
|
+
name: faker
|
211
|
+
requirement: !ruby/object:Gem::Requirement
|
212
|
+
requirements:
|
213
|
+
- - '>='
|
214
|
+
- !ruby/object:Gem::Version
|
215
|
+
version: '0'
|
216
|
+
type: :development
|
217
|
+
prerelease: false
|
218
|
+
version_requirements: !ruby/object:Gem::Requirement
|
219
|
+
requirements:
|
220
|
+
- - '>='
|
179
221
|
- !ruby/object:Gem::Version
|
180
222
|
version: '0'
|
181
223
|
description: Client for generating and validating CAS TGT/STs
|
@@ -186,37 +228,50 @@ extensions: []
|
|
186
228
|
extra_rdoc_files: []
|
187
229
|
files:
|
188
230
|
- README.md
|
189
|
-
- lib/cassette.rb
|
190
|
-
- lib/cassette/authentication.rb
|
191
231
|
- lib/cassette/authentication/authorities.rb
|
192
232
|
- lib/cassette/authentication/cache.rb
|
193
233
|
- lib/cassette/authentication/filter.rb
|
194
234
|
- lib/cassette/authentication/user.rb
|
235
|
+
- lib/cassette/authentication.rb
|
195
236
|
- lib/cassette/cache.rb
|
196
|
-
- lib/cassette/client.rb
|
197
237
|
- lib/cassette/client/cache.rb
|
198
|
-
- lib/cassette/
|
238
|
+
- lib/cassette/client.rb
|
199
239
|
- lib/cassette/errors/not_a_customer.rb
|
200
240
|
- lib/cassette/errors/not_an_employee.rb
|
201
|
-
- lib/cassette/
|
241
|
+
- lib/cassette/errors.rb
|
242
|
+
- lib/cassette/http/parsed_response.rb
|
243
|
+
- lib/cassette/http/request.rb
|
244
|
+
- lib/cassette/http/ticket_response.rb
|
245
|
+
- lib/cassette/http.rb
|
202
246
|
- lib/cassette/rubycas/helper.rb
|
203
247
|
- lib/cassette/rubycas/not_single_sign_out_constraint.rb
|
248
|
+
- lib/cassette/rubycas/routing_constraint.rb
|
204
249
|
- lib/cassette/rubycas/single_sign_out_constraint.rb
|
250
|
+
- lib/cassette/rubycas/user_factory.rb
|
251
|
+
- lib/cassette/rubycas.rb
|
205
252
|
- lib/cassette/version.rb
|
206
|
-
-
|
253
|
+
- lib/cassette.rb
|
207
254
|
- spec/cassette/authentication/authorities_spec.rb
|
208
255
|
- spec/cassette/authentication/cache_spec.rb
|
209
256
|
- spec/cassette/authentication/filter_spec.rb
|
257
|
+
- spec/cassette/authentication/user_factory_spec.rb
|
210
258
|
- spec/cassette/authentication/user_spec.rb
|
211
259
|
- spec/cassette/authentication_spec.rb
|
212
260
|
- spec/cassette/cache_spec.rb
|
213
261
|
- spec/cassette/client/cache_spec.rb
|
262
|
+
- spec/cassette/client_spec.rb
|
214
263
|
- spec/cassette/errors_spec.rb
|
264
|
+
- spec/cassette/http/parsed_response_spec.rb
|
265
|
+
- spec/cassette/http/request_spec.rb
|
266
|
+
- spec/cassette/http/ticket_response_spec.rb
|
267
|
+
- spec/cassette/rubycas/routing_constraint_spec.rb
|
268
|
+
- spec/cassette_spec.rb
|
215
269
|
- spec/config.yml
|
216
270
|
- spec/fixtures/cas/fail.xml
|
217
271
|
- spec/fixtures/cas/success.xml
|
218
272
|
- spec/integration/cas/client_spec.rb
|
219
273
|
- spec/spec_helper.rb
|
274
|
+
- spec/support/controllers/controller_mock.rb
|
220
275
|
homepage: http://github.com/locaweb/cassette
|
221
276
|
licenses: []
|
222
277
|
metadata: {}
|
@@ -226,32 +281,39 @@ require_paths:
|
|
226
281
|
- lib
|
227
282
|
required_ruby_version: !ruby/object:Gem::Requirement
|
228
283
|
requirements:
|
229
|
-
- -
|
284
|
+
- - '>='
|
230
285
|
- !ruby/object:Gem::Version
|
231
286
|
version: '0'
|
232
287
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
233
288
|
requirements:
|
234
|
-
- -
|
289
|
+
- - '>='
|
235
290
|
- !ruby/object:Gem::Version
|
236
291
|
version: '0'
|
237
292
|
requirements: []
|
238
293
|
rubyforge_project:
|
239
|
-
rubygems_version: 2.
|
294
|
+
rubygems_version: 2.0.14
|
240
295
|
signing_key:
|
241
296
|
specification_version: 4
|
242
297
|
summary: Generates, validates and caches TGTs and STs
|
243
298
|
test_files:
|
244
|
-
- spec/cas_spec.rb
|
245
299
|
- spec/cassette/authentication/authorities_spec.rb
|
246
300
|
- spec/cassette/authentication/cache_spec.rb
|
247
301
|
- spec/cassette/authentication/filter_spec.rb
|
302
|
+
- spec/cassette/authentication/user_factory_spec.rb
|
248
303
|
- spec/cassette/authentication/user_spec.rb
|
249
304
|
- spec/cassette/authentication_spec.rb
|
250
305
|
- spec/cassette/cache_spec.rb
|
251
306
|
- spec/cassette/client/cache_spec.rb
|
307
|
+
- spec/cassette/client_spec.rb
|
252
308
|
- spec/cassette/errors_spec.rb
|
309
|
+
- spec/cassette/http/parsed_response_spec.rb
|
310
|
+
- spec/cassette/http/request_spec.rb
|
311
|
+
- spec/cassette/http/ticket_response_spec.rb
|
312
|
+
- spec/cassette/rubycas/routing_constraint_spec.rb
|
313
|
+
- spec/cassette_spec.rb
|
253
314
|
- spec/config.yml
|
254
315
|
- spec/fixtures/cas/fail.xml
|
255
316
|
- spec/fixtures/cas/success.xml
|
256
317
|
- spec/integration/cas/client_spec.rb
|
257
318
|
- spec/spec_helper.rb
|
319
|
+
- spec/support/controllers/controller_mock.rb
|
data/spec/cas_spec.rb
DELETED
@@ -1,78 +0,0 @@
|
|
1
|
-
require 'spec_helper'
|
2
|
-
|
3
|
-
describe Cassette do
|
4
|
-
let(:uri) { 'http://example.org/' }
|
5
|
-
let(:response) do
|
6
|
-
Faraday.new do |builder|
|
7
|
-
builder.adapter :test do |stub|
|
8
|
-
stub.post(uri, 'ping=pong') do |env|
|
9
|
-
headers = env.request_headers
|
10
|
-
[200, {}, '{ok: true}']
|
11
|
-
end
|
12
|
-
end
|
13
|
-
end
|
14
|
-
end
|
15
|
-
|
16
|
-
let(:failed_response) do
|
17
|
-
Faraday.new do |builder|
|
18
|
-
builder.adapter :test do |stub|
|
19
|
-
stub.post(uri, 'ping=pong') do |env|
|
20
|
-
headers = env.request_headers
|
21
|
-
[500, {}, '{ok: false}']
|
22
|
-
end
|
23
|
-
end
|
24
|
-
end
|
25
|
-
end
|
26
|
-
|
27
|
-
describe '.new_request' do
|
28
|
-
it 'returns an instance' do
|
29
|
-
# damn coverage
|
30
|
-
expect(Cassette.new_request(uri, 5)).to be_instance_of(Faraday::Connection)
|
31
|
-
end
|
32
|
-
end
|
33
|
-
|
34
|
-
describe '.post' do
|
35
|
-
it 'forwards requests' do
|
36
|
-
allow(Cassette).to receive(:new_request).with(uri, 5).and_return(response)
|
37
|
-
Cassette.post(uri, { ping: :pong }, 5)
|
38
|
-
end
|
39
|
-
|
40
|
-
it 'raises an exception when failed' do
|
41
|
-
allow(Cassette).to receive(:new_request).with(uri, 5).and_return(failed_response)
|
42
|
-
expect { Cassette.post(uri, { ping: :pong }, 5) }.to raise_error(Cassette::Errors::InternalServerError)
|
43
|
-
end
|
44
|
-
end
|
45
|
-
|
46
|
-
def keeping_logger(&block)
|
47
|
-
original_logger = Cassette.logger
|
48
|
-
block.call
|
49
|
-
Cassette.logger = original_logger
|
50
|
-
end
|
51
|
-
|
52
|
-
describe '.logger' do
|
53
|
-
it 'returns a default instance' do
|
54
|
-
expect(Cassette.logger).not_to be_nil
|
55
|
-
expect(Cassette.logger.is_a?(Logger)).to eql(true)
|
56
|
-
end
|
57
|
-
|
58
|
-
it 'returns rails logger when Rails is available' do
|
59
|
-
keeping_logger do
|
60
|
-
Cassette.logger = nil
|
61
|
-
rails = double('Rails')
|
62
|
-
expect(rails).to receive(:logger).and_return(rails).at_least(:once)
|
63
|
-
stub_const('Rails', rails)
|
64
|
-
expect(Cassette.logger).to eql(rails)
|
65
|
-
end
|
66
|
-
end
|
67
|
-
end
|
68
|
-
|
69
|
-
describe '.logger=' do
|
70
|
-
let(:logger) { Logger.new(STDOUT) }
|
71
|
-
it 'defines the logger instance' do
|
72
|
-
keeping_logger do
|
73
|
-
Cassette.logger = logger
|
74
|
-
expect(Cassette.logger).to eq(logger)
|
75
|
-
end
|
76
|
-
end
|
77
|
-
end
|
78
|
-
end
|