davinci_pas_test_kit 0.12.0 → 0.12.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 (51) hide show
  1. checksums.yaml +4 -4
  2. data/lib/davinci_pas_test_kit/client_suite.rb +24 -0
  3. data/lib/davinci_pas_test_kit/custom_groups/v2.0.1/client_tests/pas_client_approval_submit_test.rb +29 -1
  4. data/lib/davinci_pas_test_kit/custom_groups/v2.0.1/client_tests/pas_client_denial_submit_test.rb +27 -4
  5. data/lib/davinci_pas_test_kit/{generated/v2.0.1/client_tests/client_pended_pas_inquiry_request_bundle_validation_test.rb → custom_groups/v2.0.1/client_tests/pas_client_inquire_request_bundle_validation_test.rb} +22 -20
  6. data/lib/davinci_pas_test_kit/{generated/v2.0.1/client_tests/client_denial_pas_response_bundle_validation_test.rb → custom_groups/v2.0.1/client_tests/pas_client_inquire_response_bundle_validation_test.rb} +34 -21
  7. data/lib/davinci_pas_test_kit/custom_groups/v2.0.1/client_tests/pas_client_pended_submit_test.rb +124 -5
  8. data/lib/davinci_pas_test_kit/{generated/v2.0.1/client_tests/client_pas_request_bundle_validation_test.rb → custom_groups/v2.0.1/client_tests/pas_client_request_bundle_validation_test.rb} +22 -20
  9. data/lib/davinci_pas_test_kit/custom_groups/v2.0.1/client_tests/{pas_client_approval_submit_response_attest.rb → pas_client_response_attest.rb} +26 -9
  10. data/lib/davinci_pas_test_kit/{generated/v2.0.1/client_tests/client_pended_pas_response_bundle_validation_test.rb → custom_groups/v2.0.1/client_tests/pas_client_response_bundle_validation_test.rb} +44 -20
  11. data/lib/davinci_pas_test_kit/custom_groups/v2.0.1/client_tests/pas_client_subscription_create_test.rb +49 -0
  12. data/lib/davinci_pas_test_kit/custom_groups/v2.0.1/client_tests/pas_client_subscription_pas_conformance_test.rb +48 -0
  13. data/lib/davinci_pas_test_kit/custom_groups/v2.0.1/pas_client_approval_group.rb +21 -9
  14. data/lib/davinci_pas_test_kit/custom_groups/v2.0.1/pas_client_authentication_group.rb +2 -2
  15. data/lib/davinci_pas_test_kit/custom_groups/v2.0.1/pas_client_denial_group.rb +21 -22
  16. data/lib/davinci_pas_test_kit/custom_groups/v2.0.1/pas_client_pended_group.rb +97 -31
  17. data/lib/davinci_pas_test_kit/docs/client_suite_description_v201.md +213 -72
  18. data/lib/davinci_pas_test_kit/endpoints/claim_endpoint.rb +85 -134
  19. data/lib/davinci_pas_test_kit/endpoints/subscription_create_endpoint.rb +96 -0
  20. data/lib/davinci_pas_test_kit/endpoints/subscription_status_endpoint.rb +90 -0
  21. data/lib/davinci_pas_test_kit/generated/v2.0.1/pas_inquiry_request_bundle/metadata.yml +0 -2
  22. data/lib/davinci_pas_test_kit/generated/v2.0.1/pas_inquiry_request_bundle/server_pas_inquiry_request_bundle_validation_test.rb +3 -1
  23. data/lib/davinci_pas_test_kit/generated/v2.0.1/pas_inquiry_response_bundle/server_pas_inquiry_response_bundle_validation_test.rb +2 -1
  24. data/lib/davinci_pas_test_kit/generated/v2.0.1/pas_request_bundle/metadata.yml +0 -2
  25. data/lib/davinci_pas_test_kit/generated/v2.0.1/pas_request_bundle/server_pas_request_bundle_validation_test.rb +3 -1
  26. data/lib/davinci_pas_test_kit/generated/v2.0.1/pas_response_bundle/metadata.yml +0 -4
  27. data/lib/davinci_pas_test_kit/generated/v2.0.1/pas_response_bundle/server_pas_response_bundle_validation_test.rb +2 -1
  28. data/lib/davinci_pas_test_kit/generated/v2.0.1/pas_server_denial_use_case_group.rb +1 -1
  29. data/lib/davinci_pas_test_kit/generated/v2.0.1/pas_server_pended_use_case_group.rb +6 -5
  30. data/lib/davinci_pas_test_kit/generated/v2.0.1/server_suite.rb +1 -0
  31. data/lib/davinci_pas_test_kit/generator/group_generator.rb +9 -8
  32. data/lib/davinci_pas_test_kit/generator/group_metadata_extractor.rb +7 -3
  33. data/lib/davinci_pas_test_kit/generator/templates/suite.rb.erb +1 -0
  34. data/lib/davinci_pas_test_kit/generator/validation_test_generator.rb +19 -56
  35. data/lib/davinci_pas_test_kit/generator/value_extractor.rb +4 -1
  36. data/lib/davinci_pas_test_kit/generator.rb +1 -1
  37. data/lib/davinci_pas_test_kit/jobs/send_pas_subscription_notification.rb +136 -0
  38. data/lib/davinci_pas_test_kit/jobs/send_subscription_handshake.rb +139 -0
  39. data/lib/davinci_pas_test_kit/pas_bundle_validation.rb +8 -7
  40. data/lib/davinci_pas_test_kit/response_generator.rb +397 -0
  41. data/lib/davinci_pas_test_kit/tags.rb +9 -0
  42. data/lib/davinci_pas_test_kit/urls.rb +8 -0
  43. data/lib/davinci_pas_test_kit/user_input_response.rb +11 -8
  44. data/lib/davinci_pas_test_kit/validation_test.rb +0 -1
  45. data/lib/davinci_pas_test_kit/version.rb +2 -2
  46. metadata +30 -14
  47. data/lib/davinci_pas_test_kit/custom_groups/v2.0.1/client_tests/pas_client_denial_submit_response_attest.rb +0 -38
  48. data/lib/davinci_pas_test_kit/custom_groups/v2.0.1/client_tests/pas_client_pended_inquire_response_attest.rb +0 -39
  49. data/lib/davinci_pas_test_kit/custom_groups/v2.0.1/client_tests/pas_client_pended_inquire_test.rb +0 -35
  50. data/lib/davinci_pas_test_kit/custom_groups/v2.0.1/client_tests/pas_client_pended_submit_response_attest.rb +0 -39
  51. data/lib/davinci_pas_test_kit/generator/templates/validation_client.rb.erb +0 -50
