au_ps_inferno 0.1.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.
Files changed (195) hide show
  1. checksums.yaml +7 -0
  2. data/LICENSE +201 -0
  3. data/lib/au_ps_inferno/generator/constants.rb +61 -0
  4. data/lib/au_ps_inferno/generator/generator.rb +76 -0
  5. data/lib/au_ps_inferno/generator/generator_group_based_metadata_module.rb +113 -0
  6. data/lib/au_ps_inferno/generator/ig_resources_extractor.rb +149 -0
  7. data/lib/au_ps_inferno/generator/metadata_manager.rb +608 -0
  8. data/lib/au_ps_inferno/generator/naming.rb +52 -0
  9. data/lib/au_ps_inferno/generator/sections_validation_group_generator.rb +182 -0
  10. data/lib/au_ps_inferno/generator/test_file_generator.rb +77 -0
  11. data/lib/au_ps_inferno/suite/au_ps_bundle_instance/au_ps_bundle_instance.rb +56 -0
  12. data/lib/au_ps_inferno/suite/au_ps_bundle_instance/au_ps_bundle_must_support_conformance/suite_au_ps_bundle_instance_au_ps_bundle_must_support_conformance_bundle_must_support_populated.rb +21 -0
  13. data/lib/au_ps_inferno/suite/au_ps_bundle_instance/au_ps_bundle_must_support_conformance.rb +16 -0
  14. data/lib/au_ps_inferno/suite/au_ps_bundle_instance/au_ps_composition_attester/suite_au_ps_bundle_instance_au_ps_composition_attester_attester_party_ms_elements.rb +21 -0
  15. data/lib/au_ps_inferno/suite/au_ps_bundle_instance/au_ps_composition_attester/suite_au_ps_bundle_instance_au_ps_composition_attester_attester_party_ms_identifier_slices.rb +21 -0
  16. data/lib/au_ps_inferno/suite/au_ps_bundle_instance/au_ps_composition_attester/suite_au_ps_bundle_instance_au_ps_composition_attester_attester_party_ms_subelements.rb +21 -0
  17. data/lib/au_ps_inferno/suite/au_ps_bundle_instance/au_ps_composition_attester.rb +26 -0
  18. data/lib/au_ps_inferno/suite/au_ps_bundle_instance/au_ps_composition_author/suite_au_ps_bundle_instance_au_ps_composition_author_author_ms_elements.rb +21 -0
  19. data/lib/au_ps_inferno/suite/au_ps_bundle_instance/au_ps_composition_author/suite_au_ps_bundle_instance_au_ps_composition_author_author_ms_identifier_slices.rb +21 -0
  20. data/lib/au_ps_inferno/suite/au_ps_bundle_instance/au_ps_composition_author/suite_au_ps_bundle_instance_au_ps_composition_author_author_ms_subelements.rb +21 -0
  21. data/lib/au_ps_inferno/suite/au_ps_bundle_instance/au_ps_composition_author/suite_au_ps_bundle_instance_au_ps_composition_author_author_resource_type_is_valid.rb +21 -0
  22. data/lib/au_ps_inferno/suite/au_ps_bundle_instance/au_ps_composition_author.rb +28 -0
  23. data/lib/au_ps_inferno/suite/au_ps_bundle_instance/au_ps_composition_custodian/suite_au_ps_bundle_instance_au_ps_composition_custodian_custodian_ms_elements.rb +21 -0
  24. data/lib/au_ps_inferno/suite/au_ps_bundle_instance/au_ps_composition_custodian/suite_au_ps_bundle_instance_au_ps_composition_custodian_custodian_ms_identifier_slices.rb +21 -0
  25. data/lib/au_ps_inferno/suite/au_ps_bundle_instance/au_ps_composition_custodian/suite_au_ps_bundle_instance_au_ps_composition_custodian_custodian_ms_subelements.rb +21 -0
  26. data/lib/au_ps_inferno/suite/au_ps_bundle_instance/au_ps_composition_custodian.rb +26 -0
  27. data/lib/au_ps_inferno/suite/au_ps_bundle_instance/au_ps_composition_mandatory_sections/composition_mandatory_sections_mandatory_sections_entry_profiles.rb +21 -0
  28. data/lib/au_ps_inferno/suite/au_ps_bundle_instance/au_ps_composition_mandatory_sections/suite_au_ps_bundle_instance_au_ps_composition_mandatory_sections_sections_shall_populated.rb +21 -0
  29. data/lib/au_ps_inferno/suite/au_ps_bundle_instance/au_ps_composition_mandatory_sections.rb +20 -0
  30. data/lib/au_ps_inferno/suite/au_ps_bundle_instance/au_ps_composition_must_support_conformance/composition_must_support_conformance_composition_mandatory_ms_populated.rb +21 -0
  31. data/lib/au_ps_inferno/suite/au_ps_bundle_instance/au_ps_composition_must_support_conformance/composition_must_support_conformance_composition_ms_subelements_populated.rb +22 -0
  32. data/lib/au_ps_inferno/suite/au_ps_bundle_instance/au_ps_composition_must_support_conformance/composition_must_support_conformance_composition_optional_ms_populated.rb +22 -0
  33. data/lib/au_ps_inferno/suite/au_ps_bundle_instance/au_ps_composition_must_support_conformance/composition_must_support_conformance_composition_optional_ms_slices.rb +22 -0
  34. data/lib/au_ps_inferno/suite/au_ps_bundle_instance/au_ps_composition_must_support_conformance.rb +28 -0
  35. data/lib/au_ps_inferno/suite/au_ps_bundle_instance/au_ps_composition_optional_sections/suite_au_ps_bundle_instance_au_ps_composition_optional_sections_optional_sections_entry_profiles.rb +22 -0
  36. data/lib/au_ps_inferno/suite/au_ps_bundle_instance/au_ps_composition_optional_sections/suite_au_ps_bundle_instance_au_ps_composition_optional_sections_sections_may_populated.rb +24 -0
  37. data/lib/au_ps_inferno/suite/au_ps_bundle_instance/au_ps_composition_optional_sections.rb +20 -0
  38. data/lib/au_ps_inferno/suite/au_ps_bundle_instance/au_ps_composition_recommended_sections/composition_recommended_sections_recommended_sections_entry_profiles.rb +21 -0
  39. data/lib/au_ps_inferno/suite/au_ps_bundle_instance/au_ps_composition_recommended_sections/suite_au_ps_bundle_instance_au_ps_composition_recommended_sections_sections_should_populated.rb +22 -0
  40. data/lib/au_ps_inferno/suite/au_ps_bundle_instance/au_ps_composition_recommended_sections.rb +20 -0
  41. data/lib/au_ps_inferno/suite/au_ps_bundle_instance/au_ps_composition_subject/suite_au_ps_bundle_instance_au_ps_composition_subject_subject_ms_elements.rb +21 -0
  42. data/lib/au_ps_inferno/suite/au_ps_bundle_instance/au_ps_composition_subject/suite_au_ps_bundle_instance_au_ps_composition_subject_subject_ms_identifier_slices.rb +21 -0
  43. data/lib/au_ps_inferno/suite/au_ps_bundle_instance/au_ps_composition_subject/suite_au_ps_bundle_instance_au_ps_composition_subject_subject_ms_subelements_populated.rb +21 -0
  44. data/lib/au_ps_inferno/suite/au_ps_bundle_instance/au_ps_composition_subject/suite_au_ps_bundle_instance_au_ps_composition_subject_subject_resource_type_is_valid.rb +21 -0
  45. data/lib/au_ps_inferno/suite/au_ps_bundle_instance/au_ps_composition_subject.rb +28 -0
  46. data/lib/au_ps_inferno/suite/au_ps_bundle_instance/au_ps_composition_undefined_sections/suite_au_ps_bundle_instance_au_ps_composition_undefined_sections_sections_may_undefined.rb +24 -0
  47. data/lib/au_ps_inferno/suite/au_ps_bundle_instance/au_ps_composition_undefined_sections.rb +18 -0
  48. data/lib/au_ps_inferno/suite/au_ps_bundle_instance/bundle_validation/suite_au_ps_bundle_instance_bundle_validation_bundle_valid.rb +21 -0
  49. data/lib/au_ps_inferno/suite/au_ps_bundle_instance/bundle_validation/suite_au_ps_bundle_instance_bundle_validation_bundle_valid_ips.rb +21 -0
  50. data/lib/au_ps_inferno/suite/au_ps_bundle_instance/bundle_validation.rb +20 -0
  51. data/lib/au_ps_inferno/suite/au_ps_retrieve_cs_group/au_ps_cs_is_valid_test.rb +21 -0
  52. data/lib/au_ps_inferno/suite/au_ps_retrieve_cs_group/au_ps_cs_supports_au_ps_profiles.rb +40 -0
  53. data/lib/au_ps_inferno/suite/au_ps_retrieve_cs_group/au_ps_cs_supports_ips_recommended_ops.rb +19 -0
  54. data/lib/au_ps_inferno/suite/au_ps_retrieve_cs_group/au_ps_retrieve_cs_group.rb +47 -0
  55. data/lib/au_ps_inferno/suite/au_ps_v100.rb +39 -0
  56. data/lib/au_ps_inferno/suite/generate_au_ps_using_ips_summary_validation_tests/au_ps_bundle_must_support_conformance/bundle_must_support_conformance_bundle_must_support_populated.rb +21 -0
  57. data/lib/au_ps_inferno/suite/generate_au_ps_using_ips_summary_validation_tests/au_ps_bundle_must_support_conformance.rb +16 -0
  58. data/lib/au_ps_inferno/suite/generate_au_ps_using_ips_summary_validation_tests/au_ps_composition_attester/composition_attester_attester_party_ms_elements.rb +21 -0
  59. data/lib/au_ps_inferno/suite/generate_au_ps_using_ips_summary_validation_tests/au_ps_composition_attester/composition_attester_attester_party_ms_identifier_slices.rb +21 -0
  60. data/lib/au_ps_inferno/suite/generate_au_ps_using_ips_summary_validation_tests/au_ps_composition_attester/composition_attester_attester_party_ms_subelements.rb +21 -0
  61. data/lib/au_ps_inferno/suite/generate_au_ps_using_ips_summary_validation_tests/au_ps_composition_attester.rb +26 -0
  62. data/lib/au_ps_inferno/suite/generate_au_ps_using_ips_summary_validation_tests/au_ps_composition_author/composition_author_author_ms_elements.rb +21 -0
  63. data/lib/au_ps_inferno/suite/generate_au_ps_using_ips_summary_validation_tests/au_ps_composition_author/composition_author_author_ms_identifier_slices.rb +21 -0
  64. data/lib/au_ps_inferno/suite/generate_au_ps_using_ips_summary_validation_tests/au_ps_composition_author/composition_author_author_ms_subelements.rb +21 -0
  65. data/lib/au_ps_inferno/suite/generate_au_ps_using_ips_summary_validation_tests/au_ps_composition_author/composition_author_author_resource_type_is_valid.rb +21 -0
  66. data/lib/au_ps_inferno/suite/generate_au_ps_using_ips_summary_validation_tests/au_ps_composition_author.rb +28 -0
  67. data/lib/au_ps_inferno/suite/generate_au_ps_using_ips_summary_validation_tests/au_ps_composition_custodian/composition_custodian_custodian_ms_elements.rb +21 -0
  68. data/lib/au_ps_inferno/suite/generate_au_ps_using_ips_summary_validation_tests/au_ps_composition_custodian/composition_custodian_custodian_ms_identifier_slices.rb +21 -0
  69. data/lib/au_ps_inferno/suite/generate_au_ps_using_ips_summary_validation_tests/au_ps_composition_custodian/composition_custodian_custodian_ms_subelements.rb +21 -0
  70. data/lib/au_ps_inferno/suite/generate_au_ps_using_ips_summary_validation_tests/au_ps_composition_custodian.rb +26 -0
  71. data/lib/au_ps_inferno/suite/generate_au_ps_using_ips_summary_validation_tests/au_ps_composition_mandatory_sections/composition_mandatory_sections_mandatory_sections_entry_profiles.rb +21 -0
  72. data/lib/au_ps_inferno/suite/generate_au_ps_using_ips_summary_validation_tests/au_ps_composition_mandatory_sections/composition_mandatory_sections_sections_shall_populated.rb +21 -0
  73. data/lib/au_ps_inferno/suite/generate_au_ps_using_ips_summary_validation_tests/au_ps_composition_mandatory_sections.rb +20 -0
  74. data/lib/au_ps_inferno/suite/generate_au_ps_using_ips_summary_validation_tests/au_ps_composition_must_support_conformance/composition_must_support_conformance_composition_mandatory_ms_populated.rb +21 -0
  75. data/lib/au_ps_inferno/suite/generate_au_ps_using_ips_summary_validation_tests/au_ps_composition_must_support_conformance/composition_must_support_conformance_composition_ms_subelements_populated.rb +22 -0
  76. data/lib/au_ps_inferno/suite/generate_au_ps_using_ips_summary_validation_tests/au_ps_composition_must_support_conformance/composition_must_support_conformance_composition_optional_ms_populated.rb +22 -0
  77. data/lib/au_ps_inferno/suite/generate_au_ps_using_ips_summary_validation_tests/au_ps_composition_must_support_conformance/composition_must_support_conformance_composition_optional_ms_slices.rb +22 -0
  78. data/lib/au_ps_inferno/suite/generate_au_ps_using_ips_summary_validation_tests/au_ps_composition_must_support_conformance.rb +28 -0
  79. data/lib/au_ps_inferno/suite/generate_au_ps_using_ips_summary_validation_tests/au_ps_composition_optional_sections/composition_optional_sections_optional_sections_entry_profiles.rb +22 -0
  80. data/lib/au_ps_inferno/suite/generate_au_ps_using_ips_summary_validation_tests/au_ps_composition_optional_sections/composition_optional_sections_sections_may_populated.rb +24 -0
  81. data/lib/au_ps_inferno/suite/generate_au_ps_using_ips_summary_validation_tests/au_ps_composition_optional_sections.rb +20 -0
  82. data/lib/au_ps_inferno/suite/generate_au_ps_using_ips_summary_validation_tests/au_ps_composition_recommended_sections/composition_recommended_sections_recommended_sections_entry_profiles.rb +21 -0
  83. data/lib/au_ps_inferno/suite/generate_au_ps_using_ips_summary_validation_tests/au_ps_composition_recommended_sections/composition_recommended_sections_sections_should_populated.rb +22 -0
  84. data/lib/au_ps_inferno/suite/generate_au_ps_using_ips_summary_validation_tests/au_ps_composition_recommended_sections.rb +20 -0
  85. data/lib/au_ps_inferno/suite/generate_au_ps_using_ips_summary_validation_tests/au_ps_composition_subject/composition_subject_subject_ms_elements.rb +21 -0
  86. data/lib/au_ps_inferno/suite/generate_au_ps_using_ips_summary_validation_tests/au_ps_composition_subject/composition_subject_subject_ms_identifier_slices.rb +21 -0
  87. data/lib/au_ps_inferno/suite/generate_au_ps_using_ips_summary_validation_tests/au_ps_composition_subject/composition_subject_subject_ms_subelements_populated.rb +21 -0
  88. data/lib/au_ps_inferno/suite/generate_au_ps_using_ips_summary_validation_tests/au_ps_composition_subject/composition_subject_subject_resource_type_is_valid.rb +21 -0
  89. data/lib/au_ps_inferno/suite/generate_au_ps_using_ips_summary_validation_tests/au_ps_composition_subject.rb +28 -0
  90. data/lib/au_ps_inferno/suite/generate_au_ps_using_ips_summary_validation_tests/au_ps_composition_undefined_sections/composition_undefined_sections_sections_may_undefined.rb +24 -0
  91. data/lib/au_ps_inferno/suite/generate_au_ps_using_ips_summary_validation_tests/au_ps_composition_undefined_sections.rb +18 -0
  92. data/lib/au_ps_inferno/suite/generate_au_ps_using_ips_summary_validation_tests/bundle_validation/suite_generate_au_ps_using_ips_summary_validation_tests_bundle_validation_bundle_valid.rb +21 -0
  93. data/lib/au_ps_inferno/suite/generate_au_ps_using_ips_summary_validation_tests/bundle_validation/suite_generate_au_ps_using_ips_summary_validation_tests_bundle_validation_bundle_valid_ips.rb +21 -0
  94. data/lib/au_ps_inferno/suite/generate_au_ps_using_ips_summary_validation_tests/bundle_validation.rb +20 -0
  95. data/lib/au_ps_inferno/suite/generate_au_ps_using_ips_summary_validation_tests/generate_au_ps_using_ips_summary_validation_tests.rb +56 -0
  96. data/lib/au_ps_inferno/suite/retrieve_au_ps_bundle_validation_tests/au_ps_bundle_must_support_conformance/bundle_must_support_conformance_bundle_must_support_populated.rb +21 -0
  97. data/lib/au_ps_inferno/suite/retrieve_au_ps_bundle_validation_tests/au_ps_bundle_must_support_conformance.rb +16 -0
  98. data/lib/au_ps_inferno/suite/retrieve_au_ps_bundle_validation_tests/au_ps_composition_attester/composition_attester_attester_party_ms_elements.rb +21 -0
  99. data/lib/au_ps_inferno/suite/retrieve_au_ps_bundle_validation_tests/au_ps_composition_attester/composition_attester_attester_party_ms_identifier_slices.rb +21 -0
  100. data/lib/au_ps_inferno/suite/retrieve_au_ps_bundle_validation_tests/au_ps_composition_attester/composition_attester_attester_party_ms_subelements.rb +21 -0
  101. data/lib/au_ps_inferno/suite/retrieve_au_ps_bundle_validation_tests/au_ps_composition_attester.rb +26 -0
  102. data/lib/au_ps_inferno/suite/retrieve_au_ps_bundle_validation_tests/au_ps_composition_author/composition_author_author_ms_identifier_slices.rb +21 -0
  103. data/lib/au_ps_inferno/suite/retrieve_au_ps_bundle_validation_tests/au_ps_composition_author/composition_author_author_resource_type_is_valid.rb +21 -0
  104. data/lib/au_ps_inferno/suite/retrieve_au_ps_bundle_validation_tests/au_ps_composition_author/suite_retrieve_au_ps_bundle_validation_tests_au_ps_composition_author_author_ms_elements.rb +21 -0
  105. data/lib/au_ps_inferno/suite/retrieve_au_ps_bundle_validation_tests/au_ps_composition_author/suite_retrieve_au_ps_bundle_validation_tests_au_ps_composition_author_author_ms_subelements.rb +21 -0
  106. data/lib/au_ps_inferno/suite/retrieve_au_ps_bundle_validation_tests/au_ps_composition_author.rb +28 -0
  107. data/lib/au_ps_inferno/suite/retrieve_au_ps_bundle_validation_tests/au_ps_composition_custodian/composition_custodian_custodian_ms_identifier_slices.rb +21 -0
  108. data/lib/au_ps_inferno/suite/retrieve_au_ps_bundle_validation_tests/au_ps_composition_custodian/composition_custodian_custodian_ms_subelements.rb +21 -0
  109. data/lib/au_ps_inferno/suite/retrieve_au_ps_bundle_validation_tests/au_ps_composition_custodian/suite_retrieve_au_ps_bundle_validation_tests_au_ps_composition_custodian_custodian_ms_elements.rb +21 -0
  110. data/lib/au_ps_inferno/suite/retrieve_au_ps_bundle_validation_tests/au_ps_composition_custodian.rb +26 -0
  111. data/lib/au_ps_inferno/suite/retrieve_au_ps_bundle_validation_tests/au_ps_composition_mandatory_sections/composition_mandatory_sections_mandatory_sections_entry_profiles.rb +21 -0
  112. data/lib/au_ps_inferno/suite/retrieve_au_ps_bundle_validation_tests/au_ps_composition_mandatory_sections/composition_mandatory_sections_sections_shall_populated.rb +21 -0
  113. data/lib/au_ps_inferno/suite/retrieve_au_ps_bundle_validation_tests/au_ps_composition_mandatory_sections.rb +20 -0
  114. data/lib/au_ps_inferno/suite/retrieve_au_ps_bundle_validation_tests/au_ps_composition_must_support_conformance/composition_must_support_conformance_composition_mandatory_ms_populated.rb +21 -0
  115. data/lib/au_ps_inferno/suite/retrieve_au_ps_bundle_validation_tests/au_ps_composition_must_support_conformance/composition_must_support_conformance_composition_ms_subelements_populated.rb +22 -0
  116. data/lib/au_ps_inferno/suite/retrieve_au_ps_bundle_validation_tests/au_ps_composition_must_support_conformance/composition_must_support_conformance_composition_optional_ms_populated.rb +22 -0
  117. data/lib/au_ps_inferno/suite/retrieve_au_ps_bundle_validation_tests/au_ps_composition_must_support_conformance/composition_must_support_conformance_composition_optional_ms_slices.rb +22 -0
  118. data/lib/au_ps_inferno/suite/retrieve_au_ps_bundle_validation_tests/au_ps_composition_must_support_conformance.rb +28 -0
  119. data/lib/au_ps_inferno/suite/retrieve_au_ps_bundle_validation_tests/au_ps_composition_optional_sections/composition_optional_sections_optional_sections_entry_profiles.rb +22 -0
  120. data/lib/au_ps_inferno/suite/retrieve_au_ps_bundle_validation_tests/au_ps_composition_optional_sections/composition_optional_sections_sections_may_populated.rb +24 -0
  121. data/lib/au_ps_inferno/suite/retrieve_au_ps_bundle_validation_tests/au_ps_composition_optional_sections.rb +20 -0
  122. data/lib/au_ps_inferno/suite/retrieve_au_ps_bundle_validation_tests/au_ps_composition_recommended_sections/composition_recommended_sections_recommended_sections_entry_profiles.rb +21 -0
  123. data/lib/au_ps_inferno/suite/retrieve_au_ps_bundle_validation_tests/au_ps_composition_recommended_sections/composition_recommended_sections_sections_should_populated.rb +22 -0
  124. data/lib/au_ps_inferno/suite/retrieve_au_ps_bundle_validation_tests/au_ps_composition_recommended_sections.rb +20 -0
  125. data/lib/au_ps_inferno/suite/retrieve_au_ps_bundle_validation_tests/au_ps_composition_subject/composition_subject_subject_ms_identifier_slices.rb +21 -0
  126. data/lib/au_ps_inferno/suite/retrieve_au_ps_bundle_validation_tests/au_ps_composition_subject/composition_subject_subject_ms_subelements_populated.rb +21 -0
  127. data/lib/au_ps_inferno/suite/retrieve_au_ps_bundle_validation_tests/au_ps_composition_subject/composition_subject_subject_resource_type_is_valid.rb +21 -0
  128. data/lib/au_ps_inferno/suite/retrieve_au_ps_bundle_validation_tests/au_ps_composition_subject/suite_retrieve_au_ps_bundle_validation_tests_au_ps_composition_subject_subject_ms_elements.rb +21 -0
  129. data/lib/au_ps_inferno/suite/retrieve_au_ps_bundle_validation_tests/au_ps_composition_subject.rb +28 -0
  130. data/lib/au_ps_inferno/suite/retrieve_au_ps_bundle_validation_tests/au_ps_composition_undefined_sections/composition_undefined_sections_sections_may_undefined.rb +24 -0
  131. data/lib/au_ps_inferno/suite/retrieve_au_ps_bundle_validation_tests/au_ps_composition_undefined_sections.rb +18 -0
  132. data/lib/au_ps_inferno/suite/retrieve_au_ps_bundle_validation_tests/bundle_validation/suite_retrieve_au_ps_bundle_validation_tests_bundle_validation_bundle_valid.rb +21 -0
  133. data/lib/au_ps_inferno/suite/retrieve_au_ps_bundle_validation_tests/bundle_validation/suite_retrieve_au_ps_bundle_validation_tests_bundle_validation_bundle_valid_ips.rb +21 -0
  134. data/lib/au_ps_inferno/suite/retrieve_au_ps_bundle_validation_tests/bundle_validation.rb +20 -0
  135. data/lib/au_ps_inferno/suite/retrieve_au_ps_bundle_validation_tests/retrieve_au_ps_bundle_validation_tests.rb +56 -0
  136. data/lib/au_ps_inferno/utils/attester/basic_test_attester_identifier_slices.rb +74 -0
  137. data/lib/au_ps_inferno/utils/attester/basic_test_attester_message_helpers.rb +16 -0
  138. data/lib/au_ps_inferno/utils/attester/basic_test_attester_module.rb +14 -0
  139. data/lib/au_ps_inferno/utils/attester/basic_test_attester_resource.rb +54 -0
  140. data/lib/au_ps_inferno/utils/author/basic_test_author_module.rb +12 -0
  141. data/lib/au_ps_inferno/utils/author/basic_test_author_resource.rb +32 -0
  142. data/lib/au_ps_inferno/utils/author/basic_test_author_tests.rb +24 -0
  143. data/lib/au_ps_inferno/utils/basic_test/bundle_module.rb +87 -0
  144. data/lib/au_ps_inferno/utils/basic_test/capability_operations_module.rb +37 -0
  145. data/lib/au_ps_inferno/utils/basic_test/composition_elements_and_slices_module.rb +98 -0
  146. data/lib/au_ps_inferno/utils/basic_test/composition_section_check_resources_ms_elements_module.rb +197 -0
  147. data/lib/au_ps_inferno/utils/basic_test/composition_section_read_issues_helpers_module.rb +66 -0
  148. data/lib/au_ps_inferno/utils/basic_test/composition_section_read_module.rb +127 -0
  149. data/lib/au_ps_inferno/utils/basic_test/composition_subelements_module.rb +84 -0
  150. data/lib/au_ps_inferno/utils/basic_test/ms_elements_populated_helpers_module.rb +38 -0
  151. data/lib/au_ps_inferno/utils/basic_test/ms_elements_populated_module.rb +71 -0
  152. data/lib/au_ps_inferno/utils/basic_test/ms_identifier_slices_module.rb +61 -0
  153. data/lib/au_ps_inferno/utils/basic_test/ms_sub_elements_populated_module.rb +128 -0
  154. data/lib/au_ps_inferno/utils/basic_test/paths_module.rb +26 -0
  155. data/lib/au_ps_inferno/utils/basic_test/resolve_path_debug_module.rb +45 -0
  156. data/lib/au_ps_inferno/utils/basic_test/resolve_resource_type_module.rb +52 -0
  157. data/lib/au_ps_inferno/utils/basic_test/resource_helpers_module.rb +129 -0
  158. data/lib/au_ps_inferno/utils/basic_test/scratch_bundle_entries_module.rb +30 -0
  159. data/lib/au_ps_inferno/utils/basic_test/section_bundle_validation_module.rb +70 -0
  160. data/lib/au_ps_inferno/utils/basic_test_class.rb +56 -0
  161. data/lib/au_ps_inferno/utils/basic_test_contants_module.rb +32 -0
  162. data/lib/au_ps_inferno/utils/basic_test_with_url.rb +8 -0
  163. data/lib/au_ps_inferno/utils/basic_validate_bundle_test.rb +43 -0
  164. data/lib/au_ps_inferno/utils/bundle_decorator.rb +81 -0
  165. data/lib/au_ps_inferno/utils/bundle_entry_decorator.rb +19 -0
  166. data/lib/au_ps_inferno/utils/bundle_is_valid_class.rb +31 -0
  167. data/lib/au_ps_inferno/utils/capability_statement_decorator.rb +20 -0
  168. data/lib/au_ps_inferno/utils/composition_decorator.rb +56 -0
  169. data/lib/au_ps_inferno/utils/composition_utils/boolean_and_stats.rb +28 -0
  170. data/lib/au_ps_inferno/utils/composition_utils.rb +29 -0
  171. data/lib/au_ps_inferno/utils/custodian/basic_test_custodian_identifier_slices.rb +47 -0
  172. data/lib/au_ps_inferno/utils/custodian/basic_test_custodian_module.rb +14 -0
  173. data/lib/au_ps_inferno/utils/custodian/basic_test_custodian_resource.rb +32 -0
  174. data/lib/au_ps_inferno/utils/custodian/basic_test_custodian_tests.rb +19 -0
  175. data/lib/au_ps_inferno/utils/inferno_suite_generator_compat.rb +7 -0
  176. data/lib/au_ps_inferno/utils/ips_bundle_is_valid_class.rb +15 -0
  177. data/lib/au_ps_inferno/utils/ips_retrieve_bundle_test_class.rb +17 -0
  178. data/lib/au_ps_inferno/utils/ips_summary_valid_bundle_class.rb +15 -0
  179. data/lib/au_ps_inferno/utils/metadata_manager.rb +58 -0
  180. data/lib/au_ps_inferno/utils/retrieve_bundle_test_class.rb +81 -0
  181. data/lib/au_ps_inferno/utils/rich_message_class.rb +23 -0
  182. data/lib/au_ps_inferno/utils/rich_validation_message.rb +42 -0
  183. data/lib/au_ps_inferno/utils/section_decorator.rb +23 -0
  184. data/lib/au_ps_inferno/utils/section_names_mapping.rb +31 -0
  185. data/lib/au_ps_inferno/utils/section_test_class.rb +18 -0
  186. data/lib/au_ps_inferno/utils/section_test_module.rb +16 -0
  187. data/lib/au_ps_inferno/utils/structure_definition_decorator.rb +28 -0
  188. data/lib/au_ps_inferno/utils/subject/basic_test_subject_module.rb +12 -0
  189. data/lib/au_ps_inferno/utils/subject/basic_test_subject_patient_ms_other_tests.rb +15 -0
  190. data/lib/au_ps_inferno/utils/subject/basic_test_subject_resource.rb +21 -0
  191. data/lib/au_ps_inferno/utils/summary_valid_bundle_class.rb +84 -0
  192. data/lib/au_ps_inferno/utils/validator_helpers.rb +92 -0
  193. data/lib/au_ps_inferno/version.rb +6 -0
  194. data/lib/au_ps_inferno.rb +3 -0
  195. metadata +310 -0
