carin_for_blue_button_test_kit 0.15.0 → 0.15.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.
Files changed (322) hide show
  1. checksums.yaml +4 -4
  2. data/lib/carin_for_blue_button_test_kit/capability_statement/tests/instantiates_test.rb +1 -0
  3. data/lib/carin_for_blue_button_test_kit/capability_statement/tests/json_support_test.rb +1 -0
  4. data/lib/carin_for_blue_button_test_kit/client/v2.0.0/c4bb_client_test_suite.rb +191 -126
  5. data/lib/carin_for_blue_button_test_kit/client/v2.0.0/client_auth_smart_alca_group.rb +30 -0
  6. data/lib/carin_for_blue_button_test_kit/client/v2.0.0/client_auth_smart_alcs_group.rb +30 -0
  7. data/lib/carin_for_blue_button_test_kit/client/v2.0.0/client_auth_smart_alp_group.rb +30 -0
  8. data/lib/carin_for_blue_button_test_kit/client/v2.0.0/client_auth_udap_group.rb +29 -0
  9. data/lib/carin_for_blue_button_test_kit/client/v2.0.0/client_options.rb +25 -0
  10. data/lib/carin_for_blue_button_test_kit/client/v2.0.0/client_registration/configuration_display_smart_test.rb +36 -0
  11. data/lib/carin_for_blue_button_test_kit/client/v2.0.0/client_registration/configuration_display_udap_test.rb +36 -0
  12. data/lib/carin_for_blue_button_test_kit/client/v2.0.0/client_registration_group.rb +65 -0
  13. data/lib/carin_for_blue_button_test_kit/client/v2.0.0/client_validation_test.rb +1 -1
  14. data/lib/carin_for_blue_button_test_kit/client/v2.0.0/endpoints/authorization_endpoint.rb +51 -0
  15. data/lib/carin_for_blue_button_test_kit/client/v2.0.0/endpoints/next_page_endpoint.rb +4 -3
  16. data/lib/carin_for_blue_button_test_kit/client/v2.0.0/endpoints/resource_api_endpoint.rb +4 -3
  17. data/lib/carin_for_blue_button_test_kit/client/v2.0.0/endpoints/resource_id_endpoint.rb +4 -3
  18. data/lib/carin_for_blue_button_test_kit/client/v2.0.0/endpoints/token_endpoint.rb +60 -62
  19. data/lib/carin_for_blue_button_test_kit/client/v2.0.0/initial_wait_test.rb +33 -33
  20. data/lib/carin_for_blue_button_test_kit/client/v2.0.0/metadata/mock_capability_statement.json.erb +3 -4
  21. data/lib/carin_for_blue_button_test_kit/client/v2.0.0/mock_server.rb +12 -30
  22. data/lib/carin_for_blue_button_test_kit/client/v2.0.0/required_searches_tests/coverage_required_searches.rb +6 -0
  23. data/lib/carin_for_blue_button_test_kit/client/v2.0.0/required_searches_tests/eob_required_searches.rb +6 -0
  24. data/lib/carin_for_blue_button_test_kit/client/v2.0.0/required_searches_tests/organization_required_searches.rb +6 -0
  25. data/lib/carin_for_blue_button_test_kit/client/v2.0.0/required_searches_tests/patient_required_searches.rb +6 -0
  26. data/lib/carin_for_blue_button_test_kit/client/v2.0.0/required_searches_tests/practitioner_required_searches.rb +6 -0
  27. data/lib/carin_for_blue_button_test_kit/client/v2.0.0/required_searches_tests/relatedperson_required_searches.rb +6 -0
  28. data/lib/carin_for_blue_button_test_kit/client/v2.0.0/tags.rb +2 -5
  29. data/lib/carin_for_blue_button_test_kit/client/v2.0.0/urls.rb +11 -7
  30. data/lib/carin_for_blue_button_test_kit/custom_groups/v2.0.0/c4bb_smart_launch_group.rb +9 -0
  31. data/lib/carin_for_blue_button_test_kit/docs/carin_for_blue_button_v2.0.0_client_suite_description.md +136 -30
  32. data/lib/carin_for_blue_button_test_kit/generated/v1.1.0/coverage/metadata.yml +12 -4
  33. data/lib/carin_for_blue_button_test_kit/generated/v1.1.0/coverage/must_support_test.rb +4 -2
  34. data/lib/carin_for_blue_button_test_kit/generated/v1.1.0/eob/metadata.yml +6 -0
  35. data/lib/carin_for_blue_button_test_kit/generated/v1.1.0/eob/patient_search_test.rb +6 -2
  36. data/lib/carin_for_blue_button_test_kit/generated/v1.1.0/eob_inpatient_institutional/metadata.yml +155 -91
  37. data/lib/carin_for_blue_button_test_kit/generated/v1.1.0/eob_inpatient_institutional/must_support_test.rb +23 -9
  38. data/lib/carin_for_blue_button_test_kit/generated/v1.1.0/eob_inpatient_institutional/patient_search_test.rb +6 -2
  39. data/lib/carin_for_blue_button_test_kit/generated/v1.1.0/eob_outpatient_institutional/metadata.yml +155 -91
  40. data/lib/carin_for_blue_button_test_kit/generated/v1.1.0/eob_outpatient_institutional/must_support_test.rb +21 -10
  41. data/lib/carin_for_blue_button_test_kit/generated/v1.1.0/eob_outpatient_institutional/patient_search_test.rb +6 -2
  42. data/lib/carin_for_blue_button_test_kit/generated/v1.1.0/eob_pharmacy/metadata.yml +114 -68
  43. data/lib/carin_for_blue_button_test_kit/generated/v1.1.0/eob_pharmacy/must_support_test.rb +22 -7
  44. data/lib/carin_for_blue_button_test_kit/generated/v1.1.0/eob_pharmacy/patient_search_test.rb +6 -2
  45. data/lib/carin_for_blue_button_test_kit/generated/v1.1.0/eob_professional_non_clinician/metadata.yml +103 -60
  46. data/lib/carin_for_blue_button_test_kit/generated/v1.1.0/eob_professional_non_clinician/must_support_test.rb +13 -6
  47. data/lib/carin_for_blue_button_test_kit/generated/v1.1.0/eob_professional_non_clinician/patient_search_test.rb +6 -2
  48. data/lib/carin_for_blue_button_test_kit/generated/v1.1.0/metadata.yml +568 -314
  49. data/lib/carin_for_blue_button_test_kit/generated/v1.1.0/organization/metadata.yml +8 -4
  50. data/lib/carin_for_blue_button_test_kit/generated/v1.1.0/patient/metadata.yml +11 -2
  51. data/lib/carin_for_blue_button_test_kit/generated/v1.1.0/patient/must_support_test.rb +4 -0
  52. data/lib/carin_for_blue_button_test_kit/generated/v1.1.0/practitioner/metadata.yml +4 -2
  53. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/coverage/id_search_test.rb +11 -6
  54. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/coverage/lastupdated_search_test.rb +1 -0
  55. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/coverage/metadata.yml +12 -4
  56. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/coverage/must_support_test.rb +5 -2
  57. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/coverage/validation_test.rb +1 -0
  58. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/coverage_group.rb +1 -0
  59. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/eob/billable_period_start_search_test.rb +1 -0
  60. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/eob/id_search_test.rb +1 -0
  61. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/eob/identifier_search_test.rb +1 -0
  62. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/eob/lastupdated_search_test.rb +1 -0
  63. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/eob/metadata.yml +9 -2
  64. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/eob/must_support_test.rb +2 -1
  65. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/eob/patient_search_test.rb +7 -2
  66. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/eob/service_date_search_test.rb +1 -0
  67. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/eob/service_start_date_search_test.rb +1 -0
  68. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/eob/type_search_test.rb +1 -0
  69. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/eob/validation_test.rb +2 -0
  70. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/eob_group.rb +1 -0
  71. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/eob_inpatient_institutional/billable_period_start_search_test.rb +1 -0
  72. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/eob_inpatient_institutional/id_search_test.rb +1 -0
  73. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/eob_inpatient_institutional/identifier_search_test.rb +1 -0
  74. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/eob_inpatient_institutional/lastupdated_search_test.rb +1 -0
  75. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/eob_inpatient_institutional/metadata.yml +164 -94
  76. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/eob_inpatient_institutional/must_support_test.rb +25 -10
  77. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/eob_inpatient_institutional/patient_search_test.rb +7 -2
  78. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/eob_inpatient_institutional/service_date_search_test.rb +1 -0
  79. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/eob_inpatient_institutional/service_start_date_search_test.rb +1 -0
  80. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/eob_inpatient_institutional/type_search_test.rb +1 -0
  81. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/eob_inpatient_institutional/validation_test.rb +3 -0
  82. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/eob_oral/billable_period_start_search_test.rb +1 -0
  83. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/eob_oral/id_search_test.rb +1 -0
  84. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/eob_oral/identifier_search_test.rb +1 -0
  85. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/eob_oral/lastupdated_search_test.rb +1 -0
  86. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/eob_oral/metadata.yml +129 -77
  87. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/eob_oral/must_support_test.rb +24 -10
  88. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/eob_oral/patient_search_test.rb +7 -2
  89. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/eob_oral/service_date_search_test.rb +1 -0
  90. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/eob_oral/service_start_date_search_test.rb +1 -0
  91. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/eob_oral/type_search_test.rb +1 -0
  92. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/eob_oral/validation_test.rb +1 -0
  93. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/eob_outpatient_institutional/billable_period_start_search_test.rb +1 -0
  94. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/eob_outpatient_institutional/id_search_test.rb +1 -0
  95. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/eob_outpatient_institutional/identifier_search_test.rb +1 -0
  96. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/eob_outpatient_institutional/lastupdated_search_test.rb +1 -0
  97. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/eob_outpatient_institutional/metadata.yml +164 -94
  98. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/eob_outpatient_institutional/must_support_test.rb +23 -11
  99. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/eob_outpatient_institutional/patient_search_test.rb +7 -2
  100. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/eob_outpatient_institutional/service_date_search_test.rb +1 -0
  101. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/eob_outpatient_institutional/service_start_date_search_test.rb +1 -0
  102. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/eob_outpatient_institutional/type_search_test.rb +1 -0
  103. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/eob_outpatient_institutional/validation_test.rb +1 -0
  104. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/eob_pharmacy/billable_period_start_search_test.rb +1 -0
  105. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/eob_pharmacy/id_search_test.rb +1 -0
  106. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/eob_pharmacy/identifier_search_test.rb +1 -0
  107. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/eob_pharmacy/lastupdated_search_test.rb +1 -0
  108. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/eob_pharmacy/metadata.yml +128 -78
  109. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/eob_pharmacy/must_support_test.rb +25 -9
  110. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/eob_pharmacy/patient_search_test.rb +7 -2
  111. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/eob_pharmacy/service_date_search_test.rb +1 -0
  112. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/eob_pharmacy/service_start_date_search_test.rb +1 -0
  113. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/eob_pharmacy/type_search_test.rb +1 -0
  114. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/eob_pharmacy/validation_test.rb +1 -0
  115. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/eob_professional_non_clinician/billable_period_start_search_test.rb +1 -0
  116. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/eob_professional_non_clinician/id_search_test.rb +1 -0
  117. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/eob_professional_non_clinician/identifier_search_test.rb +1 -0
  118. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/eob_professional_non_clinician/lastupdated_search_test.rb +1 -0
  119. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/eob_professional_non_clinician/metadata.yml +121 -68
  120. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/eob_professional_non_clinician/must_support_test.rb +14 -7
  121. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/eob_professional_non_clinician/patient_search_test.rb +7 -2
  122. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/eob_professional_non_clinician/service_date_search_test.rb +1 -0
  123. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/eob_professional_non_clinician/service_start_date_search_test.rb +1 -0
  124. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/eob_professional_non_clinician/type_search_test.rb +1 -0
  125. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/eob_professional_non_clinician/validation_test.rb +1 -0
  126. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/metadata.yml +752 -415
  127. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/organization/id_search_test.rb +11 -6
  128. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/organization/lastupdated_search_test.rb +1 -0
  129. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/organization/metadata.yml +8 -4
  130. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/organization/must_support_test.rb +1 -0
  131. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/organization/validation_test.rb +1 -0
  132. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/organization_group.rb +1 -0
  133. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/patient/id_search_test.rb +7 -2
  134. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/patient/lastupdated_search_test.rb +1 -0
  135. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/patient/metadata.yml +11 -2
  136. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/patient/must_support_test.rb +5 -0
  137. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/patient/validation_test.rb +1 -0
  138. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/patient_group.rb +1 -0
  139. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/practitioner/id_search_test.rb +11 -6
  140. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/practitioner/lastupdated_search_test.rb +1 -0
  141. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/practitioner/metadata.yml +4 -2
  142. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/practitioner/must_support_test.rb +1 -0
  143. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/practitioner/validation_test.rb +1 -0
  144. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/practitioner_group.rb +1 -0
  145. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/related_person/id_search_test.rb +11 -6
  146. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/related_person/lastupdated_search_test.rb +1 -0
  147. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/related_person/metadata.yml +2 -0
  148. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/related_person/must_support_test.rb +1 -0
  149. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/related_person/validation_test.rb +1 -0
  150. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/related_person_group.rb +1 -0
  151. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/coverage/id_search_test.rb +11 -6
  152. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/coverage/lastupdated_search_test.rb +1 -0
  153. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/coverage/metadata.yml +12 -4
  154. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/coverage/must_support_test.rb +5 -2
  155. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/coverage/validation_test.rb +1 -0
  156. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/coverage_group.rb +1 -0
  157. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob/billable_period_start_search_test.rb +1 -0
  158. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob/id_search_test.rb +1 -0
  159. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob/identifier_search_test.rb +1 -0
  160. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob/lastupdated_search_test.rb +1 -0
  161. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob/metadata.yml +9 -2
  162. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob/must_support_test.rb +2 -1
  163. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob/patient_search_test.rb +7 -2
  164. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob/service_date_search_test.rb +1 -0
  165. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob/service_start_date_search_test.rb +1 -0
  166. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob/type_search_test.rb +1 -0
  167. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob/validation_test.rb +1 -0
  168. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob_group.rb +1 -0
  169. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob_inpatient_institutional/billable_period_start_search_test.rb +1 -0
  170. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob_inpatient_institutional/id_search_test.rb +1 -0
  171. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob_inpatient_institutional/identifier_search_test.rb +1 -0
  172. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob_inpatient_institutional/lastupdated_search_test.rb +1 -0
  173. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob_inpatient_institutional/metadata.yml +164 -94
  174. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob_inpatient_institutional/must_support_test.rb +25 -10
  175. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob_inpatient_institutional/patient_search_test.rb +7 -2
  176. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob_inpatient_institutional/service_date_search_test.rb +1 -0
  177. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob_inpatient_institutional/service_start_date_search_test.rb +1 -0
  178. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob_inpatient_institutional/type_search_test.rb +1 -0
  179. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob_inpatient_institutional/validation_test.rb +1 -0
  180. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob_inpatient_institutional_non_financial/billable_period_start_search_test.rb +1 -0
  181. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob_inpatient_institutional_non_financial/id_search_test.rb +1 -0
  182. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob_inpatient_institutional_non_financial/identifier_search_test.rb +1 -0
  183. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob_inpatient_institutional_non_financial/lastupdated_search_test.rb +1 -0
  184. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob_inpatient_institutional_non_financial/metadata.yml +59 -41
  185. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob_inpatient_institutional_non_financial/must_support_test.rb +22 -8
  186. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob_inpatient_institutional_non_financial/patient_search_test.rb +7 -2
  187. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob_inpatient_institutional_non_financial/service_date_search_test.rb +1 -0
  188. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob_inpatient_institutional_non_financial/service_start_date_search_test.rb +1 -0
  189. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob_inpatient_institutional_non_financial/type_search_test.rb +1 -0
  190. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob_inpatient_institutional_non_financial/validation_test.rb +1 -0
  191. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob_oral/billable_period_start_search_test.rb +1 -0
  192. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob_oral/id_search_test.rb +1 -0
  193. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob_oral/identifier_search_test.rb +1 -0
  194. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob_oral/lastupdated_search_test.rb +1 -0
  195. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob_oral/metadata.yml +129 -77
  196. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob_oral/must_support_test.rb +24 -10
  197. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob_oral/patient_search_test.rb +7 -2
  198. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob_oral/service_date_search_test.rb +1 -0
  199. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob_oral/service_start_date_search_test.rb +1 -0
  200. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob_oral/type_search_test.rb +1 -0
  201. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob_oral/validation_test.rb +1 -0
  202. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob_oral_non_financial/billable_period_start_search_test.rb +1 -0
  203. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob_oral_non_financial/id_search_test.rb +1 -0
  204. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob_oral_non_financial/identifier_search_test.rb +1 -0
  205. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob_oral_non_financial/lastupdated_search_test.rb +1 -0
  206. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob_oral_non_financial/metadata.yml +59 -42
  207. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob_oral_non_financial/must_support_test.rb +22 -9
  208. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob_oral_non_financial/patient_search_test.rb +7 -2
  209. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob_oral_non_financial/service_date_search_test.rb +1 -0
  210. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob_oral_non_financial/service_start_date_search_test.rb +1 -0
  211. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob_oral_non_financial/type_search_test.rb +1 -0
  212. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob_oral_non_financial/validation_test.rb +1 -0
  213. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob_outpatient_institutional/billable_period_start_search_test.rb +1 -0
  214. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob_outpatient_institutional/id_search_test.rb +1 -0
  215. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob_outpatient_institutional/identifier_search_test.rb +1 -0
  216. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob_outpatient_institutional/lastupdated_search_test.rb +1 -0
  217. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob_outpatient_institutional/metadata.yml +164 -94
  218. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob_outpatient_institutional/must_support_test.rb +23 -11
  219. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob_outpatient_institutional/patient_search_test.rb +7 -2
  220. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob_outpatient_institutional/service_date_search_test.rb +1 -0
  221. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob_outpatient_institutional/service_start_date_search_test.rb +1 -0
  222. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob_outpatient_institutional/type_search_test.rb +1 -0
  223. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob_outpatient_institutional/validation_test.rb +1 -0
  224. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob_outpatient_institutional_non_financial/billable_period_start_search_test.rb +1 -0
  225. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob_outpatient_institutional_non_financial/id_search_test.rb +1 -0
  226. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob_outpatient_institutional_non_financial/identifier_search_test.rb +1 -0
  227. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob_outpatient_institutional_non_financial/lastupdated_search_test.rb +1 -0
  228. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob_outpatient_institutional_non_financial/metadata.yml +58 -40
  229. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob_outpatient_institutional_non_financial/must_support_test.rb +19 -8
  230. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob_outpatient_institutional_non_financial/patient_search_test.rb +7 -2
  231. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob_outpatient_institutional_non_financial/service_date_search_test.rb +1 -0
  232. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob_outpatient_institutional_non_financial/service_start_date_search_test.rb +1 -0
  233. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob_outpatient_institutional_non_financial/type_search_test.rb +1 -0
  234. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob_outpatient_institutional_non_financial/validation_test.rb +1 -0
  235. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob_pharmacy/billable_period_start_search_test.rb +1 -0
  236. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob_pharmacy/id_search_test.rb +1 -0
  237. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob_pharmacy/identifier_search_test.rb +1 -0
  238. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob_pharmacy/lastupdated_search_test.rb +1 -0
  239. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob_pharmacy/metadata.yml +127 -78
  240. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob_pharmacy/must_support_test.rb +24 -9
  241. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob_pharmacy/patient_search_test.rb +7 -2
  242. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob_pharmacy/service_date_search_test.rb +1 -0
  243. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob_pharmacy/service_start_date_search_test.rb +1 -0
  244. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob_pharmacy/type_search_test.rb +1 -0
  245. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob_pharmacy/validation_test.rb +1 -0
  246. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob_pharmacy_non_financial/billable_period_start_search_test.rb +1 -0
  247. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob_pharmacy_non_financial/id_search_test.rb +1 -0
  248. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob_pharmacy_non_financial/identifier_search_test.rb +1 -0
  249. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob_pharmacy_non_financial/lastupdated_search_test.rb +1 -0
  250. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob_pharmacy_non_financial/metadata.yml +57 -43
  251. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob_pharmacy_non_financial/must_support_test.rb +22 -8
  252. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob_pharmacy_non_financial/patient_search_test.rb +7 -2
  253. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob_pharmacy_non_financial/service_date_search_test.rb +1 -0
  254. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob_pharmacy_non_financial/service_start_date_search_test.rb +1 -0
  255. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob_pharmacy_non_financial/type_search_test.rb +1 -0
  256. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob_pharmacy_non_financial/validation_test.rb +1 -0
  257. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob_professional_non_clinician/billable_period_start_search_test.rb +1 -0
  258. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob_professional_non_clinician/id_search_test.rb +1 -0
  259. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob_professional_non_clinician/identifier_search_test.rb +1 -0
  260. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob_professional_non_clinician/lastupdated_search_test.rb +1 -0
  261. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob_professional_non_clinician/metadata.yml +121 -68
  262. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob_professional_non_clinician/must_support_test.rb +14 -7
  263. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob_professional_non_clinician/patient_search_test.rb +7 -2
  264. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob_professional_non_clinician/service_date_search_test.rb +1 -0
  265. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob_professional_non_clinician/service_start_date_search_test.rb +1 -0
  266. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob_professional_non_clinician/type_search_test.rb +1 -0
  267. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob_professional_non_clinician/validation_test.rb +1 -0
  268. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob_professional_non_clinician_non_financial/billable_period_start_search_test.rb +1 -0
  269. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob_professional_non_clinician_non_financial/id_search_test.rb +1 -0
  270. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob_professional_non_clinician_non_financial/identifier_search_test.rb +1 -0
  271. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob_professional_non_clinician_non_financial/lastupdated_search_test.rb +1 -0
  272. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob_professional_non_clinician_non_financial/metadata.yml +51 -33
  273. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob_professional_non_clinician_non_financial/must_support_test.rb +12 -6
  274. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob_professional_non_clinician_non_financial/patient_search_test.rb +7 -2
  275. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob_professional_non_clinician_non_financial/service_date_search_test.rb +1 -0
  276. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob_professional_non_clinician_non_financial/service_start_date_search_test.rb +1 -0
  277. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob_professional_non_clinician_non_financial/type_search_test.rb +1 -0
  278. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/eob_professional_non_clinician_non_financial/validation_test.rb +1 -0
  279. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/metadata.yml +1035 -604
  280. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/organization/id_search_test.rb +11 -6
  281. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/organization/lastupdated_search_test.rb +1 -0
  282. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/organization/metadata.yml +8 -4
  283. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/organization/must_support_test.rb +1 -0
  284. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/organization/validation_test.rb +1 -0
  285. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/organization_group.rb +1 -0
  286. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/patient/id_search_test.rb +7 -2
  287. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/patient/lastupdated_search_test.rb +1 -0
  288. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/patient/metadata.yml +11 -2
  289. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/patient/must_support_test.rb +5 -0
  290. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/patient/validation_test.rb +1 -0
  291. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/patient_group.rb +1 -0
  292. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/practitioner/id_search_test.rb +11 -6
  293. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/practitioner/lastupdated_search_test.rb +1 -0
  294. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/practitioner/metadata.yml +4 -2
  295. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/practitioner/must_support_test.rb +1 -0
  296. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/practitioner/validation_test.rb +1 -0
  297. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/practitioner_group.rb +1 -0
  298. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/related_person/id_search_test.rb +11 -6
  299. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/related_person/lastupdated_search_test.rb +1 -0
  300. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/related_person/metadata.yml +2 -0
  301. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/related_person/must_support_test.rb +1 -0
  302. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/related_person/validation_test.rb +1 -0
  303. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0-dev-nonfinancial/related_person_group.rb +1 -0
  304. data/lib/carin_for_blue_button_test_kit/generator/group_generator.rb +2 -2
  305. data/lib/carin_for_blue_button_test_kit/generator/group_metadata_extractor.rb +2 -3
  306. data/lib/carin_for_blue_button_test_kit/generator/must_support_test_generator.rb +2 -2
  307. data/lib/carin_for_blue_button_test_kit/generator/search_test_generator.rb +1 -1
  308. data/lib/carin_for_blue_button_test_kit/generator/templates/group.rb.erb +5 -0
  309. data/lib/carin_for_blue_button_test_kit/generator/templates/must_support.rb.erb +3 -0
  310. data/lib/carin_for_blue_button_test_kit/generator/templates/search.rb.erb +6 -1
  311. data/lib/carin_for_blue_button_test_kit/generator/templates/validation.rb.erb +10 -0
  312. data/lib/carin_for_blue_button_test_kit/generator/validation_test_generator.rb +1 -1
  313. data/lib/carin_for_blue_button_test_kit/must_support_test.rb +1 -192
  314. data/lib/carin_for_blue_button_test_kit/requirements/carin-for-blue-button-test-kit_out_of_scope_requirements.csv +15 -0
  315. data/lib/carin_for_blue_button_test_kit/requirements/carin-for-blue-button-test-kit_requirements.csv +80 -85
  316. data/lib/carin_for_blue_button_test_kit/requirements/generated/carin-for-blue-button-test-kit_requirements_coverage.csv +183 -240
  317. data/lib/carin_for_blue_button_test_kit/version.rb +2 -2
  318. data/lib/requirements_config.yaml +3 -0
  319. metadata +29 -9
  320. data/lib/carin_for_blue_button_test_kit/client/v2.0.0/endpoints/authorize_endpoint.rb +0 -32
  321. data/lib/carin_for_blue_button_test_kit/client/v2.0.0/mock_authorization.rb +0 -35
  322. data/lib/carin_for_blue_button_test_kit/generator/must_support_metadata_extractor.rb +0 -326
