subscriptions_test_kit 0.10.1 → 0.11.1
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/config/presets/subscription_server_preset_empty.json.erb +7 -3
- data/config/presets/subscription_server_preset_full_resource.json.erb +7 -3
- data/config/presets/subscription_server_preset_id_only.json.erb +7 -3
- data/lib/subscriptions_test_kit/common/subscription_conformance_verification.rb +0 -1
- data/lib/subscriptions_test_kit/suites/subscriptions_r5_backport_r4_client/workflow_group.rb +1 -1
- data/lib/subscriptions_test_kit/suites/subscriptions_r5_backport_r4_server/capability_statement/cs_conformance_test.rb +1 -2
- data/lib/subscriptions_test_kit/suites/subscriptions_r5_backport_r4_server/common/interaction/subscription_conformance_test.rb +9 -3
- data/lib/subscriptions_test_kit/suites/subscriptions_r5_backport_r4_server/common/subscription_creation.rb +4 -3
- data/lib/subscriptions_test_kit/suites/subscriptions_r5_backport_r4_server/event_notification/empty_content_group.rb +1 -1
- data/lib/subscriptions_test_kit/suites/subscriptions_r5_backport_r4_server/event_notification/full_resource_content_group.rb +1 -1
- data/lib/subscriptions_test_kit/suites/subscriptions_r5_backport_r4_server/event_notification/id_only_content_group.rb +1 -1
- data/lib/subscriptions_test_kit/suites/subscriptions_r5_backport_r4_server/event_notification_group.rb +1 -1
- data/lib/subscriptions_test_kit/suites/subscriptions_r5_backport_r4_server/subscription_rejection_group.rb +1 -1
- data/lib/subscriptions_test_kit/suites/subscriptions_r5_backport_r4_server/workflow_group.rb +1 -1
- data/lib/subscriptions_test_kit/suites/subscriptions_r5_backport_r4_server_suite.rb +7 -4
- data/lib/subscriptions_test_kit/version.rb +2 -2
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c9611a683997bd3e7a27a77ea04fccf554db03754c3946cac7b309890cb288fb
|
4
|
+
data.tar.gz: '09a2627b220c04aa0352ee45d8ee703841d5f3bde433c2adb4bc8f3b70605315'
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 71d120fa262f7180abd5d13542d7daed8ea5b2c49559a603775e19eb233363524d7415911053fbe4b8491a0ab3ec2dc32b6d08ec94bc07c95eb4173ba9132a72
|
7
|
+
data.tar.gz: 06d457b7e543514a0e76fe061149bbc2e94dff646f0083081a7351ff029f46403c60e662e3fd10154fb2d61868d5c422cdb782786f0575d413bd291559435c1f
|
@@ -8,8 +8,12 @@
|
|
8
8
|
"value": "<%= Inferno::Application['base_url'] %>/custom/subscriptions_r5_backport_r4_client/fhir"
|
9
9
|
},
|
10
10
|
{
|
11
|
-
"name": "
|
12
|
-
"
|
11
|
+
"name": "smart_auth_info",
|
12
|
+
"type": "auth_info",
|
13
|
+
"value": {
|
14
|
+
"auth_type": "public",
|
15
|
+
"access_token": "SAMPLE_TOKEN"
|
16
|
+
}
|
13
17
|
},
|
14
18
|
{
|
15
19
|
"name": "subscription_resource",
|
@@ -20,4 +24,4 @@
|
|
20
24
|
"value": "SAMPLE_TOKEN"
|
21
25
|
}
|
22
26
|
]
|
23
|
-
}
|
27
|
+
}
|
@@ -8,8 +8,12 @@
|
|
8
8
|
"value": "<%= Inferno::Application['base_url'] %>/custom/subscriptions_r5_backport_r4_client/fhir"
|
9
9
|
},
|
10
10
|
{
|
11
|
-
"name": "
|
12
|
-
"
|
11
|
+
"name": "smart_auth_info",
|
12
|
+
"type": "auth_info",
|
13
|
+
"value": {
|
14
|
+
"auth_type": "public",
|
15
|
+
"access_token": "SAMPLE_TOKEN"
|
16
|
+
}
|
13
17
|
},
|
14
18
|
{
|
15
19
|
"name": "subscription_resource",
|
@@ -20,4 +24,4 @@
|
|
20
24
|
"value": "SAMPLE_TOKEN"
|
21
25
|
}
|
22
26
|
]
|
23
|
-
}
|
27
|
+
}
|
@@ -8,8 +8,12 @@
|
|
8
8
|
"value": "<%= Inferno::Application['base_url'] %>/custom/subscriptions_r5_backport_r4_client/fhir"
|
9
9
|
},
|
10
10
|
{
|
11
|
-
"name": "
|
12
|
-
"
|
11
|
+
"name": "smart_auth_info",
|
12
|
+
"type": "auth_info",
|
13
|
+
"value": {
|
14
|
+
"auth_type": "public",
|
15
|
+
"access_token": "SAMPLE_TOKEN"
|
16
|
+
}
|
13
17
|
},
|
14
18
|
{
|
15
19
|
"name": "subscription_resource",
|
@@ -20,4 +24,4 @@
|
|
20
24
|
"value": "SAMPLE_TOKEN"
|
21
25
|
}
|
22
26
|
]
|
23
|
-
}
|
27
|
+
}
|
@@ -66,7 +66,6 @@ module SubscriptionsTestKit
|
|
66
66
|
profile_url: 'http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-subscription')
|
67
67
|
|
68
68
|
cross_version_extension_check(subscription)
|
69
|
-
subscription
|
70
69
|
end
|
71
70
|
|
72
71
|
def server_check_channel(subscription, access_token)
|
data/lib/subscriptions_test_kit/suites/subscriptions_r5_backport_r4_client/workflow_group.rb
CHANGED
@@ -13,7 +13,7 @@ module SubscriptionsTestKit
|
|
13
13
|
title 'Demonstrate the Rest-Hook Subscription Workflow'
|
14
14
|
description %(
|
15
15
|
This test allows the tester to demonstrate the ability of the client
|
16
|
-
to request the
|
16
|
+
to request the creation of a FHIR Subscription instance and receive
|
17
17
|
notifications for that Subscription.
|
18
18
|
|
19
19
|
The tester must provide the body of an event notification
|
@@ -21,9 +21,8 @@ module SubscriptionsTestKit
|
|
21
21
|
fhir_get_capability_statement
|
22
22
|
assert_response_status(200)
|
23
23
|
assert_resource_type(:capability_statement)
|
24
|
-
assert_valid_resource
|
25
|
-
|
26
24
|
scratch[:capability_statement] ||= resource
|
25
|
+
assert_valid_resource
|
27
26
|
|
28
27
|
assert(resource.rest.present?, 'Capability Statement missing the `rest` field')
|
29
28
|
rest_server = resource.rest.find { |elem| elem.mode == 'server' }
|
@@ -57,10 +57,16 @@ module SubscriptionsTestKit
|
|
57
57
|
|
58
58
|
run do
|
59
59
|
omit_if subscription_resource.blank?, 'Did not input a Subscription resource of this type.'
|
60
|
-
|
60
|
+
assert_valid_json(subscription_resource)
|
61
|
+
assert_resource_type('Subscription', resource: FHIR.from_contents(subscription_resource))
|
62
|
+
subscription = JSON.parse(subscription_resource)
|
63
|
+
server_check_channel(subscription, access_token)
|
64
|
+
|
65
|
+
updated_subscription = subscription.to_json
|
66
|
+
output(updated_subscription:)
|
67
|
+
|
68
|
+
subscription_verification(updated_subscription)
|
61
69
|
no_error_verification('Subscription resource is not conformant.')
|
62
|
-
subscription = server_check_channel(subscription, access_token)
|
63
|
-
output updated_subscription: subscription.to_json
|
64
70
|
end
|
65
71
|
end
|
66
72
|
end
|
@@ -50,12 +50,13 @@ module SubscriptionsTestKit
|
|
50
50
|
end
|
51
51
|
|
52
52
|
def subscription_payload_type(subscription)
|
53
|
-
|
53
|
+
payload_extensions = subscription.dig('channel', '_payload', 'extension')
|
54
|
+
return unless payload_extensions
|
54
55
|
|
55
|
-
|
56
|
+
payload_type = payload_extensions.find do |ext|
|
56
57
|
ext['url'].ends_with?('/backport-payload-content')
|
57
58
|
end
|
58
|
-
|
59
|
+
payload_type&.dig('valueCode')
|
59
60
|
end
|
60
61
|
|
61
62
|
def send_subscription(subscription)
|
@@ -16,7 +16,7 @@ module SubscriptionsTestKit
|
|
16
16
|
run_as_group
|
17
17
|
optional
|
18
18
|
|
19
|
-
input_order :url, :
|
19
|
+
input_order :url, :smart_auth_info, :access_token, :empty_subscription_resource
|
20
20
|
|
21
21
|
group from: :subscriptions_r4_server_interaction do
|
22
22
|
id :subscriptions_r4_server_empty_content_interaction
|
@@ -16,7 +16,7 @@ module SubscriptionsTestKit
|
|
16
16
|
run_as_group
|
17
17
|
optional
|
18
18
|
|
19
|
-
input_order :url, :
|
19
|
+
input_order :url, :smart_auth_info, :access_token, :full_resource_subscription_resource
|
20
20
|
|
21
21
|
group from: :subscriptions_r4_server_interaction do
|
22
22
|
id :subscriptions_r4_server_full_resource_content_interaction
|
@@ -16,7 +16,7 @@ module SubscriptionsTestKit
|
|
16
16
|
run_as_group
|
17
17
|
optional
|
18
18
|
|
19
|
-
input_order :url, :
|
19
|
+
input_order :url, :smart_auth_info, :access_token, :id_only_subscription_resource
|
20
20
|
|
21
21
|
group from: :subscriptions_r4_server_interaction do
|
22
22
|
id :subscriptions_r4_server_id_only_content_interaction
|
@@ -15,7 +15,7 @@ module SubscriptionsTestKit
|
|
15
15
|
`empty`, `id-only`, and `full-resource`.
|
16
16
|
)
|
17
17
|
|
18
|
-
input_order :url, :
|
18
|
+
input_order :url, :smart_auth_info, :access_token, :empty_subscription_resource,
|
19
19
|
:id_only_subscription_resource, :full_resource_subscription_resource
|
20
20
|
|
21
21
|
group from: :subscriptions_r4_server_empty_content
|
@@ -16,7 +16,7 @@ module SubscriptionsTestKit
|
|
16
16
|
Subscription creation requests.
|
17
17
|
)
|
18
18
|
|
19
|
-
input_order :url, :
|
19
|
+
input_order :url, :smart_auth_info, :subscription_resource, :unsupported_subscription_topic,
|
20
20
|
:unsupported_subscription_filter, :unsupported_subscription_channel_type,
|
21
21
|
:unsupported_subscription_channel_endpoint, :unsupported_subscription_payload_type,
|
22
22
|
:unsupported_subscription_channel_payload_combo
|
data/lib/subscriptions_test_kit/suites/subscriptions_r5_backport_r4_server/workflow_group.rb
CHANGED
@@ -18,7 +18,7 @@ module SubscriptionsTestKit
|
|
18
18
|
|
19
19
|
run_as_group
|
20
20
|
|
21
|
-
input_order :url, :
|
21
|
+
input_order :url, :smart_auth_info, :access_token, :subscription_resource
|
22
22
|
|
23
23
|
group from: :subscriptions_r4_server_interaction
|
24
24
|
group from: :subscriptions_r4_server_interaction_verification
|
@@ -44,16 +44,19 @@ module SubscriptionsTestKit
|
|
44
44
|
these tests.
|
45
45
|
)
|
46
46
|
|
47
|
-
input :
|
47
|
+
input :smart_auth_info,
|
48
48
|
title: 'OAuth Credentials',
|
49
49
|
description: 'Credentials for Inferno to include when making requests against the server under test.',
|
50
|
-
type: :
|
51
|
-
optional: true
|
50
|
+
type: :auth_info,
|
51
|
+
optional: true,
|
52
|
+
options: {
|
53
|
+
mode: 'access'
|
54
|
+
}
|
52
55
|
|
53
56
|
# All FHIR requests in this suite will use this FHIR client
|
54
57
|
fhir_client do
|
55
58
|
url :url
|
56
|
-
|
59
|
+
auth_info :smart_auth_info
|
57
60
|
end
|
58
61
|
|
59
62
|
# All FHIR validation requests will use this FHIR validator
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: subscriptions_test_kit
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.11.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Karl Naden, Emily Semple, Tom Strassner
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2025-03
|
11
|
+
date: 2025-04-03 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: inferno_core
|