us_core_test_kit 0.8.0 → 0.8.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
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: bf568ad98ad25b70c1ae8993657adb8eccc83f9ffeee841e6bb3a51b79ed9f56
|
4
|
+
data.tar.gz: 2c2761194d8edf9c70744ff832016d4f9643851041690c0c8bd71004e947083f
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ea6bce62760d108adaeb3905bca2611b52059391a99b5ade0515fa2de61069a4d8bfa7479bb4c79dc0637297c9123bd28c274a276776330c8076ae2c2065a8ac
|
7
|
+
data.tar.gz: a29e81c48dd8965fa62a064ff69552e64e7b4cab0bab917c55e9b6ff402e3a8566d234c879852674d271156f46d656149d5de1b66023c853194327d43a06edba
|
@@ -13,18 +13,30 @@ module USCoreTestKit
|
|
13
13
|
.options[:required_scopes]
|
14
14
|
.map { |scope| scope[scope.index('/') + 1, scope.length] }
|
15
15
|
|
16
|
+
required_granular_regexes =
|
17
|
+
required_granular_scopes.flat_map do |scope|
|
18
|
+
[
|
19
|
+
Regexp.new(Regexp.quote(scope).gsub(".rs", ".r?s")),
|
20
|
+
Regexp.new(Regexp.quote(scope).gsub(".rs", ".rs?"))
|
21
|
+
]
|
22
|
+
end
|
23
|
+
|
16
24
|
received_granular_scopes =
|
17
25
|
received_scopes
|
18
26
|
.split(' ')
|
19
27
|
.select { |scope| scope.include? '?' }
|
20
28
|
.map { |scope| scope[scope.index('/') + 1, scope.length] }
|
21
29
|
|
22
|
-
missing_scopes =
|
30
|
+
missing_scopes =
|
31
|
+
required_granular_regexes
|
32
|
+
.reject do |required_scope|
|
33
|
+
received_granular_scopes.any? { |received_scope| received_scope.match?(required_scope) }
|
34
|
+
end
|
23
35
|
|
24
|
-
wrapped_missing_scopes = missing_scopes.map { |scope| "`#{scope}`" }
|
36
|
+
wrapped_missing_scopes = missing_scopes.map { |scope| "`#{scope.source}`" }
|
25
37
|
|
26
38
|
assert missing_scopes.empty?,
|
27
|
-
"
|
39
|
+
"Granular scopes matching the following were not matched: #{wrapped_missing_scopes.to_sentence}"
|
28
40
|
|
29
41
|
granular_scope_resource_types =
|
30
42
|
required_granular_scopes
|
@@ -28,7 +28,7 @@ module USCoreTestKit
|
|
28
28
|
if request.status != 200
|
29
29
|
[]
|
30
30
|
else
|
31
|
-
fetch_all_bundled_resources
|
31
|
+
fetch_all_bundled_resources.select { |resource| resource.resourceType == resource_type }
|
32
32
|
end
|
33
33
|
|
34
34
|
mismatched_ids = mismatched_resource_ids(found_resources)
|
@@ -78,6 +78,7 @@ module USCoreTestKit
|
|
78
78
|
|
79
79
|
def expected_resource_ids(resources)
|
80
80
|
resources
|
81
|
+
.select { |resource| resource.resourceType == resource_type }
|
81
82
|
.select do |resource|
|
82
83
|
granular_scope_search_params.any? do |param|
|
83
84
|
resource_matches_param?(resource, param[:name], param[:value])
|
@@ -88,6 +89,7 @@ module USCoreTestKit
|
|
88
89
|
|
89
90
|
def mismatched_resource_ids(resources)
|
90
91
|
resources
|
92
|
+
.select { |resource| resource.resourceType == resource_type }
|
91
93
|
.reject do |resource|
|
92
94
|
granular_scope_search_params.any? do |param|
|
93
95
|
resource_matches_param?(resource, param[:name], param[:value])
|
@@ -737,16 +737,19 @@ module USCoreTestKit
|
|
737
737
|
|
738
738
|
paths.each do |path|
|
739
739
|
type = metadata.search_definitions[search_param_name.to_sym][:type]
|
740
|
-
|
741
|
-
|
742
|
-
|
743
|
-
|
744
|
-
|
745
|
-
|
746
|
-
|
747
|
-
|
740
|
+
|
741
|
+
resolve_path(resource, path).each do |value|
|
742
|
+
values_found <<
|
743
|
+
if value.is_a? FHIR::Reference
|
744
|
+
value.reference
|
745
|
+
elsif value.is_a? USCoreTestKit::PrimitiveType
|
746
|
+
value.value
|
747
|
+
else
|
748
|
+
value
|
749
|
+
end
|
748
750
|
end
|
749
751
|
|
752
|
+
values_found.compact!
|
750
753
|
match_found =
|
751
754
|
case type
|
752
755
|
when 'Period', 'date', 'instant', 'dateTime'
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: us_core_test_kit
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.8.
|
4
|
+
version: 0.8.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Stephen MacVicar
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2024-
|
11
|
+
date: 2024-09-06 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: inferno_core
|
@@ -2590,7 +2590,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
2590
2590
|
- !ruby/object:Gem::Version
|
2591
2591
|
version: '0'
|
2592
2592
|
requirements: []
|
2593
|
-
rubygems_version: 3.5.
|
2593
|
+
rubygems_version: 3.5.9
|
2594
2594
|
signing_key:
|
2595
2595
|
specification_version: 4
|
2596
2596
|
summary: US Core Inferno tests
|