@@ -0,0 +1,65 @@
1
+ require 'udap_security_test_kit'
2
+ require 'smart_app_launch_test_kit'
3
+ require_relative 'client_options'
4
+ require_relative 'client_registration/configuration_display_smart_test'
5
+ require_relative 'client_registration/configuration_display_udap_test'
6
+
7
+ module CarinForBlueButtonTestKit
8
+ class CarinClientRegistrationGroup < Inferno::TestGroup
9
+ id :c4bb_v200_client_registration
10
+ title 'Client Registration'
11
+ description %(
12
+ Register the client under test with Inferno's simulated CARIN Server,
13
+ including configuration of the system under test to hit the correct endpoints and
14
+ enable authentication and authorization of CARIN requests.
15
+ )
16
+ run_as_group
17
+
18
+ # smart registration tests
19
+ test from: :smart_client_registration_alca_verification,
20
+ required_suite_options: {
21
+ client_type: CarinClientOptions::SMART_APP_LAUNCH_CONFIDENTIAL_ASYMMETRIC
22
+ }
23
+ test from: :smart_client_registration_alcs_verification,
24
+ required_suite_options: {
25
+ client_type: CarinClientOptions::SMART_APP_LAUNCH_CONFIDENTIAL_SYMMETRIC
26
+ }
27
+ test from: :smart_client_registration_alp_verification,
28
+ required_suite_options: {
29
+ client_type: CarinClientOptions::SMART_APP_LAUNCH_PUBLIC
30
+ }
31
+ test from: :c4bb_v200_client_reg_config_smart_display,
32
+ id: :c4bb_v200_client_reg_config_smart_alca_display,
33
+ required_suite_options: {
34
+ client_type: CarinClientOptions::SMART_APP_LAUNCH_CONFIDENTIAL_ASYMMETRIC
35
+ }
36
+ test from: :c4bb_v200_client_reg_config_smart_display,
37
+ id: :c4bb_v200_client_reg_config_smart_alcs_display,
38
+ required_suite_options: {
39
+ client_type: CarinClientOptions::SMART_APP_LAUNCH_CONFIDENTIAL_SYMMETRIC
40
+ }
41
+ test from: :c4bb_v200_client_reg_config_smart_display,
42
+ id: :c4bb_v200_client_reg_config_smart_alp_display,
43
+ required_suite_options: {
44
+ client_type: CarinClientOptions::SMART_APP_LAUNCH_PUBLIC
45
+ }
46
+
47
+ # udap registration tests
48
+ test from: :udap_client_registration_interaction,
49
+ id: :c4bb_v200_client_reg_udap_interaction,
50
+ config: { options: { endpoint_suite_id: :c4bb_v200_client } },
51
+ required_suite_options: {
52
+ client_type: CarinClientOptions::UDAP_AUTHORIZATION_CODE
53
+ }
54
+ test from: :udap_client_registration_ac_verification,
55
+ id: :c4bb_v200_client_reg_udap_verification,
56
+ config: { options: { endpoint_suite_id: :c4bb_v200_client } },
57
+ required_suite_options: {
58
+ client_type: CarinClientOptions::UDAP_AUTHORIZATION_CODE
59
+ }
60
+ test from: :c4bb_v200_client_reg_config_udap_display,
61
+ required_suite_options: {
62
+ client_type: CarinClientOptions::UDAP_AUTHORIZATION_CODE
63
+ }
64
+ end
65
+ end
@@ -74,7 +74,7 @@ module CarinForBlueButtonTestKit
74
74
  def resource_type_endpoint(url)
