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.
@@ -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.5.1
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-01-23 00:00:00.000000000 Z
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/fixtures/integration/signon.sql
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/user_spec.rb
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