@@ -0,0 +1,19 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative '../../utils/basic_test_class'
4
+
5
+ module AUPSTestKit
6
+ # Verifies that the CapabilityStatement declares support for IPS recommended operations.
7
+ class AUPSCSSupportsIPSRecommendedOPS100preview < BasicTest
8
+ title 'CapabilityStatement supports IPS Recommended Operations'
9
+ description 'Verifies that the CapabilityStatement declares support for IPS recommended operations (e.g. $summary, $docref).'
10
+ id :au_ps_cs_supports_ips_recommended_ops_100preview
11
+
12
+ run do
13
+ skip_if url.blank?, 'No FHIR server URL provided'
14
+ summary_op_defined?
15
+ operation_defined?(operations, 'http://hl7.org/fhir/uv/ipa/OperationDefinition/docref', %w[docref],
16
+ :docref_op_defined)
17
+ end
18
+ end
19
+ end
@@ -0,0 +1,47 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative 'au_ps_cs_is_valid_test'
4
+
5
+ require_relative 'au_ps_cs_supports_ips_recommended_ops'
6
+
7
+ require_relative 'au_ps_cs_supports_au_ps_profiles'
8
+
9
+ module AUPSTestKit
10
+ # Tests for CapabilityStatement resource
11
+ class AUPSRetrieveCSGroup100preview < Inferno::TestGroup
12
+ title 'Retrieve Capability Statement'
13
+ description 'Verifies that the server exposes a valid CapabilityStatement and declares support for AU PS profiles and IPS recommended operations.'
14
+ id :au_ps_retrieve_cs_group_100preview
15
+
16
+ input :url,
17
+ title: 'FHIR Server Base Url',
18
+ optional: true
19
+
20
+ input :credentials,
21
+ title: 'OAuth Credentials',
22
+ type: :oauth_credentials,
23
+ optional: true
24
+
25
+ input :header_name,
26
+ title: 'Header name',
27
+ optional: true
28
+
29
+ input :header_value,
30
+ title: 'Header value',
31
+ optional: true
32
+
33
+ fhir_client do
34
+ url :url
35
+ oauth_credentials :credentials
36
+ headers(header_name.present? && header_value.present? ? { header_name => header_value } : {})
37
+ end
38
+
39
+ run_as_group
40
+
41
+ test from: :au_ps_cs_is_valid_100preview
42
+
43
+ test from: :au_ps_cs_supports_ips_recommended_ops_100preview
44
+
45
+ test from: :au_ps_cs_supports_au_ps_profiles_100preview
46
+ end
47
+ end
@@ -0,0 +1,39 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative '../version'
4
+
5
+ require_relative 'au_ps_bundle_instance/au_ps_bundle_instance'
6
+
7
+ require_relative 'au_ps_retrieve_cs_group/au_ps_retrieve_cs_group'
8
+
9
+ require_relative 'retrieve_au_ps_bundle_validation_tests/retrieve_au_ps_bundle_validation_tests'
10
+
11
+ require_relative 'generate_au_ps_using_ips_summary_validation_tests/generate_au_ps_using_ips_summary_validation_tests'
12
+
13
+ module AUPSTestKit
14
+ # Test suite for the AU PS (Australian Primary Care and Shared Health) Implementation Guide.
15
+ class AUPSSuitePreview < Inferno::TestSuite
16
+ id :au_ps_v100
17
+ title "AU PS #{AUPSTestKit::IG_VERSION} Test Suite"
18
+ description 'Validates AU PS (Australian Primary Care and Shared Health) bundles, ' \
19
+ 'compositions, sections, and server CapabilityStatement support for the ' \
20
+ "#{AUPSTestKit::IG_VERSION} implementation guide."
21
+
22
+ fhir_resource_validator do
23
+ igs "hl7.fhir.au.ps##{AUPSTestKit::IG_VERSION}"
24
+
25
+ cli_context do
26
+ txServer ENV.fetch('TX_SERVER_URL', 'https://tx.dev.hl7.org.au/fhir')
27
+ noEcosystem true
28
+ end
29
+ end
30
+
31
+ group from: :suite_au_ps_bundle_instance
32
+
33
+ group from: :au_ps_retrieve_cs_group_100preview
34
+
35
+ group from: :suite_retrieve_au_ps_bundle_validation_tests
36
+
37
+ group from: :suite_generate_au_ps_using_ips_summary_validation_tests
38
+ end
39
+ end
@@ -0,0 +1,21 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative '../../../utils/basic_test_class'
4
+ require_relative '../../../utils/metadata_manager'
5
+
6
+ module AUPSTestKit
7
+ # Automatically generated primitive test for AU PS Bundle Must Support elements are correctly populated
8
+ class AUPSSuiteGenerateAuPsUsingIpsSummaryValidationTestsAuPsBundleMustSupportConformanceAuPsBundleMustSupportElementsAreCorrectlyPopulated < BasicTest
9
+ title 'AU PS Bundle Must Support elements are correctly populated'
10
+ description 'Must Support elements SHALL be populated when an element value is known and allowed to share.'
11
+ id :suite_generate_au_ps_using_ips_summary_validation_tests_au_ps_bundle_must_support_conformance_bundle_must_support_populated
12
+
13
+ def metadata_manager
14
+ @metadata_manager ||= MetadataManager.new(File.expand_path('../../../metadata.yaml', __dir__))
15
+ end
16
+
17
+ run do
18
+ bundle_mandatory_ms_elements_info
19
+ end
20
+ end
21
+ end
@@ -0,0 +1,16 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative 'au_ps_bundle_must_support_conformance/bundle_must_support_conformance_bundle_must_support_populated'
4
+
5
+ module AUPSTestKit
6
+ # Automatically generated primitive group for AU PS Bundle Must Support Conformance
7
+ class AUPSSuiteGenerateAuPsUsingIpsSummaryValidationTestsAuPsBundleMustSupportConformance < Inferno::TestGroup
8
+ title 'AU PS Bundle Must Support Conformance'
9
+ description 'Verifies that Must Support elements at the bundle level are populated when data is available.'
10
+ id :suite_generate_au_ps_using_ips_summary_validation_tests_au_ps_bundle_must_support_conformance
11
+
12
+ run_as_group
13
+
14
+ test from: :suite_generate_au_ps_using_ips_summary_validation_tests_au_ps_bundle_must_support_conformance_bundle_must_support_populated
15
+ end
16
+ end
@@ -0,0 +1,21 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative '../../../utils/basic_test_class'
4
+ require_relative '../../../utils/metadata_manager'
5
+
6
+ module AUPSTestKit
7
+ # Automatically generated primitive test for Must Support elements SHALL be populated if a value is known
8
+ class AUPSSuiteGenerateAuPsUsingIpsSummaryValidationTestsAuPsCompositionAttesterMustSupportElementsShallBePopulatedIfAValueIsKnown < BasicTest
9
+ title 'Must Support elements SHALL be populated if a value is known'
10
+ description 'Must Support elements SHALL be populated if a value is known'
11
+ id :suite_generate_au_ps_using_ips_summary_validation_tests_au_ps_composition_attester_attester_party_ms_elements
12
+
13
+ def metadata_manager
14
+ @metadata_manager ||= MetadataManager.new(File.expand_path('../../../metadata.yaml', __dir__))
15
+ end
16
+
17
+ run do
18
+ ms_elements_populated_message('attester')
19
+ end
20
+ end
21
+ end
@@ -0,0 +1,21 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative '../../../utils/basic_test_class'
4
+ require_relative '../../../utils/metadata_manager'
5
+
6
+ module AUPSTestKit
7
+ # Automatically generated primitive test for Must Support identifier slices SHALL be populated if a value is known
8
+ class AUPSSuiteGenerateAuPsUsingIpsSummaryValidationTestsAuPsCompositionAttesterMustSupportIdentifierSlicesShallBePopulatedIfAValueIsKnown < BasicTest
9
+ title 'Must Support identifier slices SHALL be populated if a value is known'
10
+ description 'Must Support identifier slices SHALL be populated if a value is known'
11
+ id :suite_generate_au_ps_using_ips_summary_validation_tests_au_ps_composition_attester_attester_party_ms_identifier_slices
12
+
13
+ def metadata_manager
14
+ @metadata_manager ||= MetadataManager.new(File.expand_path('../../../metadata.yaml', __dir__))
15
+ end
16
+
17
+ run do
18
+ test_composition_attester_party_ms_identifier_slices
19
+ end
20
+ end
21
+ end
@@ -0,0 +1,21 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative '../../../utils/basic_test_class'
4
+ require_relative '../../../utils/metadata_manager'
5
+
6
+ module AUPSTestKit
7
+ # Automatically generated primitive test for Must Support sub-element SHALL be populated if a value is known
8
+ class AUPSSuiteGenerateAuPsUsingIpsSummaryValidationTestsAuPsCompositionAttesterMustSupportSubelementShallBePopulatedIfAValueIsKnown < BasicTest
9
+ title 'Must Support sub-element SHALL be populated if a value is known'
10
+ description 'Must Support sub-element SHALL be populated if a value is known'
11
+ id :suite_generate_au_ps_using_ips_summary_validation_tests_au_ps_composition_attester_attester_party_ms_subelements
12
+
13
+ def metadata_manager
14
+ @metadata_manager ||= MetadataManager.new(File.expand_path('../../../metadata.yaml', __dir__))
15
+ end
16
+
17
+ run do
18
+ ms_sub_elements_populated_message('attester')
19
+ end
20
+ end
21
+ end
@@ -0,0 +1,26 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative 'au_ps_composition_attester/composition_attester_attester_party_ms_elements'
4
+
5
+ require_relative 'au_ps_composition_attester/composition_attester_attester_party_ms_subelements'
6
+
7
+ require_relative 'au_ps_composition_attester/composition_attester_attester_party_ms_identifier_slices'
8
+
9
+ module AUPSTestKit
10
+ # Automatically generated primitive group for AU PS Composition Attester
11
+ class AUPSSuiteGenerateAuPsUsingIpsSummaryValidationTestsAuPsCompositionAttester < Inferno::TestGroup
12
+ title 'AU PS Composition Attester'
13
+ description 'Verify the referenced attester.party is a correctly populated AU PS Patient, RelatedPerson, Practitioner, PractitionerRole, or Organization resource.'
14
+ id :suite_generate_au_ps_using_ips_summary_validation_tests_au_ps_composition_attester
15
+
16
+ optional
17
+
18
+ run_as_group
19
+
20
+ test from: :suite_generate_au_ps_using_ips_summary_validation_tests_au_ps_composition_attester_attester_party_ms_elements
21
+
22
+ test from: :suite_generate_au_ps_using_ips_summary_validation_tests_au_ps_composition_attester_attester_party_ms_subelements
23
+
24
+ test from: :suite_generate_au_ps_using_ips_summary_validation_tests_au_ps_composition_attester_attester_party_ms_identifier_slices
25
+ end
26
+ end
@@ -0,0 +1,21 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative '../../../utils/basic_test_class'
4
+ require_relative '../../../utils/metadata_manager'
5
+
6
+ module AUPSTestKit
7
+ # Automatically generated primitive test for Must Support elements SHALL be populated if a value is known
8
+ class AUPSSuiteGenerateAuPsUsingIpsSummaryValidationTestsAuPsCompositionAuthorMustSupportElementsShallBePopulatedIfAValueIsKnown < BasicTest
9
+ title 'Must Support elements SHALL be populated if a value is known'
10
+ description 'Must Support elements SHALL be populated if a value is known'
11
+ id :suite_generate_au_ps_using_ips_summary_validation_tests_au_ps_composition_author_author_ms_elements
12
+
13
+ def metadata_manager
14
+ @metadata_manager ||= MetadataManager.new(File.expand_path('../../../metadata.yaml', __dir__))
15
+ end
16
+
17
+ run do
18
+ ms_elements_populated_message('author')
19
+ end
20
+ end
21
+ end
@@ -0,0 +1,21 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative '../../../utils/basic_test_class'
4
+ require_relative '../../../utils/metadata_manager'
5
+
6
+ module AUPSTestKit
7
+ # Automatically generated primitive test for Must Support identifier slices SHALL be populated if a value is known
8
+ class AUPSSuiteGenerateAuPsUsingIpsSummaryValidationTestsAuPsCompositionAuthorMustSupportIdentifierSlicesShallBePopulatedIfAValueIsKnown < BasicTest
9
+ title 'Must Support identifier slices SHALL be populated if a value is known'
10
+ description 'Must Support identifier slices SHALL be populated if a value is known'
11
+ id :suite_generate_au_ps_using_ips_summary_validation_tests_au_ps_composition_author_author_ms_identifier_slices
12
+
13
+ def metadata_manager
14
+ @metadata_manager ||= MetadataManager.new(File.expand_path('../../../metadata.yaml', __dir__))
15
+ end
16
+
17
+ run do
18
+ test_composition_author_ms_identifier_slices
19
+ end
20
+ end
21
+ end
@@ -0,0 +1,21 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative '../../../utils/basic_test_class'
4
+ require_relative '../../../utils/metadata_manager'
5
+
6
+ module AUPSTestKit
7
+ # Automatically generated primitive test for Must Support sub-elements SHALL be populated if a value is known
8
+ class AUPSSuiteGenerateAuPsUsingIpsSummaryValidationTestsAuPsCompositionAuthorMustSupportSubelementsShallBePopulatedIfAValueIsKnown < BasicTest
9
+ title 'Must Support sub-elements SHALL be populated if a value is known'
10
+ description 'Must Support sub-elements SHALL be populated if a value is known'
11
+ id :suite_generate_au_ps_using_ips_summary_validation_tests_au_ps_composition_author_author_ms_subelements
12
+
13
+ def metadata_manager
14
+ @metadata_manager ||= MetadataManager.new(File.expand_path('../../../metadata.yaml', __dir__))
15
+ end
16
+
17
+ run do
18
+ ms_sub_elements_populated_message('author')
19
+ end
20
+ end
21
+ end
@@ -0,0 +1,21 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative '../../../utils/basic_test_class'
4
+ require_relative '../../../utils/metadata_manager'
5
+
6
+ module AUPSTestKit
7
+ # Automatically generated primitive test for Author reference in the AU PS Composition SHALL resolve to a valid resource type (Practitioner, PractitionerRole, Device, Patient, RelatedPerson, Organization).
8
+ class AUPSSuiteGenerateAuPsUsingIpsSummaryValidationTestsAuPsCompositionAuthorAuthorReferenceInTheAuPsCompositionShallResolveToAValidResourceTypePractitionerPractitionerroleDevicePatientRelatedpersonOrganization < BasicTest
9
+ title 'Author reference in the AU PS Composition SHALL resolve to a valid resource type (Practitioner, PractitionerRole, Device, Patient, RelatedPerson, Organization).'
10
+ description 'Author reference in the AU PS Composition SHALL resolve to a valid resource type (Practitioner, PractitionerRole, Device, Patient, RelatedPerson, Organization).'
11
+ id :suite_generate_au_ps_using_ips_summary_validation_tests_au_ps_composition_author_author_resource_type_is_valid
12
+
13
+ def metadata_manager
14
+ @metadata_manager ||= MetadataManager.new(File.expand_path('../../../metadata.yaml', __dir__))
15
+ end
16
+
17
+ run do
18
+ test_resource_type_is_valid?('author')
19
+ end
20
+ end
21
+ end
@@ -0,0 +1,28 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative 'au_ps_composition_author/composition_author_author_resource_type_is_valid'
4
+
5
+ require_relative 'au_ps_composition_author/composition_author_author_ms_elements'
6
+
7
+ require_relative 'au_ps_composition_author/composition_author_author_ms_subelements'
8
+
9
+ require_relative 'au_ps_composition_author/composition_author_author_ms_identifier_slices'
10
+
11
+ module AUPSTestKit
12
+ # Automatically generated primitive group for AU PS Composition Author
13
+ class AUPSSuiteGenerateAuPsUsingIpsSummaryValidationTestsAuPsCompositionAuthor < Inferno::TestGroup
14
+ title 'AU PS Composition Author'
15
+ description 'Verify the referenced author is a correctly populated AU PS Practitioner, AU PS PractitionerRole, AU PS Patient, AU PS RelatedPerson, AU PS Organization profiles or Device resource.'
16
+ id :suite_generate_au_ps_using_ips_summary_validation_tests_au_ps_composition_author
17
+
18
+ run_as_group
19
+
20
+ test from: :suite_generate_au_ps_using_ips_summary_validation_tests_au_ps_composition_author_author_resource_type_is_valid
21
+
22
+ test from: :suite_generate_au_ps_using_ips_summary_validation_tests_au_ps_composition_author_author_ms_elements
23
+
24
+ test from: :suite_generate_au_ps_using_ips_summary_validation_tests_au_ps_composition_author_author_ms_subelements
25
+
26
+ test from: :suite_generate_au_ps_using_ips_summary_validation_tests_au_ps_composition_author_author_ms_identifier_slices
27
+ end
28
+ end
@@ -0,0 +1,21 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative '../../../utils/basic_test_class'
4
+ require_relative '../../../utils/metadata_manager'
5
+
6
+ module AUPSTestKit
7
+ # Automatically generated primitive test for Must Support element SHALL be populated if a value is known
8
+ class AUPSSuiteGenerateAuPsUsingIpsSummaryValidationTestsAuPsCompositionCustodianMustSupportElementShallBePopulatedIfAValueIsKnown < BasicTest
9
+ title 'Must Support element SHALL be populated if a value is known'
10
+ description 'Must Support element SHALL be populated if a value is known'
11
+ id :suite_generate_au_ps_using_ips_summary_validation_tests_au_ps_composition_custodian_custodian_ms_elements
12
+
13
+ def metadata_manager
14
+ @metadata_manager ||= MetadataManager.new(File.expand_path('../../../metadata.yaml', __dir__))
15
+ end
16
+
17
+ run do
18
+ ms_elements_populated_message('custodian')
19
+ end
20
+ end
21
+ end
@@ -0,0 +1,21 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative '../../../utils/basic_test_class'
4
+ require_relative '../../../utils/metadata_manager'
5
+
6
+ module AUPSTestKit
7
+ # Automatically generated primitive test for Must Support identifier slices SHALL be populated if a value is known
8
+ class AUPSSuiteGenerateAuPsUsingIpsSummaryValidationTestsAuPsCompositionCustodianMustSupportIdentifierSlicesShallBePopulatedIfAValueIsKnown < BasicTest
9
+ title 'Must Support identifier slices SHALL be populated if a value is known'
10
+ description 'Must Support identifier slices SHALL be populated if a value is known'
11
+ id :suite_generate_au_ps_using_ips_summary_validation_tests_au_ps_composition_custodian_custodian_ms_identifier_slices
12
+
13
+ def metadata_manager
14
+ @metadata_manager ||= MetadataManager.new(File.expand_path('../../../metadata.yaml', __dir__))
15
+ end
16
+
17
+ run do
18
+ test_composition_custodian_ms_identifier_slices
19
+ end
20
+ end
21
+ end
@@ -0,0 +1,21 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative '../../../utils/basic_test_class'
4
+ require_relative '../../../utils/metadata_manager'
5
+
6
+ module AUPSTestKit
7
+ # Automatically generated primitive test for Must Support sub-element SHALL be populated if a value is known
8
+ class AUPSSuiteGenerateAuPsUsingIpsSummaryValidationTestsAuPsCompositionCustodianMustSupportSubelementShallBePopulatedIfAValueIsKnown < BasicTest
9
+ title 'Must Support sub-element SHALL be populated if a value is known'
10
+ description 'Must Support sub-element SHALL be populated if a value is known'
11
+ id :suite_generate_au_ps_using_ips_summary_validation_tests_au_ps_composition_custodian_custodian_ms_subelements
12
+
13
+ def metadata_manager
14
+ @metadata_manager ||= MetadataManager.new(File.expand_path('../../../metadata.yaml', __dir__))
15
+ end
16
+
17
+ run do
18
+ ms_sub_elements_populated_message('custodian')
19
+ end
20
+ end
21
+ end
@@ -0,0 +1,26 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative 'au_ps_composition_custodian/composition_custodian_custodian_ms_elements'
4
+
5
+ require_relative 'au_ps_composition_custodian/composition_custodian_custodian_ms_subelements'
6
+
7
+ require_relative 'au_ps_composition_custodian/composition_custodian_custodian_ms_identifier_slices'
8
+
9
+ module AUPSTestKit
10
+ # Automatically generated primitive group for AU PS Composition Custodian
11
+ class AUPSSuiteGenerateAuPsUsingIpsSummaryValidationTestsAuPsCompositionCustodian < Inferno::TestGroup
12
+ title 'AU PS Composition Custodian'
13
+ description 'Verify the referenced custodian is a correctly populated AU PS Organization resource.'
14
+ id :suite_generate_au_ps_using_ips_summary_validation_tests_au_ps_composition_custodian
15
+
16
+ optional
17
+
18
+ run_as_group
19
+
20
+ test from: :suite_generate_au_ps_using_ips_summary_validation_tests_au_ps_composition_custodian_custodian_ms_elements
21
+
22
+ test from: :suite_generate_au_ps_using_ips_summary_validation_tests_au_ps_composition_custodian_custodian_ms_subelements
23
+
24
+ test from: :suite_generate_au_ps_using_ips_summary_validation_tests_au_ps_composition_custodian_custodian_ms_identifier_slices
25
+ end
26
+ end
@@ -0,0 +1,21 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative '../../../utils/basic_test_class'
4
+ require_relative '../../../utils/metadata_manager'
5
+
6
+ module AUPSTestKit
7
+ # Automatically generated primitive test for AU PS Composition Mandatory Sections capable of populating referenced profiles
8
+ class AUPSSuiteGenerateAuPsUsingIpsSummaryValidationTestsAuPsCompositionMandatorySectionsAuPsCompositionMandatorySectionsCapableOfPopulatingReferencedProfiles < BasicTest
9
+ title 'AU PS Composition Mandatory Sections capable of populating referenced profiles'
10
+ description 'Mandatory section SHALL be capable of populating section.entry with the referenced profiles and SHOULD correctly populate section.entry if a value is known.'
11
+ id :suite_generate_au_ps_using_ips_summary_validation_tests_au_ps_composition_mandatory_sections_mandatory_sections_entry_profiles
12
+
13
+ def metadata_manager
14
+ @metadata_manager ||= MetadataManager.new(File.expand_path('../../../metadata.yaml', __dir__))
15
+ end
16
+
17
+ run do
18
+ test_composition_mandatory_sections
19
+ end
20
+ end
21
+ end
@@ -0,0 +1,21 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative '../../../utils/basic_test_class'
4
+ require_relative '../../../utils/metadata_manager'
5
+
6
+ module AUPSTestKit
7
+ # Automatically generated primitive test for AU PS Composition Mandatory Sections are correctly populated
8
+ class AUPSSuiteGenerateAuPsUsingIpsSummaryValidationTestsAuPsCompositionMandatorySectionsAuPsCompositionMandatorySectionsAreCorrectlyPopulated < BasicTest
9
+ title 'AU PS Composition Mandatory Sections are correctly populated'
10
+ description 'Mandatory section SHALL be correctly populated if a value is known'
11
+ id :suite_generate_au_ps_using_ips_summary_validation_tests_au_ps_composition_mandatory_sections_sections_shall_populated
12
+
13
+ def metadata_manager
14
+ @metadata_manager ||= MetadataManager.new(File.expand_path('../../../metadata.yaml', __dir__))
15
+ end
16
+
17
+ run do
18
+ validate_populated_sections_in_bundle(%w[11450-4 48765-2 10160-0], %w[title code text])
19
+ end
20
+ end
21
+ end
@@ -0,0 +1,20 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative 'au_ps_composition_mandatory_sections/composition_mandatory_sections_sections_shall_populated'
4
+
5
+ require_relative 'au_ps_composition_mandatory_sections/composition_mandatory_sections_mandatory_sections_entry_profiles'
6
+
7
+ module AUPSTestKit
8
+ # Automatically generated primitive group for AU PS Composition Mandatory Sections
9
+ class AUPSSuiteGenerateAuPsUsingIpsSummaryValidationTestsAuPsCompositionMandatorySections < Inferno::TestGroup
10
+ title 'AU PS Composition Mandatory Sections'
11
+ description 'Verify the mandatory sections are correctly populated in the AU PS Composition resource'
12
+ id :suite_generate_au_ps_using_ips_summary_validation_tests_au_ps_composition_mandatory_sections
13
+
14
+ run_as_group
15
+
16
+ test from: :suite_generate_au_ps_using_ips_summary_validation_tests_au_ps_composition_mandatory_sections_sections_shall_populated
17
+
18
+ test from: :suite_generate_au_ps_using_ips_summary_validation_tests_au_ps_composition_mandatory_sections_mandatory_sections_entry_profiles
19
+ end
20
+ end
@@ -0,0 +1,21 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative '../../../utils/basic_test_class'
4
+ require_relative '../../../utils/metadata_manager'
5
+
6
+ module AUPSTestKit
7
+ # Automatically generated primitive test for Mandatory Must Support elements are correctly populated
8
+ class AUPSSuiteGenerateAuPsUsingIpsSummaryValidationTestsAuPsCompositionMustSupportConformanceMandatoryMustSupportElementsAreCorrectlyPopulated < BasicTest
9
+ title 'Mandatory Must Support elements are correctly populated'
10
+ description 'Mandatory Must Support element SHALL be able to be populated if a value is known and allowed to share.'
11
+ id :suite_generate_au_ps_using_ips_summary_validation_tests_au_ps_composition_must_support_conformance_composition_mandatory_ms_populated
12
+
13
+ def metadata_manager
14
+ @metadata_manager ||= MetadataManager.new(File.expand_path('../../../metadata.yaml', __dir__))
15
+ end
16
+
17
+ run do
18
+ validate_populated_elements_in_composition(%w[author date status subject title type])
19
+ end
20
+ end
21
+ end
@@ -0,0 +1,22 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative '../../../utils/basic_test_class'
4
+ require_relative '../../../utils/metadata_manager'
5
+
6
+ module AUPSTestKit
7
+ # Automatically generated primitive test for Must Support sub-elements of a complex element are correctly populated
8
+ class AUPSSuiteGenerateAuPsUsingIpsSummaryValidationTestsAuPsCompositionMustSupportConformanceMustSupportSubelementsOfAComplexElementAreCorrectlyPopulated < BasicTest
9
+ title 'Must Support sub-elements of a complex element are correctly populated'
10
+ description 'Must Support sub-elements of a complex element SHALL be correctly populated if a value is known'
11
+ id :suite_generate_au_ps_using_ips_summary_validation_tests_au_ps_composition_must_support_conformance_composition_ms_subelements_populated
12
+
13
+ def metadata_manager
14
+ @metadata_manager ||= MetadataManager.new(File.expand_path('../../../metadata.yaml', __dir__))
15
+ end
16
+
17
+ run do
18
+ validate_populated_sub_elements_in_composition(['attester.mode', 'subject.reference'],
19
+ ['attester.party', 'attester.time'])
20
+ end
21
+ end
22
+ end
@@ -0,0 +1,22 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative '../../../utils/basic_test_class'
4
+ require_relative '../../../utils/metadata_manager'
5
+
6
+ module AUPSTestKit
7
+ # Automatically generated primitive test for Optional Must Support elements are correctly populated
8
+ class AUPSSuiteGenerateAuPsUsingIpsSummaryValidationTestsAuPsCompositionMustSupportConformanceOptionalMustSupportElementsAreCorrectlyPopulated < BasicTest
9
+ title 'Optional Must Support elements are correctly populated'
10
+ description 'Optional Must Support elements SHALL be correctly populated if a value is known'
11
+ id :suite_generate_au_ps_using_ips_summary_validation_tests_au_ps_composition_must_support_conformance_composition_optional_ms_populated
12
+
13
+ def metadata_manager
14
+ @metadata_manager ||= MetadataManager.new(File.expand_path('../../../metadata.yaml', __dir__))
15
+ end
16
+
17
+ run do
18
+ validate_populated_elements_in_composition(%w[attester custodian identifier text event],
19
+ required: false)
20
+ end
21
+ end
22
+ end
@@ -0,0 +1,22 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative '../../../utils/basic_test_class'
4
+ require_relative '../../../utils/metadata_manager'
5
+
6
+ module AUPSTestKit
7
+ # Automatically generated primitive test for Must Support slices are correctly populated
8
+ class AUPSSuiteGenerateAuPsUsingIpsSummaryValidationTestsAuPsCompositionMustSupportConformanceMustSupportSlicesAreCorrectlyPopulated < BasicTest
9
+ title 'Must Support slices are correctly populated'
10
+ description 'Must Support slice careProvisioningEvent SHALL be populated if a value is known.'
11
+ id :suite_generate_au_ps_using_ips_summary_validation_tests_au_ps_composition_must_support_conformance_composition_optional_ms_slices
12
+
13
+ def metadata_manager
14
+ @metadata_manager ||= MetadataManager.new(File.expand_path('../../../metadata.yaml', __dir__))
15
+ end
16
+
17
+ run do
18
+ validate_populated_slices_in_composition([{ path: 'event', sliceName: 'careProvisioningEvent', min: 0,
19
+ max: '1', mustSupport: true, mandatory_ms_sub_elements: ['period'], optional_ms_sub_elements: ['code'] }])
20
+ end
21
+ end
22
+ end
@@ -0,0 +1,28 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative 'au_ps_composition_must_support_conformance/composition_must_support_conformance_composition_mandatory_ms_populated'
4
+
5
+ require_relative 'au_ps_composition_must_support_conformance/composition_must_support_conformance_composition_optional_ms_populated'
6
+
7
+ require_relative 'au_ps_composition_must_support_conformance/composition_must_support_conformance_composition_ms_subelements_populated'
8
+
9
+ require_relative 'au_ps_composition_must_support_conformance/composition_must_support_conformance_composition_optional_ms_slices'
10
+
11
+ module AUPSTestKit
12
+ # Automatically generated primitive group for AU PS Composition Must Support Conformance
13
+ class AUPSSuiteGenerateAuPsUsingIpsSummaryValidationTestsAuPsCompositionMustSupportConformance < Inferno::TestGroup
14
+ title 'AU PS Composition Must Support Conformance'
15
+ description 'Verifies that Composition Must Support elements (mandatory, optional, sub-elements, slices) are correctly populated when data is known.'
16
+ id :suite_generate_au_ps_using_ips_summary_validation_tests_au_ps_composition_must_support_conformance
17
+
18
+ run_as_group
19
+
20
+ test from: :suite_generate_au_ps_using_ips_summary_validation_tests_au_ps_composition_must_support_conformance_composition_mandatory_ms_populated
21
+
22
+ test from: :suite_generate_au_ps_using_ips_summary_validation_tests_au_ps_composition_must_support_conformance_composition_optional_ms_populated
23
+
24
+ test from: :suite_generate_au_ps_using_ips_summary_validation_tests_au_ps_composition_must_support_conformance_composition_ms_subelements_populated
25
+
26
+ test from: :suite_generate_au_ps_using_ips_summary_validation_tests_au_ps_composition_must_support_conformance_composition_optional_ms_slices
27
+ end
28
+ end