75
75
  return unless url.start_with?('http://', 'https://')
76
76
 
77
- match = %r{custom/c4bb_v200_client/fhir/(.*)\?}.match(url)
77
+ match = %r{custom/#{suite_id}/fhir/(.*)\?}.match(url)
78
78
  match[1] if match.present?
79
79
  end
80
80
 
@@ -0,0 +1,51 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'udap_security_test_kit'
4
+ require 'smart_app_launch_test_kit'
5
+ require_relative '../urls'
6
+ require_relative '../tags'
7
+ require_relative '../client_options'
8
+
9
+ module CarinForBlueButtonTestKit
10
+ module MockUdapSmartServer
11
+ class AuthorizationEndpoint < Inferno::DSL::SuiteEndpoint
12
+ include SMARTAppLaunch::MockSMARTServer::SMARTAuthorizationResponseCreation
13
+ include UDAPSecurityTestKit::MockUDAPServer::UDAPAuthorizationResponseCreation
14
+ include CarinClientOptions
15
+
16
+ def test_run_identifier
17
+ request.params[:client_id]
18
+ end
19
+
20
+ def suite_options
21
+ @suite_options ||=
22
+ Inferno::Repositories::TestSessions.new.find(result.test_session_id)
23
+ &.suite_options&.map { |so| [so.id, so.value] }&.to_h
24
+ end
25
+
26
+ def make_response
27
+ if selected_security_ig(suite_options) == UDAPSecurityTestKit::UDAP_TAG
28
+ make_udap_authorization_response
29
+ else
30
+ make_smart_authorization_response
31
+ end
32
+ end
33
+
34
+ def update_result
35
+ nil # never update for now
36
+ end
37
+
38
+ def tags
39
+ tags = [UDAPSecurityTestKit::AUTHORIZATION_TAG, UDAPSecurityTestKit::AUTHORIZATION_CODE_TAG]
40
+ tags <<
41
+ if selected_security_ig(suite_options) == UDAPSecurityTestKit::UDAP_TAG
42
+ UDAPSecurityTestKit::UDAP_TAG
43
+ else
44
+ SMARTAppLaunch::SMART_TAG
45
+ end
46
+
47
+ tags
48
+ end
49
+ end
50
+ end
51
+ end
@@ -1,14 +1,15 @@
1
+ require 'udap_security_test_kit'
1
2
  require_relative '../tags'
2
3
  require_relative '../mock_server'
3
- require_relative '../mock_authorization'
4
4
 
5
5
  module CarinForBlueButtonTestKit
6
6
  class NextPageEndpoint < Inferno::DSL::SuiteEndpoint
7
7
  include CarinForBlueButtonTestKit::MockServer
8
- include CarinForBlueButtonTestKit::MockAuthorization
9
8
 
10
9
  def test_run_identifier
11
- extract_client_id_from_bearer_token(request)
10
+ UDAPSecurityTestKit::MockUDAPServer.issued_token_to_client_id(
11
+ request.headers['authorization']&.delete_prefix('Bearer ')
12
+ )
12
13
  end
13
14
 
14
15
  def make_response
@@ -1,16 +1,17 @@
1
+ require 'udap_security_test_kit'
1
2
  require_relative '../tags'
2
3
  require_relative '../mock_server'
3
- require_relative '../mock_authorization'
4
4
  require_relative '../client_validation_test'
5
5
 
6
6
  module CarinForBlueButtonTestKit
7
7
  class ResourceAPIEndpoint < Inferno::DSL::SuiteEndpoint
8
8
  include CarinForBlueButtonTestKit::MockServer
9
- include CarinForBlueButtonTestKit::MockAuthorization
10
9
  include CarinForBlueButtonTestKit::ClientValidationTest
11
10
 
12
11
  def test_run_identifier
13
- extract_client_id_from_bearer_token(request)
12
+ UDAPSecurityTestKit::MockUDAPServer.issued_token_to_client_id(
13
+ request.headers['authorization']&.delete_prefix('Bearer ')
14
+ )
14
15
  end
15
16
 
16
17
  def make_response
@@ -1,14 +1,15 @@
1
+ require 'udap_security_test_kit'
1
2
  require_relative '../tags'
2
3
  require_relative '../mock_server'
3
- require_relative '../mock_authorization'
4
4
 
5
5
  module CarinForBlueButtonTestKit
6
6
  class ResourceIDEndpoint < Inferno::DSL::SuiteEndpoint
7
7
  include CarinForBlueButtonTestKit::MockServer
8
- include CarinForBlueButtonTestKit::MockAuthorization
9
8
 
10
9
  def test_run_identifier
11
- extract_client_id_from_bearer_token(request)
10
+ UDAPSecurityTestKit::MockUDAPServer.issued_token_to_client_id(
11
+ request.headers['authorization']&.delete_prefix('Bearer ')
12
+ )
12
13
  end
13
14
 
14
15
  def make_response
@@ -1,79 +1,77 @@
1
- require_relative '../tags'
1
+ # frozen_string_literal: true
2
+
3
+ require 'udap_security_test_kit'
4
+ require 'smart_app_launch_test_kit'
2
5
  require_relative '../urls'
3
- require_relative '../mock_server'
4
- require_relative '../mock_authorization'
6
+ require_relative '../tags'
5
7
 
6
8
  module CarinForBlueButtonTestKit
7
- module MockAuthorization
8
- CARIN_PATIENT_ID = '888'.freeze # Must exist on the FHIR_REFERENCE_SERVER (env var)
9
-
9
+ module MockUdapSmartServer
10
10
  class TokenEndpoint < Inferno::DSL::SuiteEndpoint
11
- include CarinForBlueButtonTestKit::MockServer
11
+ include SMARTAppLaunch::MockSMARTServer::SMARTTokenResponseCreation
12
+ include UDAPSecurityTestKit::MockUDAPServer::UDAPTokenResponseCreation
13
+ include URLs
12
14
 
13
15
  def test_run_identifier
14
- extract_client_id
15
- end
16
-
17
- def tags
18
- [TOKEN_TAG]
16
+ case request.params[:grant_type]
17
+ when UDAPSecurityTestKit::CLIENT_CREDENTIALS_TAG
18
+ UDAPSecurityTestKit::MockUDAPServer.client_id_from_client_assertion(request.params[:client_assertion])
19
+ when UDAPSecurityTestKit::AUTHORIZATION_CODE_TAG
20
+ UDAPSecurityTestKit::MockUDAPServer.issued_token_to_client_id(request.params[:code])
21
+ when UDAPSecurityTestKit::REFRESH_TOKEN_TAG
22
+ UDAPSecurityTestKit::MockUDAPServer.issued_token_to_client_id(
23
+ UDAPSecurityTestKit::MockUDAPServer.refresh_token_to_authorization_code(request.params[:refresh_token])
24
+ )
25
+ end
19
26
  end
20
27
 
21
28
  def make_response
22
- client_id = extract_client_id
23
- access_token = JWT.encode({ inferno_client_id: client_id }, nil, 'none')
24
- granted_scopes = SUPPORTED_SCOPES & requested_scopes
25
-
26
- response_hash = { access_token:, scope: granted_scopes.join(' '), token_type: 'bearer',
27
- expires_in: 3600 }
28
-
29
- response_hash.merge!(patient: CARIN_PATIENT_ID)
30
-
31
- response.body = response_hash.to_json
32
- response.headers['Cache-Control'] = 'no-store'
33
- response.headers['Pragma'] = 'no-cache'
34
- response.status = 200
35
- end
36
-
37
- private
38
-
39
- def extract_client_id
40
- # Public client || confidential client asymmetric || confidential client symmetric
41
- request.params[:client_id] || extract_client_id_from_client_assertion || extract_client_id_from_basic_auth
42
- end
43
-
44
- def extract_client_id_from_client_assertion
45
- encoded_jwt = request.params[:client_assertion]
46
- return unless encoded_jwt.present?
47
-
48
- jwt_payload =
49
- begin
50
- JWT.decode(encoded_jwt, nil, false)&.first # skip signature verification
51
- rescue StandardError
52
- nil
29
+ if request.params[:udap].present?
30
+ case request.params[:grant_type]
31
+ when UDAPSecurityTestKit::AUTHORIZATION_CODE_TAG
32
+ make_udap_authorization_code_token_response
33
+ when UDAPSecurityTestKit::REFRESH_TOKEN_TAG
34
+ make_udap_refresh_token_response
35
+ else
36
+ UDAPSecurityTestKit::MockUDAPServer.update_response_for_invalid_assertion(
37
+ response,
38
+ "unsupported grant_type: #{request.params[:grant_type]}"
39
+ )
53
40
  end
54
-
55
- jwt_payload['iss'] || jwt_payload['sub'] if jwt_payload.present?
41
+ else
42
+ suite_options_list = Inferno::Repositories::TestSessions.new.find(result.test_session_id)&.suite_options
43
+ suite_options_hash = suite_options_list&.map { |option| [option.id, option.value] }&.to_h
44
+ smart_authentication_approach =
45
+ SMARTAppLaunch::SMARTClientOptions.smart_authentication_approach(suite_options_hash)
46
+
47
+ case request.params[:grant_type]
48
+ when SMARTAppLaunch::AUTHORIZATION_CODE_TAG
49
+ make_smart_authorization_code_token_response(smart_authentication_approach)
50
+ when SMARTAppLaunch::REFRESH_TOKEN_TAG
51
+ make_smart_refresh_token_response(smart_authentication_approach)
52
+ else
53
+ SMARTAppLaunch::MockSMARTServer.update_response_for_invalid_assertion(
54
+ response,
55
+ "unsupported grant_type: #{request.params[:grant_type]}"
56
+ )
57
+ end
58
+ end
56
59
  end
57
60
 
58
- def extract_client_id_from_basic_auth
59
- encoded_credentials = request.headers['authorization']&.delete_prefix('Basic ')
60
- return unless encoded_credentials.present?
61
-
62
- decoded_credentials = Base64.decode64(encoded_credentials)
63
- decoded_credentials&.split(':')&.first
61
+ def update_result
62
+ nil # never update for now
64
63
  end
65
64
 
66
- def requested_scopes
67
- auth_request = requests_repo.tagged_requests(result.test_session_id, [AUTHORIZE_TAG]).last
68
- return [] unless auth_request
69
-
70
- auth_params = if auth_request.verb.downcase == 'get'
71
- auth_request.query_parameters
72
- else
73
- URI.decode_www_form(auth_request.request_body)&.to_h
74
- end
75
- scope_str = auth_params&.dig('scope')
76
- scope_str ? URI.decode_www_form_component(scope_str).split : []
65
+ def tags
66
+ tags = [UDAPSecurityTestKit::TOKEN_TAG]
67
+ tags << (request.params[:udap].present? ? UDAPSecurityTestKit::UDAP_TAG : SMARTAppLaunch::SMART_TAG)
68
+ if [UDAPSecurityTestKit::CLIENT_CREDENTIALS_TAG,
69
+ UDAPSecurityTestKit::AUTHORIZATION_CODE_TAG,
70
+ UDAPSecurityTestKit::REFRESH_TOKEN_TAG].include?(request.params[:grant_type])
71
+ tags << request.params[:grant_type]
72
+ end
73
+
74
+ tags
77
75
  end
78
76
  end
79
77
  end
@@ -1,4 +1,6 @@
1
+ require 'smart_app_launch_test_kit'
1
2
  require_relative 'urls'
3
+
2
4
  module CarinForBlueButtonTestKit
3
5
  class C4BBClientInitialWaitTest < Inferno::Test
4
6
  include URLs
@@ -9,46 +11,44 @@ module CarinForBlueButtonTestKit
9
11
  This test will receive claims data requests and search requests until the user confirms they are done.
10
12
  )
