gds-sso 15.0.0 → 16.0.2
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 +23 -56
- data/Rakefile +11 -6
- data/app/controllers/api/user_controller.rb +30 -28
- data/app/controllers/authentications_controller.rb +4 -6
- data/config/routes.rb +7 -6
- data/lib/gds-sso.rb +29 -24
- data/lib/gds-sso/api_access.rb +1 -1
- data/lib/gds-sso/bearer_token.rb +24 -24
- data/lib/gds-sso/config.rb +13 -12
- data/lib/gds-sso/controller_methods.rb +7 -8
- data/lib/gds-sso/failure_app.rb +8 -8
- data/lib/gds-sso/lint/user_spec.rb +24 -25
- data/lib/gds-sso/lint/user_test.rb +28 -28
- data/lib/gds-sso/railtie.rb +12 -0
- data/lib/gds-sso/user.rb +12 -12
- data/lib/gds-sso/version.rb +1 -1
- data/lib/gds-sso/warden_config.rb +21 -31
- data/spec/controller/api_user_controller_spec.rb +40 -37
- data/spec/controller/controller_methods_spec.rb +28 -42
- data/spec/internal/app/controllers/application_controller.rb +1 -1
- data/spec/internal/app/controllers/example_controller.rb +1 -2
- data/spec/internal/config/initializers/gds-sso.rb +2 -2
- data/spec/internal/config/routes.rb +2 -2
- data/spec/internal/db/combustion_test.sqlite +0 -0
- data/spec/internal/db/schema.rb +5 -5
- data/spec/internal/log/test.log +1131 -1123
- data/spec/requests/end_to_end_spec.rb +44 -45
- data/spec/spec_helper.rb +12 -13
- data/spec/support/controller_spy.rb +14 -0
- data/spec/support/serializable_user.rb +3 -0
- data/spec/support/signon_integration_helpers.rb +10 -8
- data/spec/support/test_user.rb +29 -0
- data/spec/support/timecop.rb +1 -1
- data/spec/unit/api_access_spec.rb +7 -7
- data/spec/unit/bearer_token_spec.rb +14 -15
- data/spec/unit/config_spec.rb +5 -5
- data/spec/unit/mock_bearer_token_spec.rb +4 -4
- data/spec/unit/railtie_spec.rb +14 -0
- data/spec/unit/session_serialisation_spec.rb +5 -9
- data/spec/unit/user_spec.rb +20 -51
- metadata +104 -61
@@ -1,5 +1,5 @@
|
|
1
|
-
require
|
2
|
-
require
|
1
|
+
require "spec_helper"
|
2
|
+
require "gds-sso/bearer_token"
|
3
3
|
|
4
4
|
describe GDS::SSO::MockBearerToken do
|
5
5
|
it "updates the permissions of the user" do
|
@@ -7,7 +7,7 @@ describe GDS::SSO::MockBearerToken do
|
|
7
7
|
# call .locate to create the dummy user initially
|
8
8
|
GDS::SSO::Config.additional_mock_permissions_required = nil
|
9
9
|
dummy_user = subject.locate("ABC")
|
10
|
-
expect(dummy_user.permissions).to match_array([
|
10
|
+
expect(dummy_user.permissions).to match_array(%w[signin])
|
11
11
|
|
12
12
|
# add an extra permission
|
13
13
|
GDS::SSO::Config.additional_mock_permissions_required = "extra_permission"
|
@@ -17,6 +17,6 @@ describe GDS::SSO::MockBearerToken do
|
|
17
17
|
|
18
18
|
# call .locate again...this should update our permissions
|
19
19
|
dummy_user_two = subject.locate("ABC")
|
20
|
-
expect(dummy_user_two.permissions).to match_array([
|
20
|
+
expect(dummy_user_two.permissions).to match_array(%w[signin extra_permission])
|
21
21
|
end
|
22
22
|
end
|
@@ -0,0 +1,14 @@
|
|
1
|
+
require "rails"
|
2
|
+
require "spec_helper"
|
3
|
+
|
4
|
+
RSpec.describe GDS::SSO::Railtie do
|
5
|
+
let(:cache) { double(:cache) }
|
6
|
+
|
7
|
+
it "re-uses the Rails cache" do
|
8
|
+
expect(GDS::SSO::Config.cache).to eq Rails.cache
|
9
|
+
end
|
10
|
+
|
11
|
+
it "honours API only setting" do
|
12
|
+
expect(GDS::SSO::Config.api_only).to eq false
|
13
|
+
end
|
14
|
+
end
|
@@ -1,11 +1,7 @@
|
|
1
|
-
require
|
2
|
-
require
|
1
|
+
require "spec_helper"
|
2
|
+
require "active_record"
|
3
3
|
|
4
4
|
describe Warden::SessionSerializer do
|
5
|
-
class SerializableUser
|
6
|
-
include GDS::SSO::User
|
7
|
-
end
|
8
|
-
|
9
5
|
before :each do
|
10
6
|
@old_user_model = GDS::SSO::Config.user_model
|
11
7
|
GDS::SSO::Config.user_model = SerializableUser
|
@@ -35,7 +31,7 @@ describe Warden::SessionSerializer do
|
|
35
31
|
|
36
32
|
describe "deserialize a user" do
|
37
33
|
it "should return the user if the timestamp is current and a Time" do
|
38
|
-
expect(SerializableUser).to receive(:where).with(:
|
34
|
+
expect(SerializableUser).to receive(:where).with(uid: 1234, remotely_signed_out: false).and_return(double(first: :a_user))
|
39
35
|
|
40
36
|
result = @serializer.deserialize [1234, Time.now.utc - GDS::SSO::Config.auth_valid_for + 3600]
|
41
37
|
|
@@ -43,7 +39,7 @@ describe Warden::SessionSerializer do
|
|
43
39
|
end
|
44
40
|
|
45
41
|
it "should return the user if the timestamp is current and is an ISO 8601 string" do
|
46
|
-
expect(SerializableUser).to receive(:where).with(:
|
42
|
+
expect(SerializableUser).to receive(:where).with(uid: 1234, remotely_signed_out: false).and_return(double(first: :a_user))
|
47
43
|
|
48
44
|
result = @serializer.deserialize [1234, (Time.now.utc - GDS::SSO::Config.auth_valid_for + 3600).iso8601]
|
49
45
|
|
@@ -69,7 +65,7 @@ describe Warden::SessionSerializer do
|
|
69
65
|
it "should return nil for a user with a badly formatted timestamp" do
|
70
66
|
expect(SerializableUser).not_to receive(:where)
|
71
67
|
|
72
|
-
result = @serializer.deserialize [1234,
|
68
|
+
result = @serializer.deserialize [1234, "this is not a timestamp"]
|
73
69
|
|
74
70
|
expect(result).to be_nil
|
75
71
|
end
|
data/spec/unit/user_spec.rb
CHANGED
@@ -1,67 +1,36 @@
|
|
1
|
-
require
|
2
|
-
require
|
3
|
-
require
|
1
|
+
require "spec_helper"
|
2
|
+
require "gds-sso/user"
|
3
|
+
require "gds-sso/lint/user_spec"
|
4
4
|
|
5
|
-
require
|
5
|
+
require "ostruct"
|
6
6
|
|
7
7
|
describe GDS::SSO::User do
|
8
8
|
before :each do
|
9
9
|
@auth_hash = {
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
}
|
18
|
-
}
|
10
|
+
"provider" => "gds",
|
11
|
+
"uid" => "abcde",
|
12
|
+
"credentials" => { "token" => "abcdefg", "secret" => "abcdefg" },
|
13
|
+
"info" => { "name" => "Matt Patterson", "email" => "matt@alphagov.co.uk" },
|
14
|
+
"extra" => {
|
15
|
+
"user" => {
|
16
|
+
"permissions" => [], "organisation_slug" => nil, "organisation_content_id" => nil, "disabled" => false
|
17
|
+
},
|
18
|
+
},
|
19
19
|
}
|
20
20
|
end
|
21
21
|
|
22
22
|
it "should extract the user params from the oauth hash" do
|
23
|
-
expected = {
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
}
|
23
|
+
expected = { "uid" => "abcde",
|
24
|
+
"name" => "Matt Patterson",
|
25
|
+
"email" => "matt@alphagov.co.uk",
|
26
|
+
"permissions" => [],
|
27
|
+
"organisation_slug" => nil,
|
28
|
+
"organisation_content_id" => nil,
|
29
|
+
"disabled" => false }
|
31
30
|
expect(GDS::SSO::User.user_params_from_auth_hash(@auth_hash)).to eq(expected)
|
32
31
|
end
|
33
32
|
|
34
33
|
context "making sure that the lint spec is valid" do
|
35
|
-
class TestUser < OpenStruct
|
36
|
-
include GDS::SSO::User
|
37
|
-
|
38
|
-
def self.where(opts)
|
39
|
-
[]
|
40
|
-
end
|
41
|
-
|
42
|
-
def self.create!(options, scope = {})
|
43
|
-
new(options)
|
44
|
-
end
|
45
|
-
|
46
|
-
def update_attribute(key, value)
|
47
|
-
send("#{key}=".to_sym, value)
|
48
|
-
end
|
49
|
-
|
50
|
-
def update!(options)
|
51
|
-
options.each do |key, value|
|
52
|
-
update_attribute(key, value)
|
53
|
-
end
|
54
|
-
end
|
55
|
-
|
56
|
-
def remotely_signed_out?
|
57
|
-
remotely_signed_out
|
58
|
-
end
|
59
|
-
|
60
|
-
def disabled?
|
61
|
-
disabled
|
62
|
-
end
|
63
|
-
end
|
64
|
-
|
65
34
|
let(:described_class) { TestUser }
|
66
35
|
it_behaves_like "a gds-sso user class"
|
67
36
|
end
|
metadata
CHANGED
@@ -1,85 +1,119 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: gds-sso
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 16.0.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- GOV.UK Dev
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2021-06-24 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
|
-
name:
|
14
|
+
name: multi_json
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- - "
|
17
|
+
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: '
|
19
|
+
version: '1.0'
|
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
|
-
version: '
|
26
|
+
version: '1.0'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
|
-
name:
|
28
|
+
name: oauth2
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
31
|
- - "~>"
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version: '1.
|
33
|
+
version: '1.0'
|
34
34
|
type: :runtime
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
38
|
- - "~>"
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '1.0'
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: omniauth
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - ">="
|
39
46
|
- !ruby/object:Gem::Version
|
40
47
|
version: '1.2'
|
48
|
+
- - "<"
|
49
|
+
- !ruby/object:Gem::Version
|
50
|
+
version: '3.0'
|
51
|
+
type: :runtime
|
52
|
+
prerelease: false
|
53
|
+
version_requirements: !ruby/object:Gem::Requirement
|
54
|
+
requirements:
|
55
|
+
- - ">="
|
56
|
+
- !ruby/object:Gem::Version
|
57
|
+
version: '1.2'
|
58
|
+
- - "<"
|
59
|
+
- !ruby/object:Gem::Version
|
60
|
+
version: '3.0'
|
41
61
|
- !ruby/object:Gem::Dependency
|
42
|
-
name:
|
62
|
+
name: omniauth-gds
|
43
63
|
requirement: !ruby/object:Gem::Requirement
|
44
64
|
requirements:
|
45
65
|
- - "~>"
|
46
66
|
- !ruby/object:Gem::Version
|
47
|
-
version: '
|
67
|
+
version: '3.2'
|
48
68
|
type: :runtime
|
49
69
|
prerelease: false
|
50
70
|
version_requirements: !ruby/object:Gem::Requirement
|
51
71
|
requirements:
|
52
72
|
- - "~>"
|
53
73
|
- !ruby/object:Gem::Version
|
54
|
-
version: '
|
74
|
+
version: '3.2'
|
55
75
|
- !ruby/object:Gem::Dependency
|
56
|
-
name:
|
76
|
+
name: plek
|
57
77
|
requirement: !ruby/object:Gem::Requirement
|
58
78
|
requirements:
|
59
79
|
- - "~>"
|
60
80
|
- !ruby/object:Gem::Version
|
61
|
-
version: '
|
81
|
+
version: '4.0'
|
62
82
|
type: :runtime
|
63
83
|
prerelease: false
|
64
84
|
version_requirements: !ruby/object:Gem::Requirement
|
65
85
|
requirements:
|
66
86
|
- - "~>"
|
67
87
|
- !ruby/object:Gem::Version
|
68
|
-
version: '
|
88
|
+
version: '4.0'
|
69
89
|
- !ruby/object:Gem::Dependency
|
70
|
-
name:
|
90
|
+
name: rails
|
91
|
+
requirement: !ruby/object:Gem::Requirement
|
92
|
+
requirements:
|
93
|
+
- - ">="
|
94
|
+
- !ruby/object:Gem::Version
|
95
|
+
version: '5'
|
96
|
+
type: :runtime
|
97
|
+
prerelease: false
|
98
|
+
version_requirements: !ruby/object:Gem::Requirement
|
99
|
+
requirements:
|
100
|
+
- - ">="
|
101
|
+
- !ruby/object:Gem::Version
|
102
|
+
version: '5'
|
103
|
+
- !ruby/object:Gem::Dependency
|
104
|
+
name: warden
|
71
105
|
requirement: !ruby/object:Gem::Requirement
|
72
106
|
requirements:
|
73
107
|
- - "~>"
|
74
108
|
- !ruby/object:Gem::Version
|
75
|
-
version: '
|
109
|
+
version: '1.2'
|
76
110
|
type: :runtime
|
77
111
|
prerelease: false
|
78
112
|
version_requirements: !ruby/object:Gem::Requirement
|
79
113
|
requirements:
|
80
114
|
- - "~>"
|
81
115
|
- !ruby/object:Gem::Version
|
82
|
-
version: '
|
116
|
+
version: '1.2'
|
83
117
|
- !ruby/object:Gem::Dependency
|
84
118
|
name: warden-oauth2
|
85
119
|
requirement: !ruby/object:Gem::Requirement
|
@@ -95,89 +129,89 @@ dependencies:
|
|
95
129
|
- !ruby/object:Gem::Version
|
96
130
|
version: 0.0.1
|
97
131
|
- !ruby/object:Gem::Dependency
|
98
|
-
name:
|
132
|
+
name: capybara
|
99
133
|
requirement: !ruby/object:Gem::Requirement
|
100
134
|
requirements:
|
101
|
-
- - "
|
135
|
+
- - ">="
|
102
136
|
- !ruby/object:Gem::Version
|
103
|
-
version: '
|
104
|
-
type: :
|
137
|
+
version: '2'
|
138
|
+
type: :development
|
105
139
|
prerelease: false
|
106
140
|
version_requirements: !ruby/object:Gem::Requirement
|
107
141
|
requirements:
|
108
|
-
- - "
|
142
|
+
- - ">="
|
109
143
|
- !ruby/object:Gem::Version
|
110
|
-
version: '
|
144
|
+
version: '2'
|
111
145
|
- !ruby/object:Gem::Dependency
|
112
|
-
name:
|
146
|
+
name: capybara-mechanize
|
113
147
|
requirement: !ruby/object:Gem::Requirement
|
114
148
|
requirements:
|
115
149
|
- - ">="
|
116
150
|
- !ruby/object:Gem::Version
|
117
|
-
version: '
|
151
|
+
version: '1'
|
118
152
|
type: :development
|
119
153
|
prerelease: false
|
120
154
|
version_requirements: !ruby/object:Gem::Requirement
|
121
155
|
requirements:
|
122
156
|
- - ">="
|
123
157
|
- !ruby/object:Gem::Version
|
124
|
-
version: '
|
158
|
+
version: '1'
|
125
159
|
- !ruby/object:Gem::Dependency
|
126
|
-
name:
|
160
|
+
name: combustion
|
127
161
|
requirement: !ruby/object:Gem::Requirement
|
128
162
|
requirements:
|
129
163
|
- - ">="
|
130
164
|
- !ruby/object:Gem::Version
|
131
|
-
version: '
|
165
|
+
version: '0.9'
|
132
166
|
type: :development
|
133
167
|
prerelease: false
|
134
168
|
version_requirements: !ruby/object:Gem::Requirement
|
135
169
|
requirements:
|
136
170
|
- - ">="
|
137
171
|
- !ruby/object:Gem::Version
|
138
|
-
version: '
|
172
|
+
version: '0.9'
|
139
173
|
- !ruby/object:Gem::Dependency
|
140
|
-
name:
|
174
|
+
name: rake
|
141
175
|
requirement: !ruby/object:Gem::Requirement
|
142
176
|
requirements:
|
143
177
|
- - ">="
|
144
178
|
- !ruby/object:Gem::Version
|
145
|
-
version: '
|
179
|
+
version: '0.9'
|
146
180
|
type: :development
|
147
181
|
prerelease: false
|
148
182
|
version_requirements: !ruby/object:Gem::Requirement
|
149
183
|
requirements:
|
150
184
|
- - ">="
|
151
185
|
- !ruby/object:Gem::Version
|
152
|
-
version: '
|
186
|
+
version: '0.9'
|
153
187
|
- !ruby/object:Gem::Dependency
|
154
|
-
name:
|
188
|
+
name: rspec-rails
|
155
189
|
requirement: !ruby/object:Gem::Requirement
|
156
190
|
requirements:
|
157
191
|
- - ">="
|
158
192
|
- !ruby/object:Gem::Version
|
159
|
-
version: '
|
193
|
+
version: '3'
|
160
194
|
type: :development
|
161
195
|
prerelease: false
|
162
196
|
version_requirements: !ruby/object:Gem::Requirement
|
163
197
|
requirements:
|
164
198
|
- - ">="
|
165
199
|
- !ruby/object:Gem::Version
|
166
|
-
version: '
|
200
|
+
version: '3'
|
167
201
|
- !ruby/object:Gem::Dependency
|
168
|
-
name:
|
202
|
+
name: rubocop-govuk
|
169
203
|
requirement: !ruby/object:Gem::Requirement
|
170
204
|
requirements:
|
171
205
|
- - ">="
|
172
206
|
- !ruby/object:Gem::Version
|
173
|
-
version: '0
|
207
|
+
version: '0'
|
174
208
|
type: :development
|
175
209
|
prerelease: false
|
176
210
|
version_requirements: !ruby/object:Gem::Requirement
|
177
211
|
requirements:
|
178
212
|
- - ">="
|
179
213
|
- !ruby/object:Gem::Version
|
180
|
-
version: '0
|
214
|
+
version: '0'
|
181
215
|
- !ruby/object:Gem::Dependency
|
182
216
|
name: sqlite3
|
183
217
|
requirement: !ruby/object:Gem::Requirement
|
@@ -231,6 +265,7 @@ files:
|
|
231
265
|
- lib/gds-sso/failure_app.rb
|
232
266
|
- lib/gds-sso/lint/user_spec.rb
|
233
267
|
- lib/gds-sso/lint/user_test.rb
|
268
|
+
- lib/gds-sso/railtie.rb
|
234
269
|
- lib/gds-sso/user.rb
|
235
270
|
- lib/gds-sso/version.rb
|
236
271
|
- lib/gds-sso/warden_config.rb
|
@@ -253,12 +288,16 @@ files:
|
|
253
288
|
- spec/requests/end_to_end_spec.rb
|
254
289
|
- spec/spec_helper.rb
|
255
290
|
- spec/support/backport_controller_test_params.rb
|
291
|
+
- spec/support/controller_spy.rb
|
292
|
+
- spec/support/serializable_user.rb
|
256
293
|
- spec/support/signon_integration_helpers.rb
|
294
|
+
- spec/support/test_user.rb
|
257
295
|
- spec/support/timecop.rb
|
258
296
|
- spec/unit/api_access_spec.rb
|
259
297
|
- spec/unit/bearer_token_spec.rb
|
260
298
|
- spec/unit/config_spec.rb
|
261
299
|
- spec/unit/mock_bearer_token_spec.rb
|
300
|
+
- spec/unit/railtie_spec.rb
|
262
301
|
- spec/unit/session_serialisation_spec.rb
|
263
302
|
- spec/unit/user_spec.rb
|
264
303
|
homepage: https://github.com/alphagov/gds-sso
|
@@ -280,35 +319,39 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
280
319
|
- !ruby/object:Gem::Version
|
281
320
|
version: '0'
|
282
321
|
requirements: []
|
283
|
-
rubygems_version: 3.1.
|
322
|
+
rubygems_version: 3.1.6
|
284
323
|
signing_key:
|
285
324
|
specification_version: 4
|
286
325
|
summary: Client for GDS' OAuth 2-based SSO
|
287
326
|
test_files:
|
288
|
-
- spec/fixtures/integration/signon.sql
|
289
|
-
- spec/fixtures/integration/authorize_api_users.sql
|
290
|
-
- spec/support/timecop.rb
|
291
|
-
- spec/support/signon_integration_helpers.rb
|
292
|
-
- spec/support/backport_controller_test_params.rb
|
293
|
-
- spec/controller/controller_methods_spec.rb
|
294
|
-
- spec/controller/api_user_controller_spec.rb
|
295
|
-
- spec/unit/bearer_token_spec.rb
|
296
|
-
- spec/unit/mock_bearer_token_spec.rb
|
297
|
-
- spec/unit/session_serialisation_spec.rb
|
298
|
-
- spec/unit/config_spec.rb
|
299
|
-
- spec/unit/api_access_spec.rb
|
300
|
-
- spec/unit/user_spec.rb
|
301
|
-
- spec/spec_helper.rb
|
302
327
|
- spec/requests/end_to_end_spec.rb
|
303
|
-
- spec/internal/app/
|
328
|
+
- spec/internal/app/models/user.rb
|
304
329
|
- spec/internal/app/controllers/example_controller.rb
|
330
|
+
- spec/internal/app/controllers/application_controller.rb
|
305
331
|
- spec/internal/app/assets/config/manifest.js
|
306
|
-
- spec/internal/
|
307
|
-
- spec/internal/
|
332
|
+
- spec/internal/db/combustion_test.sqlite
|
333
|
+
- spec/internal/db/schema.rb
|
308
334
|
- spec/internal/public/favicon.ico
|
309
|
-
- spec/internal/
|
335
|
+
- spec/internal/log/test.log
|
310
336
|
- spec/internal/config/routes.rb
|
311
|
-
- spec/internal/config/initializers/gds-sso.rb
|
312
337
|
- spec/internal/config/storage.yml
|
313
|
-
- spec/internal/
|
314
|
-
- spec/internal/
|
338
|
+
- spec/internal/config/initializers/gds-sso.rb
|
339
|
+
- spec/internal/config/database.yml
|
340
|
+
- spec/fixtures/integration/authorize_api_users.sql
|
341
|
+
- spec/fixtures/integration/signon.sql
|
342
|
+
- spec/spec_helper.rb
|
343
|
+
- spec/controller/api_user_controller_spec.rb
|
344
|
+
- spec/controller/controller_methods_spec.rb
|
345
|
+
- spec/unit/bearer_token_spec.rb
|
346
|
+
- spec/unit/api_access_spec.rb
|
347
|
+
- spec/unit/config_spec.rb
|
348
|
+
- spec/unit/session_serialisation_spec.rb
|
349
|
+
- spec/unit/railtie_spec.rb
|
350
|
+
- spec/unit/user_spec.rb
|
351
|
+
- spec/unit/mock_bearer_token_spec.rb
|
352
|
+
- spec/support/test_user.rb
|
353
|
+
- spec/support/controller_spy.rb
|
354
|
+
- spec/support/timecop.rb
|
355
|
+
- spec/support/serializable_user.rb
|
356
|
+
- spec/support/backport_controller_test_params.rb
|
357
|
+
- spec/support/signon_integration_helpers.rb
|