smart_app_launch_test_kit 0.1.7 → 0.2.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/lib/smart_app_launch/discovery_stu1_group.rb +5 -0
- data/lib/smart_app_launch/smart_stu1_suite.rb +2 -2
- data/lib/smart_app_launch/smart_stu2_suite.rb +2 -2
- data/lib/smart_app_launch/url_helpers.rb +7 -0
- data/lib/smart_app_launch/version.rb +1 -1
- data/lib/smart_app_launch/well_known_endpoint_test.rb +12 -6
- metadata +14 -13
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 1a70e06c1e564ec98ba8f87a7bd340f438990d7290d3122b2354da5e23a8f854
|
4
|
+
data.tar.gz: 47aef42abff65657cee0ffa8f7dec419ed0efafb30da792edf74b78eecc6ad49
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 9f155681260a5f83baf994bdf04fa22f00db3ed117845fd9e44c99304f13faeaa98a7b8330a534514788c33c880d30f2c4d870356aaf00a8de8d97e8c712d52a
|
7
|
+
data.tar.gz: c86798c75500fc0c12c53e85b85b6e4b126f3fc8691403ad2df6074ff1a11aa90b1cc5401746e0f8797980a1a49fa74cd39e13be6f24cf1c1e5057bd2bc05ca2
|
@@ -1,5 +1,6 @@
|
|
1
1
|
require_relative 'well_known_capabilities_stu1_test'
|
2
2
|
require_relative 'well_known_endpoint_test'
|
3
|
+
require_relative 'url_helpers'
|
3
4
|
|
4
5
|
module SMARTAppLaunch
|
5
6
|
class DiscoverySTU1Group < Inferno::TestGroup
|
@@ -45,6 +46,8 @@ module SMARTAppLaunch
|
|
45
46
|
id: 'Test02'
|
46
47
|
|
47
48
|
test do
|
49
|
+
include URLHelpers
|
50
|
+
|
48
51
|
title 'Conformance/CapabilityStatement provides OAuth 2.0 endpoints'
|
49
52
|
description %(
|
50
53
|
If a server requires SMART on FHIR authorization for access, its
|
@@ -88,8 +91,10 @@ module SMARTAppLaunch
|
|
88
91
|
|
89
92
|
oauth_extension_urls = ['authorize', 'introspect', 'manage', 'register', 'revoke', 'token']
|
90
93
|
|
94
|
+
base_url = "#{url.chomp('/')}/"
|
91
95
|
oauth_urls = oauth_extension_urls.each_with_object({}) do |url, urls|
|
92
96
|
urls[url] = smart_extension.extension.find { |extension| extension.url == url }&.valueUri
|
97
|
+
urls[url] = make_url_absolute(base_url, urls[url])
|
93
98
|
end
|
94
99
|
|
95
100
|
output capability_authorization_url: oauth_urls['authorize'],
|
@@ -13,11 +13,11 @@ module SMARTAppLaunch
|
|
13
13
|
title 'SMART App Launch STU1'
|
14
14
|
version VERSION
|
15
15
|
|
16
|
-
resume_test_route :get, '/launch' do
|
16
|
+
resume_test_route :get, '/launch' do |request|
|
17
17
|
request.query_parameters['iss']
|
18
18
|
end
|
19
19
|
|
20
|
-
resume_test_route :get, '/redirect' do
|
20
|
+
resume_test_route :get, '/redirect' do |request|
|
21
21
|
request.query_parameters['state']
|
22
22
|
end
|
23
23
|
|
@@ -13,11 +13,11 @@ module SMARTAppLaunch
|
|
13
13
|
title 'SMART App Launch STU2'
|
14
14
|
version VERSION
|
15
15
|
|
16
|
-
resume_test_route :get, '/launch' do
|
16
|
+
resume_test_route :get, '/launch' do |request|
|
17
17
|
request.query_parameters['iss']
|
18
18
|
end
|
19
19
|
|
20
|
-
resume_test_route :get, '/redirect' do
|
20
|
+
resume_test_route :get, '/redirect' do |request|
|
21
21
|
request.query_parameters['state']
|
22
22
|
end
|
23
23
|
|
@@ -1,5 +1,9 @@
|
|
1
|
+
require_relative 'url_helpers'
|
2
|
+
|
1
3
|
module SMARTAppLaunch
|
2
4
|
class WellKnownEndpointTest < Inferno::Test
|
5
|
+
include URLHelpers
|
6
|
+
|
3
7
|
title 'FHIR server makes SMART configuration available from well-known endpoint'
|
4
8
|
id :well_known_endpoint
|
5
9
|
description %(
|
@@ -27,14 +31,16 @@ module SMARTAppLaunch
|
|
27
31
|
|
28
32
|
assert_valid_json(request.response_body)
|
29
33
|
|
34
|
+
base_url = "#{url.chomp('/')}/"
|
30
35
|
config = JSON.parse(request.response_body)
|
36
|
+
|
31
37
|
output well_known_configuration: request.response_body,
|
32
|
-
well_known_authorization_url: config['authorization_endpoint'],
|
33
|
-
well_known_introspection_url: config['introspection_endpoint'],
|
34
|
-
well_known_management_url: config['management_endpoint'],
|
35
|
-
well_known_registration_url: config['registration_endpoint'],
|
36
|
-
well_known_revocation_url: config['revocation_endpoint'],
|
37
|
-
well_known_token_url: config['token_endpoint']
|
38
|
+
well_known_authorization_url: make_url_absolute(base_url, config['authorization_endpoint']),
|
39
|
+
well_known_introspection_url: make_url_absolute(base_url, config['introspection_endpoint']),
|
40
|
+
well_known_management_url: make_url_absolute(base_url, config['management_endpoint']),
|
41
|
+
well_known_registration_url: make_url_absolute(base_url, config['registration_endpoint']),
|
42
|
+
well_known_revocation_url: make_url_absolute(base_url, config['revocation_endpoint']),
|
43
|
+
well_known_token_url: make_url_absolute(base_url, config['token_endpoint'])
|
38
44
|
|
39
45
|
content_type = request.response_header('Content-Type')&.value
|
40
46
|
|
metadata
CHANGED
@@ -1,29 +1,29 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: smart_app_launch_test_kit
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Stephen MacVicar
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2022-
|
11
|
+
date: 2022-10-31 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: inferno_core
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- - "
|
17
|
+
- - ">="
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: 0.
|
19
|
+
version: 0.4.2
|
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: 0.
|
26
|
+
version: 0.4.2
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: jwt
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
@@ -44,14 +44,14 @@ dependencies:
|
|
44
44
|
requirements:
|
45
45
|
- - "~>"
|
46
46
|
- !ruby/object:Gem::Version
|
47
|
-
version: 0.
|
47
|
+
version: 0.2.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
|
-
version: 0.
|
54
|
+
version: 0.2.0
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
56
|
name: database_cleaner-sequel
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
@@ -160,6 +160,7 @@ files:
|
|
160
160
|
- lib/smart_app_launch/token_refresh_test.rb
|
161
161
|
- lib/smart_app_launch/token_response_body_test.rb
|
162
162
|
- lib/smart_app_launch/token_response_headers_test.rb
|
163
|
+
- lib/smart_app_launch/url_helpers.rb
|
163
164
|
- lib/smart_app_launch/version.rb
|
164
165
|
- lib/smart_app_launch/well_known_capabilities_stu1_test.rb
|
165
166
|
- lib/smart_app_launch/well_known_capabilities_stu2_test.rb
|
@@ -171,7 +172,7 @@ licenses:
|
|
171
172
|
metadata:
|
172
173
|
homepage_uri: https://github.com/inferno_framework/smart-app-launch-test-kit
|
173
174
|
source_code_uri: https://github.com/inferno_framework/smart-app-launch-test-kit
|
174
|
-
post_install_message:
|
175
|
+
post_install_message:
|
175
176
|
rdoc_options: []
|
176
177
|
require_paths:
|
177
178
|
- lib
|
@@ -179,15 +180,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
179
180
|
requirements:
|
180
181
|
- - ">="
|
181
182
|
- !ruby/object:Gem::Version
|
182
|
-
version:
|
183
|
+
version: 3.1.2
|
183
184
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
184
185
|
requirements:
|
185
186
|
- - ">="
|
186
187
|
- !ruby/object:Gem::Version
|
187
188
|
version: '0'
|
188
189
|
requirements: []
|
189
|
-
rubygems_version: 3.
|
190
|
-
signing_key:
|
190
|
+
rubygems_version: 3.3.7
|
191
|
+
signing_key:
|
191
192
|
specification_version: 4
|
192
193
|
summary: Inferno Tests for the SMART Application Launch Framework Implementation Guide
|
193
194
|
test_files: []
|