11
13
  input :client_id,
12
- title: 'Client ID',
13
- description: %(
14
- Enter the client ID you will use to connect to this CARIN server via a SMART launch.
15
- )
16
-
14
+ title: 'Client Id',
15
+ type: 'text',
16
+ optional: true,
17
+ locked: true,
18
+ description: SMARTAppLaunch::INPUT_CLIENT_ID_DESCRIPTION_LOCKED
19
+ input :smart_launch_urls,
20
+ title: 'SMART App Launch URL(s)',
21
+ type: 'textarea',
22
+ locked: true,
23
+ optional: true,
24
+ description: SMARTAppLaunch::INPUT_SMART_LAUNCH_URLS_DESCRIPTION_LOCKED
25
+ input :launch_context,
26
+ title: 'Launch Context',
27
+ type: 'textarea',
28
+ optional: true,
29
+ description: SMARTAppLaunch::INPUT_LAUNCH_CONTEXT_DESCRIPTION
30
+ input :fhir_user_relative_reference,
31
+ title: 'FHIR User Relative Reference',
32
+ type: 'text',
33
+ optional: true,
34
+ description: SMARTAppLaunch::INPUT_FHIR_USER_RELATIVE_REFERENCE
35
+ input_order :launch_context, :fhir_user_relative_reference, :smart_launch_urls, :client_id
36
+ output :launch_key
17
37
  config options: { accepts_multiple_requests: true }