@@ -1,39 +0,0 @@
1
- require_relative '../../../urls'
2
-
3
- module DaVinciPASTestKit
4
- module DaVinciPASV201
5
- class PASClientPendedInquireResponseAttest < Inferno::Test
6
- include URLs
7
-
8
- id :pas_client_v201_pended_inquire_response_attest
9
- title 'Check that the client registers the request as approved (Attestation)'
10
- description %(
11
- This test provides the tester an opportunity to observe their client following
12
- the receipt of the inquiry response with a final decision and attest that users
13
- are able to determine that the response has been approved in full.
14
- )
15
- input :access_token,
16
- title: 'Access Token',
17
- description: %(
18
- Access token that the client will provide in the Authorization header of each request
19
- made during this test.
20
- )
21
-
22
- run do
23
- wait(
24
- identifier: access_token,
25
- message: %(
26
- **Pended Workflow Test**:
27
-
28
- I attest that the client system displays the submitted claim as 'approved' meaning that
29
- the user can proceed with ordering or providing the requested service.
30
-
31
- [Click here](#{resume_pass_url}?token=#{access_token}) if the above statement is **true**.
32
-
33
- [Click here](#{resume_fail_url}?token=#{access_token}) if the above statement is **false**.
34
- )
35
- )
36
- end
37
- end
38
- end
39
- end
@@ -1,35 +0,0 @@
1
- require_relative '../../../urls'
2
-
3
- module DaVinciPASTestKit
4
- module DaVinciPASV201
5
- class PASClientPendedInquireTest < Inferno::Test
6
- include URLs
7
-
8
- id :pas_client_v201_pended_inquire_test
9
- title 'Client inquires about a pended claim using the $inquire operation'
10
- description %(
11
- Inferno will wait for a prior authorization inquiry request
12
- from the client. Upon receipt, Inferno will generate a response
13
- with an approved status and respond with it.
14
- )
15
- input :access_token,
16
- title: 'Access Token',
17
- description: %(
18
- Access token that the client will provide in the Authorization header of each request
19
- made during this test.
20
- )
21
-
22
- run do
23
- wait(
24
- identifier: access_token,
25
- message: %(
26
- **Pended Workflow Test**:
27
-
28
- Submit a PAS claim inquiry request for the pended prior authorization request to `#{inquire_url}`.
29
- An approval response generated by Inferno will be returned.
30
- )
31
- )
32
- end
33
- end
34
- end
35
- end
@@ -1,39 +0,0 @@
1
- require_relative '../../../urls'
2
-
3
- module DaVinciPASTestKit
4
- module DaVinciPASV201
5
- class PASClientPendedSubmitResponseAttest < Inferno::Test
6
- include URLs
7
-
8
- id :pas_client_v201_pended_submit_response_attest
9
- title 'Check that the client registers the request as pended (Attestation)'
10
- description %(
11
- This test provides the tester an opportunity to observe their client following
12
- the receipt of the pended response and attest that users are able to determine
13
- that the response has been pended and a decision will be forth coming.
14
- )
15
- input :access_token,
16
- title: 'Access Token',
17
- description: %(
18
- Access token that the client will provide in the Authorization header of each request
19
- made during this test.
20
- )
21
-
22
- run do
23
- wait(
24
- identifier: access_token,
25
- message: %(
26
- **Pended Workflow Test**:
27
-
28
- I attest that the client system displays the submitted claim as 'pended' meaning that
29
- a final decision has not yet been made.
30
-
31
- [Click here](#{resume_pass_url}?token=#{access_token}) if the above statement is **true**.
32
-
33
- [Click here](#{resume_fail_url}?token=#{access_token}) if the above statement is **false**.
34
- )
35
- )
36
- end
37
- end
38
- end
39
- end
@@ -1,50 +0,0 @@
1
- require_relative '../../../pas_bundle_validation'
2
- require_relative '../../../<% if request_type.include?('response') %>user_input_response'<% else %>urls'<% end %>
3
-
4
- module DaVinciPASTestKit
5
- module <%= module_name %>
6
- class <%= class_name %> < Inferno::Test
7
- include DaVinciPASTestKit::PasBundleValidation
8
- include <% if request_type.include?('response') %>UserInputResponse<% else %>URLs<% end %>
9
-
10
- id :<%= test_id %>
11
- title '<%= title %>'
12
- description %(
13
- <%=description.strip.gsub("\n", "\n" + " "*8) %>
14
- )
15
-
16
- def resource_type
17
- '<%= resource_type %>'
18
- end
19
-
20
- def request_type
21
- '<%= request_type.split('_').first %>'
22
- end
23
-
24
- run do<% if request_type.include?('request') %><% type = request_type.split('_').first == 'submit' ? 'submit' : 'inquire' %>
25
- assert request.url == <%= type %>_url,
26
- "Request made to wrong URL: #{request.url}. Should instead be to #{<%= type %>_url}"
27
-
28
- validate_pas_bundle_json(
29
- request.request_body,
30
- '<%= profile_url %>',
31
- '<%= profile_version %>',
32
- request_type,
33
- 'request_bundle',
34
- message: 'The <%= type%> Bundle request provided for the Claim/$<%= type%> operation is invalid:'
35
- )
36
- <% else %>
37
- check_user_inputted_response :<%= workflow %>_json_response
38
- validate_pas_bundle_json(
39
- <%= workflow %>_json_response,
40
- '<%= profile_url %>',
41
- '<%= profile_version %>',
42
- request_type,
43
- 'response_bundle',
44
- skips: true,
45
- message: "Invalid input for '#{input_title(:<%= workflow %>_json_response)}':"
46
- )<% end %>
47
- end
48
- end
49
- end
50
- end