gds-sso 13.5.1 → 13.6.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 +14 -0
- data/lib/gds-sso/bearer_token.rb +6 -2
- data/lib/gds-sso/config.rb +6 -0
- data/lib/gds-sso/lint/user_spec.rb +21 -0
- data/lib/gds-sso/user.rb +8 -0
- data/lib/gds-sso/version.rb +1 -1
- data/spec/internal/db/combustion_test.sqlite +0 -0
- data/spec/internal/log/test.log +1554 -1512
- data/spec/unit/config_spec.rb +28 -0
- data/spec/unit/mock_bearer_token_spec.rb +22 -0
- metadata +23 -19
@@ -0,0 +1,28 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe GDS::SSO::Config do
|
4
|
+
describe "#permissions_for_dummy_user" do
|
5
|
+
context "with no additional mock permissions" do
|
6
|
+
it "returns signin" do
|
7
|
+
subject.additional_mock_permissions_required = nil
|
8
|
+
expect(subject.permissions_for_dummy_api_user).to eq(["signin"])
|
9
|
+
end
|
10
|
+
end
|
11
|
+
|
12
|
+
context "with an additional mock permission as a string" do
|
13
|
+
it "returns an array of permissions" do
|
14
|
+
subject.additional_mock_permissions_required = "internal_app"
|
15
|
+
expected_permissions = ["signin", "internal_app"]
|
16
|
+
expect(subject.permissions_for_dummy_api_user).to eq(expected_permissions)
|
17
|
+
end
|
18
|
+
end
|
19
|
+
|
20
|
+
context "with additional mock permissions as an array" do
|
21
|
+
it "returns an array of permissions" do
|
22
|
+
subject.additional_mock_permissions_required = ["another_permission", "yet_another_permission"]
|
23
|
+
expected_permissions = ["signin", "another_permission", "yet_another_permission"]
|
24
|
+
expect(subject.permissions_for_dummy_api_user).to eq(expected_permissions)
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
@@ -0,0 +1,22 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
require 'gds-sso/bearer_token'
|
3
|
+
|
4
|
+
describe GDS::SSO::MockBearerToken do
|
5
|
+
it "updates the permissions of the user" do
|
6
|
+
# setup - ensure extra mock permissions required are nil and
|
7
|
+
# call .locate to create the dummy user initially
|
8
|
+
GDS::SSO::Config.additional_mock_permissions_required = nil
|
9
|
+
dummy_user = subject.locate("ABC")
|
10
|
+
expect(dummy_user.permissions).to match_array(["signin"])
|
11
|
+
|
12
|
+
# add an extra permission
|
13
|
+
GDS::SSO::Config.additional_mock_permissions_required = "extra_permission"
|
14
|
+
|
15
|
+
# ensure the dummy user is returned
|
16
|
+
expect(GDS::SSO).to receive(:test_user).and_return(dummy_user)
|
17
|
+
|
18
|
+
# call .locate again...this should update our permissions
|
19
|
+
dummy_user_two = subject.locate("ABC")
|
20
|
+
expect(dummy_user_two.permissions).to match_array(["signin", "extra_permission"])
|
21
|
+
end
|
22
|
+
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: gds-sso
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 13.
|
4
|
+
version: 13.6.0
|
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: 2018-
|
11
|
+
date: 2018-02-08 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|
@@ -269,6 +269,8 @@ files:
|
|
269
269
|
- spec/support/timecop.rb
|
270
270
|
- spec/unit/api_access_spec.rb
|
271
271
|
- spec/unit/bearer_token_spec.rb
|
272
|
+
- spec/unit/config_spec.rb
|
273
|
+
- spec/unit/mock_bearer_token_spec.rb
|
272
274
|
- spec/unit/session_serialisation_spec.rb
|
273
275
|
- spec/unit/user_spec.rb
|
274
276
|
homepage: https://github.com/alphagov/gds-sso
|
@@ -296,26 +298,28 @@ signing_key:
|
|
296
298
|
specification_version: 4
|
297
299
|
summary: Client for GDS' OAuth 2-based SSO
|
298
300
|
test_files:
|
299
|
-
- spec/internal/config/database.yml
|
300
|
-
- spec/internal/config/initializers/gds-sso.rb
|
301
|
-
- spec/internal/config/routes.rb
|
302
|
-
- spec/internal/public/favicon.ico
|
303
|
-
- spec/internal/app/controllers/application_controller.rb
|
304
|
-
- spec/internal/app/controllers/example_controller.rb
|
305
|
-
- spec/internal/app/models/user.rb
|
306
|
-
- spec/internal/log/test.log
|
307
|
-
- spec/internal/db/combustion_test.sqlite
|
308
|
-
- spec/internal/db/schema.rb
|
309
|
-
- spec/controller/api_user_controller_spec.rb
|
310
|
-
- spec/controller/controller_methods_spec.rb
|
311
|
-
- spec/support/timecop.rb
|
312
301
|
- spec/support/backport_controller_test_params.rb
|
302
|
+
- spec/support/timecop.rb
|
313
303
|
- spec/support/signon_integration_helpers.rb
|
314
|
-
- spec/
|
315
|
-
- spec/fixtures/integration/authorize_api_users.sql
|
304
|
+
- spec/unit/user_spec.rb
|
316
305
|
- spec/unit/api_access_spec.rb
|
306
|
+
- spec/unit/mock_bearer_token_spec.rb
|
317
307
|
- spec/unit/session_serialisation_spec.rb
|
318
|
-
- spec/unit/
|
308
|
+
- spec/unit/config_spec.rb
|
319
309
|
- spec/unit/bearer_token_spec.rb
|
320
|
-
- spec/spec_helper.rb
|
321
310
|
- spec/requests/end_to_end_spec.rb
|
311
|
+
- spec/spec_helper.rb
|
312
|
+
- spec/fixtures/integration/signon.sql
|
313
|
+
- spec/fixtures/integration/authorize_api_users.sql
|
314
|
+
- spec/controller/controller_methods_spec.rb
|
315
|
+
- spec/controller/api_user_controller_spec.rb
|
316
|
+
- spec/internal/log/test.log
|
317
|
+
- spec/internal/public/favicon.ico
|
318
|
+
- spec/internal/config/database.yml
|
319
|
+
- spec/internal/config/initializers/gds-sso.rb
|
320
|
+
- spec/internal/config/routes.rb
|
321
|
+
- spec/internal/app/models/user.rb
|
322
|
+
- spec/internal/app/controllers/example_controller.rb
|
323
|
+
- spec/internal/app/controllers/application_controller.rb
|
324
|
+
- spec/internal/db/schema.rb
|
325
|
+
- spec/internal/db/combustion_test.sqlite
|