18
38
 
19
- def example_client_jwt_payload_part
20
- Base64.strict_encode64({ inferno_client_id: client_id }.to_json).delete('=')
21
- end
22
-
23
39
  run do
40
+ if smart_launch_urls.present?
41
+ launch_key = SecureRandom.hex(32)
42
+ output(launch_key:)
43
+ end
44
+
24
45
  wait(
25
46
  identifier: client_id,
26
47
  message: %(
27
- ### SMART App Launch
28
-
29
- You may connect to the Inferno CARIN client test server via
30
- [SMART App Launch](https://hl7.org/fhir/smart-app-launch/STU2/app-launch.html).
31
- Perform the following steps:
32
- 1. Perform a [Standalone Launch](https://hl7.org/fhir/smart-app-launch/STU2/app-launch.html#step-2-launch-standalone)
33
- 2. Retrieve .well-known/smart-configuration: `#{smart_configuration_url}`
34
- 3. Obtain authorization code: `#{authorization_url}`
35
- 4. Obtain access token: `#{token_url}`
36
- 5. Access FHIR API
37
-
38
- ### Request Identification
39
-
40
- In order to identify requests for this session, Inferno will look for
41
- an `Authorization` header with value:
42
-
43
- ```
44
- Bearer eyJhbGciOiJub25lIn0.#{example_client_jwt_payload_part}.
45
- ```
46
-
47
- ### FHIR API
48
-
49
48
  Submit CARIN requests via the following method:
50
- * Single Resource API: `#{submit_url}?:search_params`, with `:endpoint` replaced with the endpoint you want
51
- to reach and `:search_params` replaced with the search parameters for the request.
49
+ * Single Resource API: `#{resource_api_url}?:search_params`, with `:endpoint`
50
+ replaced with the endpoint you want to reach and `:search_params` replaced with the search parameters
51
+ for the request.
52
52
 
53
53
  The following CARIN resources can be accessed on the Inferno Reference Server with the following IDs, and
54
54
  the following search parameters are required for each resource type:
@@ -9,11 +9,10 @@
9
9
  ],
10
10
  "implementation": {
11
11
  "description": "Inferno CARIN For Blue Button Client Testing Simulation Server",
12
- "url": "http://localhost:8080/reference-server/r4"
12
+ "url": "<%= Inferno::Application['base_url'] %>/custom/c4bb_v200_client/fhir"
13
13
  },
14
14
  "fhirVersion": "4.0.1",
15
15
  "format": [
16
- "application/fhir+xml",
17
16
  "application/fhir+json"
18
17
  ],
19
18
  "implementationGuide": [
@@ -30,11 +29,11 @@
30
29
  "extension": [
31
30
  {
32
31
  "url": "token",
33
- "valueUri": "<%= Inferno::Application['base_url'] %>/custom/c4bb_v200_client/mock_auth/token"
32
+ "valueUri": "<%= Inferno::Application['base_url'] %>/custom/c4bb_v200_client/auth/token"
34
33
  },
35
34
  {
36
35
  "url": "authorize",
37
- "valueUri": "<%= Inferno::Application['base_url'] %>/custom/c4bb_v200_client/mock_auth/authorization"
36
+ "valueUri": "<%= Inferno::Application['base_url'] %>/custom/c4bb_v200_client/auth/authorization"
38
37
  }
39
38
  ]
40
39
  }
@@ -106,32 +106,6 @@ module CarinForBlueButtonTestKit
106
106
  }
107
107
  end
108
108
 
109
- def carin_smart_config
110
- response_body =
111
- {
112
- authorization_endpoint: authorization_url,
113
- token_endpoint: token_url,
114
- token_endpoint_auth_methods_supported: ['private_key_jwt'],
115
- token_endpoint_auth_signing_alg_values_supported: ['RS256'],
116
- grant_types_supported: ['authorization_code'],
117
- scopes_supported: SUPPORTED_SCOPES,
118
- response_types_supported: ['code'],
119
- code_challenge_methods_supported: ['S256'],
120
- capabilities: [
121
- 'launch-ehr',
122
- 'permission-patient',
123
- 'permission-user',
124
- 'client-public',
125
- 'client-confidential-symmetric',
126
- 'client-confidential-asymmetric'
127
- ]
128
- }.to_json
129
-
130
- proc {
131
- [200, { 'Content-Type' => 'application/json' }, [response_body]]
132
- }
133
- end
134
-
135
109
  def remove_transfer_encoding_and_content_length_header(headers)
136
110
  headers.delete('transfer-encoding') if headers['transfer-encoding'].present?
137
111
 
@@ -140,8 +114,12 @@ module CarinForBlueButtonTestKit
140
114
  headers.delete('Content-Length')
141
115
  end
142
116
 
117
+ def supported_searches
118
+ @supported_searches ||= SEARCHES_BY_PRIORITY
119
+ end
120
+
143
121
  def match_request_to_expectation(resource_type, params)
144
- matched_search = SEARCHES_BY_PRIORITY[resource_type.to_sym].select do |expectation|
122
+ matched_search = supported_searches[resource_type.to_sym].select do |expectation|
145
123
  (params.keys.map(&:to_s) & expectation).sort == expectation
146
124
  end.map(&:first)
147
125
 
@@ -176,14 +154,14 @@ module CarinForBlueButtonTestKit
176
154
  def resource_endpoint(url)
177
155
  return unless url.start_with?('http://', 'https://')
178
156
 
179
- match = %r{custom/c4bb_v200_client/fhir/(.*)\?}.match(url)
157
+ match = %r{custom/#{suite_id}/fhir/(.*)\?}.match(url)
180
158
  match[1] if match.present?
181
159
  end
182
160
 
183
161
  def resource_id_endpoint(url)
184
162
  return unless url.start_with?('http://', 'https://')
185
163
 
186
- match = %r{custom/c4bb_v200_client/fhir/(.*)}.match(url)
164
+ match = %r{custom/#{suite_id}/fhir/(.*)}.match(url)
187
165
  match[1] if match.present?
188
166
  end
189
167
 
@@ -206,7 +184,11 @@ module CarinForBlueButtonTestKit
206
184
  end
207
185
 
208
186
  def new_link
209
- "#{Inferno::Application['base_url']}/custom/c4bb_v200_client/fhir"
187
+ "#{Inferno::Application['base_url']}/custom/#{suite_id}/fhir"
188
+ end
189
+
190
+ def suite_id
191
+ C4BBV200ClientSuite.id
210
192
  end
211
193
 
212
194
  # @private
@@ -27,6 +27,12 @@ module CarinForBlueButtonTestKit
27
27
  ]
28
28
  end
29
29
 
30
+ def suite_id # allow overriding without extension - used by resource_previous_search_params logic
31
+ return config.options[:suite_id] if config.options[:suite_id].present?
32
+
33
+ C4BBV200ClientSuite.id
34
+ end
35
+
30
36
  run do
31
37
  search_params = resource_previous_search_params(:CoverageSearch)
32
38
  skip_if search_params.nil?, 'No search requests made for Coverage resource'
@@ -54,6 +54,12 @@ module CarinForBlueButtonTestKit
54
54
  ]
55
55
  end
56
56
 
57
+ def suite_id # allow overriding without extension - used by resource_previous_search_params logic
58
+ return config.options[:suite_id] if config.options[:suite_id].present?
59
+
60
+ C4BBV200ClientSuite.id
61
+ end
62
+
57
63
  run do
58
64
  search_params = resource_previous_search_params(:ExplanationOfBenefitSearch)
59
65
  skip_if search_params.nil?, 'No search requests made for Explanation of Benefit resource'
@@ -29,6 +29,12 @@ module CarinForBlueButtonTestKit
29
29
  ]
30
30
  end
31
31
 
32
+ def suite_id # allow overriding without extension - used by resource_previous_search_params logic
33
+ return config.options[:suite_id] if config.options[:suite_id].present?
34
+
35
+ C4BBV200ClientSuite.id
36
+ end
37
+
32
38
  run do
33
39
  search_params = resource_previous_search_params(:OrganizationSearch)
34
40
  skip_if search_params.nil?, 'No search requests made for Organization resource'
@@ -45,6 +45,12 @@ module CarinForBlueButtonTestKit
45
45
  ]
46
46
  end
47
47
 
48
+ def suite_id # allow overriding without extension - used by resource_previous_search_params logic
49
+ return config.options[:suite_id] if config.options[:suite_id].present?
50
+
51
+ C4BBV200ClientSuite.id
52
+ end
53
+
48
54
  run do
49
55
  search_params = resource_previous_search_params(:PatientSearch)
50
56
  skip_if search_params.nil?, 'No search requests made for Patient resource'
@@ -29,6 +29,12 @@ module CarinForBlueButtonTestKit
29
29
  ]
30
30
  end
31
31
 
32
+ def suite_id # allow overriding without extension - used by resource_previous_search_params logic
33
+ return config.options[:suite_id] if config.options[:suite_id].present?
34
+
35
+ C4BBV200ClientSuite.id
36
+ end
37
+
32
38
  run do
33
39
  search_params = resource_previous_search_params(:PractitionerSearch)
34
40
  skip_if search_params.nil?, 'No search requests made for Practitioner resource'
@@ -25,6 +25,12 @@ module CarinForBlueButtonTestKit
25
25
  ]
26
26
  end
27
27
 
28
+ def suite_id # allow overriding without extension - used by resource_previous_search_params logic
29
+ return config.options[:suite_id] if config.options[:suite_id].present?
30
+
31
+ C4BBV200ClientSuite.id
32
+ end
33
+
28
34
  run do
29
35
  search_params = resource_previous_search_params(:RelatedPersonSearch)
30
36
  skip_if search_params.nil?, 'No search requests made for RelatedPerson resource'
@@ -1,9 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module CarinForBlueButtonTestKit
4
- AUTH_TAG = 'carin_auth'
5
- RESOURCE_API_TAG = 'carin_resource_api'
6
- RESOURCE_ID_TAG = 'carin_resource_id'
7
- AUTHORIZE_TAG = 'carin_smart_app_authorize'
8
- TOKEN_TAG = 'carin_smart_app_token'
4
+ RESOURCE_API_TAG = 'resource_api'
5
+ RESOURCE_ID_TAG = 'resource_id'
9
6
  end
@@ -1,6 +1,6 @@
1
1
  module CarinForBlueButtonTestKit
2
- TOKEN_PATH = '/mock_auth/token'.freeze
3
- AUTH_PATH = '/mock_auth/authorization'.freeze
2
+ TOKEN_PATH = '/auth/token'.freeze
3
+ AUTHORIZATION_PATH = '/auth/authorization'.freeze
4
4
  JKWS_PATH = '/.well-known/jwks.json'.freeze
5
5
  SMART_CONFIG_PATH = '/.well-known/smart-configuration'.freeze
6
6
  PATIENT_PATH = '/fhir/Patient'.freeze
@@ -22,7 +22,7 @@ module CarinForBlueButtonTestKit
22
22
  end
23
23
 
24
24
  def authorization_url
25
- @authorization_url ||= base_url + AUTH_PATH
25
+ @authorization_url ||= base_url + AUTHORIZATION_PATH
26
26
  end
27
27
 
28
28
  def jwks_url
@@ -33,16 +33,20 @@ module CarinForBlueButtonTestKit
33
33
  @smart_configuration_url ||= base_url + SMART_CONFIG_PATH
34
34
  end
35
35
 
36
- def base_fhir_url
37
- @base_fhir_url ||= base_url + BASE_FHIR_PATH
36
+ def fhir_base_url
37
+ @fhir_base_url ||= base_url + BASE_FHIR_PATH
38
+ end
39
+
40
+ def client_fhir_base_url # alias for OIDC from SMART / UDAP client tests
41
+ fhir_base_url
38
42
  end
39
43
 
40
44
  def patient_url
41
45
  @patient_url ||= base_url + PATIENT_PATH
42
46
  end
43
47
 
44
- def submit_url
45
- @submit_url ||= base_url + RESOURCE_API_PATH
48
+ def resource_api_url
49
+ @resource_api_url ||= base_url + RESOURCE_API_PATH
46
50
  end
47
51
 
48
52
  def resource_id_url