From 727ef232e5d9db86aa077488141e4485730ad790 Mon Sep 17 00:00:00 2001 From: Mike Date: Thu, 11 Apr 2024 13:46:36 -0400 Subject: [PATCH 01/74] Api 33629 update bi docs (#16103) * Updated BI docs with better words * more changes in BI md docs --------- Co-authored-by: Kristen Brown <11942904+kristen-brown@users.noreply.github.com> --- .../vba_documents/v1/controller_swagger.rb | 9 + .../swagger/vba_documents/v1/description.md | 173 ++++++++-------- .../swagger/vba_documents/v2/description.md | 192 ++++++++---------- 3 files changed, 187 insertions(+), 187 deletions(-) diff --git a/modules/vba_documents/app/swagger/vba_documents/v1/controller_swagger.rb b/modules/vba_documents/app/swagger/vba_documents/v1/controller_swagger.rb index b83922f4e5f..045f4cab2bf 100644 --- a/modules/vba_documents/app/swagger/vba_documents/v1/controller_swagger.rb +++ b/modules/vba_documents/app/swagger/vba_documents/v1/controller_swagger.rb @@ -85,6 +85,9 @@ class ControllerSwagger extend VBADocuments::Responses::ForbiddenError key :summary, 'Get status for a previous benefits document upload' key :operationId, 'getBenefitsDocumentUploadStatus' + key :description, 'A request to the `/uploads/{id}` endpoint will return a real-time status for that GUID, ' \ + 'and update its status in `/uploads/report`.\n\n' \ + 'The `updated_at` field indicates the last time the status for a given GUID was updated.' key :tags, [ VBA_TAG @@ -173,6 +176,12 @@ class ControllerSwagger key :summary, 'Get a bulk status report for a list of previous uploads' key :operationId, 'getBenefitsDocumentUploadStatusReport' + key :description, 'Due to current system limitations, data for the `/uploads/report` endpoint is cached for one hour.' \ + '\n\n' \ + 'A request to the `/uploads/{id}` endpoint will return a real-time status for that GUID, ' \ + 'and update its status in `/uploads/report`.' \ + '\n\n' \ + 'The `updated_at` field indicates the last time the status for a given GUID was updated.' security do key :apikey, [] diff --git a/modules/vba_documents/app/swagger/vba_documents/v1/description.md b/modules/vba_documents/app/swagger/vba_documents/v1/description.md index 3ec795ed7a3..f0efc266428 100644 --- a/modules/vba_documents/app/swagger/vba_documents/v1/description.md +++ b/modules/vba_documents/app/swagger/vba_documents/v1/description.md @@ -1,4 +1,5 @@ -The Benefits Intake API allows authorized third-party systems used by Veteran Service Organizations (VSOs), agencies, and Veterans to digitally submit VA benefits claim documents directly to the Veterans Benefits Administration's (VBA) claims intake process. This API handles documents related to the following benefit claim types: +The Benefits Intake API enables authorized third-party systems, such as those used by Veteran Service Organizations (VSOs), agencies, and Veterans, to digitally submit documents for VA benefits claims directly to the claims intake process of the Veterans Benefits Administration (VBA). This API handles documents related to the following benefit claim types: + * Compensation * Pension/Survivors Benefits @@ -8,105 +9,109 @@ The Benefits Intake API allows authorized third-party systems used by Veteran Se * Veteran Readiness & Employment (VRE) * Board of Veteran Appeals (BVA) -This API also provides submission status updates until documents are successfully established for VBA claim processing, eliminating the need for users to switch between systems to manually check whether documents have been successfully uploaded. - -**Note**: This API may not be used for Veterans Health Administration (VHA) benefits, including 10-10EZ and 10-10d. +Additionally, the API offers real-time status updates on document submissions until they've been successfully accepted by VBA or another VA system for claims processing. -## Background -This API provides a secure, efficient, and tracked alternative to mail or fax for VA benefit claim document submissions. Documents are uploaded directly to the VBA so they can be processed as quickly as possible. +**Important**: This API **may not** be used for Veterans Health Administration (VHA) benefits forms, including the Instructions and Enrollment Application for Health Benefits form (10-10EZ) and the application for CHAMPVA benefits form (10-10d). ## Technical overview -The Benefits Intake API first provides an upload location and unique submission identifier, and then accepts a payload consisting of a document in PDF format, zero or more optional attachments in PDF format, and some JSON metadata. - -The metadata describes the document and attachments, and identifies the person for whom it is being submitted. This payload is encoded as binary multipart/form-data (not base64). The unique identifier supplied with the payload can subsequently be used to request the processing status of the uploaded document package. - -To avoid errors and processing delays, API consumers are encouraged to validate the `zipcode`,`fileNumber`, `veteranFirstName`, `veteranLastName` and `businessLine` fields before submission according to their description in the DocumentUploadMetadata model and use the 'businessLine' attribute for the most efficient processing. Additionally, please ensure no PDF user passwords are used in submitted PDFs. - -### Attachment & file size limits -There is no limit on the number of files a payload can contain, but size limits do apply. - -* Uploaded documents cannot be larger than 78" x 101" -* The entire payload cannot exceed 5 GB -* No single file in a payload can exceed 100 MB - -### Date of receipt -The date that documents are successfully submitted through the Benefits Intake API is used as the official VA date of receipt. However, note that until a document status of `received`, `processing`, `success`, or `vbms` is returned, a client cannot consider the document received by VA. - -A status of `received` means that the document package has been transmitted, but may not be validated. Any errors with the document package, such as unreadable PDFs or a Veteran not found, will cause the status to change to `error`. - -If the document status is `error`, VA has not received the submission and cannot honor the submission date as the date of receipt. +The Benefits Intake API first provides an upload location and unique submission identifier, and then accepts a payload consisting of a PDF document, other optional PDF attachments, and JSON metadata. The metadata describes the PDF attachments and identifies the Veteran who the benefits are related to. ### Authentication and Authorization -API requests are authorized through a symmetric API token, provided in an HTTP header with name 'apikey'. [Request an API key](https://developer.va.gov/explore/api/benefits-intake/sandbox-access). - -### Testing in the sandbox environment -In the sandbox environment, the final status of a submission is `received` and submissions do not actually progress to the central mail repository or VBMS. - -Progress beyond the `received` status can be simulated for testing. We allow passing in a `Status-Override` header on the `/uploads/{id}` endpoint so that you can change the status of your submission to simulate the various scenarios. - -The available statuses are `pending`, `uploaded`, `received`, `processing`, `success`, `vbms`, and `error`. The meaning of the various statuses is listed below in Models under DocumentUploadStatusAttributes. +API requests are authorized through a symmetric API token, provided in an HTTP header with name `apikey`. [Get access to sandbox](https://developer.va.gov/explore/api/benefits-intake/sandbox-access). ### Test data -We use mock test data in the sandbox environment. Data is not sent upstream and it is not necessary to align submitted test data with any other systems' data. +Since the primary purpose of this API is to accept user submissions, it doesn't have mock test data available. In the sandbox environment, data submitted to the API is not sent downstream. This API can return data that has been previously submitted by a consumer. -### Validating documents -Use the POST `/uploads/validate_document` endpoint to make sure your documents will pass system file requirements and -validations before you send them through the submissions process. This step is optional but decreases the likelihood -of individual document errors during the submission process. +### Document Submission Statuses -Validations performed: -* Document is a valid PDF (Note: `Content-Type` header value must be "application/pdf") -* Document does not have a user password (an owner password is acceptable) -* File size does not exceed 100 MB -* Page size does not exceed 78" x 101" +After a successful upload, a submission status can be tracked using the GET /uploads/{id} endpoint. If multiple uploads have been made, the POST /uploads/report endpoint can be used to track the status of multiple submissions. For more information, please see steps 5 and 6 in the **How to Upload** section of this documentation or check out the example curl and response sections for these endpoints. -### Upload operation -Allows a client to upload a multi-part document package (form + attachments + metadata). +Detailed descriptions of what each status means are found in this table. +| Status | What it means | +| --- | --- | +| **Pending** | - This is the initial status. Indicates no document submission has been uploaded yet.

- Date of Receipt is not yet established with this status. | +| **Uploaded** | - Indicates document submission has been successfully uploaded (PUT) to the API server.

- Submission has not yet been validated.

- Date of Receipt is not yet established with this status.

- Any errors with the document submission, such as having an unreadable PDF, may cause an Error status. | +| **Received** | - Indicates document submission has been received downstream of the API and is awaiting processing.

- The VA Date of Receipt is set when this status is achieved.

- Any errors with the document submission, such as having an unreadable PDF, may cause an Error status.

- This is the final status in the sandbox environment unless further progress is simulated by the user. | +| **Processing**| - Indicates the document package is being validated, processed, and made ready to route and work.

- Any errors with the document submission, such as having an unreadable PDF, may cause an Error status.| +| **Success** | - Indicates the document submission has been successfully received within VA's mail handling system.

- Success is the final status for a small percentage of submissions with claim types, Veteran types, or exception processes that are not worked in VBMS.

- Most submissions reach a Success status within 1 business day.

- A small portion will take longer. However, some submissions may take up to 2 weeks to reach a Success status.| +| **VBMS** | - Indicates the document submission was successfully uploaded into a Veteran's eFolder within VBMS.

- On average, submissions reach VBMS status within 3 business days. However, processing times vary and some submissions may remain in a Success status for several weeks before reaching a VBMS status.

- Some document packages are worked in VA systems other than VBMS. For these submissions, Success is the final status. | +| **Error** | - Indicates that there was an error. Refer to the error code and detail for further information. | +| **Expired** | - After a POST request, there is a 15-minute window during which documents must be uploaded via a PUT request.

- An Expired status means the documents were not successfully uploaded within this 15-minute window.

- We recommend coding to retry unsuccessful uploads within 15 minutes using the same submission in case of connection issues. | + +In the sandbox environment: +* The final status of a submission is `received` since submissions do not actually progress to the Central Mail repository or VBMS. +* Progress beyond the `received` status can be simulated for testing. A `Status-Override` header can be passed on the `/uploads/{id}` endpoint to change the status of a submission to simulate the various status scenarios. + +In the production environment: +* The date that the Benefits Intake API submits the documents downstream (indicated by the `received` status) is used as the official VA date of receipt. This is usually the same day as when the documents are submitted by users, but not always. +* If the document's final destination is VBMS, it can fall into an `error` state until the status of VBMS is returned. +* If the document's final destination is another VA system besides VBMS, it can fall into an `error` state until the status of `success` is returned. + + +### How to avoid submission errors +The Benefits Intake API returns three different categories of errors: +* HTTP errors relating to the client request. These errors will be immediate. +* Metadata and PDF validation errors run by the system before passing the submission downstream to subsequent services. These errors will be asynchronous but generally come within minutes of submission. +* Downstream errors returned by subsequent services, usually relating to the content of the PDFs or metadata. These errors will be asynchronous and can take minutes to hours or longer to receive. + +To prevent submission delays and errors: +* Ensure that submitted PDFs are not locked by user passwords and that they are within the file and page size limits before submitting your payload. +* Be sure to validate all metadata fields against their data requirements as defined in the DocumentUploadMetadata schema before submitting your payload. +* The businessLine field is optional, but when included, it will ensure the fastest possible processing. If not specified, businessLine will default to CMP, the business line for Compensation requests. +* The POST /uploads/validate_document endpoint can be used to ensure individual PDF documents meet system requirements prior to submission. + +For information on how to monitor the status of submissions, please see Steps 5 and 6 of the **How to Upload** section of this documentation. -1. Client Request: POST https://sandbox-api.va.gov/services/vba_documents/v1/ - * No request body or parameters required +### Attachment & file size limits +There is no limit on the number of files a payload can contain, but file size and page dimension limits do apply. +* Uploaded PDFs can't be larger than 78" x 101". +* Uploaded PDFs can't exceed 100 MB. +* The entire payload can't exceed 5 GB. +### How to Upload +The Upload operation lets a client upload a multi-part document submission, specifically PDFs and metadata. Uploading is detailed below. +1. Client Request: POST https://sandbox-api.va.gov/services/vba_documents/v1/ + * No request body or parameters required. 2. Service Response: A JSON API object with the following attributes: - * `guid`: An identifier used for subsequent status requests - * `location`: A URL to which the actual document package payload can be submitted in the next step. The URL is specific to this upload request, and should not be re-used for subsequent uploads. The URL is valid for 900 seconds (15 minutes) from the time of this response. If the location is not used within 15 minutes, the GUID will expire. Once expired, status checks on the GUID will return a status of `expired`. - * Note: If, after you've submitted a document, the status hasn't changed to `uploaded` before 15 minutes has elapsed, we recommend retrying the upload in order to make sure the document properly reaches our servers. If the upload continues to fail, try encoding the payload as Base64 (See below). - - 3. Client Request: PUT to the location URL returned in Step 2. - * Request body should be encoded as binary multipart/form-data (base64 also available - see details below), equivalent to that generated by an HTML form submission or using "curl -F…". The format is described in more detail below. - * No `apikey` authorization header is required for this request, as authorization is embedded in the signed location URL. - -4. Service Response: The HTTP status indicates whether the upload was successful. - * Additionally, the response includes an ETag header containing an MD5 hash of the submitted payload. This can be compared to the submitted payload to ensure data integrity of the upload. - -### Status caching -Due to current system limitations, data for the `/uploads/report` endpoint is cached for one hour. + * `guid`: An identifier used for subsequent status requests. + * `location`: A URL to which the actual document submission payload can be submitted in the next step. The URL is specific to this upload request, and should not be re-used for subsequent uploads. The URL is valid for 15 minutes (900 seconds) from the time of this response. If the location is not used within 15 minutes, the GUID will expire. Once expired, status checks on the GUID will return a status of `expired`. + * **Note**: If the status hasn't changed to uploaded within 15 minutes of submission, retry the POST request in step 1 to generate a new location URL. +3. Client Request: PUT to the location URL returned in step 2. + * The request body should use the binary multipart/form-data format . The body can optionally be encoded as Base64. + * No `apikey` authorization header is required for this request, as authorization is embedded in the signed location URL. +4. Service Response: The HTTP status indicates whether the upload was submitted. + * Additionally, the response includes an ETag header containing an MD5 hash of the submitted payload. This can be compared to the submitted payload to ensure data integrity of the upload. + * **Note**: A successful document submission **_does not_** mean it was successfully received by VA. Successful document submissions can fail later, as discussed above in the "How to avoid submission errors" section. +5. Client Request: GET https://sandbox-api.va.gov/services/vba_documents/v2/uploads/{id} + * `id`: An identifier (`guid`) returned in step 2 by the previous submission. +6. Service Response: A JSON API object with the following attributes: + * `guid`: The identifier of the submission for which a status was requested. + * `status`: The current status of the submission. See the previous "Document Submission Statuses" section for more information about the specific statuses. + * `code`: Only present if `status` is `error`. An error code specifying why the submission is in an error state. For a list of the error codes, see the schema for the GET /uploads/{id} 200 response. + * `detail`: Only present if `status` is `error`. Plain language detailing of the error corresponding to the error code and the specific submission. + * `updated_at`: The last time the submission status was updated. + + +If submissions to the API are made frequently, the bulk status endpoint should be used in place of the above Step 5 to request updates for multiple submissions: + +5. Client Request: POST https://sandbox-api.va.gov/services/vba_documents/v1/uploads/report + * `ids`: A list of identifiers ( guid) returned in step 2 by the previous submissions. +6. Service Response: A JSON API object with the following attributes for each `id`: + * `guid`: The identifier of the submission for which a status was requested. + * `status`: The current status of the submission. See the previous "Document Submission Statuses" section for more information about the specific statuses. + * `code`: Only present if `status` is `error`. An error code specifying why the submission is in an error state. For a list of the error codes, see the schema for the GET /uploads/{id} 200 response. + * `detail`: Only present if `status` is `error`. Plain language detailing of the error corresponding to the error code and the specific submission. + * `updated_at`: The last time the submission status was updated. + * Due to current system limitations, data for the /uploads/report endpoint is cached for one hour. The /uploads/{id} endpoint isn't cached. -A request to the `/uploads/{id}` endpoint will return a real-time status for that GUID, and update its status in `/uploads/report`. - -The `updated_at` field indicates the last time the status for a given GUID was updated. - -### Document Submission Statuses -**Important note:** a submission has not been received by VA until it has a status of Received, Processing, Success, -or VBMS. Detailed descriptions of what each status means are found in this table. - -| Status | What it means | -| --- | --- | -| **Pending** | Initial status.

Indicates no document package has been uploaded yet.

Date of Receipt is not yet established with this status | -| **Uploaded** | Indicates document package has been successfully uploaded (PUT) from your system to the API server but has not yet been validated.

Date of Receipt is not yet established with this status. Any errors with the document package, such as having an unreadable PDF, may cause an Error status. | -| **Received** | Indicates document package has been received upstream of the API and is awaiting Processing.

The VA Date of Receipt is set when this status is achieved.

This is the final status in the sandbox environment unless further progress is simulated. | -| **Processing**| Indicates the document package is being validated, processed, and made ready to route and work. | -| **Success** | Indicates the document package has been successfully received within VA's mail handling system.

Success is the final status for a small percentage of submitted packages with claim types, Veteran types, or exception processes that are not worked in VBMS. Most submissions reach a Success status within 1 business day. A small portion will take longer; however, some submissions may take up to 2 weeks to reach a Success status. | -| **VBMS** | Indicates this document package was successfully uploaded into a Veteran's eFolder within VBMS.

On average, submissions reach VBMS status within 3 business days; however, processing times vary and some submissions may remain in a Success status for several weeks before reaching a VBMS status.

Some document packages are worked in VA systems other than VBMS. For these submissions, Success is the final status. | -| **Error** | Indicates that there was an error. Refer to the error code and message for further information. | -| **Expired** | After a POST request, there is a 15-minute window during which documents must be uploaded via a PUT request.

An Expired status means the documents were not successfully uploaded within this 15-minute window. We recommend coding to retry unsuccessful uploads within 15 minutes using the same submission in case of connection issues. | ### Optional Base64 encoding +Base64 is an encoding scheme that converts binary data into text format, so that encoded textual data can be easily transported over networks uncorrupted and without data loss. -Base64 is an encoding scheme that converts binary data into text format, so that encoded textual data can be easily transported over networks uncorrupted and without data loss. - -Base64 can be used to encode binary multipart/form-data it in its entirety. Note that the whole payload must be encoded, not individual parts/attachments. +Base64 can be used to encode binary multipart/form-data in its entirety. Note that the whole payload must be encoded, not individual parts/attachments. -After encoding your payload, you'll be required to preface your base64 string with `data:multipart/form-data;base64,` in order to allow our system to distinguish the file type. Your final string payload would look something like `data:multipart/form-data;base64,(encryption string)==` and close with the standard == marker. Note that the multipart boundaries i.e. -----WebKitFormBoundaryVfOwzCyvug0JmWYo and ending ------WebKitFormBoundaryVfOwzCyvug0JmWYo- must also be included. +After encoding the payload, the base64 string must be prefaced with `data:multipart/form-data;base64` in order to allow the system to distinguish the file type. -### Consumer onboarding process -When you're ready to move to production, [request a production API key.](https://developer.va.gov/go-live) +The final string payload will look something like this: `data:multipart/form-data;base64,(encryption string)==`, and close with the standard == marker. Note that the multipart boundaries, that is,\ +-----WebKitFormBoundaryVfOwzCyvug0JmWYo and ending in\ +------WebKitFormBoundaryVfOwzCyvug0JmWYo- must also be included. \ No newline at end of file diff --git a/modules/vba_documents/app/swagger/vba_documents/v2/description.md b/modules/vba_documents/app/swagger/vba_documents/v2/description.md index 1ad9abafda2..8b5a5b290bc 100644 --- a/modules/vba_documents/app/swagger/vba_documents/v2/description.md +++ b/modules/vba_documents/app/swagger/vba_documents/v2/description.md @@ -1,4 +1,5 @@ -The Benefits Intake API allows authorized third-party systems used by Veteran Service Organizations (VSOs), agencies, and Veterans to digitally submit VA benefits claim documents directly to the Veterans Benefits Administration's (VBA) claims intake process. This API handles documents related to the following benefit claim types: +The Benefits Intake API enables authorized third-party systems, such as those used by Veteran Service Organizations (VSOs), agencies, and Veterans, to digitally submit documents for VA benefits claims directly to the claims intake process of the Veterans Benefits Administration (VBA). This API handles documents related to the following benefit claim types: + * Compensation * Pension/Survivors Benefits @@ -8,126 +9,111 @@ The Benefits Intake API allows authorized third-party systems used by Veteran Se * Veteran Readiness & Employment (VRE) * Board of Veteran Appeals (BVA) -This API also provides submission status updates until documents are successfully established for VBA claim processing, eliminating the need for users to switch between systems to manually check whether documents have been successfully uploaded. - -**Note**: This API may not be used for Veterans Health Administration (VHA) benefits, including 10-10EZ and 10-10d. +Additionally, the API offers real-time status updates on document submissions until they've been successfully accepted by VBA or another VA system for claims processing. -## Background -This API provides a secure, efficient, and tracked alternative to mail or fax for VA benefit claim document submissions. Documents are uploaded directly to the VBA so they can be processed as quickly as possible. +**Important**: This API **may not** be used for Veterans Health Administration (VHA) benefits forms, including the Instructions and Enrollment Application for Health Benefits form (10-10EZ) and the application for CHAMPVA benefits form (10-10d). ## Technical overview -The Benefits Intake API first provides an upload location and unique submission identifier, and then accepts a payload consisting of a document in PDF format, zero or more optional attachments in PDF format, and some JSON metadata. - -The metadata describes the document and attachments, and identifies the person for whom it is being submitted. This payload is encoded as binary multipart/form-data (not base64). The unique identifier supplied with the payload can subsequently be used to request the processing status of the uploaded document package. - -To avoid errors and processing delays, API consumers are encouraged to validate the `zipcode`,`fileNumber`, `veteranFirstName`, `veteranLastName` and `businessLine` fields before submission according to their description in the DocumentUploadMetadata model and use the 'businessLine' attribute for the most efficient processing. Additionally, please ensure no PDF user passwords are used in submitted PDFs. - -### Attachment & file size limits -There is no limit on the number of files a payload can contain, but size limits do apply. - -* Uploaded documents cannot be larger than 78" x 101" -* The entire payload cannot exceed 5 GB -* No single file in a payload can exceed 100 MB - -### Date of receipt -The date that documents are successfully submitted through the Benefits Intake API is used as the official VA date of receipt. However, note that until a document status of `received`, `processing`, `success`, or `vbms` is returned, a client cannot consider the document received by VA. - -A status of `received` means that the document package has been transmitted, but may not be validated. Any errors with the document package, such as unreadable PDFs or a Veteran not found, will cause the status to change to `error`. - -If the document status is `error`, VA has not received the submission and cannot honor the submission date as the date of receipt. +The Benefits Intake API first provides an upload location and unique submission identifier, and then accepts a payload consisting of a PDF document, other optional PDF attachments, and JSON metadata. The metadata describes the PDF attachments and identifies the Veteran who the benefits are related to. ### Authentication and Authorization -API requests are authorized through a symmetric API token, provided in an HTTP header with name 'apikey'. [Request an API key](https://developer.va.gov/explore/api/benefits-intake/sandbox-access). - -### Testing in the sandbox environment -In the sandbox environment, the final status of a submission is `received` and submissions do not actually progress to the central mail repository or VBMS. +API requests are authorized through a symmetric API token, provided in an HTTP header with name `apikey`. [Get access to sandbox](https://developer.va.gov/explore/api/benefits-intake/sandbox-access). -Progress beyond the `received` status can be simulated for testing. We allow passing in a `Status-Override` header on the `/uploads/{id}` endpoint so that you can change the status of your submission to simulate the various scenarios. +### Test data +Since the primary purpose of this API is to accept user submissions, it doesn't have mock test data available. In the sandbox environment, data submitted to the API is not sent downstream. This API can return data that has been previously submitted by a consumer. -The available statuses are `pending`, `uploaded`, `received`, `processing`, `success`, `vbms`, and `error`. The meaning of the various statuses is listed below in Models under DocumentUploadStatusAttributes. +### Document Submission Statuses -There are additional tools that can help developers explore how the API works. There is a "download" endpoint that can help developers see how the server consumes the data. This endpoint is only available in sandbox and more information can be seen [here](https://github.com/department-of-veterans-affairs/vets-api/blob/master/modules/vba_documents/app/swagger/vba_documents/v2/downloads.md). +After a successful upload, a submission status can be tracked using the GET /uploads/{id} endpoint. If multiple uploads have been made, the POST /uploads/report endpoint can be used to track the status of multiple submissions. For more information, please see steps 5 and 6 in the **How to Upload** section of this documentation or check out the example curl and response sections for these endpoints. -In addition, there are Postman collections and a ping method that are only available in sandbox. More information can be found [here](https://github.com/department-of-veterans-affairs/vets-api/blob/master/lib/webhooks/postman_webhooks/ping-pong). -### Test data -We use mock test data in the sandbox environment. Data is not sent upstream and it is not necessary to align submitted test data with any other systems' data. +Detailed descriptions of what each status means are found in this table. +| Status | What it means | +| --- | --- | +| **Pending** | - This is the initial status. Indicates no document submission has been uploaded yet.

- Date of Receipt is not yet established with this status. | +| **Uploaded** | - Indicates document submission has been successfully uploaded (PUT) to the API server.

- Submission has not yet been validated.

- Date of Receipt is not yet established with this status.

- Any errors with the document submission, such as having an unreadable PDF, may cause an Error status. | +| **Received** | - Indicates document submission has been received downstream of the API and is awaiting processing.

- The VA Date of Receipt is set when this status is achieved.

- Any errors with the document submission, such as having an unreadable PDF, may cause an Error status.

- This is the final status in the sandbox environment unless further progress is simulated by the user. | +| **Processing**| - Indicates the document package is being validated, processed, and made ready to route and work.

- Any errors with the document submission, such as having an unreadable PDF, may cause an Error status.| +| **Success** | - Indicates the document submission has been successfully received within VA's mail handling system.

- Success is the final status for a small percentage of submissions with claim types, Veteran types, or exception processes that are not worked in VBMS.

- Most submissions reach a Success status within 1 business day.

- A small portion will take longer. However, some submissions may take up to 2 weeks to reach a Success status.| +| **VBMS** | - Indicates the document submission was successfully uploaded into a Veteran's eFolder within VBMS.

- On average, submissions reach VBMS status within 3 business days. However, processing times vary and some submissions may remain in a Success status for several weeks before reaching a VBMS status.

- Some document packages are worked in VA systems other than VBMS. For these submissions, Success is the final status. | +| **Error** | - Indicates that there was an error. Refer to the error code and detail for further information. | +| **Expired** | - After a POST request, there is a 15-minute window during which documents must be uploaded via a PUT request.

- An Expired status means the documents were not successfully uploaded within this 15-minute window.

- We recommend coding to retry unsuccessful uploads within 15 minutes using the same submission in case of connection issues. | + +In the sandbox environment: +* The final status of a submission is `received` since submissions do not actually progress to the Central Mail repository or VBMS. +* Progress beyond the `received` status can be simulated for testing. A `Status-Override` header can be passed on the `/uploads/{id}` endpoint to change the status of a submission to simulate the various status scenarios. + +In the production environment: +* The date that the Benefits Intake API submits the documents downstream (indicated by the `received` status) is used as the official VA date of receipt. This is usually the same day as when the documents are submitted by users, but not always. +* If the document's final destination is VBMS, it can fall into an `error` state until the status of VBMS is returned. +* If the document's final destination is another VA system besides VBMS, it can fall into an `error` state until the status of `success` is returned. + + +### How to avoid submission errors +The Benefits Intake API returns three different categories of errors: +* HTTP errors relating to the client request. These errors will be immediate. +* Metadata and PDF validation errors run by the system before passing the submission downstream to subsequent services. These errors will be asynchronous but generally come within minutes of submission. +* Downstream errors returned by subsequent services, usually relating to the content of the PDFs or metadata. These errors will be asynchronous and can take minutes to hours or longer to receive. + +To prevent submission delays and errors: +* Ensure that submitted PDFs are not locked by user passwords and that they are within the file and page size limits before submitting your payload. +* Be sure to validate all metadata fields against their data requirements as defined in the DocumentUploadMetadata schema before submitting your payload. +* The businessLine field is optional, but when included, it will ensure the fastest possible processing. If not specified, businessLine will default to CMP, the business line for Compensation requests. +* The POST /uploads/validate_document endpoint can be used to ensure individual PDF documents meet system requirements prior to submission. + +For information on how to monitor the status of submissions, please see Steps 5 and 6 of the **How to Upload** section of this documentation. -### Upload operation -Allows a client to upload a multi-part document package (form + attachments + metadata). Subscribing to the webhook callback in step 1 is optional. If polling is desired, begin with step 2. +### Attachment & file size limits +There is no limit on the number of files a payload can contain, but file size and page dimension limits do apply. +* Uploaded PDFs can't be larger than 78" x 101". +* Uploaded PDFs can't exceed 100 MB. +* The entire payload can't exceed 5 GB. +### How to Upload +The Upload operation lets a client upload a multi-part document submission, specifically PDFs and metadata. Uploading is detailed below. 1. Client Request (Optional): POST https://dev-api.va.gov/webhooks/v1/register * Webhooks: Pass the `webhook` object to subscribe URL(s) to the status change event `gov.va.developer.benefits-intake.status_change`. This can be sent as a JSON file or as JSON text data. Please refer to the endpoint Webhook schema below for additional details. - -2. Client Request: POST https://dev-api.va.gov/services/vba_documents/v2/uploads - * No request body or parameters required - +2. Client Request: POST https://sandbox-api.va.gov/services/vba_documents/v2/ + * No request body or parameters required. 3. Service Response: A JSON API object with the following attributes: - * `guid`: An identifier used for subsequent status requests - * `location`: A URL to which the actual document package payload can be submitted in the next step. The URL is specific to this upload request, and should not be re-used for subsequent uploads. The URL is valid for 900 seconds (15 minutes) from the time of this response. If the location is not used within 15 minutes, the GUID will expire. Once expired, status checks on the GUID will return a status of `expired`. - * Note: If, after you've submitted a document, the status hasn't changed to `uploaded` before 15 minutes has elapsed, we recommend retrying the upload in order to make sure the document properly reaches our servers. If the upload continues to fail, try encoding the payload as Base64 (See below). - -4. Client Request: PUT to the location URL returned in Step 3. - * Request body should be encoded as binary multipart/form-data (base64 also available - see details below), equivalent to that generated by an HTML form submission or using "curl -F…". The format is described in more detail below. - * No `apikey` authorization header is required for this request, as authorization is embedded in the signed location URL. - -5. Service Response: The HTTP status indicates whether the upload was successful. - * Additionally, the response includes an ETag header containing an MD5 hash of the submitted payload. This can be compared to the submitted payload to ensure data integrity of the upload. - -### Status updates -Once you submit a file upload, you may check its status using multiple methods. - - -* Polling: to check once or at regular intervals: - * For a single GUID, make GET requests to the /uploads/{guid} endpoint. - * For multiple GUIDs, make POST requests to the /uploads/report endpoint. -* Webhooks: we return the status changes to your subscribed URL (from step 1) as shown below. No polling or additional action is needed. - -``` -{ - api_name: 'vba_documents-v2', - timestamp: 1631048257, - notifications: [ - { - guid: 'a5a404d6-4547-4747-a9e1-31eca18d2e1f', - event: 'gov.va.developer.benefits-intake.status_change', - status_to: 'uploaded', - epoch_time: 1631047688, - status_from: 'pending' - }, - { - guid: 'a5a404d6-4547-4747-a9e1-31eca18d2e1f', - event: 'gov.va.developer.benefits-intake.status_change', - status_to: 'received', - epoch_time: 1631047697, - status_from: 'uploaded' - } - ] -} -``` + * `guid`: An identifier used for subsequent status requests. + * `location`: A URL to which the actual document submission payload can be submitted in the next step. The URL is specific to this upload request, and should not be re-used for subsequent uploads. The URL is valid for 15 minutes (900 seconds) from the time of this response. If the location is not used within 15 minutes, the GUID will expire. Once expired, status checks on the GUID will return a status of `expired`. + * **Note**: If the status hasn't changed to uploaded within 15 minutes of submission, retry the POST request in step 1 to generate a new location URL. +4. Client Request: PUT to the location URL returned in step 2. + * The request body should use the binary multipart/form-data format . The body can optionally be encoded as Base64. + * No `apikey` authorization header is required for this request, as authorization is embedded in the signed location URL. +5. Service Response: The HTTP status indicates whether the upload was submitted. + * Additionally, the response includes an ETag header containing an MD5 hash of the submitted payload. This can be compared to the submitted payload to ensure data integrity of the upload. + * **Note**: A successful document submission **_does not_** mean it was successfully received by VA. Successful document submissions can fail later, as discussed above in the "How to avoid submission errors" section. +6. Client Request: GET https://sandbox-api.va.gov/services/vba_documents/v2/uploads/{id} + * `id`: An identifier (`guid`) returned in step 2 by the previous submission. +7. Service Response: A JSON API object with the following attributes: + * `guid`: The identifier of the submission for which a status was requested. + * `status`: The current status of the submission. See the previous "Document Submission Statuses" section for more information about the specific statuses. + * `code`: Only present if `status` is `error`. An error code specifying why the submission is in an error state. For a list of the error codes, see the schema for the GET /uploads/{id} 200 response. + * `detail`: Only present if `status` is `error`. Plain language detailing of the error corresponding to the error code and the specific submission. + * `updated_at`: The last time the submission status was updated. + + +If submissions to the API are made frequently, the bulk status endpoint should be used in place of the above Step 5 to request updates for multiple submissions: + +4. Client Request: POST https://sandbox-api.va.gov/services/vba_documents/v2/uploads/report + * `ids`: A list of identifiers ( guid) returned in step 2 by the previous submissions. +5. Service Response: A JSON API object with the following attributes for each `id`: + * `guid`: The identifier of the submission for which a status was requested. + * `status`: The current status of the submission. See the previous "Document Submission Statuses" section for more information about the specific statuses. + * `code`: Only present if `status` is `error`. An error code specifying why the submission is in an error state. For a list of the error codes, see the schema for the GET /uploads/{id} 200 response. + * `detail`: Only present if `status` is `error`. Plain language detailing of the error corresponding to the error code and the specific submission. + * `updated_at`: The last time the submission status was updated. + * Due to current system limitations, data for the /uploads/report endpoint is cached for one hour. The /uploads/{id} endpoint isn't cached. -### Document Submission Statuses - -**Important note:** a submission has not been received by VA until it has a status of Received, Processing, Success, -or VBMS. Detailed descriptions of what each status means are found in this table. - -| Status | What it means | -| --- | --- | -| **Pending** | Initial status.

Indicates no document package has been uploaded yet.

Date of Receipt is not yet established with this status | -| **Uploaded** | Indicates document package has been successfully uploaded (PUT) from your system to the API server but has not yet been validated.

Date of Receipt is not yet established with this status. Any errors with the document package, such as having an unreadable PDF, may cause an Error status. | -| **Received** | Indicates document package has been received upstream of the API and is awaiting Processing.

The VA Date of Receipt is set when this status is achieved.

This is the final status in the sandbox environment unless further progress is simulated. | -| **Processing**| Indicates the document package is being validated, processed, and made ready to route and work. | -| **Success** | Indicates the document package has been successfully received within VA's mail handling system.

Success is the final status for a small percentage of submitted packages with claim types, Veteran types, or exception processes that are not worked in VBMS. Most submissions reach a Success status within 1 business day. A small portion will take longer; however, some submissions may take up to 2 weeks to reach a Success status. | -| **VBMS** | Indicates this document package was successfully uploaded into a Veteran's eFolder within VBMS.

On average, submissions reach VBMS status within 3 business days; however, processing times vary and some submissions may remain in a Success status for several weeks before reaching a VBMS status.

Some document packages are worked in VA systems other than VBMS. For these submissions, Success is the final status. | -| **Error** | Indicates that there was an error. Refer to the error code and message for further information. | -| **Expired** | After a POST request, there is a 15-minute window during which documents must be uploaded via a PUT request.

An Expired status means the documents were not successfully uploaded within this 15-minute window. We recommend coding to retry unsuccessful uploads within 15 minutes using the same submission in case of connection issues. | ### Optional Base64 encoding - Base64 is an encoding scheme that converts binary data into text format, so that encoded textual data can be easily transported over networks uncorrupted and without data loss. -Base64 can be used to encode binary multipart/form-data it in its entirety. Note that the whole payload must be encoded, not individual parts/attachments. +Base64 can be used to encode binary multipart/form-data in its entirety. Note that the whole payload must be encoded, not individual parts/attachments. -After encoding your payload, you'll be required to preface your base64 string with `data:multipart/form-data;base64,` in order to allow our system to distinguish the file type. Your final string payload would look something like `data:multipart/form-data;base64,(encryption string)==` and close with the standard == marker. Note that the multipart boundaries i.e. -----WebKitFormBoundaryVfOwzCyvug0JmWYo and ending ------WebKitFormBoundaryVfOwzCyvug0JmWYo- must also be included. +After encoding the payload, the base64 string must be prefaced with `data:multipart/form-data;base64` in order to allow the system to distinguish the file type. -### Consumer onboarding process -When you're ready to move to production, [request a production API key.](https://developer.va.gov/go-live) +The final string payload will look something like this: `data:multipart/form-data;base64,(encryption string)==`, and close with the standard == marker. Note that the multipart boundaries, that is,\ +-----WebKitFormBoundaryVfOwzCyvug0JmWYo and ending in\ +------WebKitFormBoundaryVfOwzCyvug0JmWYo- must also be included. \ No newline at end of file From 023a2e872b2ae4f0a8d85a334a2cb84572e3e1fb Mon Sep 17 00:00:00 2001 From: Kyle Cardwell <79024398+KyleCardwell@users.noreply.github.com> Date: Thu, 11 Apr 2024 12:24:16 -0600 Subject: [PATCH 02/74] added sm and sm-pilot to allowed list (#16298) --- lib/statsd_middleware.rb | 2 ++ 1 file changed, 2 insertions(+) diff --git a/lib/statsd_middleware.rb b/lib/statsd_middleware.rb index 7d54281a381..fd9d86a8069 100644 --- a/lib/statsd_middleware.rb +++ b/lib/statsd_middleware.rb @@ -95,6 +95,8 @@ class StatsdMiddleware messages mhv-inherited-proofing mhv-landing-page + mhv-secure-messaging + mhv-secure-messaging-pilot mock-alternate-header-0845 mock-form mock-form-patterns-v3 From dcb5b91ff8036aa3413aad908de3ac7f7049c2c1 Mon Sep 17 00:00:00 2001 From: Eric Tillberg Date: Thu, 11 Apr 2024 14:59:56 -0400 Subject: [PATCH 03/74] More fixes for 20-10207 (#16302) * More fixes for 20-10207 * cleanup * fix fixture --- .../app/form_mappings/vba_20_10207.json.erb | 42 +++++++++---------- .../models/simple_forms_api/vba_20_10207.rb | 6 +-- .../form_json/vba_20_10207-non-veteran.json | 16 +++---- .../form_json/vba_20_10207-veteran.json | 18 ++++---- 4 files changed, 39 insertions(+), 43 deletions(-) diff --git a/modules/simple_forms_api/app/form_mappings/vba_20_10207.json.erb b/modules/simple_forms_api/app/form_mappings/vba_20_10207.json.erb index a12c86a7ab2..a3a3b994c65 100644 --- a/modules/simple_forms_api/app/form_mappings/vba_20_10207.json.erb +++ b/modules/simple_forms_api/app/form_mappings/vba_20_10207.json.erb @@ -50,15 +50,15 @@ "form1[0].#subform[3].Email_Address[3]": "<%= nil %>", "form1[0].#subform[3].VA_File_Number_If_Applicable[1]": "<%= nil %>", - "form1[0].#subform[4].I_Live_Or_Sleep_In_A_Place_That_Is_Not_Meant_For_Regular_Sleeping[0]": "<%= form.data.dig('living_situation', 'OVERNIGHT') ? 1 : 0 %>", - "form1[0].#subform[4].I_Live_In_A_Shelter[0]": "<%= form.data.dig('living_situation', 'SHELTER') ? 1 : 0 %>", - "form1[0].#subform[4].Staying_With_A_Friend_Or_Family_Member_Because_I_Am_Unable_To_Own_A_Home_Right_Now[0]": "<%= form.data.dig('living_situation', 'FRIEND_OR_FAMILY') ? 1 : 0 %>", - "form1[0].#subform[4].In_The_Next_30_Days_I_Will_Have_To_Leave_A_Facility_Like_A_Homeless_Shelter[0]": "<%= form.data.dig('living_situation', 'LEAVING_SHELTER') ? 1 : 0 %>", - "form1[0].#subform[4].IN_THE_NEXT_30_DAYS_I_WILL_LOSE_MY_HOME[0]": "<%= form.data.dig('living_situation', 'LOSING_HOME') ? 1 : 0 %>", - "form1[0].#subform[4].NONE_OF_THESE_SITUATIONS_APPLY_TO_ME[0]": "<%= form.data.dig('living_situation', 'NONE') ? 1 : 0 %>", - "form1[0].#subform[4].OTHER_Specify[0]": "<%= form.data.dig('living_situation', 'OTHER_RISK') ? 1 : 0 %>", + "form1[0].#subform[4].I_Live_Or_Sleep_In_A_Place_That_Is_Not_Meant_For_Regular_Sleeping[0]": "<%= form.data.dig('living_situation', 'overnight') ? 1 : 0 %>", + "form1[0].#subform[4].I_Live_In_A_Shelter[0]": "<%= form.data.dig('living_situation', 'shelter') ? 1 : 0 %>", + "form1[0].#subform[4].Staying_With_A_Friend_Or_Family_Member_Because_I_Am_Unable_To_Own_A_Home_Right_Now[0]": "<%= form.data.dig('living_situation', 'friend_or_family') ? 1 : 0 %>", + "form1[0].#subform[4].In_The_Next_30_Days_I_Will_Have_To_Leave_A_Facility_Like_A_Homeless_Shelter[0]": "<%= form.data.dig('living_situation', 'leaving_shelter') ? 1 : 0 %>", + "form1[0].#subform[4].IN_THE_NEXT_30_DAYS_I_WILL_LOSE_MY_HOME[0]": "<%= form.data.dig('living_situation', 'losing_home') ? 1 : 0 %>", + "form1[0].#subform[4].NONE_OF_THESE_SITUATIONS_APPLY_TO_ME[0]": "<%= form.data.dig('living_situation', 'none') ? 1 : 0 %>", + "form1[0].#subform[4].OTHER_Specify[0]": "<%= form.data.dig('living_situation', 'other_risk') ? 1 : 0 %>", - "form1[0].#subform[3].CurrentlyHomeless[0]": "<%= form.data.dig('living_situation', 'NONE') ? 1 : 0 %>", + "form1[0].#subform[3].CurrentlyHomeless[0]": "<%= form.data.dig('living_situation', 'none') ? 1 : 0 %>", "form1[0].#subform[3].Other1[0]": "<%= nil %>", "form1[0].#subform[4].Veterans_SocialSecurityNumber_LastFourNumbers[1]": "<%= form.data.dig('veteran_id', 'ssn')&.[](5..8) %>", @@ -73,13 +73,13 @@ "form1[0].#subform[4].International_Telephone_Number_If_Applicable[0]": "<%= nil %>", "form1[0].#subform[4].POINT_OF_CONTACT[0]": "<%= form.data['point_of_contact_name'] %>", - "form1[0].#subform[4].OtherReasonsForRequest[0]": "<%= form.data.dig('other_reasons', 'FORMER_POW') ? 1 : 0 %>", - "form1[0].#subform[4].OtherReasonsForRequest[1]": "<%= form.data.dig('other_reasons', 'VSI_SI') ? 1 : 0 %>", - "form1[0].#subform[4].OtherReasonsForRequest[2]": "<%= form.data.dig('other_reasons', 'ALS') ? 1 : 0 %>", - "form1[0].#subform[4].OtherReasonsForRequest[3]": "<%= form.data.dig('other_reasons', 'FINANCIAL_HARDSHIP') ? 1 : 0 %>", - "form1[0].#subform[4].OtherReasonsForRequest[4]": "<%= form.data.dig('other_reasons', 'TERMINAL_ILLNESS') ? 1 : 0 %>", - "form1[0].#subform[4].OtherReasonsForRequest[5]": "<%= form.data.dig('other_reasons', 'MEDAL_AWARD') ? 1 : 0 %>", - "form1[0].#subform[4].OtherReasonsForRequest[6]": "<%= form.data.dig('other_reasons', 'OVER_85') ? 1 : 0 %>", + "form1[0].#subform[4].OtherReasonsForRequest[0]": "<%= form.data.dig('other_reasons', 'former_pow') ? 6 : 0 %>", + "form1[0].#subform[4].OtherReasonsForRequest[1]": "<%= form.data.dig('other_reasons', 'vsi_si') ? 7 : 0 %>", + "form1[0].#subform[4].OtherReasonsForRequest[2]": "<%= form.data.dig('other_reasons', 'als') ? 4 : 0 %>", + "form1[0].#subform[4].OtherReasonsForRequest[3]": "<%= form.data.dig('other_reasons', 'financial_hardship') ? 1 : 0 %>", + "form1[0].#subform[4].OtherReasonsForRequest[4]": "<%= form.data.dig('other_reasons', 'terminal_illness') ? 2 : 0 %>", + "form1[0].#subform[4].OtherReasonsForRequest[5]": "<%= form.data.dig('other_reasons', 'medal_award') ? 3 : 0 %>", + "form1[0].#subform[4].OtherReasonsForRequest[6]": "<%= form.data.dig('other_reasons', 'over_85') ? 5 : 0 %>", "form1[0].#subform[4].Month[1]": "<%= form.data['pow_confinement_start_date']&.[](5..6) %>", "form1[0].#subform[4].Day[1]": "<%= form.data['pow_confinement_start_date']&.[](8..9) %>", "form1[0].#subform[4].Year[1]": "<%= form.data['pow_confinement_start_date']&.[](0..3) %>", @@ -93,26 +93,22 @@ "form1[0].#subform[4].Day[7]": "<%= form.data['pow_confinement2end_date']&.[](8..9) %>", "form1[0].#subform[4].Year[7]": "<%= form.data['pow_confinement2end_date']&.[](0..3) %>", - "form1[0].#subform[4].NameOfFacility1[0]": "<%= form.facility_name(1) %>", + "form1[0].#subform[4].Name_And_Location_Of_Treatment_Facility1[0]": "<%= form.facility_name(1) %>", "form1[0].#subform[4].DateOfTreatment_Month1[0]": "<%= form.facility_month(1) %>", "form1[0].#subform[4].DateOfTreatment_Day1[0]": "<%= form.facility_day(1) %>", "form1[0].#subform[4].DateOfTreatment_Year1[0]": "<%= form.facility_year(1) %>", - "form1[0].#subform[4].NameOfFacility2[0]": "<%= form.facility_name(2) %>", + "form1[0].#subform[4].Name_And_Location_Of_Treatment_Facility2[0]": "<%= form.facility_name(2) %>", "form1[0].#subform[4].DateOfTreatment_Month2[0]": "<%= form.facility_month(2) %>", "form1[0].#subform[4].DateOfTreatment_Day2[0]": "<%= form.facility_day(2) %>", "form1[0].#subform[4].DateOfTreatment_Year2[0]": "<%= form.facility_year(2) %>", - "form1[0].#subform[4].NameOfFacility3[0]": "<%= form.facility_name(3) %>", + "form1[0].#subform[4].Name_And_Location_Of_Treatment_Facility3[0]": "<%= form.facility_name(3) %>", "form1[0].#subform[4].DateOfTreatment_Month3[0]": "<%= form.facility_month(3) %>", "form1[0].#subform[4].DateOfTreatment_Day3[0]": "<%= form.facility_day(3) %>", "form1[0].#subform[4].DateOfTreatment_Year3[0]": "<%= form.facility_year(3) %>", - "form1[0].#subform[4].NameOfFacility4[0]": "<%= form.facility_name(4) %>", + "form1[0].#subform[4].Name_And_Location_Of_Treatment_Facility4[0]": "<%= form.facility_name(4) %>", "form1[0].#subform[4].DateOfTreatment_Month4[0]": "<%= form.facility_month(4) %>", "form1[0].#subform[4].DateOfTreatment_Day4[0]": "<%= form.facility_day(4) %>", "form1[0].#subform[4].DateOfTreatment_Year4[0]": "<%= form.facility_year(4) %>", - "form1[0].#subform[4].NameOfFacility5[0]": "<%= form.facility_name(5) %>", - "form1[0].#subform[4].DateOfTreatment_Month5[0]": "<%= form.facility_month(5) %>", - "form1[0].#subform[4].DateOfTreatment_Day5[0]": "<%= form.facility_day(5) %>", - "form1[0].#subform[4].DateOfTreatment_Year5[0]": "<%= form.facility_year(5) %>", "form1[0].#subform[5].RequesterSignature[0]": "<%= form.requester_signature %>", "form1[0].#subform[5].RequesterDateSigned_Month[0]": "<%= form.requester_signature ? Time.current.in_time_zone('America/Chicago').strftime('%m') : nil %>", diff --git a/modules/simple_forms_api/app/models/simple_forms_api/vba_20_10207.rb b/modules/simple_forms_api/app/models/simple_forms_api/vba_20_10207.rb index 5401691a3cf..ff00fb4d991 100644 --- a/modules/simple_forms_api/app/models/simple_forms_api/vba_20_10207.rb +++ b/modules/simple_forms_api/app/models/simple_forms_api/vba_20_10207.rb @@ -12,14 +12,14 @@ def initialize(data) def facility_name(index) facility = @data['medical_treatments']&.[](index - 1) - "#{facility&.[]('facility_name')}\n#{facility_address(index)}" + "#{facility&.[]('facility_name')}\\n#{facility_address(index)}" end def facility_address(index) facility = @data['medical_treatments']&.[](index - 1) address = facility&.[]('facility_address') - "#{address&.[]('street')}\n" \ - "#{address&.[]('city')}, #{address&.[]('state')} #{address&.[]('postal_code')}\n" \ + "#{address&.[]('street')}" \ + "#{address&.[]('city')}, #{address&.[]('state')}\\n#{address&.[]('postal_code')}\\n" \ "#{address&.[]('country')}" end diff --git a/modules/simple_forms_api/spec/fixtures/form_json/vba_20_10207-non-veteran.json b/modules/simple_forms_api/spec/fixtures/form_json/vba_20_10207-non-veteran.json index 59d048e4b8c..8a1cb918faa 100644 --- a/modules/simple_forms_api/spec/fixtures/form_json/vba_20_10207-non-veteran.json +++ b/modules/simple_forms_api/spec/fixtures/form_json/vba_20_10207-non-veteran.json @@ -12,7 +12,7 @@ "va_file_number": "123456789" }, "living_situation": { - "NONE": true + "none": true }, "mailing_address_yes_no": true, "non_veteran_mailing_address": { @@ -37,13 +37,13 @@ }, "veteran_insurance_file_number": "987654321", "other_reasons": { - "FINANCIAL_HARDSHIP": true, - "ALS": true, - "TERMINAL_ILLNESS": true, - "VSI_SI": true, - "OVER_85": true, - "FORMER_POW": true, - "MEDAL_AWARD": true + "financial_hardship": true, + "als": true, + "terminal_illness": true, + "vsi_si": true, + "over_85": true, + "former_pow": true, + "medal_award": true }, "pow_confinement_start_date": "2013-01-01", "pow_confinement_end_date": "2013-01-02", diff --git a/modules/simple_forms_api/spec/fixtures/form_json/vba_20_10207-veteran.json b/modules/simple_forms_api/spec/fixtures/form_json/vba_20_10207-veteran.json index 2f22efb67a4..0f8c643a31c 100644 --- a/modules/simple_forms_api/spec/fixtures/form_json/vba_20_10207-veteran.json +++ b/modules/simple_forms_api/spec/fixtures/form_json/vba_20_10207-veteran.json @@ -10,8 +10,8 @@ "ssn": "321540987" }, "living_situation": { - "OVERNIGHT": true, - "LOSING_HOME": true + "overnight": true, + "losing_home": true }, "other_housing_risks": "Other housing risks", "mailing_address_yes_no": true, @@ -24,13 +24,13 @@ }, "veteran_phone": "1234567890", "other_reasons": { - "FINANCIAL_HARDSHIP": true, - "ALS": true, - "TERMINAL_ILLNESS": true, - "VSI_SI": true, - "FORMER_POW": true, - "MEDAL_AWARD": true, - "OVER_85": true + "financial_hardship": true, + "als": true, + "terminal_illness": true, + "vsi_si": true, + "former_pow": true, + "medal_award": true, + "over_85": true }, "pow_confinement_start_date": "2018-01-01", "pow_confinement_end_date": "2018-02-03", From fd2f8c80d1fe16981f08edae4dac4e0ac9a746d7 Mon Sep 17 00:00:00 2001 From: Derek Fitchett <135860892+dfitchett@users.noreply.github.com> Date: Thu, 11 Apr 2024 12:13:32 -0700 Subject: [PATCH 04/74] Handle case where mutliple disabilities could have same diagnostic code. (#16276) * Handle case where multiple disabilities could have same diagnostic code. --- .../claim_fast_tracking/max_rating_annotator.rb | 13 ++++++------- .../max_rating_annotator_spec.rb | 17 +++++++++++++++++ 2 files changed, 23 insertions(+), 7 deletions(-) diff --git a/app/services/claim_fast_tracking/max_rating_annotator.rb b/app/services/claim_fast_tracking/max_rating_annotator.rb index 3c921c2a7ec..22badf4174b 100644 --- a/app/services/claim_fast_tracking/max_rating_annotator.rb +++ b/app/services/claim_fast_tracking/max_rating_annotator.rb @@ -17,13 +17,12 @@ def self.annotate_disabilities(rated_disabilities_response) return rated_disabilities_response if diagnostic_codes.empty? ratings = get_ratings(diagnostic_codes) - if ratings.present? - ratings.each do |rating| - rated_disability = rated_disabilities_response.rated_disabilities.find do |disability| - disability.diagnostic_code == rating['diagnostic_code'] - end - rated_disability.maximum_rating_percentage = rating['max_rating'] if rated_disability.present? - end + return rated_disabilities_response unless ratings + + ratings_hash = ratings.to_h { |rating| [rating['diagnostic_code'], rating['max_rating']] } + rated_disabilities_response.rated_disabilities.each do |rated_disability| + max_rating = ratings_hash[rated_disability.diagnostic_code] + rated_disability.maximum_rating_percentage = max_rating if max_rating end rated_disabilities_response end diff --git a/spec/services/claim_fast_tracking/max_rating_annotator_spec.rb b/spec/services/claim_fast_tracking/max_rating_annotator_spec.rb index 498c5cb5cb9..4eb5ab56353 100644 --- a/spec/services/claim_fast_tracking/max_rating_annotator_spec.rb +++ b/spec/services/claim_fast_tracking/max_rating_annotator_spec.rb @@ -30,6 +30,23 @@ expect(max_ratings).to eq([10, nil, nil]) end end + + context 'when a disabilities response has two rated disabilities with same diagnostic code' do + let(:disabilities_data) do + [ + { name: 'Tinnitus', diagnostic_code: 6260, rating_percentage: 10 }, + { name: 'Tinnitus', diagnostic_code: 6260, rating_percentage: 10 } + ] + end + + it 'mutates both rated disabilities with max ratings from VRO' do + VCR.use_cassette('virtual_regional_office/max_ratings') do + subject + max_ratings = disabilities_response.rated_disabilities.map(&:maximum_rating_percentage) + expect(max_ratings).to eq([10, 10]) + end + end + end end context 'with disability_526_maximum_rating_api_all_conditions enabled' do From 5fa4723d5e7cab7675650be097a5f7dedbdf86f7 Mon Sep 17 00:00:00 2001 From: Luke Short Date: Thu, 11 Apr 2024 12:28:31 -0700 Subject: [PATCH 05/74] add new feature flag for add disabilities page updates (#16286) --- config/features.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/config/features.yml b/config/features.yml index 1b218358ef1..063d11e9852 100644 --- a/config/features.yml +++ b/config/features.yml @@ -362,6 +362,9 @@ features: disability_526_toxic_exposure: actor_type: user description: enables new pages, processing, and submission of toxic exposure claims + disability_526_improved_autosuggestions_add_disabilities_page: + actor_type: user + description: enables new version of add disabilities page, with updates to content and search functionality disability_compensation_flashes: actor_type: user description: enables sending flashes to BGS for disability_compensation submissions. From 682abf44dc06443e534ca1c2fb24636d2af9012c Mon Sep 17 00:00:00 2001 From: Thomas Blackwell Date: Thu, 11 Apr 2024 16:34:41 -0400 Subject: [PATCH 06/74] changing pdf mapping to match website (#16299) --- lib/pdf_fill/forms/va21p530v2.rb | 8 ++++---- spec/fixtures/pdf_fill/21P-530V2/merge_fields.json | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/lib/pdf_fill/forms/va21p530v2.rb b/lib/pdf_fill/forms/va21p530v2.rb index d65a4fe91dd..6350a4228cf 100644 --- a/lib/pdf_fill/forms/va21p530v2.rb +++ b/lib/pdf_fill/forms/va21p530v2.rb @@ -270,10 +270,10 @@ class Va21p530v2 < FormBase 'executor' => { key: 'form1[0].#subform[82].CheckboxExecutor[0]' }, - 'funeralHome' => { + 'funeralDirector' => { key: 'form1[0].#subform[82].CheckboxFuneralHome[0]' }, - 'other' => { + 'otherFamily' => { key: 'form1[0].#subform[82].CheckboxOther[0]' } }, @@ -702,8 +702,8 @@ def merge_fields(_options = {}) 'child' => select_checkbox(relationship_to_veteran == 'child'), 'executor' => select_checkbox(relationship_to_veteran == 'executor'), 'parent' => select_checkbox(relationship_to_veteran == 'parent'), - 'funeralHome' => select_checkbox(relationship_to_veteran == 'funeralHome'), - 'other' => select_checkbox(relationship_to_veteran == 'other') + 'funeralDirector' => select_checkbox(relationship_to_veteran == 'funeralDirector'), + 'otherFamily' => select_checkbox(relationship_to_veteran == 'otherFamily') } # special case for transportation being the only option selected. diff --git a/spec/fixtures/pdf_fill/21P-530V2/merge_fields.json b/spec/fixtures/pdf_fill/21P-530V2/merge_fields.json index 6d10245e9ea..14bc65e70fe 100644 --- a/spec/fixtures/pdf_fill/21P-530V2/merge_fields.json +++ b/spec/fixtures/pdf_fill/21P-530V2/merge_fields.json @@ -68,7 +68,7 @@ "claimantSocialSecurityNumber":{"first":"987", "second":"65", "third":"4321"}, "claimantDateOfBirth":{"month":"01", "day":"01", "year":"1960"}, "formV2":true, - "relationshipToVeteran":{"spouse":"On", "child":"Off", "executor":"Off", "parent":"Off", "funeralHome":"Off", "other":"Off"}, + "relationshipToVeteran":{"spouse":"On", "child":"Off", "executor":"Off", "parent":"Off", "funeralDirector":"Off", "otherFamily":"Off"}, "privacyAgreementAccepted":true, "signature":"test spouse", "signatureDate":"2024-03-21", From 4b09ce32ad8492f056621b3e15f6c40368e2f977 Mon Sep 17 00:00:00 2001 From: Riley Anderson Date: Thu, 11 Apr 2024 14:55:12 -0600 Subject: [PATCH 07/74] Move terms_of_use enabled_clients to settings (#16294) --- config/settings.yml | 1 + lib/saml/post_url_service.rb | 6 +---- lib/saml/url_service.rb | 2 -- .../v1/sessions_controller_spec.rb | 26 +++++++++++++------ spec/lib/saml/post_url_service_spec.rb | 12 ++++++--- 5 files changed, 28 insertions(+), 19 deletions(-) diff --git a/config/settings.yml b/config/settings.yml index b96a0d93058..6658613b94d 100644 --- a/config/settings.yml +++ b/config/settings.yml @@ -85,6 +85,7 @@ sign_in: terms_of_use: current_version: v1 provisioner_cookie_domain: localhost + enabled_clients: vaweb, mhv, myvahealth lockbox: master_key: "0d78eaf0e90d4e7b8910c9112e16e66d8b00ec4054a89aa426e32712a13371e9" diff --git a/lib/saml/post_url_service.rb b/lib/saml/post_url_service.rb index bf97005fd82..d16313784d4 100644 --- a/lib/saml/post_url_service.rb +++ b/lib/saml/post_url_service.rb @@ -114,11 +114,7 @@ def build_sso_url(link_authn_context, authn_con_compare = 'exact') end def enabled_tou_clients - if Settings.vsp_environment == 'production' - TERMS_OF_USE_ENABLED_CLIENTS - else - TERMS_OF_USE_ENABLED_CLIENTS_LOWERS - end + Settings.terms_of_use.enabled_clients.split(',').collect(&:strip) end end end diff --git a/lib/saml/url_service.rb b/lib/saml/url_service.rb index 9acd8d2fae2..9ee8371c520 100644 --- a/lib/saml/url_service.rb +++ b/lib/saml/url_service.rb @@ -25,8 +25,6 @@ class URLService WEB_CLIENT_ID = 'web' MOBILE_CLIENT_ID = 'mobile' UNIFIED_SIGN_IN_CLIENTS = %w[vaweb mhv myvahealth ebenefits vamobile vaoccmobile].freeze - TERMS_OF_USE_ENABLED_CLIENTS = %w[].freeze - TERMS_OF_USE_ENABLED_CLIENTS_LOWERS = %w[vaweb mhv myvahealth].freeze TERMS_OF_USE_DECLINED_PATH = '/terms-of-use/declined' attr_reader :saml_settings, :session, :user, :authn_context, :type, :query_params, :tracker diff --git a/spec/controllers/v1/sessions_controller_spec.rb b/spec/controllers/v1/sessions_controller_spec.rb index 3b8fcc9e116..0447796f1c9 100644 --- a/spec/controllers/v1/sessions_controller_spec.rb +++ b/spec/controllers/v1/sessions_controller_spec.rb @@ -502,13 +502,16 @@ def expect_logger_msg(level, msg) context 'when user has not accepted the current terms of use' do let(:user) { build(:user, loa, uuid:, idme_uuid: uuid) } + let(:application) { 'some-applicaton' } before do SAMLRequestTracker.create(uuid: login_uuid, payload: { type: 'idme', application: }) end - context 'and authentication occurred with a application in TERMS_OF_USE_ENABLED_CLIENTS' do - let(:application) { SAML::URLService::TERMS_OF_USE_ENABLED_CLIENTS.first } + context 'and authentication occurred with a application in Settings.terms_of_use.enabled_clients' do + before do + allow(Settings.terms_of_use).to receive(:enabled_clients).and_return(application) + end it 'redirects to terms of use page' do expect(call_endpoint).to redirect_to( @@ -517,8 +520,10 @@ def expect_logger_msg(level, msg) end end - context 'and authentication occurred with an application not in TERMS_OF_USE_ENABLED_CLIENTS' do - let(:application) { 'foobar' } + context 'and authentication occurred with an application not in Settings.terms_of_use.enabled_clients' do + before do + allow(Settings.terms_of_use).to receive(:enabled_clients).and_return('') + end it 'redirects to expected auth page' do expect(call_endpoint).to redirect_to(expected_redirect_url) @@ -540,13 +545,16 @@ def expect_logger_msg(level, msg) context 'when user has not accepted the current terms of use' do let(:user) { build(:user, loa, uuid:, idme_uuid: uuid) } + let(:application) { 'some-applicaton' } before do SAMLRequestTracker.create(uuid: login_uuid, payload: { type: 'idme', application: }) end - context 'and authentication occurred with a application in TERMS_OF_USE_ENABLED_CLIENTS' do - let(:application) { SAML::URLService::TERMS_OF_USE_ENABLED_CLIENTS.first } + context 'and authentication occurred with a application in Settings.terms_of_use.enabled_clients' do + before do + allow(Settings.terms_of_use).to receive(:enabled_clients).and_return(application) + end it 'redirects to terms of use page' do expect(call_endpoint).to redirect_to( @@ -555,8 +563,10 @@ def expect_logger_msg(level, msg) end end - context 'and authentication occurred with an application not in TERMS_OF_USE_ENABLED_CLIENTS' do - let(:application) { 'foobar' } + context 'and authentication occurred with an application not in Settings.terms_of_use.enabled_clients' do + before do + allow(Settings.terms_of_use).to receive(:enabled_clients).and_return('') + end it 'redirects to expected auth page' do expect(call_endpoint).to redirect_to(expected_redirect_url) diff --git a/spec/lib/saml/post_url_service_spec.rb b/spec/lib/saml/post_url_service_spec.rb index 5a45c3e270f..692020efd7a 100644 --- a/spec/lib/saml/post_url_service_spec.rb +++ b/spec/lib/saml/post_url_service_spec.rb @@ -613,8 +613,10 @@ let(:expected_log_message) { 'Redirecting to /terms-of-use' } let(:expected_log_payload) { { type: :ssoe } } - context 'when tracker application is within TERMS_OF_USE_ENABLED_CLIENTS' do - let(:application) { SAML::URLService::TERMS_OF_USE_ENABLED_CLIENTS_LOWERS.first } + context 'when tracker application is within Settings.terms_of_use.enabled_clients' do + before do + allow(Settings.terms_of_use).to receive(:enabled_clients).and_return(application) + end context 'and authentication is occuring on a review instance' do let(:review_instance_slug) { 'some-review-instance-slug' } @@ -660,8 +662,10 @@ end end - context 'when tracker application is not within TERMS_OF_USE_ENABLED_CLIENTS' do - let(:application) { 'some-application' } + context 'when tracker application is not within Settings.terms_of_use.enabled_clients' do + before do + allow(Settings.terms_of_use).to receive(:enabled_clients).and_return('') + end it 'has a login redirect url with success not embedded in a terms of use page' do expect(subject.terms_of_use_redirect_url) From 16f363b487e1d838cf15a70cdcecfda2804ed9d4 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 11 Apr 2024 21:04:39 -0400 Subject: [PATCH 08/74] Bump json from 2.7.1 to 2.7.2 (#16201) Bumps [json](https://github.com/flori/json) from 2.7.1 to 2.7.2. - [Release notes](https://github.com/flori/json/releases) - [Changelog](https://github.com/flori/json/blob/master/CHANGES.md) - [Commits](https://github.com/flori/json/compare/v2.7.1...v2.7.2) --- updated-dependencies: - dependency-name: json dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: stevenjcumming <134282106+stevenjcumming@users.noreply.github.com> --- Gemfile.lock | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index 87beebde37c..17be432b5e1 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -571,8 +571,8 @@ GEM iso_country_codes (0.7.8) jar-dependencies (0.4.1) jmespath (1.6.2) - json (2.7.1) - json (2.7.1-java) + json (2.7.2) + json (2.7.2-java) json-schema (4.3.0) addressable (>= 2.8) json_schemer (2.2.1) From 1ce96b500291f2273081c8da009bc3f91a1b3e35 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 12 Apr 2024 09:14:15 -0400 Subject: [PATCH 09/74] Bump sentry-ruby from 5.17.2 to 5.17.3 (#16316) Bumps [sentry-ruby](https://github.com/getsentry/sentry-ruby) from 5.17.2 to 5.17.3. - [Release notes](https://github.com/getsentry/sentry-ruby/releases) - [Changelog](https://github.com/getsentry/sentry-ruby/blob/master/CHANGELOG.md) - [Commits](https://github.com/getsentry/sentry-ruby/compare/5.17.2...5.17.3) --- updated-dependencies: - dependency-name: sentry-ruby dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index 17be432b5e1..db35496d884 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -952,7 +952,7 @@ GEM rake (>= 10.0) semantic_logger (4.15.0) concurrent-ruby (~> 1.0) - sentry-ruby (5.17.2) + sentry-ruby (5.17.3) bigdecimal concurrent-ruby (~> 1.0, >= 1.0.2) shellany (0.0.1) From 1a95a096f346eab2e6e784d6be3f11c439ca3f91 Mon Sep 17 00:00:00 2001 From: Rebecca Tolmach <10993987+rmtolmach@users.noreply.github.com> Date: Fri, 12 Apr 2024 09:15:37 -0400 Subject: [PATCH 10/74] Require `ostruct` in Dangerfile (#16317) --- Dangerfile | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Dangerfile b/Dangerfile index c5d25263a7a..a203eeff132 100644 --- a/Dangerfile +++ b/Dangerfile @@ -1,5 +1,7 @@ # frozen_string_literal: true +require 'ostruct' + module VSPDanger HEAD_SHA = `git rev-parse --abbrev-ref HEAD`.chomp.freeze BASE_SHA = 'origin/master' From c76440131c4388245b644bff082bb3fc008f0a87 Mon Sep 17 00:00:00 2001 From: Don Shin <99479640+cloudmagic80@users.noreply.github.com> Date: Fri, 12 Apr 2024 09:31:58 -0500 Subject: [PATCH 11/74] add pega table (#16311) --- .../20240411235242_create_pega_table.rb | 20 ++ db/schema.rb | 264 ++++++++++-------- 2 files changed, 161 insertions(+), 123 deletions(-) create mode 100644 db/migrate/20240411235242_create_pega_table.rb diff --git a/db/migrate/20240411235242_create_pega_table.rb b/db/migrate/20240411235242_create_pega_table.rb new file mode 100644 index 00000000000..0c64fab2300 --- /dev/null +++ b/db/migrate/20240411235242_create_pega_table.rb @@ -0,0 +1,20 @@ +class CreatePegaTable < ActiveRecord::Migration[7.1] + def change + create_table :pega_tables do |t| + t.uuid :uuid + t.string :veteranfirstname + t.string :veteranmiddlename + t.string :veteranlastname + t.string :applicantfirstname + t.string :applicantmiddlename + t.string :applicantlastname + t.jsonb :response + t.string :filenumber + t.string :doctype + t.datetime :date_created + t.datetime :date_completed + + t.timestamps + end + end +end diff --git a/db/schema.rb b/db/schema.rb index 92987f8f693..87ade4ad1ef 100644 --- a/db/schema.rb +++ b/db/schema.rb @@ -10,7 +10,7 @@ # # It's strongly recommended that you check this file into your version control system. -ActiveRecord::Schema[7.1].define(version: 2024_04_10_212727) do +ActiveRecord::Schema[7.1].define(version: 2024_04_11_235242) do # These are extensions that must be enabled in order to support this database enable_extension "btree_gin" enable_extension "pg_stat_statements" @@ -22,13 +22,13 @@ create_table "account_login_stats", force: :cascade do |t| t.bigint "account_id", null: false - t.datetime "idme_at" - t.datetime "myhealthevet_at" - t.datetime "dslogon_at" + t.datetime "idme_at", precision: nil + t.datetime "myhealthevet_at", precision: nil + t.datetime "dslogon_at", precision: nil t.datetime "created_at", null: false t.datetime "updated_at", null: false t.string "current_verification" - t.datetime "logingov_at" + t.datetime "logingov_at", precision: nil t.index ["account_id"], name: "index_account_login_stats_on_account_id", unique: true t.index ["current_verification"], name: "index_account_login_stats_on_current_verification" t.index ["dslogon_at"], name: "index_account_login_stats_on_dslogon_at" @@ -42,8 +42,8 @@ t.string "idme_uuid" t.string "icn" t.string "edipi" - t.datetime "created_at", null: false - t.datetime "updated_at", null: false + t.datetime "created_at", precision: nil, null: false + t.datetime "updated_at", precision: nil, null: false t.string "sec_id" t.string "logingov_uuid" t.index ["icn"], name: "index_accounts_on_icn" @@ -58,7 +58,7 @@ t.string "record_type", null: false t.bigint "record_id", null: false t.bigint "blob_id", null: false - t.datetime "created_at", null: false + t.datetime "created_at", precision: nil, null: false t.index ["blob_id"], name: "index_active_storage_attachments_on_blob_id" t.index ["record_type", "record_id", "name", "blob_id"], name: "index_active_storage_attachments_uniqueness", unique: true end @@ -70,7 +70,7 @@ t.text "metadata" t.bigint "byte_size", null: false t.string "checksum", null: false - t.datetime "created_at", null: false + t.datetime "created_at", precision: nil, null: false t.string "service_name", null: false t.index ["key"], name: "index_active_storage_blobs_on_key", unique: true end @@ -119,8 +119,8 @@ create_table "appeals_api_higher_level_reviews", id: :uuid, default: -> { "gen_random_uuid()" }, force: :cascade do |t| t.string "status", default: "pending", null: false - t.datetime "created_at", null: false - t.datetime "updated_at", null: false + t.datetime "created_at", precision: nil, null: false + t.datetime "updated_at", precision: nil, null: false t.string "code" t.string "detail" t.string "source" @@ -157,7 +157,7 @@ t.string "to" t.string "statusable_type" t.string "statusable_id" - t.datetime "status_update_time" + t.datetime "status_update_time", precision: nil t.datetime "created_at", null: false t.datetime "updated_at", null: false t.string "code" @@ -191,8 +191,8 @@ t.string "status" t.string "transaction_id" t.string "transaction_status" - t.datetime "created_at", null: false - t.datetime "updated_at", null: false + t.datetime "created_at", precision: nil, null: false + t.datetime "updated_at", precision: nil, null: false t.text "metadata_ciphertext" t.text "encrypted_kms_key" t.uuid "user_account_id" @@ -220,8 +220,8 @@ t.jsonb "feedback" t.jsonb "access" t.string "fingerprint" - t.datetime "created_at", null: false - t.datetime "updated_at", null: false + t.datetime "created_at", precision: nil, null: false + t.datetime "updated_at", precision: nil, null: false t.geography "location", limit: {:srid=>4326, :type=>"st_point", :geographic=>true} t.boolean "mobile" t.string "active_status" @@ -242,8 +242,8 @@ create_table "claims_api_auto_established_claims", id: :uuid, default: -> { "gen_random_uuid()" }, force: :cascade do |t| t.string "status" t.integer "evss_id" - t.datetime "created_at", null: false - t.datetime "updated_at", null: false + t.datetime "created_at", precision: nil, null: false + t.datetime "updated_at", precision: nil, null: false t.string "md5" t.string "source" t.string "flashes", default: [], array: true @@ -296,8 +296,8 @@ t.string "status" t.string "current_poa" t.string "md5" - t.datetime "created_at", null: false - t.datetime "updated_at", null: false + t.datetime "created_at", precision: nil, null: false + t.datetime "updated_at", precision: nil, null: false t.string "vbms_new_document_version_ref_id" t.string "vbms_document_series_ref_id" t.string "vbms_error_message" @@ -314,8 +314,8 @@ end create_table "claims_api_supporting_documents", id: :uuid, default: -> { "gen_random_uuid()" }, force: :cascade do |t| - t.datetime "created_at", null: false - t.datetime "updated_at", null: false + t.datetime "created_at", precision: nil, null: false + t.datetime "updated_at", precision: nil, null: false t.uuid "auto_established_claim_id" t.text "file_data_ciphertext" t.text "encrypted_kms_key" @@ -352,8 +352,8 @@ t.string "email_confirmation_id" t.string "enrollment_id" t.string "batch_id" - t.datetime "created_at", null: false - t.datetime "updated_at", null: false + t.datetime "created_at", precision: nil, null: false + t.datetime "updated_at", precision: nil, null: false t.text "raw_form_data_ciphertext" t.text "eligibility_info_ciphertext" t.text "form_data_ciphertext" @@ -367,8 +367,8 @@ create_table "covid_vaccine_registration_submissions", id: :serial, force: :cascade do |t| t.string "sid" t.uuid "account_id" - t.datetime "created_at", null: false - t.datetime "updated_at", null: false + t.datetime "created_at", precision: nil, null: false + t.datetime "updated_at", precision: nil, null: false t.boolean "expanded", default: false, null: false t.boolean "sequestered", default: false, null: false t.string "email_confirmation_id" @@ -416,8 +416,8 @@ t.integer "code", null: false t.string "medical_term", null: false t.string "lay_term" - t.datetime "created_at", null: false - t.datetime "updated_at", null: false + t.datetime "created_at", precision: nil, null: false + t.datetime "updated_at", precision: nil, null: false t.index ["code"], name: "index_disability_contentions_on_code", unique: true t.index ["lay_term"], name: "index_disability_contentions_on_lay_term", opclass: :gin_trgm_ops, using: :gin t.index ["medical_term"], name: "index_disability_contentions_on_medical_term", opclass: :gin_trgm_ops, using: :gin @@ -428,19 +428,19 @@ t.string "unit" t.geography "polygon", limit: {:srid=>4326, :type=>"st_polygon", :geographic=>true}, null: false t.string "vha_facility_id", null: false - t.datetime "created_at", null: false - t.datetime "updated_at", null: false + t.datetime "created_at", precision: nil, null: false + t.datetime "updated_at", precision: nil, null: false t.integer "min" t.integer "max" - t.datetime "vssc_extract_date", default: "2001-01-01 00:00:00" + t.datetime "vssc_extract_date", precision: nil, default: "2001-01-01 00:00:00" t.index ["polygon"], name: "index_drivetime_bands_on_polygon", using: :gist end create_table "education_benefits_claims", id: :serial, force: :cascade do |t| - t.datetime "submitted_at" - t.datetime "processed_at" - t.datetime "created_at", null: false - t.datetime "updated_at", null: false + t.datetime "submitted_at", precision: nil + t.datetime "processed_at", precision: nil + t.datetime "created_at", precision: nil, null: false + t.datetime "updated_at", precision: nil, null: false t.string "regional_processing_office", null: false t.string "form_type", default: "1990" t.integer "saved_claim_id", null: false @@ -453,8 +453,8 @@ create_table "education_benefits_submissions", id: :serial, force: :cascade do |t| t.string "region", null: false - t.datetime "created_at", null: false - t.datetime "updated_at", null: false + t.datetime "created_at", precision: nil, null: false + t.datetime "updated_at", precision: nil, null: false t.boolean "chapter33", default: false, null: false t.boolean "chapter30", default: false, null: false t.boolean "chapter1606", default: false, null: false @@ -480,8 +480,8 @@ t.datetime "updated_at", null: false t.boolean "poa" t.integer "remaining_entitlement" - t.datetime "denial_email_sent_at" - t.datetime "confirmation_email_sent_at" + t.datetime "denial_email_sent_at", precision: nil + t.datetime "confirmation_email_sent_at", precision: nil t.text "auth_headers_json_ciphertext" t.text "encrypted_kms_key" t.uuid "user_account_id" @@ -493,8 +493,8 @@ create_table "evss_claims", id: :serial, force: :cascade do |t| t.integer "evss_id", null: false t.json "data", null: false - t.datetime "created_at", null: false - t.datetime "updated_at", null: false + t.datetime "created_at", precision: nil, null: false + t.datetime "updated_at", precision: nil, null: false t.string "user_uuid", null: false t.json "list_data", default: {}, null: false t.boolean "requested_decision", default: false, null: false @@ -511,8 +511,8 @@ t.string "gate_name" t.string "value" t.string "user" - t.datetime "created_at", null: false - t.datetime "updated_at", null: false + t.datetime "created_at", precision: nil, null: false + t.datetime "updated_at", precision: nil, null: false t.index ["feature_name"], name: "index_feature_toggle_events_on_feature_name" end @@ -525,12 +525,13 @@ t.datetime "updated_at", null: false t.datetime "flagged_value_updated_at" t.index ["ip_address", "representative_id", "flag_type", "flagged_value_updated_at"], name: "index_unique_constraint_fields", unique: true + t.index ["ip_address", "representative_id", "flag_type"], name: "index_unique_flagged_veteran_representative", unique: true end create_table "flipper_features", force: :cascade do |t| t.string "key", null: false - t.datetime "created_at", null: false - t.datetime "updated_at", null: false + t.datetime "created_at", precision: nil, null: false + t.datetime "updated_at", precision: nil, null: false t.index ["key"], name: "index_flipper_features_on_key", unique: true end @@ -538,14 +539,14 @@ t.string "feature_key", null: false t.string "key", null: false t.text "value" - t.datetime "created_at", null: false - t.datetime "updated_at", null: false + t.datetime "created_at", precision: nil, null: false + t.datetime "updated_at", precision: nil, null: false t.index ["feature_key", "key", "value"], name: "index_flipper_gates_on_feature_key_and_key_and_value", unique: true end create_table "form1010cg_submissions", force: :cascade do |t| t.string "carma_case_id", limit: 18, null: false - t.datetime "accepted_at", null: false + t.datetime "accepted_at", precision: nil, null: false t.json "metadata" t.json "attachments" t.datetime "created_at", null: false @@ -572,7 +573,7 @@ t.string "status", null: false t.string "error_class" t.string "error_message" - t.datetime "updated_at", null: false + t.datetime "updated_at", precision: nil, null: false t.jsonb "bgjob_errors", default: {} t.index ["bgjob_errors"], name: "index_form526_job_statuses_on_bgjob_errors", using: :gin t.index ["form526_submission_id"], name: "index_form526_job_statuses_on_form526_submission_id" @@ -584,8 +585,8 @@ t.integer "saved_claim_id", null: false t.integer "submitted_claim_id" t.boolean "workflow_complete", default: false, null: false - t.datetime "created_at", null: false - t.datetime "updated_at", null: false + t.datetime "created_at", precision: nil, null: false + t.datetime "updated_at", precision: nil, null: false t.boolean "multiple_birls", comment: "*After* a SubmitForm526 Job fails, a lookup is done to see if the veteran has multiple BIRLS IDs. This field gets set to true if that is the case. If the initial submit job succeeds, this field will remain false whether or not the veteran has multiple BIRLS IDs --so this field cannot technically be used to sum all Form526 veterans that have multiple BIRLS. This field /can/ give us an idea of how often having multiple BIRLS IDs is a problem." t.text "auth_headers_json_ciphertext" t.text "form_json_ciphertext" @@ -617,8 +618,8 @@ end create_table "form_attachments", id: :serial, force: :cascade do |t| - t.datetime "created_at", null: false - t.datetime "updated_at", null: false + t.datetime "created_at", precision: nil, null: false + t.datetime "updated_at", precision: nil, null: false t.uuid "guid", null: false t.string "type", null: false t.text "file_data_ciphertext" @@ -660,9 +661,9 @@ t.string "edipi", null: false t.string "first_name", null: false t.string "last_name", null: false - t.datetime "dob", null: false - t.datetime "created_at", null: false - t.datetime "updated_at", null: false + t.datetime "dob", precision: nil, null: false + t.datetime "created_at", precision: nil, null: false + t.datetime "updated_at", precision: nil, null: false t.text "ssn_ciphertext" t.text "encrypted_kms_key" t.index ["edipi"], name: "index_gibs_not_found_users_on_edipi" @@ -684,15 +685,15 @@ t.integer "msa", null: false t.string "msa_name" t.integer "version", null: false - t.datetime "created", null: false - t.datetime "updated" + t.datetime "created", precision: nil, null: false + t.datetime "updated", precision: nil t.string "created_by" t.string "updated_by" end create_table "health_care_applications", id: :serial, force: :cascade do |t| - t.datetime "created_at", null: false - t.datetime "updated_at", null: false + t.datetime "created_at", precision: nil, null: false + t.datetime "updated_at", precision: nil, null: false t.string "state", default: "pending", null: false t.string "form_submission_id_string" t.string "timestamp" @@ -714,18 +715,18 @@ create_table "id_card_announcement_subscriptions", id: :serial, force: :cascade do |t| t.string "email", null: false - t.datetime "created_at", null: false - t.datetime "updated_at", null: false + t.datetime "created_at", precision: nil, null: false + t.datetime "updated_at", precision: nil, null: false t.index ["email"], name: "index_id_card_announcement_subscriptions_on_email", unique: true end create_table "in_progress_forms", id: :serial, force: :cascade do |t| t.string "user_uuid", null: false t.string "form_id", null: false - t.datetime "created_at", null: false - t.datetime "updated_at", null: false + t.datetime "created_at", precision: nil, null: false + t.datetime "updated_at", precision: nil, null: false t.json "metadata" - t.datetime "expires_at" + t.datetime "expires_at", precision: nil t.text "form_data_ciphertext" t.text "encrypted_kms_key" t.uuid "user_account_id" @@ -744,19 +745,19 @@ create_table "invalid_letter_address_edipis", id: :serial, force: :cascade do |t| t.string "edipi", null: false - t.datetime "created_at", null: false - t.datetime "updated_at", null: false + t.datetime "created_at", precision: nil, null: false + t.datetime "updated_at", precision: nil, null: false t.index ["edipi"], name: "index_invalid_letter_address_edipis_on_edipi" end create_table "maintenance_windows", id: :serial, force: :cascade do |t| t.string "pagerduty_id" t.string "external_service" - t.datetime "start_time" - t.datetime "end_time" + t.datetime "start_time", precision: nil + t.datetime "end_time", precision: nil t.string "description" - t.datetime "created_at", null: false - t.datetime "updated_at", null: false + t.datetime "created_at", precision: nil, null: false + t.datetime "updated_at", precision: nil, null: false t.index ["end_time"], name: "index_maintenance_windows_on_end_time" t.index ["pagerduty_id"], name: "index_maintenance_windows_on_pagerduty_id" t.index ["start_time"], name: "index_maintenance_windows_on_start_time" @@ -791,8 +792,8 @@ t.uuid "handle", null: false t.uuid "user_account_id", null: false t.string "hashed_refresh_token", null: false - t.datetime "refresh_expiration", null: false - t.datetime "refresh_creation", null: false + t.datetime "refresh_expiration", precision: nil, null: false + t.datetime "refresh_creation", precision: nil, null: false t.datetime "created_at", null: false t.datetime "updated_at", null: false t.bigint "user_verification_id", null: false @@ -817,6 +818,23 @@ t.index ["va_profile_id", "dismissed"], name: "show_onsite_notifications_index" end + create_table "pega_tables", force: :cascade do |t| + t.uuid "uuid" + t.string "veteranfirstname" + t.string "veteranmiddlename" + t.string "veteranlastname" + t.string "applicantfirstname" + t.string "applicantmiddlename" + t.string "applicantlastname" + t.jsonb "response" + t.string "filenumber" + t.string "doctype" + t.datetime "date_created" + t.datetime "date_completed" + t.datetime "created_at", null: false + t.datetime "updated_at", null: false + end + create_table "pension_ipf_notifications", force: :cascade do |t| t.text "payload_ciphertext" t.text "encrypted_kms_key" @@ -828,10 +846,10 @@ t.uuid "guid" t.string "type" t.string "form_id" - t.datetime "created_at", null: false - t.datetime "updated_at", null: false + t.datetime "created_at", precision: nil, null: false + t.datetime "updated_at", precision: nil, null: false t.integer "saved_claim_id" - t.datetime "completed_at" + t.datetime "completed_at", precision: nil t.text "file_data_ciphertext" t.text "encrypted_kms_key" t.index ["guid"], name: "index_persistent_attachments_on_guid", unique: true @@ -842,8 +860,8 @@ create_table "personal_information_logs", id: :serial, force: :cascade do |t| t.jsonb "data", null: false t.string "error_class", null: false - t.datetime "created_at", null: false - t.datetime "updated_at", null: false + t.datetime "created_at", precision: nil, null: false + t.datetime "updated_at", precision: nil, null: false t.text "data_ciphertext" t.text "encrypted_kms_key" t.index ["created_at"], name: "index_personal_information_logs_on_created_at" @@ -857,7 +875,7 @@ t.bigint "query_hash" t.float "total_time" t.bigint "calls" - t.datetime "captured_at" + t.datetime "captured_at", precision: nil t.index ["database", "captured_at"], name: "index_pghero_query_stats_on_database_and_captured_at" end @@ -866,7 +884,7 @@ t.text "schema" t.text "relation" t.bigint "size" - t.datetime "captured_at" + t.datetime "captured_at", precision: nil t.index ["database", "captured_at"], name: "index_pghero_space_stats_on_database_and_captured_at" end @@ -875,22 +893,22 @@ t.string "application_uuid" t.string "return_description", null: false t.integer "return_code" - t.datetime "created_at", null: false - t.datetime "updated_at", null: false + t.datetime "created_at", precision: nil, null: false + t.datetime "updated_at", precision: nil, null: false t.index ["application_uuid"], name: "index_preneed_submissions_on_application_uuid", unique: true t.index ["tracking_number"], name: "index_preneed_submissions_on_tracking_number", unique: true end create_table "saved_claims", id: :serial, force: :cascade do |t| - t.datetime "created_at" - t.datetime "updated_at" + t.datetime "created_at", precision: nil + t.datetime "updated_at", precision: nil t.string "form_id" t.uuid "guid", null: false t.string "type" t.text "form_ciphertext" t.text "encrypted_kms_key" - t.string "uploaded_forms", default: [], array: true - t.datetime "itf_datetime" + t.string "uploaded_forms", array: true + t.datetime "itf_datetime", precision: nil t.index ["created_at", "type"], name: "index_saved_claims_on_created_at_and_type" t.index ["guid"], name: "index_saved_claims_on_guid", unique: true t.index ["id", "type"], name: "index_saved_claims_on_id_and_type" @@ -923,7 +941,7 @@ t.integer "rpo" t.integer "number_of_submissions" t.string "filename" - t.datetime "successful_at" + t.datetime "successful_at", precision: nil t.integer "retry_attempt", default: 0 t.datetime "created_at", null: false t.datetime "updated_at", null: false @@ -936,8 +954,8 @@ t.string "description", null: false t.integer "state_id", null: false t.integer "version", null: false - t.datetime "created", null: false - t.datetime "updated" + t.datetime "created", precision: nil, null: false + t.datetime "updated", precision: nil t.string "created_by" t.string "updated_by" end @@ -957,7 +975,7 @@ t.integer "add_ninety_day_hospital_copay" t.integer "outpatient_basic_care_copay" t.integer "outpatient_specialty_copay" - t.datetime "threshold_effective_date" + t.datetime "threshold_effective_date", precision: nil t.integer "aid_and_attendance_threshold" t.integer "outpatient_preventive_copay" t.integer "medication_copay" @@ -968,8 +986,8 @@ t.integer "inpatient_per_diem" t.string "description" t.integer "version", null: false - t.datetime "created", null: false - t.datetime "updated" + t.datetime "created", precision: nil, null: false + t.datetime "updated", precision: nil t.string "created_by" t.string "updated_by" end @@ -980,8 +998,8 @@ t.integer "fips_code", null: false t.integer "country_id", null: false t.integer "version", null: false - t.datetime "created", null: false - t.datetime "updated" + t.datetime "created", precision: nil, null: false + t.datetime "updated", precision: nil t.string "created_by" t.string "updated_by" end @@ -993,8 +1011,8 @@ t.integer "state_id", null: false t.integer "county_number", null: false t.integer "version", null: false - t.datetime "created", null: false - t.datetime "updated" + t.datetime "created", precision: nil, null: false + t.datetime "updated", precision: nil t.string "created_by" t.string "updated_by" end @@ -1010,8 +1028,8 @@ create_table "test_user_dashboard_tud_account_availability_logs", force: :cascade do |t| t.string "account_uuid" - t.datetime "checkout_time" - t.datetime "checkin_time" + t.datetime "checkout_time", precision: nil + t.datetime "checkin_time", precision: nil t.boolean "has_checkin_error" t.boolean "is_manual_checkin" t.datetime "created_at", null: false @@ -1025,12 +1043,12 @@ t.string "middle_name" t.string "last_name" t.string "gender" - t.datetime "birth_date" + t.datetime "birth_date", precision: nil t.integer "ssn" t.string "phone" t.string "email" t.string "password" - t.datetime "checkout_time" + t.datetime "checkout_time", precision: nil t.datetime "created_at", null: false t.datetime "updated_at", null: false t.text "services" @@ -1043,8 +1061,8 @@ end create_table "user_acceptable_verified_credentials", force: :cascade do |t| - t.datetime "acceptable_verified_credential_at" - t.datetime "idme_verified_credential_at" + t.datetime "acceptable_verified_credential_at", precision: nil + t.datetime "idme_verified_credential_at", precision: nil t.uuid "user_account_id", null: false t.datetime "created_at", null: false t.datetime "updated_at", null: false @@ -1075,7 +1093,7 @@ t.string "logingov_uuid" t.string "mhv_uuid" t.string "dslogon_uuid" - t.datetime "verified_at" + t.datetime "verified_at", precision: nil t.datetime "created_at", null: false t.datetime "updated_at", null: false t.string "backing_idme_uuid" @@ -1097,15 +1115,15 @@ t.date "last_revision_on" t.integer "pages" t.string "sha256" - t.datetime "created_at", null: false - t.datetime "updated_at", null: false + t.datetime "created_at", precision: nil, null: false + t.datetime "updated_at", precision: nil, null: false t.boolean "valid_pdf", default: false t.text "form_usage" t.text "form_tool_intro" t.string "form_tool_url" t.string "form_type" t.string "language" - t.datetime "deleted_at" + t.datetime "deleted_at", precision: nil t.string "related_forms", array: true t.jsonb "benefit_categories" t.string "form_details_url" @@ -1152,8 +1170,8 @@ t.string "status", default: "pending", null: false t.string "code" t.string "detail" - t.datetime "created_at", null: false - t.datetime "updated_at", null: false + t.datetime "created_at", precision: nil, null: false + t.datetime "updated_at", precision: nil, null: false t.boolean "s3_deleted" t.string "consumer_name" t.uuid "consumer_id" @@ -1181,8 +1199,8 @@ t.string "name" t.string "phone" t.string "state", limit: 2 - t.datetime "created_at", null: false - t.datetime "updated_at", null: false + t.datetime "created_at", precision: nil, null: false + t.datetime "updated_at", precision: nil, null: false t.string "address_type" t.string "city" t.string "country_code_iso3" @@ -1212,8 +1230,8 @@ t.string "last_name" t.string "email" t.string "phone" - t.datetime "created_at", null: false - t.datetime "updated_at", null: false + t.datetime "created_at", precision: nil, null: false + t.datetime "updated_at", precision: nil, null: false t.string "poa_codes", default: [], array: true t.string "user_types", default: [], array: true t.text "ssn_ciphertext" @@ -1247,8 +1265,8 @@ end create_table "vic_submissions", id: :serial, force: :cascade do |t| - t.datetime "created_at", null: false - t.datetime "updated_at", null: false + t.datetime "created_at", precision: nil, null: false + t.datetime "updated_at", precision: nil, null: false t.string "state", default: "pending", null: false t.uuid "guid", null: false t.json "response" @@ -1278,10 +1296,10 @@ create_table "vye_awards", force: :cascade do |t| t.integer "user_info_id" t.string "cur_award_ind" - t.datetime "award_begin_date" - t.datetime "award_end_date" + t.datetime "award_begin_date", precision: nil + t.datetime "award_end_date", precision: nil t.integer "training_time" - t.datetime "payment_date" + t.datetime "payment_date", precision: nil t.decimal "monthly_rate" t.string "begin_rsn" t.string "end_rsn" @@ -1318,7 +1336,7 @@ t.text "ssn_ciphertext" t.string "claim_no_ciphertext" t.string "doc_type" - t.datetime "queue_date" + t.datetime "queue_date", precision: nil t.string "rpo" t.text "encrypted_kms_key" t.datetime "created_at", null: false @@ -1344,9 +1362,9 @@ t.text "stub_nm_ciphertext" t.string "mr_status" t.string "rem_ent" - t.datetime "cert_issue_date" - t.datetime "del_date" - t.datetime "date_last_certified" + t.datetime "cert_issue_date", precision: nil + t.datetime "del_date", precision: nil + t.datetime "date_last_certified", precision: nil t.integer "rpo_code" t.string "fac_code" t.decimal "payment_amt" @@ -1376,8 +1394,8 @@ t.string "change_flag" t.integer "rpo_code" t.boolean "rpo_flag" - t.datetime "act_begin" - t.datetime "act_end" + t.datetime "act_begin", precision: nil + t.datetime "act_end", precision: nil t.string "source_ind" t.datetime "created_at", null: false t.datetime "updated_at", null: false From fa9d675857185fb7a593839ecb657fbd3c882e77 Mon Sep 17 00:00:00 2001 From: s-caso <94458706+s-caso@users.noreply.github.com> Date: Fri, 12 Apr 2024 12:32:44 -0400 Subject: [PATCH 12/74] Sa 80210 auto populate relinquishment date (#16055) * add flag for relinquishment date * update name of toggle * add flag for relinquishment date * update name of toggle --- config/features.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/config/features.yml b/config/features.yml index 063d11e9852..01a1dcc3390 100644 --- a/config/features.yml +++ b/config/features.yml @@ -971,6 +971,10 @@ features: actor_type: user description: enables exclusion period checks enable_in_development: false + meb_auto_populate_relinquishment_date: + actor_type: user + description: Flag to autofill datepicker for reliinquishment date + enable_in_development: true show_forms_app: actor_type: user description: Enables the TOE form to be displayed. From 84381a19aa953d9219a26d7e5a53e7dedfe39b99 Mon Sep 17 00:00:00 2001 From: Andrew Herzberg Date: Fri, 12 Apr 2024 10:14:42 -0700 Subject: [PATCH 13/74] add facilities endpoint to health care applications (#16284) --- .../v0/health_care_applications_controller.rb | 29 +++- config/routes.rb | 1 + .../health_care_applications_request_spec.rb | 45 ++++++ .../v1/200_facilities_facility_ids.yml | 129 ++++++++++++++++++ 4 files changed, 203 insertions(+), 1 deletion(-) create mode 100644 spec/support/vcr_cassettes/lighthouse/facilities/v1/200_facilities_facility_ids.yml diff --git a/app/controllers/v0/health_care_applications_controller.rb b/app/controllers/v0/health_care_applications_controller.rb index 953b0c318c5..9636b20c734 100644 --- a/app/controllers/v0/health_care_applications_controller.rb +++ b/app/controllers/v0/health_care_applications_controller.rb @@ -3,6 +3,7 @@ require 'hca/service' require 'bgs/service' require 'pdf_fill/filler' +require 'lighthouse/facilities/v1/client' module V0 class HealthCareApplicationsController < ApplicationController @@ -11,7 +12,7 @@ class HealthCareApplicationsController < ApplicationController service_tag 'healthcare-application' FORM_ID = '1010ez' - skip_before_action(:authenticate, only: %i[create show enrollment_status healthcheck download_pdf]) + skip_before_action(:authenticate, only: %i[create show enrollment_status healthcheck download_pdf facilities]) before_action :record_submission_attempt, only: :create before_action :load_user, only: %i[create enrollment_status] @@ -76,12 +77,38 @@ def download_pdf send_data file_contents, filename: file_name_for_pdf, type: 'application/pdf', disposition: 'attachment' end + def facilities + render(json: lighthouse_facilities_service.get_facilities(lighthouse_facilities_params)) + end + private def health_care_application @health_care_application ||= HealthCareApplication.new(params.permit(:form)) end + def lighthouse_facilities_service + @lighthouse_facilities_service ||= Lighthouse::Facilities::V1::Client.new + end + + def lighthouse_facilities_params + params.permit( + :zip, + :state, + :lat, + :long, + :radius, + :bbox, + :visn, + :type, + :services, + :mobile, + :page, + :per_page, + facilityIds: [] + ) + end + def file_name_for_pdf veteran_name = health_care_application.parsed_form.try(:[], 'veteranFullName') first_name = veteran_name.try(:[], 'first') || 'First' diff --git a/config/routes.rb b/config/routes.rb index ebf6efc99a0..4d4044aa73d 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -114,6 +114,7 @@ get(:healthcheck) get(:enrollment_status) get(:rating_info) + get(:facilities) post(:download_pdf) end end diff --git a/spec/requests/health_care_applications_request_spec.rb b/spec/requests/health_care_applications_request_spec.rb index 946b431a186..dfbb234ae2f 100644 --- a/spec/requests/health_care_applications_request_spec.rb +++ b/spec/requests/health_care_applications_request_spec.rb @@ -210,6 +210,51 @@ end end + describe 'GET facilities' do + it 'responds with facilities data' do + VCR.use_cassette('lighthouse/facilities/v1/200_facilities_facility_ids', match_requests_on: %i[method uri]) do + get(facilities_v0_health_care_applications_path(facilityIds: %w[vha_757 vha_358])) + end + expect(response).to have_http_status(:ok) + expect(response.parsed_body[0]).to eq({ 'access' => nil, + 'active_status' => nil, + 'address' => { + 'mailing' => { 'zip' => '66713', 'city' => 'Leavenworth', + 'state' => 'KS', 'address1' => '150 Muncie Rd' }, + 'physical' => { 'zip' => '66713', 'city' => 'Baxter Springs', + 'state' => 'KS', + 'address1' => 'Baxter Springs City Cemetery' } + }, + 'classification' => 'Soldiers Lot', + 'detailed_services' => nil, + 'distance' => nil, + 'facility_type' => 'va_cemetery', + 'facility_type_prefix' => 'nca', + 'feedback' => nil, + 'hours' => + { 'monday' => 'Sunrise - Sundown', + 'tuesday' => 'Sunrise - Sundown', + 'wednesday' => 'Sunrise - Sundown', + 'thursday' => 'Sunrise - Sundown', + 'friday' => 'Sunrise - Sundown', + 'saturday' => 'Sunrise - Sundown', + 'sunday' => 'Sunrise - Sundown' }, + 'id' => 'nca_042', + 'lat' => 37.0320575, + 'long' => -94.7706605, + 'mobile' => nil, + 'name' => "Baxter Springs City Soldiers' Lot", + 'operating_status' => { 'code' => 'NORMAL' }, + 'operational_hours_special_instructions' => nil, + 'phone' => { 'fax' => '9137584136', 'main' => '9137584105' }, + 'services' => nil, + 'type' => 'va_facilities', + 'unique_id' => '042', + 'visn' => nil, + 'website' => 'https://www.cem.va.gov/cems/lots/BaxterSprings.asp' }) + end + end + describe 'POST create' do subject do post(v0_health_care_applications_path, diff --git a/spec/support/vcr_cassettes/lighthouse/facilities/v1/200_facilities_facility_ids.yml b/spec/support/vcr_cassettes/lighthouse/facilities/v1/200_facilities_facility_ids.yml new file mode 100644 index 00000000000..280012d498c --- /dev/null +++ b/spec/support/vcr_cassettes/lighthouse/facilities/v1/200_facilities_facility_ids.yml @@ -0,0 +1,129 @@ +--- +http_interactions: +- request: + method: get + uri: https://sandbox-api.va.gov/services/va_facilities/v1/facilities?facilityIds%5B%5D=vha_358&facilityIds%5B%5D=vha_757 + body: + encoding: US-ASCII + string: '' + headers: + Accept: + - application/json + Content-Type: + - application/json + User-Agent: + - Vets.gov Agent + Apikey: + - abcde + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + response: + status: + code: 200 + message: '' + headers: + Date: + - Wed, 10 Apr 2024 20:19:43 GMT + Content-Type: + - application/json + Connection: + - keep-alive + X-Ratelimit-Remaining-Minute: + - '47' + X-Ratelimit-Limit-Minute: + - '60' + Ratelimit-Remaining: + - '47' + Ratelimit-Limit: + - '60' + Ratelimit-Reset: + - '17' + Strict-Transport-Security: + - max-age=16000000; includeSubDomains; preload; + - max-age=31536000; includeSubDomains; preload + Access-Control-Allow-Origin: + - "*" + Cache-Control: + - '' + - no-cache, no-store + X-Frame-Options: + - SAMEORIGIN + Pragma: + - no-cache + Transfer-Encoding: + - chunked + body: + encoding: ASCII-8BIT + string: '{"data":[{"id":"nca_042","type":"va_facilities","attributes":{"name":"Baxter + Springs City Soldiers'' Lot","facilityType":"va_cemetery","classification":"Soldiers + Lot","website":"https://www.cem.va.gov/cems/lots/BaxterSprings.asp","lat":37.03205750,"long":-94.77066050,"timeZone":"America/Chicago","address":{"mailing":{"zip":"66713","city":"Leavenworth","state":"KS","address1":"150 + Muncie Rd"},"physical":{"zip":"66713","city":"Baxter Springs","state":"KS","address1":"Baxter + Springs City Cemetery"}},"phone":{"fax":"9137584136","main":"9137584105"},"hours":{"monday":"Sunrise + - Sundown","tuesday":"Sunrise - Sundown","wednesday":"Sunrise - Sundown","thursday":"Sunrise + - Sundown","friday":"Sunrise - Sundown","saturday":"Sunrise - Sundown","sunday":"Sunrise + - Sundown"},"operatingStatus":{"code":"NORMAL"}}},{"id":"nca_054","type":"va_facilities","attributes":{"name":"Congressional + Cemetery Government Lots","facilityType":"va_cemetery","classification":"Government + Lots","website":"https://www.cem.va.gov/cems/lots/Congressional.asp","lat":38.88277970,"long":-76.97901110,"timeZone":"America/New_York","address":{"mailing":{"zip":"21228","city":"Baltimore","state":"MD","address1":"5501 + Frederick Avenue"},"physical":{"zip":"20003","city":"Washington","state":"DC","address1":"1801 + E Street, SE"}},"phone":{"fax":"4106441563","main":"4106449696"},"hours":{"monday":"Sunrise + - Sundown","tuesday":"Sunrise - Sundown","wednesday":"Sunrise - Sundown","thursday":"Sunrise + - Sundown","friday":"Sunrise - Sundown","saturday":"Sunrise - Sundown","sunday":"Sunrise + - Sundown"},"operatingStatus":{"code":"NORMAL"}}},{"id":"nca_055","type":"va_facilities","attributes":{"name":"Evergreen + Cemetery Soldiers'' Lot","facilityType":"va_cemetery","classification":"Soldiers + Lot","website":"https://www.cem.va.gov/cems/lots/Evergreen.asp","lat":39.06965130,"long":-84.46885410,"timeZone":"America/New_York","address":{"mailing":{"zip":"40356","city":"Nicholasville","state":"KY","address1":"6980 + Danville Rd"},"physical":{"zip":"41071","city":"Southgate","state":"KY","address1":"25 + South Alexandria Pike"}},"phone":{"fax":"859-887-4860","main":"859-885-5727"},"hours":{"monday":"Sunrise + - Sundown","tuesday":"Sunrise - Sundown","wednesday":"Sunrise - Sundown","thursday":"Sunrise + - Sundown","friday":"Sunrise - Sundown","saturday":"Sunrise - Sundown","sunday":"Sunrise + - Sundown"},"operatingStatus":{"code":"NORMAL"}}},{"id":"nca_058","type":"va_facilities","attributes":{"name":"Forest + Lawn Cemetery Soldiers'' Lot","facilityType":"va_cemetery","classification":"Soldiers + Lot","website":"https://www.cem.va.gov/cems/lots/ForestLawn.asp","lat":41.33124280,"long":-95.99361190,"timeZone":"America/Chicago","address":{"mailing":{"zip":"66048","city":"Leavenworth","state":"KS","address1":"150 + Muncie Rd"},"physical":{"zip":"68112","city":"Omaha","state":"NE","address1":"7909 + Mormon Bridge Rd"}},"phone":{"fax":"9137584136","main":"9137584105"},"hours":{"monday":"Sunrise + - Sundown","tuesday":"Sunrise - Sundown","wednesday":"Sunrise - Sundown","thursday":"Sunrise + - Sundown","friday":"Sunrise - Sundown","saturday":"Sunrise - Sundown","sunday":"Sunrise + - Sundown"},"operatingStatus":{"code":"NORMAL"}}},{"id":"nca_059","type":"va_facilities","attributes":{"name":"Fort + Crawford Cemetery Soldiers'' Lot","facilityType":"va_cemetery","classification":"Soldiers + Lot","website":"https://www.cem.va.gov/cems/lots/Fort_Crawford.asp","lat":43.04707820,"long":-91.14648480,"timeZone":"America/Chicago","address":{"mailing":{"zip":"53295-4000","city":"Milwaukee","state":"WI","address1":"5000 + W. National Ave, Bldg. 1301"},"physical":{"zip":"53821","city":"Prairie du + Chien","state":"WI","address1":"413 S. Beaumont Rd"}},"phone":{"fax":"4143825321","main":"4143825300"},"hours":{"monday":"Sunrise + - Sundown","tuesday":"Sunrise - Sundown","wednesday":"Sunrise - Sundown","thursday":"Sunrise + - Sundown","friday":"Sunrise - Sundown","saturday":"Sunrise - Sundown","sunday":"Sunrise + - Sundown"},"operatingStatus":{"code":"NORMAL"}}},{"id":"nca_061","type":"va_facilities","attributes":{"name":"Green + Mount Cemetery Soldiers'' Lot","facilityType":"va_cemetery","classification":"Soldiers + Lot","website":"https://www.cem.va.gov/cems/lots/Green_Mount.asp","lat":44.25730710,"long":-72.59974600,"timeZone":"America/New_York","address":{"mailing":{"zip":"02532","city":"Bourne","state":"MA","address1":"Off + Connery Ave."},"physical":{"zip":"05602","city":"Montpelier","state":"VT","address1":"250 + State Street"}},"phone":{"fax":"5085649946","main":"5085637113"},"hours":{"monday":"Sunrise + - Sundown","tuesday":"Sunrise - Sundown","wednesday":"Sunrise - Sundown","thursday":"Sunrise + - Sundown","friday":"Sunrise - Sundown","saturday":"Sunrise - Sundown","sunday":"Sunrise + - Sundown"},"operatingStatus":{"code":"NORMAL"}}},{"id":"nca_062","type":"va_facilities","attributes":{"name":"Lakeside + Cemetery Soldiers'' Lot","facilityType":"va_cemetery","classification":"Soldiers + Lot","website":"https://www.cem.va.gov/cems/lots/Lakeside.asp","lat":43.01735370,"long":-82.43269330,"timeZone":"America/Detroit","address":{"mailing":{"zip":"48442","city":"Holly","state":"MI","address1":"4200 + Belford Rd"},"physical":{"zip":"48060","city":"Port Huron","state":"MI","address1":"3781 + Gratiot St"}},"phone":{"fax":"2483280612","main":"2483280386"},"hours":{"monday":"Sunrise + - Sundown","tuesday":"Sunrise - Sundown","wednesday":"Sunrise - Sundown","thursday":"Sunrise + - Sundown","friday":"Sunrise - Sundown","saturday":"Sunrise - Sundown","sunday":"Sunrise + - Sundown"},"operatingStatus":{"code":"NORMAL"}}},{"id":"nca_063","type":"va_facilities","attributes":{"name":"Mound + Cemetery Soldiers'' Lot","facilityType":"va_cemetery","classification":"Soldiers + Lot","website":"https://www.cem.va.gov/cems/lots/Mound.asp","lat":42.71931550,"long":-87.81609560,"timeZone":"America/Chicago","address":{"mailing":{"zip":"53295-4000","city":"Milwaukee","state":"WI","address1":"5000 + W. National Ave, Bldg. 1301"},"physical":{"zip":"53405","city":"Racine","state":"WI","address1":"1147 + West Blvd"}},"phone":{"fax":"4143825321","main":"4143825300"},"hours":{"monday":"Sunrise + - Sundown","tuesday":"Sunrise - Sundown","wednesday":"Sunrise - Sundown","thursday":"Sunrise + - Sundown","friday":"Sunrise - Sundown","saturday":"Sunrise - Sundown","sunday":"Sunrise + - Sundown"},"operatingStatus":{"code":"NORMAL"}}},{"id":"nca_064","type":"va_facilities","attributes":{"name":"Mound + City Cemetery Soldiers'' Lot","facilityType":"va_cemetery","classification":"Soldiers + Lot","website":"https://www.cem.va.gov/cems/lots/MoundCity.asp","lat":38.14555200,"long":-94.81322820,"timeZone":"America/Chicago","address":{"mailing":{"zip":"66506","city":"Leavenworth","state":"KS","address1":"150 + Muncie Rd"},"physical":{"zip":"66506","city":"Mound City","state":"KS","address1":"Woodland + Cemetery"}},"phone":{"fax":"9137584136","main":"9137584105"},"hours":{"monday":"Sunrise + - Sundown","tuesday":"Sunrise - Sundown","wednesday":"Sunrise - Sundown","thursday":"Sunrise + - Sundown","friday":"Sunrise - Sundown","saturday":"Sunrise - Sundown","sunday":"Sunrise + - Sundown"},"operatingStatus":{"code":"NORMAL"}}},{"id":"nca_065","type":"va_facilities","attributes":{"name":"Mount + Moriah Cemetery Soldiers'' Lot","facilityType":"va_cemetery","classification":"Soldiers + Lot","website":"https://www.cem.va.gov/cems/lots/MountMoriah.asp","lat":39.93245530,"long":-75.23679670,"timeZone":"America/New_York","address":{"mailing":{"zip":"08010","city":"Beverly","state":"NJ","address1":"916 + Bridgeboro Road"},"physical":{"zip":"19142","city":"Philadelphia","state":"PA","address1":"62nd + Street and Kingsessing Avenue"}},"phone":{"fax":"6098714691","main":"6098775460"},"hours":{"monday":"Sunrise + - Sundown","tuesday":"Sunrise - Sundown","wednesday":"Sunrise - Sundown","thursday":"Sunrise + - Sundown","friday":"Sunrise - Sundown","saturday":"Sunrise - Sundown","sunday":"Sunrise + - Sundown"},"operatingStatus":{"code":"NORMAL"}}}],"links":{"self":"https://sandbox-api.va.gov/services/va_facilities/v1/facilities?page=1&per_page=10","first":"https://sandbox-api.va.gov/services/va_facilities/v1/facilities?page=1&per_page=10","next":"https://sandbox-api.va.gov/services/va_facilities/v1/facilities?page=2&per_page=10","last":"https://sandbox-api.va.gov/services/va_facilities/v1/facilities?page=257&per_page=10"},"meta":{"pagination":{"currentPage":1,"perPage":10,"totalPages":257,"totalEntries":2563}}}' + recorded_at: Wed, 10 Apr 2024 20:19:43 GMT +recorded_with: VCR 6.2.0 From c81ef53992df9762898c6370c0956be980b2389d Mon Sep 17 00:00:00 2001 From: Tai Wilkin-Corraggio Date: Fri, 12 Apr 2024 13:29:53 -0400 Subject: [PATCH 14/74] Leave benefit selections blank on pdf if unselected (#16318) --- lib/pdf_fill/forms/va21p530v2.rb | 4 +++- spec/fixtures/pdf_fill/21P-530V2/merge_fields.json | 5 ++--- spec/lib/pdf_fill/forms/va21p530v2_spec.rb | 13 +++++++++++++ 3 files changed, 18 insertions(+), 4 deletions(-) diff --git a/lib/pdf_fill/forms/va21p530v2.rb b/lib/pdf_fill/forms/va21p530v2.rb index 6350a4228cf..06b70f63a83 100644 --- a/lib/pdf_fill/forms/va21p530v2.rb +++ b/lib/pdf_fill/forms/va21p530v2.rb @@ -719,6 +719,9 @@ def merge_fields(_options = {}) expand_cemetery_location + # special case: the UI only has a 'yes' checkbox, so the PDF 'noTransportation' checkbox can never be true. + @form_data['hasTransportation'] = @form_data['transportation'] == true ? 'YES' : nil + # special case: these fields were built as checkboxes instead of radios, so usual radio logic can't be used. burial_expense_responsibility = @form_data['burialExpenseResponsibility'] @form_data['hasBurialExpenseResponsibility'] = burial_expense_responsibility ? 'On' : nil @@ -759,7 +762,6 @@ def merge_fields(_options = {}) govtContributions previouslyReceivedAllowance allowanceStatementOfTruth - transportation ].each do |attr| expand_checkbox_in_place(@form_data, attr) end diff --git a/spec/fixtures/pdf_fill/21P-530V2/merge_fields.json b/spec/fixtures/pdf_fill/21P-530V2/merge_fields.json index 14bc65e70fe..6a3d5430846 100644 --- a/spec/fixtures/pdf_fill/21P-530V2/merge_fields.json +++ b/spec/fixtures/pdf_fill/21P-530V2/merge_fields.json @@ -74,6 +74,7 @@ "signatureDate":"2024-03-21", "veteranSocialSecurityNumber2":{"first":"987", "second":"65", "third":"4322"}, "veteranSocialSecurityNumber3":{"first":"987", "second":"65", "third":"4322"}, + "hasTransportation":"YES", "hasBurialExpenseResponsibility":"On", "noBurialExpenseResponsibility":null, "hasPlotExpenseResponsibility":"On", @@ -93,7 +94,5 @@ "hasPreviouslyReceivedAllowance":"YES", "noPreviouslyReceivedAllowance":null, "hasAllowanceStatementOfTruth":null, - "noAllowanceStatementOfTruth":null, - "hasTransportation":"YES", - "noTransportation":null + "noAllowanceStatementOfTruth":null } \ No newline at end of file diff --git a/spec/lib/pdf_fill/forms/va21p530v2_spec.rb b/spec/lib/pdf_fill/forms/va21p530v2_spec.rb index 58dd79761a1..6810eb956d8 100644 --- a/spec/lib/pdf_fill/forms/va21p530v2_spec.rb +++ b/spec/lib/pdf_fill/forms/va21p530v2_spec.rb @@ -142,5 +142,18 @@ def class_form_data get_fixture('pdf_fill/21P-530V2/merge_fields').to_json ) end + + it 'leaves benefit selections blank on pdf if unselected', run_at: '2024-03-21 00:00:00 EDT' do + unselected_benefits_data = get_fixture('pdf_fill/21P-530V2/kitchen_sink').except( + 'burialAllowance', 'plotAllowance', 'transportation' + ) + expected_merge_data = get_fixture('pdf_fill/21P-530V2/merge_fields').except( + 'burialAllowance', 'plotAllowance', 'transportation' + ) + expected_merge_data['hasTransportation'] = nil + expect(described_class.new(unselected_benefits_data).merge_fields.to_json).to eq( + expected_merge_data.to_json + ) + end end end From 4ee9a78fef997ceb5b01a1babefdad17f286299f Mon Sep 17 00:00:00 2001 From: Trevor Bosaw Date: Fri, 12 Apr 2024 11:10:02 -0700 Subject: [PATCH 15/74] Fixing flaky specs related to pdf generation (#16310) --- .../concerns/mhv_fhir_session_client.rb | 1 + .../spec/requests/v1/uploads_spec.rb | 26 ++++-------- .../virtual_agent/virtual_agent_claim_spec.rb | 36 +++++------------ .../concerns/mhv_fhir_session_client_spec.rb | 2 +- .../service_spec.rb | 40 ++++++++++--------- 5 files changed, 43 insertions(+), 62 deletions(-) diff --git a/lib/common/client/concerns/mhv_fhir_session_client.rb b/lib/common/client/concerns/mhv_fhir_session_client.rb index 389d9739e60..a7d65a7dd4e 100644 --- a/lib/common/client/concerns/mhv_fhir_session_client.rb +++ b/lib/common/client/concerns/mhv_fhir_session_client.rb @@ -1,6 +1,7 @@ # frozen_string_literal: true require 'common/client/concerns/mhv_jwt_session_client' +require 'medical_records/patient_not_found' module Common module Client diff --git a/modules/simple_forms_api/spec/requests/v1/uploads_spec.rb b/modules/simple_forms_api/spec/requests/v1/uploads_spec.rb index 2d8c3c709b2..7663eac253f 100644 --- a/modules/simple_forms_api/spec/requests/v1/uploads_spec.rb +++ b/modules/simple_forms_api/spec/requests/v1/uploads_spec.rb @@ -2,6 +2,7 @@ require 'rails_helper' require 'simple_forms_api_submission/metadata_validator' +require 'common/file_helpers' RSpec.describe 'Forms uploader', type: :request do non_ivc_forms = [ @@ -30,6 +31,13 @@ ] describe '#submit' do + let(:metadata_file) { "#{file_seed}.SimpleFormsApi.metadata.json" } + let(:file_seed) { 'tmp/some-unique-simple-forms-file-seed' } + + before { allow(Common::FileHelpers).to receive(:random_file_path).and_return(file_seed) } + + after { Common::FileHelpers.delete_file_if_exists(metadata_file) } + non_ivc_forms.each do |form| fixture_path = Rails.root.join('modules', 'simple_forms_api', 'spec', 'fixtures', 'form_json', form) data = JSON.parse(fixture_path.read) @@ -43,9 +51,6 @@ expect(SimpleFormsApiSubmission::MetadataValidator).to have_received(:validate) expect(response).to have_http_status(:ok) - ensure - metadata_file = Dir['tmp/*.SimpleFormsApi.metadata.json'][0] - Common::FileHelpers.delete_file_if_exists(metadata_file) if defined?(metadata_file) end end end @@ -58,9 +63,6 @@ expect do post '/simple_forms_api/v1/simple_forms', params: data end.to change(FormSubmissionAttempt, :count).by(1) - ensure - metadata_file = Dir['tmp/*.SimpleFormsApi.metadata.json'][0] - Common::FileHelpers.delete_file_if_exists(metadata_file) if defined?(metadata_file) end end end @@ -85,9 +87,6 @@ expect do post '/simple_forms_api/v1/simple_forms', params: data end.to change(InProgressForm, :count).by(-1) - ensure - metadata_file = Dir['tmp/*.SimpleFormsApi.metadata.json'][0] - Common::FileHelpers.delete_file_if_exists(metadata_file) if defined?(metadata_file) end end end @@ -199,9 +198,6 @@ expect_any_instance_of(SimpleFormsApi::PdfFiller).to receive(:generate).with(3) post '/simple_forms_api/v1/simple_forms', params: data - ensure - metadata_file = Dir['tmp/*.SimpleFormsApi.metadata.json'][0] - Common::FileHelpers.delete_file_if_exists(metadata_file) if defined?(metadata_file) end end end @@ -223,9 +219,6 @@ post '/simple_forms_api/v1/simple_forms', params: data expect(response).to have_http_status(:ok) - ensure - metadata_file = Dir['tmp/*.SimpleFormsApi.metadata.json'][0] - Common::FileHelpers.delete_file_if_exists(metadata_file) if defined?(metadata_file) end end end @@ -242,9 +235,6 @@ expect(PersistentAttachment).to receive(:where).with(guid: ['a-random-uuid']).and_return([attachment]) post '/simple_forms_api/v1/simple_forms', params: data expect(response).to have_http_status(:ok) - ensure - metadata_file = Dir['tmp/*.SimpleFormsApi.metadata.json'][0] - Common::FileHelpers.delete_file_if_exists(metadata_file) if defined?(metadata_file) end end end diff --git a/spec/controllers/v0/virtual_agent/virtual_agent_claim_spec.rb b/spec/controllers/v0/virtual_agent/virtual_agent_claim_spec.rb index 251c50b5c2b..5a8c675c2fd 100644 --- a/spec/controllers/v0/virtual_agent/virtual_agent_claim_spec.rb +++ b/spec/controllers/v0/virtual_agent/virtual_agent_claim_spec.rb @@ -19,14 +19,9 @@ end describe 'GET /v0/virtual_agent/claim' do - let!(:claim) do - FactoryBot.create(:evss_claim, id: 11, evss_id: 600_118_854, - user_uuid: user.uuid) - FactoryBot.create(:evss_claim, id: 22, evss_id: 600_118_855, - user_uuid: user.uuid) - FactoryBot.create(:evss_claim, id: 33, evss_id: 600_118_851, - user_uuid: user.uuid) - end + let!(:claim1) { FactoryBot.create(:evss_claim, evss_id: 600_118_854, user_uuid: user.uuid) } + let!(:claim2) { FactoryBot.create(:evss_claim, evss_id: 600_118_855, user_uuid: user.uuid) } + let!(:claim3) { FactoryBot.create(:evss_claim, evss_id: 600_118_851, user_uuid: user.uuid) } it 'returns information on multiple open compensation claims in descending chronological order by updated date' do sign_in_as(user) @@ -41,13 +36,13 @@ EVSS::RetrieveClaimsFromRemoteJob.new.perform(user.uuid) end VCR.use_cassette('evss/claims/claim_with_docs1') do - EVSS::UpdateClaimFromRemoteJob.new.perform(user.uuid, 11) + EVSS::UpdateClaimFromRemoteJob.new.perform(user.uuid, claim1.id) end VCR.use_cassette('evss/claims/claim_with_docs2') do - EVSS::UpdateClaimFromRemoteJob.new.perform(user.uuid, 22) + EVSS::UpdateClaimFromRemoteJob.new.perform(user.uuid, claim2.id) end VCR.use_cassette('evss/claims/claim_with_docs3') do - EVSS::UpdateClaimFromRemoteJob.new.perform(user.uuid, 33) + EVSS::UpdateClaimFromRemoteJob.new.perform(user.uuid, claim3.id) end get '/v0/virtual_agent/claim' @@ -81,10 +76,7 @@ end describe 'for a single claim' do - let!(:claim) do - FactoryBot.create(:evss_claim, id: 3, evss_id: 600_118_851, - user_uuid: user.uuid) - end + let!(:claim) { FactoryBot.create(:evss_claim, evss_id: 600_118_851, user_uuid: user.uuid) } it 'returns information on single open compensation claim' do sign_in_as(user) @@ -99,7 +91,7 @@ EVSS::RetrieveClaimsFromRemoteJob.new.perform(user.uuid) end VCR.use_cassette('evss/claims/claim_with_docs1') do - EVSS::UpdateClaimFromRemoteJob.new.perform(user.uuid, 3) + EVSS::UpdateClaimFromRemoteJob.new.perform(user.uuid, claim.id) end get '/v0/virtual_agent/claim' @@ -183,10 +175,7 @@ end describe 'for a user who has non-compensation and compensation claims' do - let!(:claim) do - FactoryBot.create(:evss_claim, id: 3, evss_id: 600_114_693, - user_uuid: user.uuid) - end + let!(:claim) { FactoryBot.create(:evss_claim, evss_id: 600_114_693, user_uuid: user.uuid) } it 'returns information when there is a more recent non-compensation open claim' do sign_in_as(user) @@ -200,7 +189,7 @@ EVSS::RetrieveClaimsFromRemoteJob.new.perform(user.uuid) end VCR.use_cassette('evss/claims/claim_with_docs4') do - EVSS::UpdateClaimFromRemoteJob.new.perform(user.uuid, 3) + EVSS::UpdateClaimFromRemoteJob.new.perform(user.uuid, claim.id) end get '/v0/virtual_agent/claim' @@ -218,10 +207,7 @@ end describe 'GET /v0/virtual_agent/claim/{EVSS_ID}' do - let!(:claim) do - FactoryBot.create(:evss_claim, id: 1, evss_id: 600_117_255, - user_uuid: user.uuid) - end + let!(:claim) { FactoryBot.create(:evss_claim, evss_id: 600_117_255, user_uuid: user.uuid) } it 'returns claims details of a specific claim' do sign_in_as(user) diff --git a/spec/lib/common/client/concerns/mhv_fhir_session_client_spec.rb b/spec/lib/common/client/concerns/mhv_fhir_session_client_spec.rb index 88271047aef..a9371307fd9 100644 --- a/spec/lib/common/client/concerns/mhv_fhir_session_client_spec.rb +++ b/spec/lib/common/client/concerns/mhv_fhir_session_client_spec.rb @@ -2,7 +2,7 @@ require 'rails_helper' require 'medical_records/client_session' -require_relative '../../../../../lib/common/client/concerns/mhv_fhir_session_client' +require 'common/client/concerns/mhv_fhir_session_client' describe Common::Client::Concerns::MhvFhirSessionClient do let(:dummy_class) do diff --git a/spec/lib/simple_forms_api_submission/service_spec.rb b/spec/lib/simple_forms_api_submission/service_spec.rb index 6864c3532cc..f7495a07983 100644 --- a/spec/lib/simple_forms_api_submission/service_spec.rb +++ b/spec/lib/simple_forms_api_submission/service_spec.rb @@ -5,47 +5,51 @@ require 'simple_forms_api_submission/service' describe SimpleFormsApiSubmission::Service do - mock_metadata = ' - {"veteranFirstName"=>"Veteran", "veteranLastName"=>"Surname", "fileNumber"=>"123456789", - "zipCode"=>"12345", "source"=>"test", "docType"=>"test", "businessLine"=>"OTH"} - ' - - before(:all) do - @service = SimpleFormsApiSubmission::Service.new + let(:mock_metadata) do + '{"veteranFirstName"=>"Veteran", "veteranLastName"=>"Surname", "fileNumber"=>"123456789", + "zipCode"=>"12345", "source"=>"test", "docType"=>"test", "businessLine"=>"OTH"}' end + let(:simple_forms_service) { SimpleFormsApiSubmission::Service.new } + let(:file_seed) { 'some-unique-simple-forms-service-spec-file-seed' } + + before { allow(SecureRandom).to receive(:hex).and_return(file_seed) } + describe 'get uuid and upload location' do it 'retrieves uuid and upload location from the Lighthouse API' do VCR.use_cassette('lighthouse/benefits_intake/200_lighthouse_intake_upload_location') do - response = @service.get_upload_location + response = simple_forms_service.get_upload_location expect(response.status).to equal(200) end end end describe 'generate metadata file' do + let(:mock_file_path_metadata) { "#{file_seed}.SimpleFormsApi.metadata.json" } + it 'generates a json file from the metadata' do - @service.generate_tmp_metadata(mock_metadata) + simple_forms_service.generate_tmp_metadata(mock_metadata) expect(Dir['tmp/*.SimpleFormsApi.metadata.json'].any?).to equal(true) ensure - metadata_file = Dir['tmp/*.SimpleFormsApi.metadata.json'][0] - Common::FileHelpers.delete_file_if_exists(metadata_file) if defined?(metadata_file) + Common::FileHelpers.delete_file_if_exists(mock_file_path_metadata) end end describe 'upload doc' do + let(:mock_file) { Common::FileHelpers.random_file_path } + let(:mock_file_path_pdf) { "#{mock_file}-mock-upload.pdf" } + let(:mock_file_path_metadata) { "#{mock_file}.SimpleFormsApi.metadata.json" } + it 'upload doc to mock location' do VCR.use_cassette('lighthouse/benefits_intake/200_lighthouse_intake_upload') do mock_upload_url = 'https://sandbox-api.va.gov/services_user_content/vba_documents/id-path-doesnt-matter' - mock_file_path = "#{Common::FileHelpers.random_file_path}-mock-upload.pdf" - Prawn::Document.new.render_file mock_file_path - response = @service.upload_doc(upload_url: mock_upload_url, file: mock_file_path, metadata: mock_metadata) + Prawn::Document.new.render_file mock_file_path_pdf + response = simple_forms_service.upload_doc(upload_url: mock_upload_url, + file: mock_file_path_pdf, + metadata: mock_metadata) expect(response.status).to equal(200) ensure - metadata_file = Dir['tmp/*.SimpleFormsApi.metadata.json'][0] - pdf_file = Dir['tmp/*-mock-upload.pdf'][0] - Common::FileHelpers.delete_file_if_exists(metadata_file) if defined?(metadata_file) - Common::FileHelpers.delete_file_if_exists(pdf_file) if defined?(pdf_file) + Common::FileHelpers.delete_file_if_exists(mock_file_path_pdf) end end end From e9f1d4759b9eb80450be09d6594db0f7357e6c01 Mon Sep 17 00:00:00 2001 From: Oren Mittman Date: Fri, 12 Apr 2024 14:18:43 -0400 Subject: [PATCH 16/74] Dash/oren/global bgs cassette cleanup (#16288) * replace hardcoded BGS base URL with cassette placeholder everywhere else * but then remove newly orphaned claims_api BGS cassettes instead * update codeowners - empty bgs/claims cassette dir - extricate lighthouse-dash from external cassette dirs * and also remove newly orphaned claims_api non-BGS cassettes * Revert "and also remove newly orphaned claims_api non-BGS cassettes" This reverts commit 3e5ac2e44ea87636014a09dc7b74593127f11db7. cassette orphan unfair characterization * Revert "but then remove newly orphaned claims_api BGS cassettes instead" This reverts commit 4f5c9e650f440cfe325791b5fb762b85ca395f21. cassette orphan unfair characterization --- .github/CODEOWNERS | 4 +- .../bgs/awards_service/get_awards.yml | 4 +- .../bgs/benefit_claim/create.yml | 4 +- .../bgs/benefit_claim/create/error.yml | 4 +- .../bgs/benefit_claim/find_bnft_claim_400.yml | 4 +- .../bgs/benefit_claim/find_bnft_claim_500.yml | 4 +- .../bgs/benefit_claim/update_5103_200.yml | 4 +- .../bgs/benefit_claim/update_5103_claim.yml | 16 +- .../apdopted_child_lives_with_veteran.yml | 12 +- .../vcr_cassettes/bgs/children/create_all.yml | 60 ++--- .../bgs/claimant_web_service/dependents.yml | 4 +- .../claimant_web_service/dependents_400.yml | 2 +- .../find_poa_by_participant_id.yml | 4 +- .../not_find_poa_by_participant_id.yml | 4 +- .../vcr_cassettes/bgs/claims/claim.yml | 4 +- .../bgs/claims/claim_with_errors.yml | 4 +- .../vcr_cassettes/bgs/claims/claims.yml | 4 +- .../bgs/claims/claims_trimmed_down.yml | 4 +- .../bgs/claims/claims_with_errors.yml | 4 +- .../ddeft/find_bank_name_invalid_routing.yml | 4 +- .../bgs/ddeft/find_bank_name_valid.yml | 4 +- .../dependent_higher_ed_attendance/create.yml | 12 +- .../bgs/dependent_service/get_dependents.yml | 4 +- .../dependent_service/submit_686c_form.yml | 4 +- .../vcr_cassettes/bgs/dependents/create.yml | 80 +++---- .../bgs/dependents/create/death.yml | 80 +++---- .../dependents/create/spouse/is_veteran.yml | 12 +- .../create/spouse/lives_with_veteran.yml | 12 +- .../vcr_cassettes/bgs/diaries/read.yml | 4 +- .../bgs/diaries_service/read_diaries.yml | 4 +- .../read_diaries_no_entries.yml | 4 +- .../read_diaries_one_entry.yml | 4 +- .../read_diaries_one_entry_cxcl.yml | 4 +- .../diaries_service/read_empty_diaries.yml | 4 +- .../bgs/diaries_service/update_diaries.yml | 8 +- ...efit_claim_details_by_benefit_claim_id.yml | 4 +- ...efit_claim_details_by_benefit_claim_id.yml | 4 +- .../vcr_cassettes/bgs/form674/submit.yml | 74 +++--- .../vcr_cassettes/bgs/form686c/submit.yml | 220 +++++++++--------- .../get_intent_to_file.yml | 4 +- .../insert_intent_to_file.yml | 4 +- .../insert_intent_to_file_500.yml | 4 +- .../bgs/payment_history/find_by_ssn.yml | 4 +- .../retrieve_payment_summary_with_bdn.yml | 8 +- ...rieve_payment_summary_with_bdn_returns.yml | 4 +- .../payment_service/no_payment_history.yml | 4 +- .../bgs/payment_service/payment_history.yml | 4 +- .../payment_history_with_pending.yml | 4 +- .../bgs/people_service/no_person_data.yml | 4 +- .../bgs/people_service/person_data.yml | 4 +- .../find_person_by_participant_id.yml | 4 +- ...ind_person_by_participant_id_no_result.yml | 4 +- .../bgs/rating_web_service/rating_data.yml | 4 +- .../rating_data_no_ratings.yml | 4 +- .../rating_data_single_rating.yml | 4 +- .../bgs/service/create_address.yml | 6 +- .../vcr_cassettes/bgs/service/create_note.yml | 4 +- .../bgs/service/create_participant.yml | 6 +- .../bgs/service/create_person.yml | 6 +- .../bgs/service/create_phone.yml | 6 +- .../vcr_cassettes/bgs/service/create_proc.yml | 4 +- .../bgs/service/create_proc_form.yml | 4 +- .../bgs/service/errors/create_participant.yml | 14 +- .../bgs/service/errors/create_proc_form.yml | 14 +- .../bgs/service/find_ch33_dd_eft.yml | 4 +- .../service/find_ch33_dd_eft_no_bank_info.yml | 4 +- .../bgs/service/find_ch33_dd_eft_no_icn.yml | 4 +- .../bgs/service/find_rating_data.yml | 4 +- .../bgs/service/find_regional_offices.yml | 4 +- .../get_regional_office_by_zip_code.yml | 4 +- .../bgs/service/update_ch33_dd_eft.yml | 4 +- .../vcr_cassettes/bgs/service/update_proc.yml | 4 +- .../bgs/student_school/create.yml | 8 +- .../claims_v2_show_tracked_items.yml | 8 +- .../bgs/tracked_items/find_tracked_items.yml | 4 +- .../bad_participant_id.yml | 4 +- .../uploaded_document_data.yml | 6 +- .../bgs/vnp_benefit_claim/create.yml | 6 +- .../bgs/vnp_benefit_claim/update.yml | 6 +- .../vnp_proc_form_create.yml | 4 +- .../vnp_proc_service_v2/vnp_proc_create.yml | 4 +- .../vnp_ptcpnt_phone_create.yml | 4 +- .../vnp_ptcpnt_service/vnp_ptcpnt_create.yml | 4 +- .../bgs/vnp_relationships/create/child.yml | 4 +- .../bgs/vnp_relationships/create/death.yml | 4 +- .../create/marriage_history.yml | 4 +- .../bgs/vnp_relationships/create/spouse.yml | 4 +- .../bgs/vnp_relationships/step_children.yml | 8 +- .../vcr_cassettes/bgs/vnp_veteran/create.yml | 34 +-- .../debts/person_data_and_letters.yml | 4 +- .../dgi/forms/submit_toe_claim.yml | 6 +- .../retrieve_payment_summary_with_bdn.yml | 8 +- ...ve_payment_summary_with_bdn_blank_date.yml | 8 +- ...ment_summary_with_bdn_only_blank_dates.yml | 8 +- .../add_claimant_info.yml | 4 +- 95 files changed, 507 insertions(+), 507 deletions(-) diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index e3f0a685a5f..821318c752c 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -1798,7 +1798,7 @@ spec/support/vcr_cassettes/bgs @department-of-veterans-affairs/benefits-dependen spec/support/vcr_cassettes/bgs/claims @department-of-veterans-affairs/Benefits-Team-1 @department-of-veterans-affairs/va-api-engineers @department-of-veterans-affairs/backend-review-group spec/support/vcr_cassettes/bgs/benefit_claim @department-of-veterans-affairs/benefits-management-tools-be @department-of-veterans-affairs/va-api-engineers @department-of-veterans-affairs/backend-review-group spec/support/vcr_cassettes/bid @department-of-veterans-affairs/Disability-Experience @department-of-veterans-affairs/va-api-engineers @department-of-veterans-affairs/backend-review-group -spec/support/vcr_cassettes/brd @department-of-veterans-affairs/lighthouse-dash @department-of-veterans-affairs/dbex-trex @department-of-veterans-affairs/Disability-Experience +spec/support/vcr_cassettes/brd @department-of-veterans-affairs/dbex-trex @department-of-veterans-affairs/Disability-Experience @department-of-veterans-affairs/backend-review-group spec/support/vcr_cassettes/carma @department-of-veterans-affairs/vfs-10-10 @department-of-veterans-affairs/va-api-engineers @department-of-veterans-affairs/backend-review-group spec/support/vcr_cassettes/central_mail @department-of-veterans-affairs/lighthouse-banana-peels @department-of-veterans-affairs/va-api-engineers @department-of-veterans-affairs/backend-review-group spec/support/vcr_cassettes/caseflow @department-of-veterans-affairs/lighthouse-banana-peels @department-of-veterans-affairs/va-api-engineers @department-of-veterans-affairs/backend-review-group @@ -1876,7 +1876,7 @@ spec/support/vcr_cassettes/slack/slack_bot_notify.yml @department-of-veterans-af spec/support/vcr_cassettes/sm_client @department-of-veterans-affairs/vfs-mhv-secure-messaging @department-of-veterans-affairs/va-api-engineers @department-of-veterans-affairs/backend-review-group spec/support/vcr_cassettes/spec/support @department-of-veterans-affairs/octo-identity spec/support/vcr_cassettes/staccato @department-of-veterans-affairs/vfs-10-10 @department-of-veterans-affairs/va-api-engineers @department-of-veterans-affairs/backend-review-group -spec/support/vcr_cassettes/token_validation @department-of-veterans-affairs/lighthouse-dash @department-of-veterans-affairs/lighthouse-banana-peels @department-of-veterans-affairs/va-api-engineers @department-of-veterans-affairs/backend-review-group +spec/support/vcr_cassettes/token_validation @department-of-veterans-affairs/lighthouse-banana-peels @department-of-veterans-affairs/va-api-engineers @department-of-veterans-affairs/backend-review-group spec/spupport/vcr_cassettes/user/get_facilities_empty.yml @department-of-veterans-affairs/vfs-facilities-frontend @department-of-veterans-affairs/va-api-engineers @department-of-veterans-affairs/backend-review-group spec/support/vcr_cassettes/va_forms @department-of-veterans-affairs/platform-va-product-forms @department-of-veterans-affairs/va-api-engineers @department-of-veterans-affairs/backend-review-group spec/support/vcr_cassettes/va_notify @department-of-veterans-affairs/va-notify-write @department-of-veterans-affairs/va-api-engineers @department-of-veterans-affairs/backend-review-group diff --git a/spec/support/vcr_cassettes/bgs/awards_service/get_awards.yml b/spec/support/vcr_cassettes/bgs/awards_service/get_awards.yml index bb37ddaa7ae..7ac6854bdce 100644 --- a/spec/support/vcr_cassettes/bgs/awards_service/get_awards.yml +++ b/spec/support/vcr_cassettes/bgs/awards_service/get_awards.yml @@ -2,7 +2,7 @@ http_interactions: - request: method: get - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/AwardWebServiceBean/AwardWebService?WSDL + uri: /AwardWebServiceBean/AwardWebService?WSDL body: encoding: US-ASCII string: '' @@ -263,7 +263,7 @@ http_interactions: recorded_at: Thu, 19 Nov 2020 16:45:03 GMT - request: method: post - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/AwardWebServiceBean/AwardWebService + uri: /AwardWebServiceBean/AwardWebService body: encoding: UTF-8 string: |- diff --git a/spec/support/vcr_cassettes/bgs/benefit_claim/create.yml b/spec/support/vcr_cassettes/bgs/benefit_claim/create.yml index 0d4fb82b5fd..51a486ea210 100644 --- a/spec/support/vcr_cassettes/bgs/benefit_claim/create.yml +++ b/spec/support/vcr_cassettes/bgs/benefit_claim/create.yml @@ -2,7 +2,7 @@ http_interactions: - request: method: get - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/BenefitClaimServiceBean/BenefitClaimWebService?WSDL + uri: /BenefitClaimServiceBean/BenefitClaimWebService?WSDL body: encoding: US-ASCII string: '' @@ -355,7 +355,7 @@ http_interactions: recorded_at: Sat, 18 Jul 2020 02:37:47 GMT - request: method: post - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/BenefitClaimServiceBean/BenefitClaimWebService + uri: /BenefitClaimServiceBean/BenefitClaimWebService body: encoding: UTF-8 string: |- diff --git a/spec/support/vcr_cassettes/bgs/benefit_claim/create/error.yml b/spec/support/vcr_cassettes/bgs/benefit_claim/create/error.yml index bcdc4a0e0a0..96e75898983 100644 --- a/spec/support/vcr_cassettes/bgs/benefit_claim/create/error.yml +++ b/spec/support/vcr_cassettes/bgs/benefit_claim/create/error.yml @@ -2,7 +2,7 @@ http_interactions: - request: method: get - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/BenefitClaimServiceBean/BenefitClaimWebService?WSDL + uri: /BenefitClaimServiceBean/BenefitClaimWebService?WSDL body: encoding: US-ASCII string: '' @@ -355,7 +355,7 @@ http_interactions: recorded_at: Mon, 27 Jul 2020 23:21:14 GMT - request: method: post - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/BenefitClaimServiceBean/BenefitClaimWebService + uri: /BenefitClaimServiceBean/BenefitClaimWebService body: encoding: UTF-8 string: |- diff --git a/spec/support/vcr_cassettes/bgs/benefit_claim/find_bnft_claim_400.yml b/spec/support/vcr_cassettes/bgs/benefit_claim/find_bnft_claim_400.yml index 6145d56df97..e31737dfe1b 100644 --- a/spec/support/vcr_cassettes/bgs/benefit_claim/find_bnft_claim_400.yml +++ b/spec/support/vcr_cassettes/bgs/benefit_claim/find_bnft_claim_400.yml @@ -2,7 +2,7 @@ http_interactions: - request: method: get - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/EBenefitsBnftClaimStatusWebServiceBean/EBenefitsBnftClaimStatusWebService?WSDL + uri: /EBenefitsBnftClaimStatusWebServiceBean/EBenefitsBnftClaimStatusWebService?WSDL body: encoding: US-ASCII string: '' @@ -217,7 +217,7 @@ http_interactions: recorded_at: Thu, 31 Aug 2023 19:48:14 GMT - request: method: post - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/EBenefitsBnftClaimStatusWebServiceBean/EBenefitsBnftClaimStatusWebService + uri: /EBenefitsBnftClaimStatusWebServiceBean/EBenefitsBnftClaimStatusWebService body: encoding: UTF-8 string: | diff --git a/spec/support/vcr_cassettes/bgs/benefit_claim/find_bnft_claim_500.yml b/spec/support/vcr_cassettes/bgs/benefit_claim/find_bnft_claim_500.yml index 8d5d85dd516..bd57826f339 100644 --- a/spec/support/vcr_cassettes/bgs/benefit_claim/find_bnft_claim_500.yml +++ b/spec/support/vcr_cassettes/bgs/benefit_claim/find_bnft_claim_500.yml @@ -2,7 +2,7 @@ http_interactions: - request: method: get - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/EBenefitsBnftClaimStatusWebServiceBean/EbenefitsBenefitClaimsStatus?WSDL + uri: /EBenefitsBnftClaimStatusWebServiceBean/EbenefitsBenefitClaimsStatus?WSDL body: encoding: US-ASCII string: '' @@ -217,7 +217,7 @@ http_interactions: recorded_at: Tue, 25 Oct 2022 01:52:04 GMT - request: method: post - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/EBenefitsBnftClaimStatusWebServiceBean/EbenefitsBenefitClaimsStatus + uri: /EBenefitsBnftClaimStatusWebServiceBean/EbenefitsBenefitClaimsStatus body: encoding: UTF-8 string: |- diff --git a/spec/support/vcr_cassettes/bgs/benefit_claim/update_5103_200.yml b/spec/support/vcr_cassettes/bgs/benefit_claim/update_5103_200.yml index 5dfd686992c..d3f5e305dc5 100644 --- a/spec/support/vcr_cassettes/bgs/benefit_claim/update_5103_200.yml +++ b/spec/support/vcr_cassettes/bgs/benefit_claim/update_5103_200.yml @@ -2,7 +2,7 @@ http_interactions: - request: method: get - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/EBenefitsBnftClaimStatusWebServiceBean/EBenefitsBnftClaimStatusWebService?WSDL + uri: /EBenefitsBnftClaimStatusWebServiceBean/EBenefitsBnftClaimStatusWebService?WSDL body: encoding: US-ASCII string: '' @@ -217,7 +217,7 @@ http_interactions: recorded_at: Thu, 31 Aug 2023 19:44:07 GMT - request: method: post - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/EBenefitsBnftClaimStatusWebServiceBean/EBenefitsBnftClaimStatusWebService + uri: /EBenefitsBnftClaimStatusWebServiceBean/EBenefitsBnftClaimStatusWebService body: encoding: UTF-8 string: | diff --git a/spec/support/vcr_cassettes/bgs/benefit_claim/update_5103_claim.yml b/spec/support/vcr_cassettes/bgs/benefit_claim/update_5103_claim.yml index 9bf3bc41c9f..c4f9c312e5a 100644 --- a/spec/support/vcr_cassettes/bgs/benefit_claim/update_5103_claim.yml +++ b/spec/support/vcr_cassettes/bgs/benefit_claim/update_5103_claim.yml @@ -2,7 +2,7 @@ http_interactions: - request: method: get - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/BenefitClaimWebServiceBean/BenefitClaimWebService?WSDL + uri: /BenefitClaimWebServiceBean/BenefitClaimWebService?WSDL body: encoding: US-ASCII string: '' @@ -401,7 +401,7 @@ http_interactions: recorded_at: Thu, 13 Jul 2023 15:27:37 GMT - request: method: post - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/BenefitClaimWebServiceBean/BenefitClaimWebService + uri: /BenefitClaimWebServiceBean/BenefitClaimWebService body: encoding: UTF-8 string: | @@ -472,7 +472,7 @@ http_interactions: recorded_at: Thu, 13 Jul 2023 15:27:38 GMT - request: method: get - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/BenefitClaimWebServiceBean/BenefitClaimWebServiceV1?WSDL + uri: /BenefitClaimWebServiceBean/BenefitClaimWebServiceV1?WSDL body: encoding: US-ASCII string: '' @@ -873,7 +873,7 @@ http_interactions: recorded_at: Thu, 13 Jul 2023 15:27:39 GMT - request: method: post - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/BenefitClaimWebServiceBean/BenefitClaimWebServiceV1 + uri: /BenefitClaimWebServiceBean/BenefitClaimWebServiceV1 body: encoding: UTF-8 string: |- @@ -935,7 +935,7 @@ http_interactions: recorded_at: Thu, 13 Jul 2023 15:27:40 GMT - request: method: get - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/ClaimManagementService/ClaimManagementService?WSDL + uri: /ClaimManagementService/ClaimManagementService?WSDL body: encoding: US-ASCII string: '' @@ -1092,7 +1092,7 @@ http_interactions: recorded_at: Thu, 13 Jul 2023 15:27:40 GMT - request: method: post - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/ClaimManagementService/ClaimManagementService + uri: /ClaimManagementService/ClaimManagementService body: encoding: UTF-8 string: | @@ -1167,7 +1167,7 @@ http_interactions: recorded_at: Thu, 13 Jul 2023 15:27:41 GMT - request: method: get - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/ClaimManagementService/ClaimManagementService?WSDL + uri: /ClaimManagementService/ClaimManagementService?WSDL body: encoding: US-ASCII string: '' @@ -1324,7 +1324,7 @@ http_interactions: recorded_at: Thu, 13 Jul 2023 15:27:42 GMT - request: method: post - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/ClaimManagementService/ClaimManagementService + uri: /ClaimManagementService/ClaimManagementService body: encoding: UTF-8 string: | diff --git a/spec/support/vcr_cassettes/bgs/children/apdopted_child_lives_with_veteran.yml b/spec/support/vcr_cassettes/bgs/children/apdopted_child_lives_with_veteran.yml index 285bb3dd938..f11e998c8da 100644 --- a/spec/support/vcr_cassettes/bgs/children/apdopted_child_lives_with_veteran.yml +++ b/spec/support/vcr_cassettes/bgs/children/apdopted_child_lives_with_veteran.yml @@ -2,7 +2,7 @@ http_interactions: - request: method: get - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpPtcpntWebServiceBean/VnpPtcpntService?WSDL + uri: /VnpPtcpntWebServiceBean/VnpPtcpntService?WSDL body: encoding: US-ASCII string: '' @@ -171,7 +171,7 @@ http_interactions: recorded_at: Tue, 21 Jul 2020 05:36:27 GMT - request: method: post - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpPtcpntWebServiceBean/VnpPtcpntService + uri: /VnpPtcpntWebServiceBean/VnpPtcpntService body: encoding: UTF-8 string: |- @@ -227,7 +227,7 @@ http_interactions: recorded_at: Tue, 21 Jul 2020 05:36:27 GMT - request: method: get - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpPersonWebServiceBean/VnpPersonService?WSDL + uri: /VnpPersonWebServiceBean/VnpPersonService?WSDL body: encoding: US-ASCII string: '' @@ -396,7 +396,7 @@ http_interactions: recorded_at: Tue, 21 Jul 2020 05:36:28 GMT - request: method: post - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpPersonWebServiceBean/VnpPersonService + uri: /VnpPersonWebServiceBean/VnpPersonService body: encoding: UTF-8 string: |- @@ -455,7 +455,7 @@ http_interactions: recorded_at: Tue, 21 Jul 2020 05:36:29 GMT - request: method: get - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpPtcpntAddrsWebServiceBean/VnpPtcpntAddrsService?WSDL + uri: /VnpPtcpntAddrsWebServiceBean/VnpPtcpntAddrsService?WSDL body: encoding: US-ASCII string: '' @@ -624,7 +624,7 @@ http_interactions: recorded_at: Tue, 21 Jul 2020 05:36:30 GMT - request: method: post - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpPtcpntAddrsWebServiceBean/VnpPtcpntAddrsService + uri: /VnpPtcpntAddrsWebServiceBean/VnpPtcpntAddrsService body: encoding: UTF-8 string: |- diff --git a/spec/support/vcr_cassettes/bgs/children/create_all.yml b/spec/support/vcr_cassettes/bgs/children/create_all.yml index b0573ee4bfb..75ce829a660 100644 --- a/spec/support/vcr_cassettes/bgs/children/create_all.yml +++ b/spec/support/vcr_cassettes/bgs/children/create_all.yml @@ -2,7 +2,7 @@ http_interactions: - request: method: get - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpPtcpntWebServiceBean/VnpPtcpntService?WSDL + uri: /VnpPtcpntWebServiceBean/VnpPtcpntService?WSDL body: encoding: US-ASCII string: '' @@ -171,7 +171,7 @@ http_interactions: recorded_at: Wed, 26 Aug 2020 14:28:54 GMT - request: method: post - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpPtcpntWebServiceBean/VnpPtcpntService + uri: /VnpPtcpntWebServiceBean/VnpPtcpntService body: encoding: UTF-8 string: |- @@ -227,7 +227,7 @@ http_interactions: recorded_at: Wed, 26 Aug 2020 14:28:55 GMT - request: method: get - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpPersonWebServiceBean/VnpPersonService?WSDL + uri: /VnpPersonWebServiceBean/VnpPersonService?WSDL body: encoding: US-ASCII string: '' @@ -396,7 +396,7 @@ http_interactions: recorded_at: Wed, 26 Aug 2020 14:28:56 GMT - request: method: post - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpPersonWebServiceBean/VnpPersonService + uri: /VnpPersonWebServiceBean/VnpPersonService body: encoding: UTF-8 string: |- @@ -452,7 +452,7 @@ http_interactions: recorded_at: Wed, 26 Aug 2020 14:28:57 GMT - request: method: get - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpPtcpntAddrsWebServiceBean/VnpPtcpntAddrsService?WSDL + uri: /VnpPtcpntAddrsWebServiceBean/VnpPtcpntAddrsService?WSDL body: encoding: US-ASCII string: '' @@ -621,7 +621,7 @@ http_interactions: recorded_at: Wed, 26 Aug 2020 14:28:58 GMT - request: method: post - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpPtcpntAddrsWebServiceBean/VnpPtcpntAddrsService + uri: /VnpPtcpntAddrsWebServiceBean/VnpPtcpntAddrsService body: encoding: UTF-8 string: |- @@ -678,7 +678,7 @@ http_interactions: recorded_at: Wed, 26 Aug 2020 14:28:59 GMT - request: method: get - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpPtcpntWebServiceBean/VnpPtcpntService?WSDL + uri: /VnpPtcpntWebServiceBean/VnpPtcpntService?WSDL body: encoding: US-ASCII string: '' @@ -847,7 +847,7 @@ http_interactions: recorded_at: Wed, 26 Aug 2020 14:29:00 GMT - request: method: post - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpPtcpntWebServiceBean/VnpPtcpntService + uri: /VnpPtcpntWebServiceBean/VnpPtcpntService body: encoding: UTF-8 string: |- @@ -903,7 +903,7 @@ http_interactions: recorded_at: Wed, 26 Aug 2020 14:29:01 GMT - request: method: get - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpPersonWebServiceBean/VnpPersonService?WSDL + uri: /VnpPersonWebServiceBean/VnpPersonService?WSDL body: encoding: US-ASCII string: '' @@ -1072,7 +1072,7 @@ http_interactions: recorded_at: Wed, 26 Aug 2020 14:29:02 GMT - request: method: post - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpPersonWebServiceBean/VnpPersonService + uri: /VnpPersonWebServiceBean/VnpPersonService body: encoding: UTF-8 string: |- @@ -1130,7 +1130,7 @@ http_interactions: recorded_at: Wed, 26 Aug 2020 14:29:03 GMT - request: method: get - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpPtcpntAddrsWebServiceBean/VnpPtcpntAddrsService?WSDL + uri: /VnpPtcpntAddrsWebServiceBean/VnpPtcpntAddrsService?WSDL body: encoding: US-ASCII string: '' @@ -1299,7 +1299,7 @@ http_interactions: recorded_at: Wed, 26 Aug 2020 14:29:05 GMT - request: method: post - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpPtcpntAddrsWebServiceBean/VnpPtcpntAddrsService + uri: /VnpPtcpntAddrsWebServiceBean/VnpPtcpntAddrsService body: encoding: UTF-8 string: |- @@ -1356,7 +1356,7 @@ http_interactions: recorded_at: Wed, 26 Aug 2020 14:29:05 GMT - request: method: get - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpPtcpntWebServiceBean/VnpPtcpntService?WSDL + uri: /VnpPtcpntWebServiceBean/VnpPtcpntService?WSDL body: encoding: US-ASCII string: '' @@ -1525,7 +1525,7 @@ http_interactions: recorded_at: Wed, 26 Aug 2020 14:29:06 GMT - request: method: post - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpPtcpntWebServiceBean/VnpPtcpntService + uri: /VnpPtcpntWebServiceBean/VnpPtcpntService body: encoding: UTF-8 string: |- @@ -1581,7 +1581,7 @@ http_interactions: recorded_at: Wed, 26 Aug 2020 14:29:07 GMT - request: method: get - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpPtcpntWebServiceBean/VnpPtcpntService?WSDL + uri: /VnpPtcpntWebServiceBean/VnpPtcpntService?WSDL body: encoding: US-ASCII string: '' @@ -1750,7 +1750,7 @@ http_interactions: recorded_at: Wed, 26 Aug 2020 14:29:08 GMT - request: method: post - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpPtcpntWebServiceBean/VnpPtcpntService + uri: /VnpPtcpntWebServiceBean/VnpPtcpntService body: encoding: UTF-8 string: |- @@ -1806,7 +1806,7 @@ http_interactions: recorded_at: Wed, 26 Aug 2020 14:29:09 GMT - request: method: get - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpPersonWebServiceBean/VnpPersonService?WSDL + uri: /VnpPersonWebServiceBean/VnpPersonService?WSDL body: encoding: US-ASCII string: '' @@ -1975,7 +1975,7 @@ http_interactions: recorded_at: Wed, 26 Aug 2020 14:29:10 GMT - request: method: post - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpPersonWebServiceBean/VnpPersonService + uri: /VnpPersonWebServiceBean/VnpPersonService body: encoding: UTF-8 string: |- @@ -2031,7 +2031,7 @@ http_interactions: recorded_at: Wed, 26 Aug 2020 14:29:11 GMT - request: method: get - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpPersonWebServiceBean/VnpPersonService?WSDL + uri: /VnpPersonWebServiceBean/VnpPersonService?WSDL body: encoding: US-ASCII string: '' @@ -2200,7 +2200,7 @@ http_interactions: recorded_at: Wed, 26 Aug 2020 14:29:12 GMT - request: method: post - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpPersonWebServiceBean/VnpPersonService + uri: /VnpPersonWebServiceBean/VnpPersonService body: encoding: UTF-8 string: |- @@ -2256,7 +2256,7 @@ http_interactions: recorded_at: Wed, 26 Aug 2020 14:29:13 GMT - request: method: get - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpPtcpntAddrsWebServiceBean/VnpPtcpntAddrsService?WSDL + uri: /VnpPtcpntAddrsWebServiceBean/VnpPtcpntAddrsService?WSDL body: encoding: US-ASCII string: '' @@ -2425,7 +2425,7 @@ http_interactions: recorded_at: Wed, 26 Aug 2020 14:29:13 GMT - request: method: post - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpPtcpntAddrsWebServiceBean/VnpPtcpntAddrsService + uri: /VnpPtcpntAddrsWebServiceBean/VnpPtcpntAddrsService body: encoding: UTF-8 string: |- @@ -2482,7 +2482,7 @@ http_interactions: recorded_at: Wed, 26 Aug 2020 14:29:14 GMT - request: method: get - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpPtcpntWebServiceBean/VnpPtcpntService?WSDL + uri: /VnpPtcpntWebServiceBean/VnpPtcpntService?WSDL body: encoding: US-ASCII string: '' @@ -2651,7 +2651,7 @@ http_interactions: recorded_at: Wed, 26 Aug 2020 14:29:15 GMT - request: method: post - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpPtcpntWebServiceBean/VnpPtcpntService + uri: /VnpPtcpntWebServiceBean/VnpPtcpntService body: encoding: UTF-8 string: |- @@ -2707,7 +2707,7 @@ http_interactions: recorded_at: Wed, 26 Aug 2020 14:29:16 GMT - request: method: get - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpPersonWebServiceBean/VnpPersonService?WSDL + uri: /VnpPersonWebServiceBean/VnpPersonService?WSDL body: encoding: US-ASCII string: '' @@ -2876,7 +2876,7 @@ http_interactions: recorded_at: Wed, 26 Aug 2020 14:29:17 GMT - request: method: post - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpPersonWebServiceBean/VnpPersonService + uri: /VnpPersonWebServiceBean/VnpPersonService body: encoding: UTF-8 string: |- @@ -2932,7 +2932,7 @@ http_interactions: recorded_at: Wed, 26 Aug 2020 14:29:18 GMT - request: method: get - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpPtcpntWebServiceBean/VnpPtcpntService?WSDL + uri: /VnpPtcpntWebServiceBean/VnpPtcpntService?WSDL body: encoding: US-ASCII string: '' @@ -3101,7 +3101,7 @@ http_interactions: recorded_at: Wed, 26 Aug 2020 14:29:19 GMT - request: method: post - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpPtcpntWebServiceBean/VnpPtcpntService + uri: /VnpPtcpntWebServiceBean/VnpPtcpntService body: encoding: UTF-8 string: |- @@ -3157,7 +3157,7 @@ http_interactions: recorded_at: Wed, 26 Aug 2020 14:29:20 GMT - request: method: get - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpPersonWebServiceBean/VnpPersonService?WSDL + uri: /VnpPersonWebServiceBean/VnpPersonService?WSDL body: encoding: US-ASCII string: '' @@ -3326,7 +3326,7 @@ http_interactions: recorded_at: Wed, 26 Aug 2020 14:29:21 GMT - request: method: post - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpPersonWebServiceBean/VnpPersonService + uri: /VnpPersonWebServiceBean/VnpPersonService body: encoding: UTF-8 string: |- diff --git a/spec/support/vcr_cassettes/bgs/claimant_web_service/dependents.yml b/spec/support/vcr_cassettes/bgs/claimant_web_service/dependents.yml index ff865a4e4c2..7322710bd08 100644 --- a/spec/support/vcr_cassettes/bgs/claimant_web_service/dependents.yml +++ b/spec/support/vcr_cassettes/bgs/claimant_web_service/dependents.yml @@ -2,7 +2,7 @@ http_interactions: - request: method: get - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/ClaimantServiceBean/ClaimantWebService?WSDL + uri: /ClaimantServiceBean/ClaimantWebService?WSDL body: encoding: US-ASCII string: '' @@ -724,7 +724,7 @@ http_interactions: recorded_at: Sat, 25 Apr 2020 01:11:06 GMT - request: method: post - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/ClaimantServiceBean/ClaimantWebService + uri: /ClaimantServiceBean/ClaimantWebService body: encoding: UTF-8 string: |- diff --git a/spec/support/vcr_cassettes/bgs/claimant_web_service/dependents_400.yml b/spec/support/vcr_cassettes/bgs/claimant_web_service/dependents_400.yml index 54095c3dce4..5bf9a2b70a8 100644 --- a/spec/support/vcr_cassettes/bgs/claimant_web_service/dependents_400.yml +++ b/spec/support/vcr_cassettes/bgs/claimant_web_service/dependents_400.yml @@ -2,7 +2,7 @@ http_interactions: - request: method: get - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/ClaimantServiceBean/ClaimantWebService?WSDL + uri: /ClaimantServiceBean/ClaimantWebService?WSDL body: encoding: US-ASCII string: '' diff --git a/spec/support/vcr_cassettes/bgs/claimant_web_service/find_poa_by_participant_id.yml b/spec/support/vcr_cassettes/bgs/claimant_web_service/find_poa_by_participant_id.yml index 28ea1f9331b..dbb4826b0c4 100644 --- a/spec/support/vcr_cassettes/bgs/claimant_web_service/find_poa_by_participant_id.yml +++ b/spec/support/vcr_cassettes/bgs/claimant_web_service/find_poa_by_participant_id.yml @@ -2,7 +2,7 @@ http_interactions: - request: method: get - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/ClaimantServiceBean/ClaimantWebService?WSDL + uri: /ClaimantServiceBean/ClaimantWebService?WSDL body: encoding: US-ASCII string: '' @@ -723,7 +723,7 @@ http_interactions: recorded_at: Wed, 07 Oct 2020 15:00:23 GMT - request: method: post - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/ClaimantServiceBean/ClaimantWebService + uri: /ClaimantServiceBean/ClaimantWebService body: encoding: UTF-8 string: |- diff --git a/spec/support/vcr_cassettes/bgs/claimant_web_service/not_find_poa_by_participant_id.yml b/spec/support/vcr_cassettes/bgs/claimant_web_service/not_find_poa_by_participant_id.yml index 40e0d24ab74..d9afea5ada4 100644 --- a/spec/support/vcr_cassettes/bgs/claimant_web_service/not_find_poa_by_participant_id.yml +++ b/spec/support/vcr_cassettes/bgs/claimant_web_service/not_find_poa_by_participant_id.yml @@ -2,7 +2,7 @@ http_interactions: - request: method: get - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/ClaimantServiceBean/ClaimantWebService?WSDL + uri: /ClaimantServiceBean/ClaimantWebService?WSDL body: encoding: US-ASCII string: '' @@ -723,7 +723,7 @@ http_interactions: recorded_at: Wed, 07 Oct 2020 15:01:12 GMT - request: method: post - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/ClaimantServiceBean/ClaimantWebService + uri: /ClaimantServiceBean/ClaimantWebService body: encoding: UTF-8 string: |- diff --git a/spec/support/vcr_cassettes/bgs/claims/claim.yml b/spec/support/vcr_cassettes/bgs/claims/claim.yml index 66fb87ce3ab..51b212ba0d7 100644 --- a/spec/support/vcr_cassettes/bgs/claims/claim.yml +++ b/spec/support/vcr_cassettes/bgs/claims/claim.yml @@ -2,7 +2,7 @@ http_interactions: - request: method: get - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/EBenefitsBnftClaimStatusWebServiceBean/EBenefitsBnftClaimStatusWebService?WSDL + uri: /EBenefitsBnftClaimStatusWebServiceBean/EBenefitsBnftClaimStatusWebService?WSDL body: encoding: US-ASCII string: '' @@ -217,7 +217,7 @@ http_interactions: recorded_at: Wed, 28 Jun 2023 22:06:32 GMT - request: method: post - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/EBenefitsBnftClaimStatusWebServiceBean/EBenefitsBnftClaimStatusWebService + uri: /EBenefitsBnftClaimStatusWebServiceBean/EBenefitsBnftClaimStatusWebService body: encoding: UTF-8 string: | diff --git a/spec/support/vcr_cassettes/bgs/claims/claim_with_errors.yml b/spec/support/vcr_cassettes/bgs/claims/claim_with_errors.yml index 6d30df5b74c..05085075cbc 100644 --- a/spec/support/vcr_cassettes/bgs/claims/claim_with_errors.yml +++ b/spec/support/vcr_cassettes/bgs/claims/claim_with_errors.yml @@ -2,7 +2,7 @@ http_interactions: - request: method: get - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/EBenefitsBnftClaimStatusWebServiceBean/EBenefitsBnftClaimStatusWebService?WSDL + uri: /EBenefitsBnftClaimStatusWebServiceBean/EBenefitsBnftClaimStatusWebService?WSDL body: encoding: US-ASCII string: '' @@ -217,7 +217,7 @@ http_interactions: recorded_at: Wed, 28 Jun 2023 22:06:34 GMT - request: method: post - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/EBenefitsBnftClaimStatusWebServiceBean/EBenefitsBnftClaimStatusWebService + uri: /EBenefitsBnftClaimStatusWebServiceBean/EBenefitsBnftClaimStatusWebService body: encoding: UTF-8 string: | diff --git a/spec/support/vcr_cassettes/bgs/claims/claims.yml b/spec/support/vcr_cassettes/bgs/claims/claims.yml index 66ea5660ceb..49bf977d849 100644 --- a/spec/support/vcr_cassettes/bgs/claims/claims.yml +++ b/spec/support/vcr_cassettes/bgs/claims/claims.yml @@ -2,7 +2,7 @@ http_interactions: - request: method: get - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/EBenefitsBnftClaimStatusWebServiceBean/EBenefitsBnftClaimStatusWebService?WSDL + uri: /EBenefitsBnftClaimStatusWebServiceBean/EBenefitsBnftClaimStatusWebService?WSDL body: encoding: US-ASCII string: '' @@ -217,7 +217,7 @@ http_interactions: recorded_at: Tue, 12 Dec 2017 03:09:06 GMT - request: method: post - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/EBenefitsBnftClaimStatusWebServiceBean/EBenefitsBnftClaimStatusWebService + uri: /EBenefitsBnftClaimStatusWebServiceBean/EBenefitsBnftClaimStatusWebService body: encoding: UTF-8 string: | diff --git a/spec/support/vcr_cassettes/bgs/claims/claims_trimmed_down.yml b/spec/support/vcr_cassettes/bgs/claims/claims_trimmed_down.yml index 5ad011045c9..849390cfaca 100644 --- a/spec/support/vcr_cassettes/bgs/claims/claims_trimmed_down.yml +++ b/spec/support/vcr_cassettes/bgs/claims/claims_trimmed_down.yml @@ -2,7 +2,7 @@ http_interactions: - request: method: get - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/EBenefitsBnftClaimStatusWebServiceBean/EBenefitsBnftClaimStatusWebService?WSDL + uri: /EBenefitsBnftClaimStatusWebServiceBean/EBenefitsBnftClaimStatusWebService?WSDL body: encoding: US-ASCII string: '' @@ -217,7 +217,7 @@ http_interactions: recorded_at: Wed, 28 Jun 2023 22:13:54 GMT - request: method: post - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/EBenefitsBnftClaimStatusWebServiceBean/EBenefitsBnftClaimStatusWebService + uri: /EBenefitsBnftClaimStatusWebServiceBean/EBenefitsBnftClaimStatusWebService body: encoding: UTF-8 string: | diff --git a/spec/support/vcr_cassettes/bgs/claims/claims_with_errors.yml b/spec/support/vcr_cassettes/bgs/claims/claims_with_errors.yml index 47a3c6d627c..b482803dd7e 100644 --- a/spec/support/vcr_cassettes/bgs/claims/claims_with_errors.yml +++ b/spec/support/vcr_cassettes/bgs/claims/claims_with_errors.yml @@ -2,7 +2,7 @@ http_interactions: - request: method: get - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/EBenefitsBnftClaimStatusWebServiceBean/EBenefitsBnftClaimStatusWebService?WSDL + uri: /EBenefitsBnftClaimStatusWebServiceBean/EBenefitsBnftClaimStatusWebService?WSDL body: encoding: US-ASCII string: '' @@ -217,7 +217,7 @@ http_interactions: recorded_at: Wed, 28 Jun 2023 21:15:21 GMT - request: method: post - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/EBenefitsBnftClaimStatusWebServiceBean/EBenefitsBnftClaimStatusWebService + uri: /EBenefitsBnftClaimStatusWebServiceBean/EBenefitsBnftClaimStatusWebService body: encoding: UTF-8 string: | diff --git a/spec/support/vcr_cassettes/bgs/ddeft/find_bank_name_invalid_routing.yml b/spec/support/vcr_cassettes/bgs/ddeft/find_bank_name_invalid_routing.yml index ba75cec30f4..a11159bcdf2 100644 --- a/spec/support/vcr_cassettes/bgs/ddeft/find_bank_name_invalid_routing.yml +++ b/spec/support/vcr_cassettes/bgs/ddeft/find_bank_name_invalid_routing.yml @@ -2,7 +2,7 @@ http_interactions: - request: method: get - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/DdeftWebServiceBean/DdeftWebService?WSDL + uri: /DdeftWebServiceBean/DdeftWebService?WSDL body: encoding: US-ASCII string: '' @@ -263,7 +263,7 @@ http_interactions: recorded_at: Tue, 05 Jan 2021 00:02:07 GMT - request: method: post - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/DdeftWebServiceBean/DdeftWebService + uri: /DdeftWebServiceBean/DdeftWebService body: encoding: UTF-8 string: |- diff --git a/spec/support/vcr_cassettes/bgs/ddeft/find_bank_name_valid.yml b/spec/support/vcr_cassettes/bgs/ddeft/find_bank_name_valid.yml index ca02063f4ff..f6d8c5b0095 100644 --- a/spec/support/vcr_cassettes/bgs/ddeft/find_bank_name_valid.yml +++ b/spec/support/vcr_cassettes/bgs/ddeft/find_bank_name_valid.yml @@ -2,7 +2,7 @@ http_interactions: - request: method: get - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/DdeftWebServiceBean/DdeftWebService?WSDL + uri: /DdeftWebServiceBean/DdeftWebService?WSDL body: encoding: US-ASCII string: '' @@ -263,7 +263,7 @@ http_interactions: recorded_at: Thu, 31 Dec 2020 19:32:14 GMT - request: method: post - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/DdeftWebServiceBean/DdeftWebService + uri: /DdeftWebServiceBean/DdeftWebService body: encoding: UTF-8 string: |- diff --git a/spec/support/vcr_cassettes/bgs/dependent_higher_ed_attendance/create.yml b/spec/support/vcr_cassettes/bgs/dependent_higher_ed_attendance/create.yml index 6a7802f740f..9a58d85216e 100644 --- a/spec/support/vcr_cassettes/bgs/dependent_higher_ed_attendance/create.yml +++ b/spec/support/vcr_cassettes/bgs/dependent_higher_ed_attendance/create.yml @@ -2,7 +2,7 @@ http_interactions: - request: method: get - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpPtcpntWebServiceBean/VnpPtcpntService?WSDL + uri: /VnpPtcpntWebServiceBean/VnpPtcpntService?WSDL body: encoding: US-ASCII string: '' @@ -171,7 +171,7 @@ http_interactions: recorded_at: Thu, 22 Oct 2020 17:48:06 GMT - request: method: post - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpPtcpntWebServiceBean/VnpPtcpntService + uri: /VnpPtcpntWebServiceBean/VnpPtcpntService body: encoding: UTF-8 string: |- @@ -227,7 +227,7 @@ http_interactions: recorded_at: Thu, 22 Oct 2020 17:48:07 GMT - request: method: get - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpPersonWebServiceBean/VnpPersonService?WSDL + uri: /VnpPersonWebServiceBean/VnpPersonService?WSDL body: encoding: US-ASCII string: '' @@ -396,7 +396,7 @@ http_interactions: recorded_at: Thu, 22 Oct 2020 17:48:08 GMT - request: method: post - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpPersonWebServiceBean/VnpPersonService + uri: /VnpPersonWebServiceBean/VnpPersonService body: encoding: UTF-8 string: |- @@ -452,7 +452,7 @@ http_interactions: recorded_at: Thu, 22 Oct 2020 17:48:09 GMT - request: method: get - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpPtcpntAddrsWebServiceBean/VnpPtcpntAddrsService?WSDL + uri: /VnpPtcpntAddrsWebServiceBean/VnpPtcpntAddrsService?WSDL body: encoding: US-ASCII string: '' @@ -621,7 +621,7 @@ http_interactions: recorded_at: Thu, 22 Oct 2020 17:48:10 GMT - request: method: post - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpPtcpntAddrsWebServiceBean/VnpPtcpntAddrsService + uri: /VnpPtcpntAddrsWebServiceBean/VnpPtcpntAddrsService body: encoding: UTF-8 string: |- diff --git a/spec/support/vcr_cassettes/bgs/dependent_service/get_dependents.yml b/spec/support/vcr_cassettes/bgs/dependent_service/get_dependents.yml index f886da0b51e..84487340db2 100644 --- a/spec/support/vcr_cassettes/bgs/dependent_service/get_dependents.yml +++ b/spec/support/vcr_cassettes/bgs/dependent_service/get_dependents.yml @@ -2,7 +2,7 @@ http_interactions: - request: method: get - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/ClaimantServiceBean/ClaimantWebService?WSDL + uri: /ClaimantServiceBean/ClaimantWebService?WSDL body: encoding: US-ASCII string: '' @@ -723,7 +723,7 @@ http_interactions: recorded_at: Fri, 24 Jul 2020 23:41:45 GMT - request: method: post - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/ClaimantServiceBean/ClaimantWebService + uri: /ClaimantServiceBean/ClaimantWebService body: encoding: UTF-8 string: |- diff --git a/spec/support/vcr_cassettes/bgs/dependent_service/submit_686c_form.yml b/spec/support/vcr_cassettes/bgs/dependent_service/submit_686c_form.yml index 0a6b62ea837..359791ac212 100644 --- a/spec/support/vcr_cassettes/bgs/dependent_service/submit_686c_form.yml +++ b/spec/support/vcr_cassettes/bgs/dependent_service/submit_686c_form.yml @@ -2,7 +2,7 @@ http_interactions: - request: method: get - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/PersonWebServiceBean/PersonWebService?WSDL + uri: /PersonWebServiceBean/PersonWebService?WSDL body: encoding: US-ASCII string: '' @@ -677,7 +677,7 @@ http_interactions: recorded_at: Fri, 24 Jul 2020 01:26:42 GMT - request: method: post - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/PersonWebServiceBean/PersonWebService + uri: /PersonWebServiceBean/PersonWebService body: encoding: UTF-8 string: |- diff --git a/spec/support/vcr_cassettes/bgs/dependents/create.yml b/spec/support/vcr_cassettes/bgs/dependents/create.yml index d735069876d..e36ffb03ebf 100644 --- a/spec/support/vcr_cassettes/bgs/dependents/create.yml +++ b/spec/support/vcr_cassettes/bgs/dependents/create.yml @@ -2,7 +2,7 @@ http_interactions: - request: method: get - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpPtcpntWebServiceBean/VnpPtcpntService?WSDL + uri: /VnpPtcpntWebServiceBean/VnpPtcpntService?WSDL body: encoding: US-ASCII string: '' @@ -171,7 +171,7 @@ http_interactions: recorded_at: Tue, 21 Jul 2020 05:51:06 GMT - request: method: post - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpPtcpntWebServiceBean/VnpPtcpntService + uri: /VnpPtcpntWebServiceBean/VnpPtcpntService body: encoding: UTF-8 string: |- @@ -227,7 +227,7 @@ http_interactions: recorded_at: Tue, 21 Jul 2020 05:51:07 GMT - request: method: get - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpPersonWebServiceBean/VnpPersonService?WSDL + uri: /VnpPersonWebServiceBean/VnpPersonService?WSDL body: encoding: US-ASCII string: '' @@ -396,7 +396,7 @@ http_interactions: recorded_at: Tue, 21 Jul 2020 05:51:08 GMT - request: method: post - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpPersonWebServiceBean/VnpPersonService + uri: /VnpPersonWebServiceBean/VnpPersonService body: encoding: UTF-8 string: |- @@ -452,7 +452,7 @@ http_interactions: recorded_at: Tue, 21 Jul 2020 05:51:09 GMT - request: method: get - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpPtcpntAddrsWebServiceBean/VnpPtcpntAddrsService?WSDL + uri: /VnpPtcpntAddrsWebServiceBean/VnpPtcpntAddrsService?WSDL body: encoding: US-ASCII string: '' @@ -621,7 +621,7 @@ http_interactions: recorded_at: Tue, 21 Jul 2020 05:51:10 GMT - request: method: post - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpPtcpntAddrsWebServiceBean/VnpPtcpntAddrsService + uri: /VnpPtcpntAddrsWebServiceBean/VnpPtcpntAddrsService body: encoding: UTF-8 string: |- @@ -678,7 +678,7 @@ http_interactions: recorded_at: Tue, 21 Jul 2020 05:51:11 GMT - request: method: get - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpPtcpntWebServiceBean/VnpPtcpntService?WSDL + uri: /VnpPtcpntWebServiceBean/VnpPtcpntService?WSDL body: encoding: US-ASCII string: '' @@ -847,7 +847,7 @@ http_interactions: recorded_at: Tue, 21 Jul 2020 05:51:11 GMT - request: method: post - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpPtcpntWebServiceBean/VnpPtcpntService + uri: /VnpPtcpntWebServiceBean/VnpPtcpntService body: encoding: UTF-8 string: |- @@ -903,7 +903,7 @@ http_interactions: recorded_at: Tue, 21 Jul 2020 05:51:12 GMT - request: method: get - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpPersonWebServiceBean/VnpPersonService?WSDL + uri: /VnpPersonWebServiceBean/VnpPersonService?WSDL body: encoding: US-ASCII string: '' @@ -1072,7 +1072,7 @@ http_interactions: recorded_at: Tue, 21 Jul 2020 05:51:13 GMT - request: method: post - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpPersonWebServiceBean/VnpPersonService + uri: /VnpPersonWebServiceBean/VnpPersonService body: encoding: UTF-8 string: |- @@ -1128,7 +1128,7 @@ http_interactions: recorded_at: Tue, 21 Jul 2020 05:51:14 GMT - request: method: get - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpPtcpntAddrsWebServiceBean/VnpPtcpntAddrsService?WSDL + uri: /VnpPtcpntAddrsWebServiceBean/VnpPtcpntAddrsService?WSDL body: encoding: US-ASCII string: '' @@ -1297,7 +1297,7 @@ http_interactions: recorded_at: Tue, 21 Jul 2020 05:51:15 GMT - request: method: post - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpPtcpntAddrsWebServiceBean/VnpPtcpntAddrsService + uri: /VnpPtcpntAddrsWebServiceBean/VnpPtcpntAddrsService body: encoding: UTF-8 string: |- @@ -1354,7 +1354,7 @@ http_interactions: recorded_at: Tue, 21 Jul 2020 05:51:16 GMT - request: method: get - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpPtcpntWebServiceBean/VnpPtcpntService?WSDL + uri: /VnpPtcpntWebServiceBean/VnpPtcpntService?WSDL body: encoding: US-ASCII string: '' @@ -1523,7 +1523,7 @@ http_interactions: recorded_at: Tue, 21 Jul 2020 05:51:17 GMT - request: method: post - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpPtcpntWebServiceBean/VnpPtcpntService + uri: /VnpPtcpntWebServiceBean/VnpPtcpntService body: encoding: UTF-8 string: |- @@ -1579,7 +1579,7 @@ http_interactions: recorded_at: Tue, 21 Jul 2020 05:51:17 GMT - request: method: get - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpPersonWebServiceBean/VnpPersonService?WSDL + uri: /VnpPersonWebServiceBean/VnpPersonService?WSDL body: encoding: US-ASCII string: '' @@ -1748,7 +1748,7 @@ http_interactions: recorded_at: Tue, 21 Jul 2020 05:51:18 GMT - request: method: post - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpPersonWebServiceBean/VnpPersonService + uri: /VnpPersonWebServiceBean/VnpPersonService body: encoding: UTF-8 string: |- @@ -1807,7 +1807,7 @@ http_interactions: recorded_at: Tue, 21 Jul 2020 05:51:19 GMT - request: method: get - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpPtcpntAddrsWebServiceBean/VnpPtcpntAddrsService?WSDL + uri: /VnpPtcpntAddrsWebServiceBean/VnpPtcpntAddrsService?WSDL body: encoding: US-ASCII string: '' @@ -1976,7 +1976,7 @@ http_interactions: recorded_at: Tue, 21 Jul 2020 05:51:20 GMT - request: method: post - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpPtcpntAddrsWebServiceBean/VnpPtcpntAddrsService + uri: /VnpPtcpntAddrsWebServiceBean/VnpPtcpntAddrsService body: encoding: UTF-8 string: |- @@ -2033,7 +2033,7 @@ http_interactions: recorded_at: Tue, 21 Jul 2020 05:51:21 GMT - request: method: get - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpPtcpntWebServiceBean/VnpPtcpntService?WSDL + uri: /VnpPtcpntWebServiceBean/VnpPtcpntService?WSDL body: encoding: US-ASCII string: '' @@ -2202,7 +2202,7 @@ http_interactions: recorded_at: Tue, 21 Jul 2020 05:51:22 GMT - request: method: post - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpPtcpntWebServiceBean/VnpPtcpntService + uri: /VnpPtcpntWebServiceBean/VnpPtcpntService body: encoding: UTF-8 string: |- @@ -2258,7 +2258,7 @@ http_interactions: recorded_at: Tue, 21 Jul 2020 05:51:23 GMT - request: method: get - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpPersonWebServiceBean/VnpPersonService?WSDL + uri: /VnpPersonWebServiceBean/VnpPersonService?WSDL body: encoding: US-ASCII string: '' @@ -2427,7 +2427,7 @@ http_interactions: recorded_at: Tue, 21 Jul 2020 05:51:23 GMT - request: method: post - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpPersonWebServiceBean/VnpPersonService + uri: /VnpPersonWebServiceBean/VnpPersonService body: encoding: UTF-8 string: |- @@ -2483,7 +2483,7 @@ http_interactions: recorded_at: Tue, 21 Jul 2020 05:51:24 GMT - request: method: get - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpPtcpntWebServiceBean/VnpPtcpntService?WSDL + uri: /VnpPtcpntWebServiceBean/VnpPtcpntService?WSDL body: encoding: US-ASCII string: '' @@ -2652,7 +2652,7 @@ http_interactions: recorded_at: Tue, 21 Jul 2020 05:51:25 GMT - request: method: post - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpPtcpntWebServiceBean/VnpPtcpntService + uri: /VnpPtcpntWebServiceBean/VnpPtcpntService body: encoding: UTF-8 string: |- @@ -2708,7 +2708,7 @@ http_interactions: recorded_at: Tue, 21 Jul 2020 05:51:26 GMT - request: method: get - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpPersonWebServiceBean/VnpPersonService?WSDL + uri: /VnpPersonWebServiceBean/VnpPersonService?WSDL body: encoding: US-ASCII string: '' @@ -2877,7 +2877,7 @@ http_interactions: recorded_at: Tue, 21 Jul 2020 05:51:27 GMT - request: method: post - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpPersonWebServiceBean/VnpPersonService + uri: /VnpPersonWebServiceBean/VnpPersonService body: encoding: UTF-8 string: |- @@ -2933,7 +2933,7 @@ http_interactions: recorded_at: Tue, 21 Jul 2020 05:51:27 GMT - request: method: get - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpPtcpntWebServiceBean/VnpPtcpntService?WSDL + uri: /VnpPtcpntWebServiceBean/VnpPtcpntService?WSDL body: encoding: US-ASCII string: '' @@ -3102,7 +3102,7 @@ http_interactions: recorded_at: Tue, 21 Jul 2020 05:51:28 GMT - request: method: post - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpPtcpntWebServiceBean/VnpPtcpntService + uri: /VnpPtcpntWebServiceBean/VnpPtcpntService body: encoding: UTF-8 string: |- @@ -3158,7 +3158,7 @@ http_interactions: recorded_at: Tue, 21 Jul 2020 05:51:29 GMT - request: method: get - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpPersonWebServiceBean/VnpPersonService?WSDL + uri: /VnpPersonWebServiceBean/VnpPersonService?WSDL body: encoding: US-ASCII string: '' @@ -3327,7 +3327,7 @@ http_interactions: recorded_at: Tue, 21 Jul 2020 05:51:30 GMT - request: method: post - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpPersonWebServiceBean/VnpPersonService + uri: /VnpPersonWebServiceBean/VnpPersonService body: encoding: UTF-8 string: |- @@ -3383,7 +3383,7 @@ http_interactions: recorded_at: Tue, 21 Jul 2020 05:51:30 GMT - request: method: get - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpPtcpntAddrsWebServiceBean/VnpPtcpntAddrsService?WSDL + uri: /VnpPtcpntAddrsWebServiceBean/VnpPtcpntAddrsService?WSDL body: encoding: US-ASCII string: '' @@ -3552,7 +3552,7 @@ http_interactions: recorded_at: Tue, 21 Jul 2020 05:51:31 GMT - request: method: post - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpPtcpntAddrsWebServiceBean/VnpPtcpntAddrsService + uri: /VnpPtcpntAddrsWebServiceBean/VnpPtcpntAddrsService body: encoding: UTF-8 string: |- @@ -3609,7 +3609,7 @@ http_interactions: recorded_at: Tue, 21 Jul 2020 05:51:32 GMT - request: method: get - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpPtcpntWebServiceBean/VnpPtcpntService?WSDL + uri: /VnpPtcpntWebServiceBean/VnpPtcpntService?WSDL body: encoding: US-ASCII string: '' @@ -3778,7 +3778,7 @@ http_interactions: recorded_at: Tue, 21 Jul 2020 05:51:33 GMT - request: method: post - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpPtcpntWebServiceBean/VnpPtcpntService + uri: /VnpPtcpntWebServiceBean/VnpPtcpntService body: encoding: UTF-8 string: |- @@ -3834,7 +3834,7 @@ http_interactions: recorded_at: Tue, 21 Jul 2020 05:51:34 GMT - request: method: get - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpPersonWebServiceBean/VnpPersonService?WSDL + uri: /VnpPersonWebServiceBean/VnpPersonService?WSDL body: encoding: US-ASCII string: '' @@ -4003,7 +4003,7 @@ http_interactions: recorded_at: Tue, 21 Jul 2020 05:51:34 GMT - request: method: post - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpPersonWebServiceBean/VnpPersonService + uri: /VnpPersonWebServiceBean/VnpPersonService body: encoding: UTF-8 string: |- @@ -4059,7 +4059,7 @@ http_interactions: recorded_at: Tue, 21 Jul 2020 05:51:35 GMT - request: method: get - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpPtcpntWebServiceBean/VnpPtcpntService?WSDL + uri: /VnpPtcpntWebServiceBean/VnpPtcpntService?WSDL body: encoding: US-ASCII string: '' @@ -4228,7 +4228,7 @@ http_interactions: recorded_at: Tue, 21 Jul 2020 05:51:36 GMT - request: method: post - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpPtcpntWebServiceBean/VnpPtcpntService + uri: /VnpPtcpntWebServiceBean/VnpPtcpntService body: encoding: UTF-8 string: |- @@ -4284,7 +4284,7 @@ http_interactions: recorded_at: Tue, 21 Jul 2020 05:51:37 GMT - request: method: get - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpPersonWebServiceBean/VnpPersonService?WSDL + uri: /VnpPersonWebServiceBean/VnpPersonService?WSDL body: encoding: US-ASCII string: '' @@ -4453,7 +4453,7 @@ http_interactions: recorded_at: Tue, 21 Jul 2020 05:51:38 GMT - request: method: post - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpPersonWebServiceBean/VnpPersonService + uri: /VnpPersonWebServiceBean/VnpPersonService body: encoding: UTF-8 string: |- diff --git a/spec/support/vcr_cassettes/bgs/dependents/create/death.yml b/spec/support/vcr_cassettes/bgs/dependents/create/death.yml index 671ae5ce8fa..fe54ce283f2 100644 --- a/spec/support/vcr_cassettes/bgs/dependents/create/death.yml +++ b/spec/support/vcr_cassettes/bgs/dependents/create/death.yml @@ -2,7 +2,7 @@ http_interactions: - request: method: get - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpPtcpntWebServiceBean/VnpPtcpntService?WSDL + uri: /VnpPtcpntWebServiceBean/VnpPtcpntService?WSDL body: encoding: US-ASCII string: '' @@ -171,7 +171,7 @@ http_interactions: recorded_at: Tue, 28 Jul 2020 14:53:12 GMT - request: method: post - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpPtcpntWebServiceBean/VnpPtcpntService + uri: /VnpPtcpntWebServiceBean/VnpPtcpntService body: encoding: UTF-8 string: |- @@ -227,7 +227,7 @@ http_interactions: recorded_at: Tue, 28 Jul 2020 14:53:13 GMT - request: method: get - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpPersonWebServiceBean/VnpPersonService?WSDL + uri: /VnpPersonWebServiceBean/VnpPersonService?WSDL body: encoding: US-ASCII string: '' @@ -396,7 +396,7 @@ http_interactions: recorded_at: Tue, 28 Jul 2020 14:53:14 GMT - request: method: post - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpPersonWebServiceBean/VnpPersonService + uri: /VnpPersonWebServiceBean/VnpPersonService body: encoding: UTF-8 string: |- @@ -452,7 +452,7 @@ http_interactions: recorded_at: Tue, 28 Jul 2020 14:53:16 GMT - request: method: get - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpPtcpntAddrsWebServiceBean/VnpPtcpntAddrsService?WSDL + uri: /VnpPtcpntAddrsWebServiceBean/VnpPtcpntAddrsService?WSDL body: encoding: US-ASCII string: '' @@ -621,7 +621,7 @@ http_interactions: recorded_at: Tue, 28 Jul 2020 14:53:16 GMT - request: method: post - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpPtcpntAddrsWebServiceBean/VnpPtcpntAddrsService + uri: /VnpPtcpntAddrsWebServiceBean/VnpPtcpntAddrsService body: encoding: UTF-8 string: |- @@ -678,7 +678,7 @@ http_interactions: recorded_at: Tue, 28 Jul 2020 14:53:17 GMT - request: method: get - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpPtcpntWebServiceBean/VnpPtcpntService?WSDL + uri: /VnpPtcpntWebServiceBean/VnpPtcpntService?WSDL body: encoding: US-ASCII string: '' @@ -847,7 +847,7 @@ http_interactions: recorded_at: Tue, 28 Jul 2020 14:53:18 GMT - request: method: post - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpPtcpntWebServiceBean/VnpPtcpntService + uri: /VnpPtcpntWebServiceBean/VnpPtcpntService body: encoding: UTF-8 string: |- @@ -903,7 +903,7 @@ http_interactions: recorded_at: Tue, 28 Jul 2020 14:53:19 GMT - request: method: get - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpPersonWebServiceBean/VnpPersonService?WSDL + uri: /VnpPersonWebServiceBean/VnpPersonService?WSDL body: encoding: US-ASCII string: '' @@ -1072,7 +1072,7 @@ http_interactions: recorded_at: Tue, 28 Jul 2020 14:53:20 GMT - request: method: post - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpPersonWebServiceBean/VnpPersonService + uri: /VnpPersonWebServiceBean/VnpPersonService body: encoding: UTF-8 string: |- @@ -1128,7 +1128,7 @@ http_interactions: recorded_at: Tue, 28 Jul 2020 14:53:21 GMT - request: method: get - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpPtcpntAddrsWebServiceBean/VnpPtcpntAddrsService?WSDL + uri: /VnpPtcpntAddrsWebServiceBean/VnpPtcpntAddrsService?WSDL body: encoding: US-ASCII string: '' @@ -1297,7 +1297,7 @@ http_interactions: recorded_at: Tue, 28 Jul 2020 14:53:22 GMT - request: method: post - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpPtcpntAddrsWebServiceBean/VnpPtcpntAddrsService + uri: /VnpPtcpntAddrsWebServiceBean/VnpPtcpntAddrsService body: encoding: UTF-8 string: |- @@ -1354,7 +1354,7 @@ http_interactions: recorded_at: Tue, 28 Jul 2020 14:53:23 GMT - request: method: get - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpPtcpntWebServiceBean/VnpPtcpntService?WSDL + uri: /VnpPtcpntWebServiceBean/VnpPtcpntService?WSDL body: encoding: US-ASCII string: '' @@ -1523,7 +1523,7 @@ http_interactions: recorded_at: Tue, 28 Jul 2020 14:53:24 GMT - request: method: post - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpPtcpntWebServiceBean/VnpPtcpntService + uri: /VnpPtcpntWebServiceBean/VnpPtcpntService body: encoding: UTF-8 string: |- @@ -1579,7 +1579,7 @@ http_interactions: recorded_at: Tue, 28 Jul 2020 14:53:24 GMT - request: method: get - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpPersonWebServiceBean/VnpPersonService?WSDL + uri: /VnpPersonWebServiceBean/VnpPersonService?WSDL body: encoding: US-ASCII string: '' @@ -1748,7 +1748,7 @@ http_interactions: recorded_at: Tue, 28 Jul 2020 14:53:25 GMT - request: method: post - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpPersonWebServiceBean/VnpPersonService + uri: /VnpPersonWebServiceBean/VnpPersonService body: encoding: UTF-8 string: |- @@ -1807,7 +1807,7 @@ http_interactions: recorded_at: Tue, 28 Jul 2020 14:53:26 GMT - request: method: get - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpPtcpntAddrsWebServiceBean/VnpPtcpntAddrsService?WSDL + uri: /VnpPtcpntAddrsWebServiceBean/VnpPtcpntAddrsService?WSDL body: encoding: US-ASCII string: '' @@ -1976,7 +1976,7 @@ http_interactions: recorded_at: Tue, 28 Jul 2020 14:53:27 GMT - request: method: post - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpPtcpntAddrsWebServiceBean/VnpPtcpntAddrsService + uri: /VnpPtcpntAddrsWebServiceBean/VnpPtcpntAddrsService body: encoding: UTF-8 string: |- @@ -2033,7 +2033,7 @@ http_interactions: recorded_at: Tue, 28 Jul 2020 14:53:28 GMT - request: method: get - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpPtcpntWebServiceBean/VnpPtcpntService?WSDL + uri: /VnpPtcpntWebServiceBean/VnpPtcpntService?WSDL body: encoding: US-ASCII string: '' @@ -2202,7 +2202,7 @@ http_interactions: recorded_at: Tue, 28 Jul 2020 14:53:29 GMT - request: method: post - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpPtcpntWebServiceBean/VnpPtcpntService + uri: /VnpPtcpntWebServiceBean/VnpPtcpntService body: encoding: UTF-8 string: |- @@ -2258,7 +2258,7 @@ http_interactions: recorded_at: Tue, 28 Jul 2020 14:53:30 GMT - request: method: get - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpPersonWebServiceBean/VnpPersonService?WSDL + uri: /VnpPersonWebServiceBean/VnpPersonService?WSDL body: encoding: US-ASCII string: '' @@ -2427,7 +2427,7 @@ http_interactions: recorded_at: Tue, 28 Jul 2020 14:53:30 GMT - request: method: post - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpPersonWebServiceBean/VnpPersonService + uri: /VnpPersonWebServiceBean/VnpPersonService body: encoding: UTF-8 string: |- @@ -2483,7 +2483,7 @@ http_interactions: recorded_at: Tue, 28 Jul 2020 14:53:31 GMT - request: method: get - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpPtcpntWebServiceBean/VnpPtcpntService?WSDL + uri: /VnpPtcpntWebServiceBean/VnpPtcpntService?WSDL body: encoding: US-ASCII string: '' @@ -2652,7 +2652,7 @@ http_interactions: recorded_at: Tue, 28 Jul 2020 14:53:32 GMT - request: method: post - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpPtcpntWebServiceBean/VnpPtcpntService + uri: /VnpPtcpntWebServiceBean/VnpPtcpntService body: encoding: UTF-8 string: |- @@ -2708,7 +2708,7 @@ http_interactions: recorded_at: Tue, 28 Jul 2020 14:53:33 GMT - request: method: get - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpPersonWebServiceBean/VnpPersonService?WSDL + uri: /VnpPersonWebServiceBean/VnpPersonService?WSDL body: encoding: US-ASCII string: '' @@ -2877,7 +2877,7 @@ http_interactions: recorded_at: Tue, 28 Jul 2020 14:53:34 GMT - request: method: post - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpPersonWebServiceBean/VnpPersonService + uri: /VnpPersonWebServiceBean/VnpPersonService body: encoding: UTF-8 string: |- @@ -2933,7 +2933,7 @@ http_interactions: recorded_at: Tue, 28 Jul 2020 14:53:34 GMT - request: method: get - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpPtcpntWebServiceBean/VnpPtcpntService?WSDL + uri: /VnpPtcpntWebServiceBean/VnpPtcpntService?WSDL body: encoding: US-ASCII string: '' @@ -3102,7 +3102,7 @@ http_interactions: recorded_at: Tue, 28 Jul 2020 14:53:35 GMT - request: method: post - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpPtcpntWebServiceBean/VnpPtcpntService + uri: /VnpPtcpntWebServiceBean/VnpPtcpntService body: encoding: UTF-8 string: |- @@ -3158,7 +3158,7 @@ http_interactions: recorded_at: Tue, 28 Jul 2020 14:53:36 GMT - request: method: get - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpPersonWebServiceBean/VnpPersonService?WSDL + uri: /VnpPersonWebServiceBean/VnpPersonService?WSDL body: encoding: US-ASCII string: '' @@ -3327,7 +3327,7 @@ http_interactions: recorded_at: Tue, 28 Jul 2020 14:53:37 GMT - request: method: post - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpPersonWebServiceBean/VnpPersonService + uri: /VnpPersonWebServiceBean/VnpPersonService body: encoding: UTF-8 string: |- @@ -3383,7 +3383,7 @@ http_interactions: recorded_at: Tue, 28 Jul 2020 14:53:38 GMT - request: method: get - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpPtcpntAddrsWebServiceBean/VnpPtcpntAddrsService?WSDL + uri: /VnpPtcpntAddrsWebServiceBean/VnpPtcpntAddrsService?WSDL body: encoding: US-ASCII string: '' @@ -3552,7 +3552,7 @@ http_interactions: recorded_at: Tue, 28 Jul 2020 14:53:39 GMT - request: method: post - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpPtcpntAddrsWebServiceBean/VnpPtcpntAddrsService + uri: /VnpPtcpntAddrsWebServiceBean/VnpPtcpntAddrsService body: encoding: UTF-8 string: |- @@ -3609,7 +3609,7 @@ http_interactions: recorded_at: Tue, 28 Jul 2020 14:53:39 GMT - request: method: get - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpPtcpntWebServiceBean/VnpPtcpntService?WSDL + uri: /VnpPtcpntWebServiceBean/VnpPtcpntService?WSDL body: encoding: US-ASCII string: '' @@ -3778,7 +3778,7 @@ http_interactions: recorded_at: Tue, 28 Jul 2020 14:53:40 GMT - request: method: post - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpPtcpntWebServiceBean/VnpPtcpntService + uri: /VnpPtcpntWebServiceBean/VnpPtcpntService body: encoding: UTF-8 string: |- @@ -3834,7 +3834,7 @@ http_interactions: recorded_at: Tue, 28 Jul 2020 14:53:41 GMT - request: method: get - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpPersonWebServiceBean/VnpPersonService?WSDL + uri: /VnpPersonWebServiceBean/VnpPersonService?WSDL body: encoding: US-ASCII string: '' @@ -4003,7 +4003,7 @@ http_interactions: recorded_at: Tue, 28 Jul 2020 14:53:42 GMT - request: method: post - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpPersonWebServiceBean/VnpPersonService + uri: /VnpPersonWebServiceBean/VnpPersonService body: encoding: UTF-8 string: |- @@ -4059,7 +4059,7 @@ http_interactions: recorded_at: Tue, 28 Jul 2020 14:53:43 GMT - request: method: get - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpPtcpntWebServiceBean/VnpPtcpntService?WSDL + uri: /VnpPtcpntWebServiceBean/VnpPtcpntService?WSDL body: encoding: US-ASCII string: '' @@ -4228,7 +4228,7 @@ http_interactions: recorded_at: Tue, 28 Jul 2020 14:53:44 GMT - request: method: post - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpPtcpntWebServiceBean/VnpPtcpntService + uri: /VnpPtcpntWebServiceBean/VnpPtcpntService body: encoding: UTF-8 string: |- @@ -4284,7 +4284,7 @@ http_interactions: recorded_at: Tue, 28 Jul 2020 14:53:45 GMT - request: method: get - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpPersonWebServiceBean/VnpPersonService?WSDL + uri: /VnpPersonWebServiceBean/VnpPersonService?WSDL body: encoding: US-ASCII string: '' @@ -4453,7 +4453,7 @@ http_interactions: recorded_at: Tue, 28 Jul 2020 14:53:45 GMT - request: method: post - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpPersonWebServiceBean/VnpPersonService + uri: /VnpPersonWebServiceBean/VnpPersonService body: encoding: UTF-8 string: |- diff --git a/spec/support/vcr_cassettes/bgs/dependents/create/spouse/is_veteran.yml b/spec/support/vcr_cassettes/bgs/dependents/create/spouse/is_veteran.yml index 6f6a2ccba07..4188cf10c1c 100644 --- a/spec/support/vcr_cassettes/bgs/dependents/create/spouse/is_veteran.yml +++ b/spec/support/vcr_cassettes/bgs/dependents/create/spouse/is_veteran.yml @@ -2,7 +2,7 @@ http_interactions: - request: method: get - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpPtcpntWebServiceBean/VnpPtcpntService?WSDL + uri: /VnpPtcpntWebServiceBean/VnpPtcpntService?WSDL body: encoding: US-ASCII string: '' @@ -171,7 +171,7 @@ http_interactions: recorded_at: Sat, 18 Jul 2020 02:09:32 GMT - request: method: post - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpPtcpntWebServiceBean/VnpPtcpntService + uri: /VnpPtcpntWebServiceBean/VnpPtcpntService body: encoding: UTF-8 string: |- @@ -227,7 +227,7 @@ http_interactions: recorded_at: Sat, 18 Jul 2020 02:09:33 GMT - request: method: get - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpPersonWebServiceBean/VnpPersonService?WSDL + uri: /VnpPersonWebServiceBean/VnpPersonService?WSDL body: encoding: US-ASCII string: '' @@ -396,7 +396,7 @@ http_interactions: recorded_at: Sat, 18 Jul 2020 02:09:33 GMT - request: method: post - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpPersonWebServiceBean/VnpPersonService + uri: /VnpPersonWebServiceBean/VnpPersonService body: encoding: UTF-8 string: |- @@ -452,7 +452,7 @@ http_interactions: recorded_at: Sat, 18 Jul 2020 02:09:34 GMT - request: method: get - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpPtcpntAddrsWebServiceBean/VnpPtcpntAddrsService?WSDL + uri: /VnpPtcpntAddrsWebServiceBean/VnpPtcpntAddrsService?WSDL body: encoding: US-ASCII string: '' @@ -621,7 +621,7 @@ http_interactions: recorded_at: Sat, 18 Jul 2020 02:09:35 GMT - request: method: post - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpPtcpntAddrsWebServiceBean/VnpPtcpntAddrsService + uri: /VnpPtcpntAddrsWebServiceBean/VnpPtcpntAddrsService body: encoding: UTF-8 string: |- diff --git a/spec/support/vcr_cassettes/bgs/dependents/create/spouse/lives_with_veteran.yml b/spec/support/vcr_cassettes/bgs/dependents/create/spouse/lives_with_veteran.yml index c9438a5b19f..6cede7e99d0 100644 --- a/spec/support/vcr_cassettes/bgs/dependents/create/spouse/lives_with_veteran.yml +++ b/spec/support/vcr_cassettes/bgs/dependents/create/spouse/lives_with_veteran.yml @@ -2,7 +2,7 @@ http_interactions: - request: method: get - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpPtcpntWebServiceBean/VnpPtcpntService?WSDL + uri: /VnpPtcpntWebServiceBean/VnpPtcpntService?WSDL body: encoding: US-ASCII string: '' @@ -171,7 +171,7 @@ http_interactions: recorded_at: Sat, 18 Jul 2020 02:00:27 GMT - request: method: post - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpPtcpntWebServiceBean/VnpPtcpntService + uri: /VnpPtcpntWebServiceBean/VnpPtcpntService body: encoding: UTF-8 string: |- @@ -227,7 +227,7 @@ http_interactions: recorded_at: Sat, 18 Jul 2020 02:00:28 GMT - request: method: get - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpPersonWebServiceBean/VnpPersonService?WSDL + uri: /VnpPersonWebServiceBean/VnpPersonService?WSDL body: encoding: US-ASCII string: '' @@ -396,7 +396,7 @@ http_interactions: recorded_at: Sat, 18 Jul 2020 02:00:28 GMT - request: method: post - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpPersonWebServiceBean/VnpPersonService + uri: /VnpPersonWebServiceBean/VnpPersonService body: encoding: UTF-8 string: |- @@ -452,7 +452,7 @@ http_interactions: recorded_at: Sat, 18 Jul 2020 02:00:29 GMT - request: method: get - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpPtcpntAddrsWebServiceBean/VnpPtcpntAddrsService?WSDL + uri: /VnpPtcpntAddrsWebServiceBean/VnpPtcpntAddrsService?WSDL body: encoding: US-ASCII string: '' @@ -621,7 +621,7 @@ http_interactions: recorded_at: Sat, 18 Jul 2020 02:00:30 GMT - request: method: post - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpPtcpntAddrsWebServiceBean/VnpPtcpntAddrsService + uri: /VnpPtcpntAddrsWebServiceBean/VnpPtcpntAddrsService body: encoding: UTF-8 string: |- diff --git a/spec/support/vcr_cassettes/bgs/diaries/read.yml b/spec/support/vcr_cassettes/bgs/diaries/read.yml index df66624b361..a8780057db1 100644 --- a/spec/support/vcr_cassettes/bgs/diaries/read.yml +++ b/spec/support/vcr_cassettes/bgs/diaries/read.yml @@ -2,7 +2,7 @@ http_interactions: - request: method: get - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/benefits-awards/DiariesService?WSDL + uri: /benefits-awards/DiariesService?WSDL body: encoding: US-ASCII string: '' @@ -146,7 +146,7 @@ http_interactions: recorded_at: Wed, 24 Feb 2021 02:49:42 GMT - request: method: post - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/benefits-awards/DiariesService + uri: /benefits-awards/DiariesService body: encoding: UTF-8 string: |- diff --git a/spec/support/vcr_cassettes/bgs/diaries_service/read_diaries.yml b/spec/support/vcr_cassettes/bgs/diaries_service/read_diaries.yml index 122fe9cf694..6c2539595e3 100644 --- a/spec/support/vcr_cassettes/bgs/diaries_service/read_diaries.yml +++ b/spec/support/vcr_cassettes/bgs/diaries_service/read_diaries.yml @@ -2,7 +2,7 @@ http_interactions: - request: method: get - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/benefits-awards/DiariesService?WSDL + uri: /benefits-awards/DiariesService?WSDL body: encoding: US-ASCII string: '' @@ -146,7 +146,7 @@ http_interactions: recorded_at: Mon, 01 Feb 2021 20:08:03 GMT - request: method: post - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/benefits-awards/DiariesService + uri: /benefits-awards/DiariesService body: encoding: UTF-8 string: |- diff --git a/spec/support/vcr_cassettes/bgs/diaries_service/read_diaries_no_entries.yml b/spec/support/vcr_cassettes/bgs/diaries_service/read_diaries_no_entries.yml index 00a7c2a9895..9d78373bc5f 100644 --- a/spec/support/vcr_cassettes/bgs/diaries_service/read_diaries_no_entries.yml +++ b/spec/support/vcr_cassettes/bgs/diaries_service/read_diaries_no_entries.yml @@ -2,7 +2,7 @@ http_interactions: - request: method: get - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/benefits-awards/DiariesService?WSDL + uri: /benefits-awards/DiariesService?WSDL body: encoding: US-ASCII string: '' @@ -146,7 +146,7 @@ http_interactions: recorded_at: Mon, 01 Feb 2021 20:08:03 GMT - request: method: post - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/benefits-awards/DiariesService + uri: /benefits-awards/DiariesService body: encoding: UTF-8 string: |- diff --git a/spec/support/vcr_cassettes/bgs/diaries_service/read_diaries_one_entry.yml b/spec/support/vcr_cassettes/bgs/diaries_service/read_diaries_one_entry.yml index f4ca001b536..54fd5cb6a58 100644 --- a/spec/support/vcr_cassettes/bgs/diaries_service/read_diaries_one_entry.yml +++ b/spec/support/vcr_cassettes/bgs/diaries_service/read_diaries_one_entry.yml @@ -2,7 +2,7 @@ http_interactions: - request: method: get - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/benefits-awards/DiariesService?WSDL + uri: /benefits-awards/DiariesService?WSDL body: encoding: US-ASCII string: '' @@ -146,7 +146,7 @@ http_interactions: recorded_at: Mon, 01 Feb 2021 20:08:03 GMT - request: method: post - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/benefits-awards/DiariesService + uri: /benefits-awards/DiariesService body: encoding: UTF-8 string: |- diff --git a/spec/support/vcr_cassettes/bgs/diaries_service/read_diaries_one_entry_cxcl.yml b/spec/support/vcr_cassettes/bgs/diaries_service/read_diaries_one_entry_cxcl.yml index d0d4a496f9e..03acb427750 100644 --- a/spec/support/vcr_cassettes/bgs/diaries_service/read_diaries_one_entry_cxcl.yml +++ b/spec/support/vcr_cassettes/bgs/diaries_service/read_diaries_one_entry_cxcl.yml @@ -2,7 +2,7 @@ http_interactions: - request: method: get - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/benefits-awards/DiariesService?WSDL + uri: /benefits-awards/DiariesService?WSDL body: encoding: US-ASCII string: '' @@ -146,7 +146,7 @@ http_interactions: recorded_at: Mon, 01 Feb 2021 20:08:03 GMT - request: method: post - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/benefits-awards/DiariesService + uri: /benefits-awards/DiariesService body: encoding: UTF-8 string: |- diff --git a/spec/support/vcr_cassettes/bgs/diaries_service/read_empty_diaries.yml b/spec/support/vcr_cassettes/bgs/diaries_service/read_empty_diaries.yml index dbde864e653..0ccaeb265ad 100644 --- a/spec/support/vcr_cassettes/bgs/diaries_service/read_empty_diaries.yml +++ b/spec/support/vcr_cassettes/bgs/diaries_service/read_empty_diaries.yml @@ -2,7 +2,7 @@ http_interactions: - request: method: get - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/benefits-awards/DiariesService?WSDL + uri: /benefits-awards/DiariesService?WSDL body: encoding: US-ASCII string: '' @@ -146,7 +146,7 @@ http_interactions: recorded_at: Mon, 01 Feb 2021 20:13:29 GMT - request: method: post - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/benefits-awards/DiariesService + uri: /benefits-awards/DiariesService body: encoding: UTF-8 string: |- diff --git a/spec/support/vcr_cassettes/bgs/diaries_service/update_diaries.yml b/spec/support/vcr_cassettes/bgs/diaries_service/update_diaries.yml index 48686b14c73..974f9648085 100644 --- a/spec/support/vcr_cassettes/bgs/diaries_service/update_diaries.yml +++ b/spec/support/vcr_cassettes/bgs/diaries_service/update_diaries.yml @@ -2,7 +2,7 @@ http_interactions: - request: method: get - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/benefits-awards/DiariesService?WSDL + uri: /benefits-awards/DiariesService?WSDL body: encoding: US-ASCII string: '' @@ -146,7 +146,7 @@ http_interactions: recorded_at: Fri, 19 Mar 2021 20:48:48 GMT - request: method: post - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/benefits-awards/DiariesService + uri: /benefits-awards/DiariesService body: encoding: UTF-8 string: |- @@ -227,7 +227,7 @@ http_interactions: recorded_at: Fri, 19 Mar 2021 20:48:50 GMT - request: method: get - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/benefits-awards/DiariesService?WSDL + uri: /benefits-awards/DiariesService?WSDL body: encoding: US-ASCII string: '' @@ -371,7 +371,7 @@ http_interactions: recorded_at: Fri, 19 Mar 2021 20:49:09 GMT - request: method: post - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/benefits-awards/DiariesService + uri: /benefits-awards/DiariesService body: encoding: UTF-8 string: |- diff --git a/spec/support/vcr_cassettes/bgs/ebenefits_benefit_claims_status/empty_find_benefit_claim_details_by_benefit_claim_id.yml b/spec/support/vcr_cassettes/bgs/ebenefits_benefit_claims_status/empty_find_benefit_claim_details_by_benefit_claim_id.yml index 19c47e8c5e1..f2999b86e94 100644 --- a/spec/support/vcr_cassettes/bgs/ebenefits_benefit_claims_status/empty_find_benefit_claim_details_by_benefit_claim_id.yml +++ b/spec/support/vcr_cassettes/bgs/ebenefits_benefit_claims_status/empty_find_benefit_claim_details_by_benefit_claim_id.yml @@ -2,7 +2,7 @@ http_interactions: - request: method: get - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/EBenefitsBnftClaimStatusWebServiceBean/EbenefitsBenefitClaimsStatus?WSDL + uri: /EBenefitsBnftClaimStatusWebServiceBean/EbenefitsBenefitClaimsStatus?WSDL body: encoding: US-ASCII string: '' @@ -217,7 +217,7 @@ http_interactions: recorded_at: Fri, 09 Sep 2022 23:11:21 GMT - request: method: post - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/EBenefitsBnftClaimStatusWebServiceBean/EbenefitsBenefitClaimsStatus + uri: /EBenefitsBnftClaimStatusWebServiceBean/EbenefitsBenefitClaimsStatus body: encoding: UTF-8 string: |- diff --git a/spec/support/vcr_cassettes/bgs/ebenefits_benefit_claims_status/find_benefit_claim_details_by_benefit_claim_id.yml b/spec/support/vcr_cassettes/bgs/ebenefits_benefit_claims_status/find_benefit_claim_details_by_benefit_claim_id.yml index 7cb9480b291..d13d131399e 100644 --- a/spec/support/vcr_cassettes/bgs/ebenefits_benefit_claims_status/find_benefit_claim_details_by_benefit_claim_id.yml +++ b/spec/support/vcr_cassettes/bgs/ebenefits_benefit_claims_status/find_benefit_claim_details_by_benefit_claim_id.yml @@ -2,7 +2,7 @@ http_interactions: - request: method: get - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/EBenefitsBnftClaimStatusWebServiceBean/EBenefitsBnftClaimStatusWebService?WSDL + uri: /EBenefitsBnftClaimStatusWebServiceBean/EBenefitsBnftClaimStatusWebService?WSDL body: encoding: US-ASCII string: '' @@ -217,7 +217,7 @@ http_interactions: recorded_at: Fri, 09 Sep 2022 21:55:12 GMT - request: method: post - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/EBenefitsBnftClaimStatusWebServiceBean/EBenefitsBnftClaimStatusWebService + uri: /EBenefitsBnftClaimStatusWebServiceBean/EBenefitsBnftClaimStatusWebService body: encoding: UTF-8 string: |- diff --git a/spec/support/vcr_cassettes/bgs/form674/submit.yml b/spec/support/vcr_cassettes/bgs/form674/submit.yml index 0c1806d2c0d..1ed52c250e5 100644 --- a/spec/support/vcr_cassettes/bgs/form674/submit.yml +++ b/spec/support/vcr_cassettes/bgs/form674/submit.yml @@ -2,7 +2,7 @@ http_interactions: - request: method: get - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpProcWebServiceBeanV2/VnpProcServiceV2?WSDL + uri: /VnpProcWebServiceBeanV2/VnpProcServiceV2?WSDL body: encoding: US-ASCII string: '' @@ -171,7 +171,7 @@ http_interactions: recorded_at: Wed, 21 Oct 2020 13:18:07 GMT - request: method: post - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpProcWebServiceBeanV2/VnpProcServiceV2 + uri: /VnpProcWebServiceBeanV2/VnpProcServiceV2 body: encoding: UTF-8 string: |- @@ -227,7 +227,7 @@ http_interactions: recorded_at: Wed, 21 Oct 2020 13:18:08 GMT - request: method: get - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpProcFormWebServiceBean/VnpProcFormService?WSDL + uri: /VnpProcFormWebServiceBean/VnpProcFormService?WSDL body: encoding: US-ASCII string: '' @@ -373,7 +373,7 @@ http_interactions: recorded_at: Wed, 21 Oct 2020 13:18:09 GMT - request: method: post - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpProcFormWebServiceBean/VnpProcFormService + uri: /VnpProcFormWebServiceBean/VnpProcFormService body: encoding: UTF-8 string: |- @@ -429,7 +429,7 @@ http_interactions: recorded_at: Wed, 21 Oct 2020 13:18:10 GMT - request: method: get - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpPtcpntWebServiceBean/VnpPtcpntService?WSDL + uri: /VnpPtcpntWebServiceBean/VnpPtcpntService?WSDL body: encoding: US-ASCII string: '' @@ -598,7 +598,7 @@ http_interactions: recorded_at: Wed, 21 Oct 2020 13:18:11 GMT - request: method: post - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpPtcpntWebServiceBean/VnpPtcpntService + uri: /VnpPtcpntWebServiceBean/VnpPtcpntService body: encoding: UTF-8 string: |- @@ -654,7 +654,7 @@ http_interactions: recorded_at: Wed, 21 Oct 2020 13:18:12 GMT - request: method: get - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/StandardDataWebServiceBean/StandardDataWebService?WSDL + uri: /StandardDataWebServiceBean/StandardDataWebService?WSDL body: encoding: US-ASCII string: '' @@ -1528,7 +1528,7 @@ http_interactions: recorded_at: Wed, 21 Oct 2020 13:18:13 GMT - request: method: post - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/StandardDataWebServiceBean/StandardDataWebService + uri: /StandardDataWebServiceBean/StandardDataWebService body: encoding: UTF-8 string: |- @@ -1584,7 +1584,7 @@ http_interactions: recorded_at: Wed, 21 Oct 2020 13:18:14 GMT - request: method: get - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpPtcpntAddrsWebServiceBean/VnpPtcpntAddrsService?WSDL + uri: /VnpPtcpntAddrsWebServiceBean/VnpPtcpntAddrsService?WSDL body: encoding: US-ASCII string: '' @@ -1753,7 +1753,7 @@ http_interactions: recorded_at: Wed, 21 Oct 2020 13:18:15 GMT - request: method: post - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpPtcpntAddrsWebServiceBean/VnpPtcpntAddrsService + uri: /VnpPtcpntAddrsWebServiceBean/VnpPtcpntAddrsService body: encoding: UTF-8 string: |- @@ -1810,7 +1810,7 @@ http_interactions: recorded_at: Wed, 21 Oct 2020 13:18:16 GMT - request: method: get - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/RORoutingServiceWS/RORoutingService?WSDL + uri: /RORoutingServiceWS/RORoutingService?WSDL body: encoding: US-ASCII string: '' @@ -1890,7 +1890,7 @@ http_interactions: recorded_at: Wed, 21 Oct 2020 13:18:16 GMT - request: method: post - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/RORoutingServiceWS/RORoutingService + uri: /RORoutingServiceWS/RORoutingService body: encoding: UTF-8 string: |- @@ -1946,7 +1946,7 @@ http_interactions: recorded_at: Wed, 21 Oct 2020 13:18:17 GMT - request: method: get - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpPersonWebServiceBean/VnpPersonService?WSDL + uri: /VnpPersonWebServiceBean/VnpPersonService?WSDL body: encoding: US-ASCII string: '' @@ -2115,7 +2115,7 @@ http_interactions: recorded_at: Wed, 21 Oct 2020 13:18:18 GMT - request: method: post - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpPersonWebServiceBean/VnpPersonService + uri: /VnpPersonWebServiceBean/VnpPersonService body: encoding: UTF-8 string: |- @@ -2171,7 +2171,7 @@ http_interactions: recorded_at: Wed, 21 Oct 2020 13:18:19 GMT - request: method: get - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpPtcpntPhoneWebServiceBean/VnpPtcpntPhoneService?WSDL + uri: /VnpPtcpntPhoneWebServiceBean/VnpPtcpntPhoneService?WSDL body: encoding: US-ASCII string: '' @@ -2340,7 +2340,7 @@ http_interactions: recorded_at: Wed, 21 Oct 2020 13:18:20 GMT - request: method: post - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpPtcpntPhoneWebServiceBean/VnpPtcpntPhoneService + uri: /VnpPtcpntPhoneWebServiceBean/VnpPtcpntPhoneService body: encoding: UTF-8 string: |- @@ -2396,7 +2396,7 @@ http_interactions: recorded_at: Wed, 21 Oct 2020 13:18:20 GMT - request: method: get - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpPtcpntWebServiceBean/VnpPtcpntService?WSDL + uri: /VnpPtcpntWebServiceBean/VnpPtcpntService?WSDL body: encoding: US-ASCII string: '' @@ -2565,7 +2565,7 @@ http_interactions: recorded_at: Wed, 21 Oct 2020 13:18:21 GMT - request: method: post - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpPtcpntWebServiceBean/VnpPtcpntService + uri: /VnpPtcpntWebServiceBean/VnpPtcpntService body: encoding: UTF-8 string: |- @@ -2621,7 +2621,7 @@ http_interactions: recorded_at: Wed, 21 Oct 2020 13:18:22 GMT - request: method: get - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpPersonWebServiceBean/VnpPersonService?WSDL + uri: /VnpPersonWebServiceBean/VnpPersonService?WSDL body: encoding: US-ASCII string: '' @@ -2790,7 +2790,7 @@ http_interactions: recorded_at: Wed, 21 Oct 2020 13:18:23 GMT - request: method: post - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpPersonWebServiceBean/VnpPersonService + uri: /VnpPersonWebServiceBean/VnpPersonService body: encoding: UTF-8 string: |- @@ -2846,7 +2846,7 @@ http_interactions: recorded_at: Wed, 21 Oct 2020 13:18:24 GMT - request: method: get - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpPtcpntAddrsWebServiceBean/VnpPtcpntAddrsService?WSDL + uri: /VnpPtcpntAddrsWebServiceBean/VnpPtcpntAddrsService?WSDL body: encoding: US-ASCII string: '' @@ -3015,7 +3015,7 @@ http_interactions: recorded_at: Wed, 21 Oct 2020 13:18:24 GMT - request: method: post - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpPtcpntAddrsWebServiceBean/VnpPtcpntAddrsService + uri: /VnpPtcpntAddrsWebServiceBean/VnpPtcpntAddrsService body: encoding: UTF-8 string: |- @@ -3072,7 +3072,7 @@ http_interactions: recorded_at: Wed, 21 Oct 2020 13:18:25 GMT - request: method: get - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpPtcpntRlnshpWebServiceBean/VnpPtcpntRlnshpService?WSDL + uri: /VnpPtcpntRlnshpWebServiceBean/VnpPtcpntRlnshpService?WSDL body: encoding: US-ASCII string: '' @@ -3241,7 +3241,7 @@ http_interactions: recorded_at: Wed, 21 Oct 2020 13:18:26 GMT - request: method: post - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpPtcpntRlnshpWebServiceBean/VnpPtcpntRlnshpService + uri: /VnpPtcpntRlnshpWebServiceBean/VnpPtcpntRlnshpService body: encoding: UTF-8 string: |- @@ -3297,7 +3297,7 @@ http_interactions: recorded_at: Wed, 21 Oct 2020 13:18:27 GMT - request: method: get - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpChildSchoolWebServiceBean/VnpChildSchoolService?WSDL + uri: /VnpChildSchoolWebServiceBean/VnpChildSchoolService?WSDL body: encoding: US-ASCII string: '' @@ -3466,7 +3466,7 @@ http_interactions: recorded_at: Wed, 21 Oct 2020 13:18:28 GMT - request: method: post - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpChildSchoolWebServiceBean/VnpChildSchoolService + uri: /VnpChildSchoolWebServiceBean/VnpChildSchoolService body: encoding: UTF-8 string: |- @@ -3529,7 +3529,7 @@ http_interactions: recorded_at: Wed, 21 Oct 2020 13:18:29 GMT - request: method: get - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpChildStudentWebServiceBean/VnpChildStudentService?WSDL + uri: /VnpChildStudentWebServiceBean/VnpChildStudentService?WSDL body: encoding: US-ASCII string: '' @@ -3698,7 +3698,7 @@ http_interactions: recorded_at: Wed, 21 Oct 2020 13:18:30 GMT - request: method: post - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpChildStudentWebServiceBean/VnpChildStudentService + uri: /VnpChildStudentWebServiceBean/VnpChildStudentService body: encoding: UTF-8 string: |- @@ -3756,7 +3756,7 @@ http_interactions: recorded_at: Wed, 21 Oct 2020 13:18:30 GMT - request: method: get - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpBnftClaimWebServiceBean/VnpBnftClaimService?WSDL + uri: /VnpBnftClaimWebServiceBean/VnpBnftClaimService?WSDL body: encoding: US-ASCII string: '' @@ -3925,7 +3925,7 @@ http_interactions: recorded_at: Wed, 21 Oct 2020 13:18:31 GMT - request: method: post - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpBnftClaimWebServiceBean/VnpBnftClaimService + uri: /VnpBnftClaimWebServiceBean/VnpBnftClaimService body: encoding: UTF-8 string: |- @@ -3981,7 +3981,7 @@ http_interactions: recorded_at: Wed, 21 Oct 2020 13:18:32 GMT - request: method: get - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/BenefitClaimServiceBean/BenefitClaimWebService?WSDL + uri: /BenefitClaimServiceBean/BenefitClaimWebService?WSDL body: encoding: US-ASCII string: '' @@ -4334,7 +4334,7 @@ http_interactions: recorded_at: Wed, 21 Oct 2020 13:18:33 GMT - request: method: post - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/BenefitClaimServiceBean/BenefitClaimWebService + uri: /BenefitClaimServiceBean/BenefitClaimWebService body: encoding: UTF-8 string: |- @@ -4861,7 +4861,7 @@ http_interactions: recorded_at: Wed, 21 Oct 2020 13:18:53 GMT - request: method: get - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpBnftClaimWebServiceBean/VnpBnftClaimService?WSDL + uri: /VnpBnftClaimWebServiceBean/VnpBnftClaimService?WSDL body: encoding: US-ASCII string: '' @@ -5030,7 +5030,7 @@ http_interactions: recorded_at: Wed, 21 Oct 2020 13:18:53 GMT - request: method: post - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpBnftClaimWebServiceBean/VnpBnftClaimService + uri: /VnpBnftClaimWebServiceBean/VnpBnftClaimService body: encoding: UTF-8 string: |- @@ -5086,7 +5086,7 @@ http_interactions: recorded_at: Wed, 21 Oct 2020 13:18:55 GMT - request: method: get - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpProcWebServiceBeanV2/VnpProcServiceV2?WSDL + uri: /VnpProcWebServiceBeanV2/VnpProcServiceV2?WSDL body: encoding: US-ASCII string: '' @@ -5255,7 +5255,7 @@ http_interactions: recorded_at: Wed, 21 Oct 2020 13:18:55 GMT - request: method: post - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpProcWebServiceBeanV2/VnpProcServiceV2 + uri: /VnpProcWebServiceBeanV2/VnpProcServiceV2 body: encoding: UTF-8 string: |- @@ -5309,4 +5309,4 @@ http_interactions: xmlns:work="http://oracle.com/weblogic/soap/workarea/">rO0ABXdKABR3ZWJsb2dpYy5hcHAudm5wLWVhcgAAANYAAAAjd2VibG9naWMud29ya2FyZWEuU3RyaW5nV29ya0NvbnRleHQABTIuMC44AAA=3831394DEPCHGReady2020-10-21T08:18:55-05:002020-10-21T08:18:55-05:002020-10-21T08:18:55-05:00281UVAgovAPIVAgovAPI2020-10-21T08:18:55-05:00 recorded_at: Wed, 21 Oct 2020 13:18:56 GMT -recorded_with: VCR 6.0.0 \ No newline at end of file +recorded_with: VCR 6.0.0 diff --git a/spec/support/vcr_cassettes/bgs/form686c/submit.yml b/spec/support/vcr_cassettes/bgs/form686c/submit.yml index 5a3b09d5517..7477dcd4f5d 100644 --- a/spec/support/vcr_cassettes/bgs/form686c/submit.yml +++ b/spec/support/vcr_cassettes/bgs/form686c/submit.yml @@ -2,7 +2,7 @@ http_interactions: - request: method: get - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpProcWebServiceBeanV2/VnpProcServiceV2?WSDL + uri: /VnpProcWebServiceBeanV2/VnpProcServiceV2?WSDL body: encoding: US-ASCII string: '' @@ -171,7 +171,7 @@ http_interactions: recorded_at: Wed, 28 Oct 2020 19:32:54 GMT - request: method: post - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpProcWebServiceBeanV2/VnpProcServiceV2 + uri: /VnpProcWebServiceBeanV2/VnpProcServiceV2 body: encoding: UTF-8 string: |- @@ -227,7 +227,7 @@ http_interactions: recorded_at: Wed, 28 Oct 2020 19:32:55 GMT - request: method: get - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpProcFormWebServiceBean/VnpProcFormService?WSDL + uri: /VnpProcFormWebServiceBean/VnpProcFormService?WSDL body: encoding: US-ASCII string: '' @@ -373,7 +373,7 @@ http_interactions: recorded_at: Wed, 28 Oct 2020 19:32:56 GMT - request: method: post - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpProcFormWebServiceBean/VnpProcFormService + uri: /VnpProcFormWebServiceBean/VnpProcFormService body: encoding: UTF-8 string: |- @@ -429,7 +429,7 @@ http_interactions: recorded_at: Wed, 28 Oct 2020 19:32:56 GMT - request: method: get - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpPtcpntWebServiceBean/VnpPtcpntService?WSDL + uri: /VnpPtcpntWebServiceBean/VnpPtcpntService?WSDL body: encoding: US-ASCII string: '' @@ -598,7 +598,7 @@ http_interactions: recorded_at: Wed, 28 Oct 2020 19:32:57 GMT - request: method: post - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpPtcpntWebServiceBean/VnpPtcpntService + uri: /VnpPtcpntWebServiceBean/VnpPtcpntService body: encoding: UTF-8 string: |- @@ -654,7 +654,7 @@ http_interactions: recorded_at: Wed, 28 Oct 2020 19:32:58 GMT - request: method: get - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/StandardDataWebServiceBean/StandardDataWebService?WSDL + uri: /StandardDataWebServiceBean/StandardDataWebService?WSDL body: encoding: US-ASCII string: '' @@ -1528,7 +1528,7 @@ http_interactions: recorded_at: Wed, 28 Oct 2020 19:32:58 GMT - request: method: post - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/StandardDataWebServiceBean/StandardDataWebService + uri: /StandardDataWebServiceBean/StandardDataWebService body: encoding: UTF-8 string: |- @@ -1584,7 +1584,7 @@ http_interactions: recorded_at: Wed, 28 Oct 2020 19:32:59 GMT - request: method: get - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpPtcpntAddrsWebServiceBean/VnpPtcpntAddrsService?WSDL + uri: /VnpPtcpntAddrsWebServiceBean/VnpPtcpntAddrsService?WSDL body: encoding: US-ASCII string: '' @@ -1753,7 +1753,7 @@ http_interactions: recorded_at: Wed, 28 Oct 2020 19:33:00 GMT - request: method: post - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpPtcpntAddrsWebServiceBean/VnpPtcpntAddrsService + uri: /VnpPtcpntAddrsWebServiceBean/VnpPtcpntAddrsService body: encoding: UTF-8 string: |- @@ -1810,7 +1810,7 @@ http_interactions: recorded_at: Wed, 28 Oct 2020 19:33:01 GMT - request: method: get - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/RORoutingServiceWS/RORoutingService?WSDL + uri: /RORoutingServiceWS/RORoutingService?WSDL body: encoding: US-ASCII string: '' @@ -1890,7 +1890,7 @@ http_interactions: recorded_at: Wed, 28 Oct 2020 19:33:01 GMT - request: method: post - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/RORoutingServiceWS/RORoutingService + uri: /RORoutingServiceWS/RORoutingService body: encoding: UTF-8 string: |- @@ -1946,7 +1946,7 @@ http_interactions: recorded_at: Wed, 28 Oct 2020 19:33:02 GMT - request: method: get - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/StandardDataWebServiceBean/StandardDataWebService?WSDL + uri: /StandardDataWebServiceBean/StandardDataWebService?WSDL body: encoding: US-ASCII string: '' @@ -2820,7 +2820,7 @@ http_interactions: recorded_at: Wed, 28 Oct 2020 19:33:02 GMT - request: method: post - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/StandardDataWebServiceBean/StandardDataWebService + uri: /StandardDataWebServiceBean/StandardDataWebService body: encoding: UTF-8 string: |- @@ -2923,7 +2923,7 @@ http_interactions: recorded_at: Wed, 28 Oct 2020 19:33:03 GMT - request: method: get - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpPersonWebServiceBean/VnpPersonService?WSDL + uri: /VnpPersonWebServiceBean/VnpPersonService?WSDL body: encoding: US-ASCII string: '' @@ -3092,7 +3092,7 @@ http_interactions: recorded_at: Wed, 28 Oct 2020 19:33:04 GMT - request: method: post - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpPersonWebServiceBean/VnpPersonService + uri: /VnpPersonWebServiceBean/VnpPersonService body: encoding: UTF-8 string: |- @@ -3148,7 +3148,7 @@ http_interactions: recorded_at: Wed, 28 Oct 2020 19:33:04 GMT - request: method: get - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpPtcpntPhoneWebServiceBean/VnpPtcpntPhoneService?WSDL + uri: /VnpPtcpntPhoneWebServiceBean/VnpPtcpntPhoneService?WSDL body: encoding: US-ASCII string: '' @@ -3317,7 +3317,7 @@ http_interactions: recorded_at: Wed, 28 Oct 2020 19:33:05 GMT - request: method: post - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpPtcpntPhoneWebServiceBean/VnpPtcpntPhoneService + uri: /VnpPtcpntPhoneWebServiceBean/VnpPtcpntPhoneService body: encoding: UTF-8 string: |- @@ -3373,7 +3373,7 @@ http_interactions: recorded_at: Wed, 28 Oct 2020 19:33:06 GMT - request: method: get - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpPtcpntWebServiceBean/VnpPtcpntService?WSDL + uri: /VnpPtcpntWebServiceBean/VnpPtcpntService?WSDL body: encoding: US-ASCII string: '' @@ -3542,7 +3542,7 @@ http_interactions: recorded_at: Wed, 28 Oct 2020 19:33:06 GMT - request: method: post - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpPtcpntWebServiceBean/VnpPtcpntService + uri: /VnpPtcpntWebServiceBean/VnpPtcpntService body: encoding: UTF-8 string: |- @@ -3598,7 +3598,7 @@ http_interactions: recorded_at: Wed, 28 Oct 2020 19:33:07 GMT - request: method: get - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpPersonWebServiceBean/VnpPersonService?WSDL + uri: /VnpPersonWebServiceBean/VnpPersonService?WSDL body: encoding: US-ASCII string: '' @@ -3767,7 +3767,7 @@ http_interactions: recorded_at: Wed, 28 Oct 2020 19:33:07 GMT - request: method: post - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpPersonWebServiceBean/VnpPersonService + uri: /VnpPersonWebServiceBean/VnpPersonService body: encoding: UTF-8 string: |- @@ -3823,7 +3823,7 @@ http_interactions: recorded_at: Wed, 28 Oct 2020 19:33:09 GMT - request: method: get - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpPtcpntAddrsWebServiceBean/VnpPtcpntAddrsService?WSDL + uri: /VnpPtcpntAddrsWebServiceBean/VnpPtcpntAddrsService?WSDL body: encoding: US-ASCII string: '' @@ -3992,7 +3992,7 @@ http_interactions: recorded_at: Wed, 28 Oct 2020 19:33:09 GMT - request: method: post - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpPtcpntAddrsWebServiceBean/VnpPtcpntAddrsService + uri: /VnpPtcpntAddrsWebServiceBean/VnpPtcpntAddrsService body: encoding: UTF-8 string: |- @@ -4049,7 +4049,7 @@ http_interactions: recorded_at: Wed, 28 Oct 2020 19:33:10 GMT - request: method: get - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpPtcpntWebServiceBean/VnpPtcpntService?WSDL + uri: /VnpPtcpntWebServiceBean/VnpPtcpntService?WSDL body: encoding: US-ASCII string: '' @@ -4218,7 +4218,7 @@ http_interactions: recorded_at: Wed, 28 Oct 2020 19:33:10 GMT - request: method: post - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpPtcpntWebServiceBean/VnpPtcpntService + uri: /VnpPtcpntWebServiceBean/VnpPtcpntService body: encoding: UTF-8 string: |- @@ -4274,7 +4274,7 @@ http_interactions: recorded_at: Wed, 28 Oct 2020 19:33:11 GMT - request: method: get - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpPersonWebServiceBean/VnpPersonService?WSDL + uri: /VnpPersonWebServiceBean/VnpPersonService?WSDL body: encoding: US-ASCII string: '' @@ -4443,7 +4443,7 @@ http_interactions: recorded_at: Wed, 28 Oct 2020 19:33:11 GMT - request: method: post - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpPersonWebServiceBean/VnpPersonService + uri: /VnpPersonWebServiceBean/VnpPersonService body: encoding: UTF-8 string: |- @@ -4499,7 +4499,7 @@ http_interactions: recorded_at: Wed, 28 Oct 2020 19:33:12 GMT - request: method: get - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpPtcpntWebServiceBean/VnpPtcpntService?WSDL + uri: /VnpPtcpntWebServiceBean/VnpPtcpntService?WSDL body: encoding: US-ASCII string: '' @@ -4668,7 +4668,7 @@ http_interactions: recorded_at: Wed, 28 Oct 2020 19:33:13 GMT - request: method: post - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpPtcpntWebServiceBean/VnpPtcpntService + uri: /VnpPtcpntWebServiceBean/VnpPtcpntService body: encoding: UTF-8 string: |- @@ -4724,7 +4724,7 @@ http_interactions: recorded_at: Wed, 28 Oct 2020 19:33:13 GMT - request: method: get - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpPersonWebServiceBean/VnpPersonService?WSDL + uri: /VnpPersonWebServiceBean/VnpPersonService?WSDL body: encoding: US-ASCII string: '' @@ -4893,7 +4893,7 @@ http_interactions: recorded_at: Wed, 28 Oct 2020 19:33:14 GMT - request: method: post - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpPersonWebServiceBean/VnpPersonService + uri: /VnpPersonWebServiceBean/VnpPersonService body: encoding: UTF-8 string: |- @@ -4949,7 +4949,7 @@ http_interactions: recorded_at: Wed, 28 Oct 2020 19:33:14 GMT - request: method: get - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpPtcpntWebServiceBean/VnpPtcpntService?WSDL + uri: /VnpPtcpntWebServiceBean/VnpPtcpntService?WSDL body: encoding: US-ASCII string: '' @@ -5118,7 +5118,7 @@ http_interactions: recorded_at: Wed, 28 Oct 2020 19:33:15 GMT - request: method: post - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpPtcpntWebServiceBean/VnpPtcpntService + uri: /VnpPtcpntWebServiceBean/VnpPtcpntService body: encoding: UTF-8 string: |- @@ -5174,7 +5174,7 @@ http_interactions: recorded_at: Wed, 28 Oct 2020 19:33:15 GMT - request: method: get - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpPersonWebServiceBean/VnpPersonService?WSDL + uri: /VnpPersonWebServiceBean/VnpPersonService?WSDL body: encoding: US-ASCII string: '' @@ -5343,7 +5343,7 @@ http_interactions: recorded_at: Wed, 28 Oct 2020 19:33:16 GMT - request: method: post - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpPersonWebServiceBean/VnpPersonService + uri: /VnpPersonWebServiceBean/VnpPersonService body: encoding: UTF-8 string: |- @@ -5399,7 +5399,7 @@ http_interactions: recorded_at: Wed, 28 Oct 2020 19:33:17 GMT - request: method: get - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpPtcpntWebServiceBean/VnpPtcpntService?WSDL + uri: /VnpPtcpntWebServiceBean/VnpPtcpntService?WSDL body: encoding: US-ASCII string: '' @@ -5568,7 +5568,7 @@ http_interactions: recorded_at: Wed, 28 Oct 2020 19:33:17 GMT - request: method: post - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpPtcpntWebServiceBean/VnpPtcpntService + uri: /VnpPtcpntWebServiceBean/VnpPtcpntService body: encoding: UTF-8 string: |- @@ -5624,7 +5624,7 @@ http_interactions: recorded_at: Wed, 28 Oct 2020 19:33:18 GMT - request: method: get - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpPersonWebServiceBean/VnpPersonService?WSDL + uri: /VnpPersonWebServiceBean/VnpPersonService?WSDL body: encoding: US-ASCII string: '' @@ -5793,7 +5793,7 @@ http_interactions: recorded_at: Wed, 28 Oct 2020 19:33:19 GMT - request: method: post - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpPersonWebServiceBean/VnpPersonService + uri: /VnpPersonWebServiceBean/VnpPersonService body: encoding: UTF-8 string: |- @@ -5850,7 +5850,7 @@ http_interactions: recorded_at: Wed, 28 Oct 2020 19:33:20 GMT - request: method: get - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpPtcpntWebServiceBean/VnpPtcpntService?WSDL + uri: /VnpPtcpntWebServiceBean/VnpPtcpntService?WSDL body: encoding: US-ASCII string: '' @@ -6019,7 +6019,7 @@ http_interactions: recorded_at: Wed, 28 Oct 2020 19:33:21 GMT - request: method: post - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpPtcpntWebServiceBean/VnpPtcpntService + uri: /VnpPtcpntWebServiceBean/VnpPtcpntService body: encoding: UTF-8 string: |- @@ -6075,7 +6075,7 @@ http_interactions: recorded_at: Wed, 28 Oct 2020 19:33:22 GMT - request: method: get - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpPersonWebServiceBean/VnpPersonService?WSDL + uri: /VnpPersonWebServiceBean/VnpPersonService?WSDL body: encoding: US-ASCII string: '' @@ -6244,7 +6244,7 @@ http_interactions: recorded_at: Wed, 28 Oct 2020 19:33:23 GMT - request: method: post - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpPersonWebServiceBean/VnpPersonService + uri: /VnpPersonWebServiceBean/VnpPersonService body: encoding: UTF-8 string: |- @@ -6300,7 +6300,7 @@ http_interactions: recorded_at: Wed, 28 Oct 2020 19:33:23 GMT - request: method: get - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpPtcpntAddrsWebServiceBean/VnpPtcpntAddrsService?WSDL + uri: /VnpPtcpntAddrsWebServiceBean/VnpPtcpntAddrsService?WSDL body: encoding: US-ASCII string: '' @@ -6469,7 +6469,7 @@ http_interactions: recorded_at: Wed, 28 Oct 2020 19:33:24 GMT - request: method: post - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpPtcpntAddrsWebServiceBean/VnpPtcpntAddrsService + uri: /VnpPtcpntAddrsWebServiceBean/VnpPtcpntAddrsService body: encoding: UTF-8 string: |- @@ -6525,7 +6525,7 @@ http_interactions: recorded_at: Wed, 28 Oct 2020 19:33:24 GMT - request: method: get - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpPtcpntWebServiceBean/VnpPtcpntService?WSDL + uri: /VnpPtcpntWebServiceBean/VnpPtcpntService?WSDL body: encoding: US-ASCII string: '' @@ -6694,7 +6694,7 @@ http_interactions: recorded_at: Wed, 28 Oct 2020 19:33:25 GMT - request: method: post - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpPtcpntWebServiceBean/VnpPtcpntService + uri: /VnpPtcpntWebServiceBean/VnpPtcpntService body: encoding: UTF-8 string: |- @@ -6750,7 +6750,7 @@ http_interactions: recorded_at: Wed, 28 Oct 2020 19:33:26 GMT - request: method: get - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpPersonWebServiceBean/VnpPersonService?WSDL + uri: /VnpPersonWebServiceBean/VnpPersonService?WSDL body: encoding: US-ASCII string: '' @@ -6919,7 +6919,7 @@ http_interactions: recorded_at: Wed, 28 Oct 2020 19:33:26 GMT - request: method: post - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpPersonWebServiceBean/VnpPersonService + uri: /VnpPersonWebServiceBean/VnpPersonService body: encoding: UTF-8 string: |- @@ -6975,7 +6975,7 @@ http_interactions: recorded_at: Wed, 28 Oct 2020 19:33:27 GMT - request: method: get - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpPtcpntAddrsWebServiceBean/VnpPtcpntAddrsService?WSDL + uri: /VnpPtcpntAddrsWebServiceBean/VnpPtcpntAddrsService?WSDL body: encoding: US-ASCII string: '' @@ -7144,7 +7144,7 @@ http_interactions: recorded_at: Wed, 28 Oct 2020 19:33:27 GMT - request: method: post - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpPtcpntAddrsWebServiceBean/VnpPtcpntAddrsService + uri: /VnpPtcpntAddrsWebServiceBean/VnpPtcpntAddrsService body: encoding: UTF-8 string: |- @@ -7201,7 +7201,7 @@ http_interactions: recorded_at: Wed, 28 Oct 2020 19:33:28 GMT - request: method: get - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpPtcpntWebServiceBean/VnpPtcpntService?WSDL + uri: /VnpPtcpntWebServiceBean/VnpPtcpntService?WSDL body: encoding: US-ASCII string: '' @@ -7370,7 +7370,7 @@ http_interactions: recorded_at: Wed, 28 Oct 2020 19:33:28 GMT - request: method: post - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpPtcpntWebServiceBean/VnpPtcpntService + uri: /VnpPtcpntWebServiceBean/VnpPtcpntService body: encoding: UTF-8 string: |- @@ -7426,7 +7426,7 @@ http_interactions: recorded_at: Wed, 28 Oct 2020 19:33:29 GMT - request: method: get - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpPersonWebServiceBean/VnpPersonService?WSDL + uri: /VnpPersonWebServiceBean/VnpPersonService?WSDL body: encoding: US-ASCII string: '' @@ -7595,7 +7595,7 @@ http_interactions: recorded_at: Wed, 28 Oct 2020 19:33:30 GMT - request: method: post - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpPersonWebServiceBean/VnpPersonService + uri: /VnpPersonWebServiceBean/VnpPersonService body: encoding: UTF-8 string: |- @@ -7653,7 +7653,7 @@ http_interactions: recorded_at: Wed, 28 Oct 2020 19:33:30 GMT - request: method: get - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpPtcpntAddrsWebServiceBean/VnpPtcpntAddrsService?WSDL + uri: /VnpPtcpntAddrsWebServiceBean/VnpPtcpntAddrsService?WSDL body: encoding: US-ASCII string: '' @@ -7822,7 +7822,7 @@ http_interactions: recorded_at: Wed, 28 Oct 2020 19:33:31 GMT - request: method: post - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpPtcpntAddrsWebServiceBean/VnpPtcpntAddrsService + uri: /VnpPtcpntAddrsWebServiceBean/VnpPtcpntAddrsService body: encoding: UTF-8 string: |- @@ -7879,7 +7879,7 @@ http_interactions: recorded_at: Wed, 28 Oct 2020 19:33:31 GMT - request: method: get - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpPtcpntWebServiceBean/VnpPtcpntService?WSDL + uri: /VnpPtcpntWebServiceBean/VnpPtcpntService?WSDL body: encoding: US-ASCII string: '' @@ -8048,7 +8048,7 @@ http_interactions: recorded_at: Wed, 28 Oct 2020 19:33:32 GMT - request: method: post - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpPtcpntWebServiceBean/VnpPtcpntService + uri: /VnpPtcpntWebServiceBean/VnpPtcpntService body: encoding: UTF-8 string: |- @@ -8104,7 +8104,7 @@ http_interactions: recorded_at: Wed, 28 Oct 2020 19:33:33 GMT - request: method: get - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpPtcpntWebServiceBean/VnpPtcpntService?WSDL + uri: /VnpPtcpntWebServiceBean/VnpPtcpntService?WSDL body: encoding: US-ASCII string: '' @@ -8273,7 +8273,7 @@ http_interactions: recorded_at: Wed, 28 Oct 2020 19:33:33 GMT - request: method: post - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpPtcpntWebServiceBean/VnpPtcpntService + uri: /VnpPtcpntWebServiceBean/VnpPtcpntService body: encoding: UTF-8 string: |- @@ -8329,7 +8329,7 @@ http_interactions: recorded_at: Wed, 28 Oct 2020 19:33:34 GMT - request: method: get - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpPersonWebServiceBean/VnpPersonService?WSDL + uri: /VnpPersonWebServiceBean/VnpPersonService?WSDL body: encoding: US-ASCII string: '' @@ -8498,7 +8498,7 @@ http_interactions: recorded_at: Wed, 28 Oct 2020 19:33:34 GMT - request: method: post - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpPersonWebServiceBean/VnpPersonService + uri: /VnpPersonWebServiceBean/VnpPersonService body: encoding: UTF-8 string: |- @@ -8554,7 +8554,7 @@ http_interactions: recorded_at: Wed, 28 Oct 2020 19:33:35 GMT - request: method: get - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpPersonWebServiceBean/VnpPersonService?WSDL + uri: /VnpPersonWebServiceBean/VnpPersonService?WSDL body: encoding: US-ASCII string: '' @@ -8723,7 +8723,7 @@ http_interactions: recorded_at: Wed, 28 Oct 2020 19:33:36 GMT - request: method: post - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpPersonWebServiceBean/VnpPersonService + uri: /VnpPersonWebServiceBean/VnpPersonService body: encoding: UTF-8 string: |- @@ -8779,7 +8779,7 @@ http_interactions: recorded_at: Wed, 28 Oct 2020 19:33:36 GMT - request: method: get - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpPtcpntAddrsWebServiceBean/VnpPtcpntAddrsService?WSDL + uri: /VnpPtcpntAddrsWebServiceBean/VnpPtcpntAddrsService?WSDL body: encoding: US-ASCII string: '' @@ -8948,7 +8948,7 @@ http_interactions: recorded_at: Wed, 28 Oct 2020 19:33:37 GMT - request: method: post - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpPtcpntAddrsWebServiceBean/VnpPtcpntAddrsService + uri: /VnpPtcpntAddrsWebServiceBean/VnpPtcpntAddrsService body: encoding: UTF-8 string: |- @@ -9005,7 +9005,7 @@ http_interactions: recorded_at: Wed, 28 Oct 2020 19:33:37 GMT - request: method: get - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpPtcpntWebServiceBean/VnpPtcpntService?WSDL + uri: /VnpPtcpntWebServiceBean/VnpPtcpntService?WSDL body: encoding: US-ASCII string: '' @@ -9174,7 +9174,7 @@ http_interactions: recorded_at: Wed, 28 Oct 2020 19:33:38 GMT - request: method: post - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpPtcpntWebServiceBean/VnpPtcpntService + uri: /VnpPtcpntWebServiceBean/VnpPtcpntService body: encoding: UTF-8 string: |- @@ -9230,7 +9230,7 @@ http_interactions: recorded_at: Wed, 28 Oct 2020 19:33:38 GMT - request: method: get - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpPersonWebServiceBean/VnpPersonService?WSDL + uri: /VnpPersonWebServiceBean/VnpPersonService?WSDL body: encoding: US-ASCII string: '' @@ -9399,7 +9399,7 @@ http_interactions: recorded_at: Wed, 28 Oct 2020 19:33:39 GMT - request: method: post - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpPersonWebServiceBean/VnpPersonService + uri: /VnpPersonWebServiceBean/VnpPersonService body: encoding: UTF-8 string: |- @@ -9455,7 +9455,7 @@ http_interactions: recorded_at: Wed, 28 Oct 2020 19:33:40 GMT - request: method: get - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpPtcpntWebServiceBean/VnpPtcpntService?WSDL + uri: /VnpPtcpntWebServiceBean/VnpPtcpntService?WSDL body: encoding: US-ASCII string: '' @@ -9624,7 +9624,7 @@ http_interactions: recorded_at: Wed, 28 Oct 2020 19:33:40 GMT - request: method: post - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpPtcpntWebServiceBean/VnpPtcpntService + uri: /VnpPtcpntWebServiceBean/VnpPtcpntService body: encoding: UTF-8 string: |- @@ -9680,7 +9680,7 @@ http_interactions: recorded_at: Wed, 28 Oct 2020 19:33:41 GMT - request: method: get - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpPersonWebServiceBean/VnpPersonService?WSDL + uri: /VnpPersonWebServiceBean/VnpPersonService?WSDL body: encoding: US-ASCII string: '' @@ -9849,7 +9849,7 @@ http_interactions: recorded_at: Wed, 28 Oct 2020 19:33:41 GMT - request: method: post - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpPersonWebServiceBean/VnpPersonService + uri: /VnpPersonWebServiceBean/VnpPersonService body: encoding: UTF-8 string: |- @@ -9905,7 +9905,7 @@ http_interactions: recorded_at: Wed, 28 Oct 2020 19:33:43 GMT - request: method: get - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpPtcpntRlnshpWebServiceBean/VnpPtcpntRlnshpService?WSDL + uri: /VnpPtcpntRlnshpWebServiceBean/VnpPtcpntRlnshpService?WSDL body: encoding: US-ASCII string: '' @@ -10074,7 +10074,7 @@ http_interactions: recorded_at: Wed, 28 Oct 2020 19:33:43 GMT - request: method: post - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpPtcpntRlnshpWebServiceBean/VnpPtcpntRlnshpService + uri: /VnpPtcpntRlnshpWebServiceBean/VnpPtcpntRlnshpService body: encoding: UTF-8 string: |- @@ -10130,7 +10130,7 @@ http_interactions: recorded_at: Wed, 28 Oct 2020 19:33:44 GMT - request: method: get - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpPtcpntRlnshpWebServiceBean/VnpPtcpntRlnshpService?WSDL + uri: /VnpPtcpntRlnshpWebServiceBean/VnpPtcpntRlnshpService?WSDL body: encoding: US-ASCII string: '' @@ -10299,7 +10299,7 @@ http_interactions: recorded_at: Wed, 28 Oct 2020 19:33:45 GMT - request: method: post - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpPtcpntRlnshpWebServiceBean/VnpPtcpntRlnshpService + uri: /VnpPtcpntRlnshpWebServiceBean/VnpPtcpntRlnshpService body: encoding: UTF-8 string: |- @@ -10355,7 +10355,7 @@ http_interactions: recorded_at: Wed, 28 Oct 2020 19:33:46 GMT - request: method: get - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpPtcpntRlnshpWebServiceBean/VnpPtcpntRlnshpService?WSDL + uri: /VnpPtcpntRlnshpWebServiceBean/VnpPtcpntRlnshpService?WSDL body: encoding: US-ASCII string: '' @@ -10524,7 +10524,7 @@ http_interactions: recorded_at: Wed, 28 Oct 2020 19:33:46 GMT - request: method: post - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpPtcpntRlnshpWebServiceBean/VnpPtcpntRlnshpService + uri: /VnpPtcpntRlnshpWebServiceBean/VnpPtcpntRlnshpService body: encoding: UTF-8 string: |- @@ -10580,7 +10580,7 @@ http_interactions: recorded_at: Wed, 28 Oct 2020 19:33:47 GMT - request: method: get - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpPtcpntRlnshpWebServiceBean/VnpPtcpntRlnshpService?WSDL + uri: /VnpPtcpntRlnshpWebServiceBean/VnpPtcpntRlnshpService?WSDL body: encoding: US-ASCII string: '' @@ -10749,7 +10749,7 @@ http_interactions: recorded_at: Wed, 28 Oct 2020 19:33:48 GMT - request: method: post - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpPtcpntRlnshpWebServiceBean/VnpPtcpntRlnshpService + uri: /VnpPtcpntRlnshpWebServiceBean/VnpPtcpntRlnshpService body: encoding: UTF-8 string: |- @@ -10805,7 +10805,7 @@ http_interactions: recorded_at: Wed, 28 Oct 2020 19:33:48 GMT - request: method: get - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpPtcpntRlnshpWebServiceBean/VnpPtcpntRlnshpService?WSDL + uri: /VnpPtcpntRlnshpWebServiceBean/VnpPtcpntRlnshpService?WSDL body: encoding: US-ASCII string: '' @@ -10974,7 +10974,7 @@ http_interactions: recorded_at: Wed, 28 Oct 2020 19:33:49 GMT - request: method: post - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpPtcpntRlnshpWebServiceBean/VnpPtcpntRlnshpService + uri: /VnpPtcpntRlnshpWebServiceBean/VnpPtcpntRlnshpService body: encoding: UTF-8 string: |- @@ -11030,7 +11030,7 @@ http_interactions: recorded_at: Wed, 28 Oct 2020 19:33:49 GMT - request: method: get - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpPtcpntRlnshpWebServiceBean/VnpPtcpntRlnshpService?WSDL + uri: /VnpPtcpntRlnshpWebServiceBean/VnpPtcpntRlnshpService?WSDL body: encoding: US-ASCII string: '' @@ -11199,7 +11199,7 @@ http_interactions: recorded_at: Wed, 28 Oct 2020 19:33:50 GMT - request: method: post - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpPtcpntRlnshpWebServiceBean/VnpPtcpntRlnshpService + uri: /VnpPtcpntRlnshpWebServiceBean/VnpPtcpntRlnshpService body: encoding: UTF-8 string: |- @@ -11255,7 +11255,7 @@ http_interactions: recorded_at: Wed, 28 Oct 2020 19:33:51 GMT - request: method: get - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpPtcpntRlnshpWebServiceBean/VnpPtcpntRlnshpService?WSDL + uri: /VnpPtcpntRlnshpWebServiceBean/VnpPtcpntRlnshpService?WSDL body: encoding: US-ASCII string: '' @@ -11424,7 +11424,7 @@ http_interactions: recorded_at: Wed, 28 Oct 2020 19:33:51 GMT - request: method: post - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpPtcpntRlnshpWebServiceBean/VnpPtcpntRlnshpService + uri: /VnpPtcpntRlnshpWebServiceBean/VnpPtcpntRlnshpService body: encoding: UTF-8 string: |- @@ -11481,7 +11481,7 @@ http_interactions: recorded_at: Wed, 28 Oct 2020 19:33:52 GMT - request: method: get - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpPtcpntRlnshpWebServiceBean/VnpPtcpntRlnshpService?WSDL + uri: /VnpPtcpntRlnshpWebServiceBean/VnpPtcpntRlnshpService?WSDL body: encoding: US-ASCII string: '' @@ -11650,7 +11650,7 @@ http_interactions: recorded_at: Wed, 28 Oct 2020 19:33:53 GMT - request: method: post - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpPtcpntRlnshpWebServiceBean/VnpPtcpntRlnshpService + uri: /VnpPtcpntRlnshpWebServiceBean/VnpPtcpntRlnshpService body: encoding: UTF-8 string: |- @@ -11706,7 +11706,7 @@ http_interactions: recorded_at: Wed, 28 Oct 2020 19:33:54 GMT - request: method: get - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpPtcpntRlnshpWebServiceBean/VnpPtcpntRlnshpService?WSDL + uri: /VnpPtcpntRlnshpWebServiceBean/VnpPtcpntRlnshpService?WSDL body: encoding: US-ASCII string: '' @@ -11875,7 +11875,7 @@ http_interactions: recorded_at: Wed, 28 Oct 2020 19:33:54 GMT - request: method: post - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpPtcpntRlnshpWebServiceBean/VnpPtcpntRlnshpService + uri: /VnpPtcpntRlnshpWebServiceBean/VnpPtcpntRlnshpService body: encoding: UTF-8 string: |- @@ -11932,7 +11932,7 @@ http_interactions: recorded_at: Wed, 28 Oct 2020 19:33:55 GMT - request: method: get - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpPtcpntRlnshpWebServiceBean/VnpPtcpntRlnshpService?WSDL + uri: /VnpPtcpntRlnshpWebServiceBean/VnpPtcpntRlnshpService?WSDL body: encoding: US-ASCII string: '' @@ -12101,7 +12101,7 @@ http_interactions: recorded_at: Wed, 28 Oct 2020 19:33:56 GMT - request: method: post - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpPtcpntRlnshpWebServiceBean/VnpPtcpntRlnshpService + uri: /VnpPtcpntRlnshpWebServiceBean/VnpPtcpntRlnshpService body: encoding: UTF-8 string: |- @@ -12157,7 +12157,7 @@ http_interactions: recorded_at: Wed, 28 Oct 2020 19:33:56 GMT - request: method: get - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpPtcpntRlnshpWebServiceBean/VnpPtcpntRlnshpService?WSDL + uri: /VnpPtcpntRlnshpWebServiceBean/VnpPtcpntRlnshpService?WSDL body: encoding: US-ASCII string: '' @@ -12326,7 +12326,7 @@ http_interactions: recorded_at: Wed, 28 Oct 2020 19:33:57 GMT - request: method: post - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpPtcpntRlnshpWebServiceBean/VnpPtcpntRlnshpService + uri: /VnpPtcpntRlnshpWebServiceBean/VnpPtcpntRlnshpService body: encoding: UTF-8 string: |- @@ -12382,7 +12382,7 @@ http_interactions: recorded_at: Wed, 28 Oct 2020 19:33:57 GMT - request: method: get - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpChildSchoolWebServiceBean/VnpChildSchoolService?WSDL + uri: /VnpChildSchoolWebServiceBean/VnpChildSchoolService?WSDL body: encoding: US-ASCII string: '' @@ -12551,7 +12551,7 @@ http_interactions: recorded_at: Wed, 28 Oct 2020 19:33:58 GMT - request: method: post - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpChildSchoolWebServiceBean/VnpChildSchoolService + uri: /VnpChildSchoolWebServiceBean/VnpChildSchoolService body: encoding: UTF-8 string: |- @@ -12614,7 +12614,7 @@ http_interactions: recorded_at: Wed, 28 Oct 2020 19:33:59 GMT - request: method: get - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpChildStudentWebServiceBean/VnpChildStudentService?WSDL + uri: /VnpChildStudentWebServiceBean/VnpChildStudentService?WSDL body: encoding: US-ASCII string: '' @@ -12783,7 +12783,7 @@ http_interactions: recorded_at: Wed, 28 Oct 2020 19:33:59 GMT - request: method: post - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpChildStudentWebServiceBean/VnpChildStudentService + uri: /VnpChildStudentWebServiceBean/VnpChildStudentService body: encoding: UTF-8 string: |- @@ -12841,7 +12841,7 @@ http_interactions: recorded_at: Wed, 28 Oct 2020 19:34:00 GMT - request: method: get - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpBnftClaimWebServiceBean/VnpBnftClaimService?WSDL + uri: /VnpBnftClaimWebServiceBean/VnpBnftClaimService?WSDL body: encoding: US-ASCII string: '' @@ -13010,7 +13010,7 @@ http_interactions: recorded_at: Wed, 28 Oct 2020 19:34:01 GMT - request: method: post - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpBnftClaimWebServiceBean/VnpBnftClaimService + uri: /VnpBnftClaimWebServiceBean/VnpBnftClaimService body: encoding: UTF-8 string: |- @@ -13066,7 +13066,7 @@ http_interactions: recorded_at: Wed, 28 Oct 2020 19:34:02 GMT - request: method: get - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/BenefitClaimServiceBean/BenefitClaimWebService?WSDL + uri: /BenefitClaimServiceBean/BenefitClaimWebService?WSDL body: encoding: US-ASCII string: '' @@ -13419,7 +13419,7 @@ http_interactions: recorded_at: Wed, 28 Oct 2020 19:34:02 GMT - request: method: post - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/BenefitClaimServiceBean/BenefitClaimWebService + uri: /BenefitClaimServiceBean/BenefitClaimWebService body: encoding: UTF-8 string: |- @@ -13956,7 +13956,7 @@ http_interactions: recorded_at: Wed, 28 Oct 2020 19:34:17 GMT - request: method: get - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpBnftClaimWebServiceBean/VnpBnftClaimService?WSDL + uri: /VnpBnftClaimWebServiceBean/VnpBnftClaimService?WSDL body: encoding: US-ASCII string: '' @@ -14125,7 +14125,7 @@ http_interactions: recorded_at: Wed, 28 Oct 2020 19:34:18 GMT - request: method: post - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpBnftClaimWebServiceBean/VnpBnftClaimService + uri: /VnpBnftClaimWebServiceBean/VnpBnftClaimService body: encoding: UTF-8 string: |- @@ -14181,7 +14181,7 @@ http_interactions: recorded_at: Wed, 28 Oct 2020 19:34:19 GMT - request: method: get - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpProcWebServiceBeanV2/VnpProcServiceV2?WSDL + uri: /VnpProcWebServiceBeanV2/VnpProcServiceV2?WSDL body: encoding: US-ASCII string: '' @@ -14350,7 +14350,7 @@ http_interactions: recorded_at: Wed, 28 Oct 2020 19:34:20 GMT - request: method: post - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpProcWebServiceBeanV2/VnpProcServiceV2 + uri: /VnpProcWebServiceBeanV2/VnpProcServiceV2 body: encoding: UTF-8 string: |- diff --git a/spec/support/vcr_cassettes/bgs/intent_to_file_web_service/get_intent_to_file.yml b/spec/support/vcr_cassettes/bgs/intent_to_file_web_service/get_intent_to_file.yml index 2676b13d569..7b2c0942751 100644 --- a/spec/support/vcr_cassettes/bgs/intent_to_file_web_service/get_intent_to_file.yml +++ b/spec/support/vcr_cassettes/bgs/intent_to_file_web_service/get_intent_to_file.yml @@ -2,7 +2,7 @@ http_interactions: - request: method: get - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/IntentToFileWebServiceBean/IntentToFileWebService?WSDL + uri: /IntentToFileWebServiceBean/IntentToFileWebService?WSDL body: encoding: US-ASCII string: '' @@ -171,7 +171,7 @@ http_interactions: recorded_at: Mon, 10 Aug 2020 21:28:36 GMT - request: method: post - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/IntentToFileWebServiceBean/IntentToFileWebService + uri: /IntentToFileWebServiceBean/IntentToFileWebService body: encoding: UTF-8 string: |- diff --git a/spec/support/vcr_cassettes/bgs/intent_to_file_web_service/insert_intent_to_file.yml b/spec/support/vcr_cassettes/bgs/intent_to_file_web_service/insert_intent_to_file.yml index 71dbb10ec8a..e9bc2778e42 100644 --- a/spec/support/vcr_cassettes/bgs/intent_to_file_web_service/insert_intent_to_file.yml +++ b/spec/support/vcr_cassettes/bgs/intent_to_file_web_service/insert_intent_to_file.yml @@ -2,7 +2,7 @@ http_interactions: - request: method: get - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/IntentToFileWebServiceBean/IntentToFileWebService?WSDL + uri: /IntentToFileWebServiceBean/IntentToFileWebService?WSDL body: encoding: US-ASCII string: '' @@ -171,7 +171,7 @@ http_interactions: recorded_at: Mon, 10 Aug 2020 13:31:19 GMT - request: method: post - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/IntentToFileWebServiceBean/IntentToFileWebService + uri: /IntentToFileWebServiceBean/IntentToFileWebService body: encoding: UTF-8 string: |- diff --git a/spec/support/vcr_cassettes/bgs/intent_to_file_web_service/insert_intent_to_file_500.yml b/spec/support/vcr_cassettes/bgs/intent_to_file_web_service/insert_intent_to_file_500.yml index 9b983f4815b..8cf34f4ecba 100644 --- a/spec/support/vcr_cassettes/bgs/intent_to_file_web_service/insert_intent_to_file_500.yml +++ b/spec/support/vcr_cassettes/bgs/intent_to_file_web_service/insert_intent_to_file_500.yml @@ -2,7 +2,7 @@ http_interactions: - request: method: get - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/IntentToFileWebServiceBean/IntentToFileWebService?WSDL + uri: /IntentToFileWebServiceBean/IntentToFileWebService?WSDL body: encoding: US-ASCII string: '' @@ -171,7 +171,7 @@ http_interactions: recorded_at: Tue, 22 Sep 2020 13:56:19 GMT - request: method: post - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/IntentToFileWebServiceBean/IntentToFileWebService + uri: /IntentToFileWebServiceBean/IntentToFileWebService body: encoding: UTF-8 string: |- diff --git a/spec/support/vcr_cassettes/bgs/payment_history/find_by_ssn.yml b/spec/support/vcr_cassettes/bgs/payment_history/find_by_ssn.yml index f3bcde0ff08..54ae95036d6 100644 --- a/spec/support/vcr_cassettes/bgs/payment_history/find_by_ssn.yml +++ b/spec/support/vcr_cassettes/bgs/payment_history/find_by_ssn.yml @@ -2,7 +2,7 @@ http_interactions: - request: method: get - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/PaymentHistoryWebServiceBean/PaymentHistoryWebService?WSDL + uri: /PaymentHistoryWebServiceBean/PaymentHistoryWebService?WSDL body: encoding: US-ASCII string: '' @@ -102,7 +102,7 @@ http_interactions: recorded_at: Thu, 27 Aug 2020 22:06:32 GMT - request: method: post - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/PaymentHistoryWebServiceBean/PaymentHistoryWebService + uri: /PaymentHistoryWebServiceBean/PaymentHistoryWebService body: encoding: UTF-8 string: |- diff --git a/spec/support/vcr_cassettes/bgs/payment_history/retrieve_payment_summary_with_bdn.yml b/spec/support/vcr_cassettes/bgs/payment_history/retrieve_payment_summary_with_bdn.yml index 426347b4e22..4815a883048 100644 --- a/spec/support/vcr_cassettes/bgs/payment_history/retrieve_payment_summary_with_bdn.yml +++ b/spec/support/vcr_cassettes/bgs/payment_history/retrieve_payment_summary_with_bdn.yml @@ -2,7 +2,7 @@ http_interactions: - request: method: get - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/PersonWebServiceBean/PersonWebService?WSDL + uri: /PersonWebServiceBean/PersonWebService?WSDL body: encoding: US-ASCII string: '' @@ -700,7 +700,7 @@ http_interactions: recorded_at: Tue, 06 Oct 2020 19:10:30 GMT - request: method: post - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/PersonWebServiceBean/PersonWebService + uri: /PersonWebServiceBean/PersonWebService body: encoding: UTF-8 string: |- @@ -757,7 +757,7 @@ http_interactions: recorded_at: Tue, 06 Oct 2020 19:10:31 GMT - request: method: get - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/vrm-ws/PaymentInformationService?WSDL + uri: /vrm-ws/PaymentInformationService?WSDL body: encoding: US-ASCII string: '' @@ -1033,7 +1033,7 @@ http_interactions: recorded_at: Tue, 06 Oct 2020 19:10:32 GMT - request: method: post - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/vrm-ws/PaymentInformationService + uri: /vrm-ws/PaymentInformationService body: encoding: UTF-8 string: |- diff --git a/spec/support/vcr_cassettes/bgs/payment_history/retrieve_payment_summary_with_bdn_returns.yml b/spec/support/vcr_cassettes/bgs/payment_history/retrieve_payment_summary_with_bdn_returns.yml index fc0a2fef67e..1e86e0a52b0 100644 --- a/spec/support/vcr_cassettes/bgs/payment_history/retrieve_payment_summary_with_bdn_returns.yml +++ b/spec/support/vcr_cassettes/bgs/payment_history/retrieve_payment_summary_with_bdn_returns.yml @@ -2,7 +2,7 @@ http_interactions: - request: method: get - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/vrm-ws/PaymentInformationService?WSDL + uri: /vrm-ws/PaymentInformationService?WSDL body: encoding: US-ASCII string: '' @@ -278,7 +278,7 @@ http_interactions: recorded_at: Tue, 06 Oct 2020 19:24:44 GMT - request: method: post - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/vrm-ws/PaymentInformationService + uri: /vrm-ws/PaymentInformationService body: encoding: UTF-8 string: |- diff --git a/spec/support/vcr_cassettes/bgs/payment_service/no_payment_history.yml b/spec/support/vcr_cassettes/bgs/payment_service/no_payment_history.yml index 6864afcccd9..94cebc43d3a 100644 --- a/spec/support/vcr_cassettes/bgs/payment_service/no_payment_history.yml +++ b/spec/support/vcr_cassettes/bgs/payment_service/no_payment_history.yml @@ -2,7 +2,7 @@ http_interactions: - request: method: get - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/vrm-ws/PaymentInformationService?WSDL + uri: /vrm-ws/PaymentInformationService?WSDL body: encoding: US-ASCII string: '' @@ -278,7 +278,7 @@ http_interactions: recorded_at: Tue, 06 Oct 2020 19:24:43 GMT - request: method: post - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/vrm-ws/PaymentInformationService + uri: /vrm-ws/PaymentInformationService body: encoding: UTF-8 string: |- diff --git a/spec/support/vcr_cassettes/bgs/payment_service/payment_history.yml b/spec/support/vcr_cassettes/bgs/payment_service/payment_history.yml index 68d696c7e11..ce379b46fee 100644 --- a/spec/support/vcr_cassettes/bgs/payment_service/payment_history.yml +++ b/spec/support/vcr_cassettes/bgs/payment_service/payment_history.yml @@ -2,7 +2,7 @@ http_interactions: - request: method: get - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/vrm-ws/PaymentInformationService?WSDL + uri: /vrm-ws/PaymentInformationService?WSDL body: encoding: US-ASCII string: '' @@ -278,7 +278,7 @@ http_interactions: recorded_at: Tue, 06 Oct 2020 19:24:44 GMT - request: method: post - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/vrm-ws/PaymentInformationService + uri: /vrm-ws/PaymentInformationService body: encoding: UTF-8 string: |- diff --git a/spec/support/vcr_cassettes/bgs/payment_service/payment_history_with_pending.yml b/spec/support/vcr_cassettes/bgs/payment_service/payment_history_with_pending.yml index 53da0063892..a95d7ef70f5 100644 --- a/spec/support/vcr_cassettes/bgs/payment_service/payment_history_with_pending.yml +++ b/spec/support/vcr_cassettes/bgs/payment_service/payment_history_with_pending.yml @@ -2,7 +2,7 @@ http_interactions: - request: method: get - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/vrm-ws/PaymentInformationService?WSDL + uri: /vrm-ws/PaymentInformationService?WSDL body: encoding: US-ASCII string: '' @@ -278,7 +278,7 @@ http_interactions: recorded_at: Tue, 06 Oct 2020 19:24:44 GMT - request: method: post - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/vrm-ws/PaymentInformationService + uri: /vrm-ws/PaymentInformationService body: encoding: UTF-8 string: |- diff --git a/spec/support/vcr_cassettes/bgs/people_service/no_person_data.yml b/spec/support/vcr_cassettes/bgs/people_service/no_person_data.yml index e46d1bdc29a..0720d273cf3 100644 --- a/spec/support/vcr_cassettes/bgs/people_service/no_person_data.yml +++ b/spec/support/vcr_cassettes/bgs/people_service/no_person_data.yml @@ -2,7 +2,7 @@ http_interactions: - request: method: get - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/PersonWebServiceBean/PersonWebService?WSDL + uri: /PersonWebServiceBean/PersonWebService?WSDL body: encoding: US-ASCII string: '' @@ -655,7 +655,7 @@ http_interactions: recorded_at: Fri, 12 Jun 2020 02:58:28 GMT - request: method: post - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/PersonWebServiceBean/PersonWebService + uri: /PersonWebServiceBean/PersonWebService body: encoding: UTF-8 string: |- diff --git a/spec/support/vcr_cassettes/bgs/people_service/person_data.yml b/spec/support/vcr_cassettes/bgs/people_service/person_data.yml index a13e6c546e1..3096b2ce790 100644 --- a/spec/support/vcr_cassettes/bgs/people_service/person_data.yml +++ b/spec/support/vcr_cassettes/bgs/people_service/person_data.yml @@ -2,7 +2,7 @@ http_interactions: - request: method: get - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/PersonWebServiceBean/PersonWebService?WSDL + uri: /PersonWebServiceBean/PersonWebService?WSDL body: encoding: US-ASCII string: '' @@ -655,7 +655,7 @@ http_interactions: recorded_at: Fri, 12 Jun 2020 02:57:30 GMT - request: method: post - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/PersonWebServiceBean/PersonWebService + uri: /PersonWebServiceBean/PersonWebService body: encoding: UTF-8 string: |- diff --git a/spec/support/vcr_cassettes/bgs/person_web_service/find_person_by_participant_id.yml b/spec/support/vcr_cassettes/bgs/person_web_service/find_person_by_participant_id.yml index 220cbc6dd74..a9e0bcbd6e0 100644 --- a/spec/support/vcr_cassettes/bgs/person_web_service/find_person_by_participant_id.yml +++ b/spec/support/vcr_cassettes/bgs/person_web_service/find_person_by_participant_id.yml @@ -2,7 +2,7 @@ http_interactions: - request: method: get - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/PersonWebServiceBean/PersonWebService?WSDL + uri: /PersonWebServiceBean/PersonWebService?WSDL body: encoding: US-ASCII string: '' @@ -700,7 +700,7 @@ http_interactions: recorded_at: Tue, 06 Oct 2020 19:58:01 GMT - request: method: post - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/PersonWebServiceBean/PersonWebService + uri: /PersonWebServiceBean/PersonWebService body: encoding: UTF-8 string: |- diff --git a/spec/support/vcr_cassettes/bgs/person_web_service/find_person_by_participant_id_no_result.yml b/spec/support/vcr_cassettes/bgs/person_web_service/find_person_by_participant_id_no_result.yml index 4d31507ee70..9b4086efb03 100644 --- a/spec/support/vcr_cassettes/bgs/person_web_service/find_person_by_participant_id_no_result.yml +++ b/spec/support/vcr_cassettes/bgs/person_web_service/find_person_by_participant_id_no_result.yml @@ -2,7 +2,7 @@ http_interactions: - request: method: get - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/PersonWebServiceBean/PersonWebService?WSDL + uri: /PersonWebServiceBean/PersonWebService?WSDL body: encoding: US-ASCII string: '' @@ -700,7 +700,7 @@ http_interactions: recorded_at: Tue, 06 Oct 2020 20:01:45 GMT - request: method: post - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/PersonWebServiceBean/PersonWebService + uri: /PersonWebServiceBean/PersonWebService body: encoding: UTF-8 string: |- diff --git a/spec/support/vcr_cassettes/bgs/rating_web_service/rating_data.yml b/spec/support/vcr_cassettes/bgs/rating_web_service/rating_data.yml index 534ea27d907..0e3aa7c5edb 100644 --- a/spec/support/vcr_cassettes/bgs/rating_web_service/rating_data.yml +++ b/spec/support/vcr_cassettes/bgs/rating_web_service/rating_data.yml @@ -2,7 +2,7 @@ http_interactions: - request: method: get - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/RatingServiceBean/RatingService?WSDL + uri: /RatingServiceBean/RatingService?WSDL body: encoding: US-ASCII string: '' @@ -103,7 +103,7 @@ http_interactions: recorded_at: Wed, 06 May 2020 13:51:14 GMT - request: method: post - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/RatingServiceBean/RatingService + uri: /RatingServiceBean/RatingService body: encoding: UTF-8 string: |- diff --git a/spec/support/vcr_cassettes/bgs/rating_web_service/rating_data_no_ratings.yml b/spec/support/vcr_cassettes/bgs/rating_web_service/rating_data_no_ratings.yml index 20541cbac9f..1a914d5faab 100644 --- a/spec/support/vcr_cassettes/bgs/rating_web_service/rating_data_no_ratings.yml +++ b/spec/support/vcr_cassettes/bgs/rating_web_service/rating_data_no_ratings.yml @@ -2,7 +2,7 @@ http_interactions: - request: method: get - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/RatingServiceBean/RatingService?WSDL + uri: /RatingServiceBean/RatingService?WSDL body: encoding: US-ASCII string: '' @@ -103,7 +103,7 @@ http_interactions: recorded_at: Wed, 06 May 2020 13:59:09 GMT - request: method: post - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/RatingServiceBean/RatingService + uri: /RatingServiceBean/RatingService body: encoding: UTF-8 string: |- diff --git a/spec/support/vcr_cassettes/bgs/rating_web_service/rating_data_single_rating.yml b/spec/support/vcr_cassettes/bgs/rating_web_service/rating_data_single_rating.yml index 62b9b43ed2f..50cb4d5de8d 100644 --- a/spec/support/vcr_cassettes/bgs/rating_web_service/rating_data_single_rating.yml +++ b/spec/support/vcr_cassettes/bgs/rating_web_service/rating_data_single_rating.yml @@ -2,7 +2,7 @@ http_interactions: - request: method: get - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/RatingServiceBean/RatingService?WSDL + uri: /RatingServiceBean/RatingService?WSDL body: encoding: US-ASCII string: '' @@ -103,7 +103,7 @@ http_interactions: recorded_at: Wed, 06 May 2020 13:59:06 GMT - request: method: post - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/RatingServiceBean/RatingService + uri: /RatingServiceBean/RatingService body: encoding: UTF-8 string: |- diff --git a/spec/support/vcr_cassettes/bgs/service/create_address.yml b/spec/support/vcr_cassettes/bgs/service/create_address.yml index 50d5eeedf2a..3fb71c8155b 100644 --- a/spec/support/vcr_cassettes/bgs/service/create_address.yml +++ b/spec/support/vcr_cassettes/bgs/service/create_address.yml @@ -2,7 +2,7 @@ http_interactions: - request: method: get - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpPtcpntAddrsWebServiceBean/VnpPtcpntAddrsService?WSDL + uri: /VnpPtcpntAddrsWebServiceBean/VnpPtcpntAddrsService?WSDL body: encoding: US-ASCII string: '' @@ -171,7 +171,7 @@ http_interactions: recorded_at: Thu, 16 Jul 2020 18:20:19 GMT - request: method: post - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpPtcpntAddrsWebServiceBean/VnpPtcpntAddrsService + uri: /VnpPtcpntAddrsWebServiceBean/VnpPtcpntAddrsService body: encoding: UTF-8 string: |- @@ -226,4 +226,4 @@ http_interactions: xmlns:ns0="http://ptcpntAddrsService.services.vonapp.vba.va.gov/">1163042020-07-16T18:20:18Z1488863829360123 mainstreet rd.Tampafoo@foo.com2020-07-16T18:20:18Z281VAgovAPIUVAgovAPIFLFLMailingN11234 recorded_at: Thu, 16 Jul 2020 18:20:20 GMT -recorded_with: VCR 6.0.0 \ No newline at end of file +recorded_with: VCR 6.0.0 diff --git a/spec/support/vcr_cassettes/bgs/service/create_note.yml b/spec/support/vcr_cassettes/bgs/service/create_note.yml index 278773d6467..ee7da073a61 100644 --- a/spec/support/vcr_cassettes/bgs/service/create_note.yml +++ b/spec/support/vcr_cassettes/bgs/service/create_note.yml @@ -2,7 +2,7 @@ http_interactions: - request: method: get - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/DevelopmentNotesService/DevelopmentNotesService?WSDL + uri: /DevelopmentNotesService/DevelopmentNotesService?WSDL body: encoding: US-ASCII string: '' @@ -232,7 +232,7 @@ http_interactions: recorded_at: Tue, 27 Jul 2021 23:53:30 GMT - request: method: post - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/DevelopmentNotesService/DevelopmentNotesService + uri: /DevelopmentNotesService/DevelopmentNotesService body: encoding: UTF-8 string: |- diff --git a/spec/support/vcr_cassettes/bgs/service/create_participant.yml b/spec/support/vcr_cassettes/bgs/service/create_participant.yml index 54263eae848..ee35773ff6e 100644 --- a/spec/support/vcr_cassettes/bgs/service/create_participant.yml +++ b/spec/support/vcr_cassettes/bgs/service/create_participant.yml @@ -2,7 +2,7 @@ http_interactions: - request: method: get - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpPtcpntWebServiceBean/VnpPtcpntService?WSDL + uri: /VnpPtcpntWebServiceBean/VnpPtcpntService?WSDL body: encoding: US-ASCII string: '' @@ -171,7 +171,7 @@ http_interactions: recorded_at: Thu, 16 Jul 2020 18:20:18 GMT - request: method: post - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpPtcpntWebServiceBean/VnpPtcpntService + uri: /VnpPtcpntWebServiceBean/VnpPtcpntService body: encoding: UTF-8 string: |- @@ -225,4 +225,4 @@ http_interactions: xmlns:work="http://oracle.com/weblogic/soap/workarea/">rO0ABXdKABR3ZWJsb2dpYy5hcHAudm5wLWVhcgAAANYAAAAjd2VibG9naWMud29ya2FyZWEuU3RyaW5nV29ya0NvbnRleHQABTIuMC44AAA=14945638293602020-07-16T18:20:17Z281VAgovAPIUVAgovAPIPerson recorded_at: Thu, 16 Jul 2020 18:20:18 GMT -recorded_with: VCR 6.0.0 \ No newline at end of file +recorded_with: VCR 6.0.0 diff --git a/spec/support/vcr_cassettes/bgs/service/create_person.yml b/spec/support/vcr_cassettes/bgs/service/create_person.yml index c0c94c285d5..cdc37c59dc4 100644 --- a/spec/support/vcr_cassettes/bgs/service/create_person.yml +++ b/spec/support/vcr_cassettes/bgs/service/create_person.yml @@ -2,7 +2,7 @@ http_interactions: - request: method: get - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpPersonWebServiceBean/VnpPersonService?WSDL + uri: /VnpPersonWebServiceBean/VnpPersonService?WSDL body: encoding: US-ASCII string: '' @@ -171,7 +171,7 @@ http_interactions: recorded_at: Thu, 16 Jul 2020 20:49:25 GMT - request: method: post - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpPersonWebServiceBean/VnpPersonService + uri: /VnpPersonWebServiceBean/VnpPersonService body: encoding: UTF-8 string: |- @@ -228,4 +228,4 @@ http_interactions: last nameMarriedvet middle name123341234JrY3829671 recorded_at: Thu, 16 Jul 2020 20:49:26 GMT -recorded_with: VCR 6.0.0 \ No newline at end of file +recorded_with: VCR 6.0.0 diff --git a/spec/support/vcr_cassettes/bgs/service/create_phone.yml b/spec/support/vcr_cassettes/bgs/service/create_phone.yml index 340f24c592f..75963b3ce4a 100644 --- a/spec/support/vcr_cassettes/bgs/service/create_phone.yml +++ b/spec/support/vcr_cassettes/bgs/service/create_phone.yml @@ -2,7 +2,7 @@ http_interactions: - request: method: get - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpPtcpntPhoneWebServiceBean/VnpPtcpntPhoneService?WSDL + uri: /VnpPtcpntPhoneWebServiceBean/VnpPtcpntPhoneService?WSDL body: encoding: US-ASCII string: '' @@ -171,7 +171,7 @@ http_interactions: recorded_at: Thu, 16 Jul 2020 18:20:50 GMT - request: method: post - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpPtcpntPhoneWebServiceBean/VnpPtcpntPhoneService + uri: /VnpPtcpntPhoneWebServiceBean/VnpPtcpntPhoneService body: encoding: UTF-8 string: |- @@ -225,4 +225,4 @@ http_interactions: xmlns:work="http://oracle.com/weblogic/soap/workarea/">rO0ABXdKABR3ZWJsb2dpYy5hcHAudm5wLWVhcgAAANYAAAAjd2VibG9naWMud29ya2FyZWEuU3RyaW5nV29ya0NvbnRleHQABTIuMC44AAA=772893829360148886Daytime55555555552020-07-16T18:20:50Z2020-07-16T18:20:50Z281VAgovAPIUVAgovAPI recorded_at: Thu, 16 Jul 2020 18:20:51 GMT -recorded_with: VCR 6.0.0 \ No newline at end of file +recorded_with: VCR 6.0.0 diff --git a/spec/support/vcr_cassettes/bgs/service/create_proc.yml b/spec/support/vcr_cassettes/bgs/service/create_proc.yml index b02623ee33b..06d25ca0909 100644 --- a/spec/support/vcr_cassettes/bgs/service/create_proc.yml +++ b/spec/support/vcr_cassettes/bgs/service/create_proc.yml @@ -2,7 +2,7 @@ http_interactions: - request: method: get - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpProcWebServiceBeanV2/VnpProcServiceV2?WSDL + uri: /VnpProcWebServiceBeanV2/VnpProcServiceV2?WSDL body: encoding: US-ASCII string: '' @@ -171,7 +171,7 @@ http_interactions: recorded_at: Thu, 06 Aug 2020 22:28:30 GMT - request: method: post - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpProcWebServiceBeanV2/VnpProcServiceV2 + uri: /VnpProcWebServiceBeanV2/VnpProcServiceV2 body: encoding: UTF-8 string: |- diff --git a/spec/support/vcr_cassettes/bgs/service/create_proc_form.yml b/spec/support/vcr_cassettes/bgs/service/create_proc_form.yml index b91d3367b1c..acd8fb4760e 100644 --- a/spec/support/vcr_cassettes/bgs/service/create_proc_form.yml +++ b/spec/support/vcr_cassettes/bgs/service/create_proc_form.yml @@ -2,7 +2,7 @@ http_interactions: - request: method: get - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpProcFormWebServiceBean/VnpProcFormService?WSDL + uri: /VnpProcFormWebServiceBean/VnpProcFormService?WSDL body: encoding: US-ASCII string: '' @@ -148,7 +148,7 @@ http_interactions: recorded_at: Thu, 06 Aug 2020 22:15:10 GMT - request: method: post - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpProcFormWebServiceBean/VnpProcFormService + uri: /VnpProcFormWebServiceBean/VnpProcFormService body: encoding: UTF-8 string: |- diff --git a/spec/support/vcr_cassettes/bgs/service/errors/create_participant.yml b/spec/support/vcr_cassettes/bgs/service/errors/create_participant.yml index 167903469fc..5ffd49fc9a0 100644 --- a/spec/support/vcr_cassettes/bgs/service/errors/create_participant.yml +++ b/spec/support/vcr_cassettes/bgs/service/errors/create_participant.yml @@ -2,7 +2,7 @@ http_interactions: - request: method: get - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpPtcpntWebServiceBean/VnpPtcpntService?WSDL + uri: /VnpPtcpntWebServiceBean/VnpPtcpntService?WSDL body: encoding: US-ASCII string: '' @@ -171,7 +171,7 @@ http_interactions: recorded_at: Mon, 20 Jul 2020 22:57:58 GMT - request: method: post - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpPtcpntWebServiceBean/VnpPtcpntService + uri: /VnpPtcpntWebServiceBean/VnpPtcpntService body: encoding: UTF-8 string: |- @@ -227,7 +227,7 @@ http_interactions: recorded_at: Mon, 20 Jul 2020 22:57:59 GMT - request: method: get - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpPtcpntWebServiceBean/VnpPtcpntService?WSDL + uri: /VnpPtcpntWebServiceBean/VnpPtcpntService?WSDL body: encoding: US-ASCII string: '' @@ -396,7 +396,7 @@ http_interactions: recorded_at: Mon, 20 Jul 2020 22:58:00 GMT - request: method: post - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpPtcpntWebServiceBean/VnpPtcpntService + uri: /VnpPtcpntWebServiceBean/VnpPtcpntService body: encoding: UTF-8 string: |- @@ -452,7 +452,7 @@ http_interactions: recorded_at: Mon, 20 Jul 2020 22:58:01 GMT - request: method: get - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpPtcpntWebServiceBean/VnpPtcpntService?WSDL + uri: /VnpPtcpntWebServiceBean/VnpPtcpntService?WSDL body: encoding: US-ASCII string: '' @@ -621,7 +621,7 @@ http_interactions: recorded_at: Mon, 20 Jul 2020 22:58:02 GMT - request: method: post - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpPtcpntWebServiceBean/VnpPtcpntService + uri: /VnpPtcpntWebServiceBean/VnpPtcpntService body: encoding: UTF-8 string: |- @@ -675,4 +675,4 @@ http_interactions: Exception Description: The object [invalid_proc_id], of class [class java.lang.String], from mapping [org.eclipse.persistence.oxm.mappings.XMLDirectMapping[vnpProcId-->vnpProcId/text()]] with descriptor [XMLDescriptor(gov.va.vba.vonapp.dto.VnpPtcpntDTO --> [])], could not be converted to [class java.lang.Long]. Internal Exception: java.lang.NumberFormatException: For input string: "invalid_proc_id" recorded_at: Mon, 20 Jul 2020 22:58:03 GMT -recorded_with: VCR 6.0.0 \ No newline at end of file +recorded_with: VCR 6.0.0 diff --git a/spec/support/vcr_cassettes/bgs/service/errors/create_proc_form.yml b/spec/support/vcr_cassettes/bgs/service/errors/create_proc_form.yml index 72ac2cfca7f..1ae757ffaef 100644 --- a/spec/support/vcr_cassettes/bgs/service/errors/create_proc_form.yml +++ b/spec/support/vcr_cassettes/bgs/service/errors/create_proc_form.yml @@ -2,7 +2,7 @@ http_interactions: - request: method: get - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpProcFormWebServiceBean/VnpProcFormService?WSDL + uri: /VnpProcFormWebServiceBean/VnpProcFormService?WSDL body: encoding: US-ASCII string: '' @@ -148,7 +148,7 @@ http_interactions: recorded_at: Thu, 16 Jul 2020 18:20:42 GMT - request: method: post - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpProcFormWebServiceBean/VnpProcFormService + uri: /VnpProcFormWebServiceBean/VnpProcFormService body: encoding: UTF-8 string: |- @@ -204,7 +204,7 @@ http_interactions: recorded_at: Thu, 16 Jul 2020 18:20:42 GMT - request: method: get - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpProcFormWebServiceBean/VnpProcFormService?WSDL + uri: /VnpProcFormWebServiceBean/VnpProcFormService?WSDL body: encoding: US-ASCII string: '' @@ -350,7 +350,7 @@ http_interactions: recorded_at: Thu, 16 Jul 2020 18:20:43 GMT - request: method: post - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpProcFormWebServiceBean/VnpProcFormService + uri: /VnpProcFormWebServiceBean/VnpProcFormService body: encoding: UTF-8 string: |- @@ -406,7 +406,7 @@ http_interactions: recorded_at: Thu, 16 Jul 2020 18:20:44 GMT - request: method: get - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpProcFormWebServiceBean/VnpProcFormService?WSDL + uri: /VnpProcFormWebServiceBean/VnpProcFormService?WSDL body: encoding: US-ASCII string: '' @@ -552,7 +552,7 @@ http_interactions: recorded_at: Thu, 16 Jul 2020 18:20:45 GMT - request: method: post - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpProcFormWebServiceBean/VnpProcFormService + uri: /VnpProcFormWebServiceBean/VnpProcFormService body: encoding: UTF-8 string: |- @@ -606,4 +606,4 @@ http_interactions: Exception Description: The object [invalid_proc_id], of class [class java.lang.String], from mapping [org.eclipse.persistence.oxm.mappings.XMLDirectMapping[vnpProcId-->vnpProcId/text()]] with descriptor [XMLDescriptor(gov.va.vba.vonapp.dto.VnpProcFormPKDTO --> [])], could not be converted to [class java.lang.Long]. Internal Exception: java.lang.NumberFormatException: For input string: "invalid_proc_id" recorded_at: Thu, 16 Jul 2020 18:20:45 GMT -recorded_with: VCR 6.0.0 \ No newline at end of file +recorded_with: VCR 6.0.0 diff --git a/spec/support/vcr_cassettes/bgs/service/find_ch33_dd_eft.yml b/spec/support/vcr_cassettes/bgs/service/find_ch33_dd_eft.yml index 91c6bcf70fa..45ed5c4f3cb 100644 --- a/spec/support/vcr_cassettes/bgs/service/find_ch33_dd_eft.yml +++ b/spec/support/vcr_cassettes/bgs/service/find_ch33_dd_eft.yml @@ -2,7 +2,7 @@ http_interactions: - request: method: get - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/BenefitClaimServiceBean/BenefitClaimWebService?WSDL + uri: /BenefitClaimServiceBean/BenefitClaimWebService?WSDL body: encoding: US-ASCII string: '' @@ -355,7 +355,7 @@ http_interactions: recorded_at: Wed, 30 Sep 2020 21:04:37 GMT - request: method: post - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/BenefitClaimServiceBean/BenefitClaimWebService + uri: /BenefitClaimServiceBean/BenefitClaimWebService body: encoding: UTF-8 string: |- diff --git a/spec/support/vcr_cassettes/bgs/service/find_ch33_dd_eft_no_bank_info.yml b/spec/support/vcr_cassettes/bgs/service/find_ch33_dd_eft_no_bank_info.yml index a50cf74c34c..721d9064381 100644 --- a/spec/support/vcr_cassettes/bgs/service/find_ch33_dd_eft_no_bank_info.yml +++ b/spec/support/vcr_cassettes/bgs/service/find_ch33_dd_eft_no_bank_info.yml @@ -2,7 +2,7 @@ http_interactions: - request: method: get - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/BenefitClaimServiceBean/BenefitClaimWebService?WSDL + uri: /BenefitClaimServiceBean/BenefitClaimWebService?WSDL body: encoding: US-ASCII string: '' @@ -355,7 +355,7 @@ http_interactions: recorded_at: Wed, 30 Sep 2020 21:04:37 GMT - request: method: post - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/BenefitClaimServiceBean/BenefitClaimWebService + uri: /BenefitClaimServiceBean/BenefitClaimWebService body: encoding: UTF-8 string: |- diff --git a/spec/support/vcr_cassettes/bgs/service/find_ch33_dd_eft_no_icn.yml b/spec/support/vcr_cassettes/bgs/service/find_ch33_dd_eft_no_icn.yml index 046357cb638..228fbc05da2 100644 --- a/spec/support/vcr_cassettes/bgs/service/find_ch33_dd_eft_no_icn.yml +++ b/spec/support/vcr_cassettes/bgs/service/find_ch33_dd_eft_no_icn.yml @@ -2,7 +2,7 @@ http_interactions: - request: method: get - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/BenefitClaimServiceBean/BenefitClaimWebService?WSDL + uri: /BenefitClaimServiceBean/BenefitClaimWebService?WSDL body: encoding: US-ASCII string: '' @@ -355,7 +355,7 @@ http_interactions: recorded_at: Mon, 12 Oct 2020 21:05:40 GMT - request: method: post - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/BenefitClaimServiceBean/BenefitClaimWebService + uri: /BenefitClaimServiceBean/BenefitClaimWebService body: encoding: UTF-8 string: |- diff --git a/spec/support/vcr_cassettes/bgs/service/find_rating_data.yml b/spec/support/vcr_cassettes/bgs/service/find_rating_data.yml index c39a5c22f9f..a823b18c070 100644 --- a/spec/support/vcr_cassettes/bgs/service/find_rating_data.yml +++ b/spec/support/vcr_cassettes/bgs/service/find_rating_data.yml @@ -2,7 +2,7 @@ http_interactions: - request: method: get - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/RatingServiceBean/RatingService?WSDL + uri: /RatingServiceBean/RatingService?WSDL body: encoding: US-ASCII string: '' @@ -104,7 +104,7 @@ http_interactions: recorded_at: Sun, 16 Apr 2023 08:25:02 GMT - request: method: post - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/RatingServiceBean/RatingService + uri: /RatingServiceBean/RatingService body: encoding: UTF-8 string: |- diff --git a/spec/support/vcr_cassettes/bgs/service/find_regional_offices.yml b/spec/support/vcr_cassettes/bgs/service/find_regional_offices.yml index a828b953664..102e1005819 100644 --- a/spec/support/vcr_cassettes/bgs/service/find_regional_offices.yml +++ b/spec/support/vcr_cassettes/bgs/service/find_regional_offices.yml @@ -2,7 +2,7 @@ http_interactions: - request: method: get - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/StandardDataWebServiceBean/StandardDataWebService?WSDL + uri: /StandardDataWebServiceBean/StandardDataWebService?WSDL body: encoding: US-ASCII string: '' @@ -876,7 +876,7 @@ http_interactions: recorded_at: Wed, 28 Oct 2020 19:13:47 GMT - request: method: post - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/StandardDataWebServiceBean/StandardDataWebService + uri: /StandardDataWebServiceBean/StandardDataWebService body: encoding: UTF-8 string: |- diff --git a/spec/support/vcr_cassettes/bgs/service/get_regional_office_by_zip_code.yml b/spec/support/vcr_cassettes/bgs/service/get_regional_office_by_zip_code.yml index 777bff85431..6ff4814b519 100644 --- a/spec/support/vcr_cassettes/bgs/service/get_regional_office_by_zip_code.yml +++ b/spec/support/vcr_cassettes/bgs/service/get_regional_office_by_zip_code.yml @@ -2,7 +2,7 @@ http_interactions: - request: method: get - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/RORoutingServiceWS/RORoutingService?WSDL + uri: /RORoutingServiceWS/RORoutingService?WSDL body: encoding: US-ASCII string: '' @@ -82,7 +82,7 @@ http_interactions: recorded_at: Fri, 02 Oct 2020 23:34:42 GMT - request: method: post - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/RORoutingServiceWS/RORoutingService + uri: /RORoutingServiceWS/RORoutingService body: encoding: UTF-8 string: |- diff --git a/spec/support/vcr_cassettes/bgs/service/update_ch33_dd_eft.yml b/spec/support/vcr_cassettes/bgs/service/update_ch33_dd_eft.yml index 2aa34e7970e..0d77ce321a3 100644 --- a/spec/support/vcr_cassettes/bgs/service/update_ch33_dd_eft.yml +++ b/spec/support/vcr_cassettes/bgs/service/update_ch33_dd_eft.yml @@ -2,7 +2,7 @@ http_interactions: - request: method: get - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/BenefitClaimServiceBean/BenefitClaimWebService?WSDL + uri: /BenefitClaimServiceBean/BenefitClaimWebService?WSDL body: encoding: US-ASCII string: '' @@ -355,7 +355,7 @@ http_interactions: recorded_at: Fri, 02 Oct 2020 23:38:59 GMT - request: method: post - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/BenefitClaimServiceBean/BenefitClaimWebService + uri: /BenefitClaimServiceBean/BenefitClaimWebService body: encoding: UTF-8 string: |- diff --git a/spec/support/vcr_cassettes/bgs/service/update_proc.yml b/spec/support/vcr_cassettes/bgs/service/update_proc.yml index f0425e1a7a8..baad4a933b1 100644 --- a/spec/support/vcr_cassettes/bgs/service/update_proc.yml +++ b/spec/support/vcr_cassettes/bgs/service/update_proc.yml @@ -2,7 +2,7 @@ http_interactions: - request: method: get - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpProcWebServiceBeanV2/VnpProcServiceV2?WSDL + uri: /VnpProcWebServiceBeanV2/VnpProcServiceV2?WSDL body: encoding: US-ASCII string: '' @@ -171,7 +171,7 @@ http_interactions: recorded_at: Thu, 06 Aug 2020 22:18:06 GMT - request: method: post - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpProcWebServiceBeanV2/VnpProcServiceV2 + uri: /VnpProcWebServiceBeanV2/VnpProcServiceV2 body: encoding: UTF-8 string: |- diff --git a/spec/support/vcr_cassettes/bgs/student_school/create.yml b/spec/support/vcr_cassettes/bgs/student_school/create.yml index d32f85731bf..3c34fdd4903 100644 --- a/spec/support/vcr_cassettes/bgs/student_school/create.yml +++ b/spec/support/vcr_cassettes/bgs/student_school/create.yml @@ -2,7 +2,7 @@ http_interactions: - request: method: get - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpChildSchoolWebServiceBean/VnpChildSchoolService?WSDL + uri: /VnpChildSchoolWebServiceBean/VnpChildSchoolService?WSDL body: encoding: US-ASCII string: '' @@ -171,7 +171,7 @@ http_interactions: recorded_at: Sat, 18 Jul 2020 02:53:50 GMT - request: method: post - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpChildSchoolWebServiceBean/VnpChildSchoolService + uri: /VnpChildSchoolWebServiceBean/VnpChildSchoolService body: encoding: UTF-8 string: |- @@ -234,7 +234,7 @@ http_interactions: recorded_at: Sat, 18 Jul 2020 02:53:51 GMT - request: method: get - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpChildStudentWebServiceBean/VnpChildStudentService?WSDL + uri: /VnpChildStudentWebServiceBean/VnpChildStudentService?WSDL body: encoding: US-ASCII string: '' @@ -403,7 +403,7 @@ http_interactions: recorded_at: Sat, 18 Jul 2020 02:53:51 GMT - request: method: post - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpChildStudentWebServiceBean/VnpChildStudentService + uri: /VnpChildStudentWebServiceBean/VnpChildStudentService body: encoding: UTF-8 string: |- diff --git a/spec/support/vcr_cassettes/bgs/tracked_item_service/claims_v2_show_tracked_items.yml b/spec/support/vcr_cassettes/bgs/tracked_item_service/claims_v2_show_tracked_items.yml index afa2a393d18..b20748da3c6 100644 --- a/spec/support/vcr_cassettes/bgs/tracked_item_service/claims_v2_show_tracked_items.yml +++ b/spec/support/vcr_cassettes/bgs/tracked_item_service/claims_v2_show_tracked_items.yml @@ -2,7 +2,7 @@ http_interactions: - request: method: get - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/EBenefitsBnftClaimStatusWebServiceBean/EBenefitsBnftClaimStatusWebService?WSDL + uri: /EBenefitsBnftClaimStatusWebServiceBean/EBenefitsBnftClaimStatusWebService?WSDL body: encoding: US-ASCII string: '' @@ -43,7 +43,7 @@ http_interactions: recorded_at: Wed, 19 Apr 2023 20:47:06 GMT - request: method: post - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/EBenefitsBnftClaimStatusWebServiceBean/EBenefitsBnftClaimStatusWebService + uri: /EBenefitsBnftClaimStatusWebServiceBean/EBenefitsBnftClaimStatusWebService body: encoding: UTF-8 string: | @@ -153,7 +153,7 @@ http_interactions: recorded_at: Wed, 19 Apr 2023 20:47:07 GMT - request: method: get - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/TrackedItemService/TrackedItemService?WSDL + uri: /TrackedItemService/TrackedItemService?WSDL body: encoding: US-ASCII string: '' @@ -194,7 +194,7 @@ http_interactions: recorded_at: Wed, 19 Apr 2023 20:47:11 GMT - request: method: post - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/TrackedItemService/TrackedItemService + uri: /TrackedItemService/TrackedItemService body: encoding: UTF-8 string: | diff --git a/spec/support/vcr_cassettes/bgs/tracked_items/find_tracked_items.yml b/spec/support/vcr_cassettes/bgs/tracked_items/find_tracked_items.yml index d5beb76ee11..e66db69553c 100644 --- a/spec/support/vcr_cassettes/bgs/tracked_items/find_tracked_items.yml +++ b/spec/support/vcr_cassettes/bgs/tracked_items/find_tracked_items.yml @@ -2,7 +2,7 @@ http_interactions: - request: method: get - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/TrackedItemService/TrackedItemService?WSDL + uri: /TrackedItemService/TrackedItemService?WSDL body: encoding: US-ASCII string: '' @@ -266,7 +266,7 @@ http_interactions: recorded_at: Wed, 17 Aug 2022 20:30:36 GMT - request: method: post - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/TrackedItemService/TrackedItemService + uri: /TrackedItemService/TrackedItemService body: encoding: UTF-8 string: |- diff --git a/spec/support/vcr_cassettes/bgs/uploaded_document_service/bad_participant_id.yml b/spec/support/vcr_cassettes/bgs/uploaded_document_service/bad_participant_id.yml index e963c3398fd..36c6ac76e42 100644 --- a/spec/support/vcr_cassettes/bgs/uploaded_document_service/bad_participant_id.yml +++ b/spec/support/vcr_cassettes/bgs/uploaded_document_service/bad_participant_id.yml @@ -2,7 +2,7 @@ http_interactions: - request: method: get - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/UploadedDocumentWebServiceBean/UploadedDocumentWebService?WSDL + uri: /UploadedDocumentWebServiceBean/UploadedDocumentWebService?WSDL body: encoding: US-ASCII string: '' @@ -171,7 +171,7 @@ http_interactions: recorded_at: Fri, 28 Aug 2020 21:21:27 GMT - request: method: post - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/UploadedDocumentWebServiceBean/UploadedDocumentWebService?WSDL + uri: /UploadedDocumentWebServiceBean/UploadedDocumentWebService?WSDL body: encoding: UTF-8 string: |- diff --git a/spec/support/vcr_cassettes/bgs/uploaded_document_service/uploaded_document_data.yml b/spec/support/vcr_cassettes/bgs/uploaded_document_service/uploaded_document_data.yml index 8e7e33520ed..394a73339af 100644 --- a/spec/support/vcr_cassettes/bgs/uploaded_document_service/uploaded_document_data.yml +++ b/spec/support/vcr_cassettes/bgs/uploaded_document_service/uploaded_document_data.yml @@ -2,7 +2,7 @@ http_interactions: - request: method: get - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/UploadedDocumentWebServiceBean/UploadedDocumentWebService?WSDL + uri: /UploadedDocumentWebServiceBean/UploadedDocumentWebService?WSDL body: encoding: US-ASCII string: '' @@ -171,7 +171,7 @@ http_interactions: recorded_at: Tue, 25 Aug 2020 15:45:24 GMT - request: method: post - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/UploadedDocumentWebServiceBean/UploadedDocumentWebService + uri: /UploadedDocumentWebServiceBean/UploadedDocumentWebService body: encoding: UTF-8 string: |- @@ -2321,4 +2321,4 @@ http_interactions: Notice AcknowledgementEBNeBenefitsINITIALSECURITY1989052017-01-30T11:00:21-06:00189625ClaimDecisionRequest.pdf5103 Notice AcknowledgementEBNeBenefitsINITIALSECURITY1990292017-01-31T14:07:08-06:00" recorded_at: Tue, 25 Aug 2020 15:45:33 GMT -recorded_with: VCR 6.0.0 \ No newline at end of file +recorded_with: VCR 6.0.0 diff --git a/spec/support/vcr_cassettes/bgs/vnp_benefit_claim/create.yml b/spec/support/vcr_cassettes/bgs/vnp_benefit_claim/create.yml index e8af0378b53..1b6aea157e1 100644 --- a/spec/support/vcr_cassettes/bgs/vnp_benefit_claim/create.yml +++ b/spec/support/vcr_cassettes/bgs/vnp_benefit_claim/create.yml @@ -2,7 +2,7 @@ http_interactions: - request: method: get - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpBnftClaimWebServiceBean/VnpBnftClaimService?WSDL + uri: /VnpBnftClaimWebServiceBean/VnpBnftClaimService?WSDL body: encoding: US-ASCII string: '' @@ -171,7 +171,7 @@ http_interactions: recorded_at: Mon, 20 Jul 2020 22:43:42 GMT - request: method: post - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpBnftClaimWebServiceBean/VnpBnftClaimService + uri: /VnpBnftClaimWebServiceBean/VnpBnftClaimService body: encoding: UTF-8 string: |- @@ -225,4 +225,4 @@ http_interactions: xmlns:work="http://oracle.com/weblogic/soap/workarea/">rO0ABXdKABR3ZWJsb2dpYy5hcHAudm5wLWVhcgAAANYAAAAjd2VibG9naWMud29ya2FyZWEuU3RyaW5nV29ya0NvbnRleHQABTIuMC44AAA=425718N130DPNEBNADJ3352020-07-20T22:43:41Z3352020-07-20T22:43:41Z281VAgovAPIUVAgovAPICOMP146189CURRCP1133721461893828033 recorded_at: Mon, 20 Jul 2020 22:43:44 GMT -recorded_with: VCR 6.0.0 \ No newline at end of file +recorded_with: VCR 6.0.0 diff --git a/spec/support/vcr_cassettes/bgs/vnp_benefit_claim/update.yml b/spec/support/vcr_cassettes/bgs/vnp_benefit_claim/update.yml index 176e84d4c00..0b1599f74b7 100644 --- a/spec/support/vcr_cassettes/bgs/vnp_benefit_claim/update.yml +++ b/spec/support/vcr_cassettes/bgs/vnp_benefit_claim/update.yml @@ -2,7 +2,7 @@ http_interactions: - request: method: get - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpBnftClaimWebServiceBean/VnpBnftClaimService?WSDL + uri: /VnpBnftClaimWebServiceBean/VnpBnftClaimService?WSDL body: encoding: US-ASCII string: '' @@ -171,7 +171,7 @@ http_interactions: recorded_at: Tue, 21 Jul 2020 00:26:33 GMT - request: method: post - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpBnftClaimWebServiceBean/VnpBnftClaimService + uri: /VnpBnftClaimWebServiceBean/VnpBnftClaimService body: encoding: UTF-8 string: |- @@ -225,4 +225,4 @@ http_interactions: xmlns:work="http://oracle.com/weblogic/soap/workarea/">rO0ABXdKABR3ZWJsb2dpYy5hcHAudm5wLWVhcgAAANYAAAAjd2VibG9naWMud29ya2FyZWEuU3RyaW5nV29ya0NvbnRleHQABTIuMC44AAA=425718130DPNEBNADJ3352020-07-20T19:26:30-05:003352020-07-20T19:26:30-05:00281VAgovAPIUVAgovAPICPL146189PENDCP3828033600196508 recorded_at: Tue, 21 Jul 2020 00:26:34 GMT -recorded_with: VCR 6.0.0 \ No newline at end of file +recorded_with: VCR 6.0.0 diff --git a/spec/support/vcr_cassettes/bgs/vnp_proc_form_service/vnp_proc_form_create.yml b/spec/support/vcr_cassettes/bgs/vnp_proc_form_service/vnp_proc_form_create.yml index 628c8e3c426..dd083c565d6 100644 --- a/spec/support/vcr_cassettes/bgs/vnp_proc_form_service/vnp_proc_form_create.yml +++ b/spec/support/vcr_cassettes/bgs/vnp_proc_form_service/vnp_proc_form_create.yml @@ -2,7 +2,7 @@ http_interactions: - request: method: get - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpProcFormWebServiceBean/VnpProcFormService?WSDL + uri: /VnpProcFormWebServiceBean/VnpProcFormService?WSDL body: encoding: US-ASCII string: '' @@ -148,7 +148,7 @@ http_interactions: recorded_at: Wed, 27 Mar 2024 18:49:03 GMT - request: method: post - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpProcFormWebServiceBean/VnpProcFormService + uri: /VnpProcFormWebServiceBean/VnpProcFormService body: encoding: UTF-8 string: | diff --git a/spec/support/vcr_cassettes/bgs/vnp_proc_service_v2/vnp_proc_create.yml b/spec/support/vcr_cassettes/bgs/vnp_proc_service_v2/vnp_proc_create.yml index 3a4be9d2d32..dc448a7fc5c 100644 --- a/spec/support/vcr_cassettes/bgs/vnp_proc_service_v2/vnp_proc_create.yml +++ b/spec/support/vcr_cassettes/bgs/vnp_proc_service_v2/vnp_proc_create.yml @@ -2,7 +2,7 @@ http_interactions: - request: method: get - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpProcWebServiceBeanV2/VnpProcServiceV2?WSDL + uri: /VnpProcWebServiceBeanV2/VnpProcServiceV2?WSDL body: encoding: US-ASCII string: '' @@ -171,7 +171,7 @@ http_interactions: recorded_at: Mon, 25 Mar 2024 16:05:36 GMT - request: method: post - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpProcWebServiceBeanV2/VnpProcServiceV2 + uri: /VnpProcWebServiceBeanV2/VnpProcServiceV2 body: encoding: UTF-8 string: | diff --git a/spec/support/vcr_cassettes/bgs/vnp_ptcpnt_phone_service/vnp_ptcpnt_phone_create.yml b/spec/support/vcr_cassettes/bgs/vnp_ptcpnt_phone_service/vnp_ptcpnt_phone_create.yml index 45077ecae6b..1c8d90c047d 100644 --- a/spec/support/vcr_cassettes/bgs/vnp_ptcpnt_phone_service/vnp_ptcpnt_phone_create.yml +++ b/spec/support/vcr_cassettes/bgs/vnp_ptcpnt_phone_service/vnp_ptcpnt_phone_create.yml @@ -2,7 +2,7 @@ http_interactions: - request: method: get - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpPtcpntPhoneWebServiceBean/VnpPtcpntPhoneService?WSDL + uri: /VnpPtcpntPhoneWebServiceBean/VnpPtcpntPhoneService?WSDL body: encoding: US-ASCII string: '' @@ -171,7 +171,7 @@ http_interactions: recorded_at: Fri, 29 Mar 2024 14:37:13 GMT - request: method: post - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpPtcpntPhoneWebServiceBean/VnpPtcpntPhoneService + uri: /VnpPtcpntPhoneWebServiceBean/VnpPtcpntPhoneService body: encoding: UTF-8 string: | diff --git a/spec/support/vcr_cassettes/bgs/vnp_ptcpnt_service/vnp_ptcpnt_create.yml b/spec/support/vcr_cassettes/bgs/vnp_ptcpnt_service/vnp_ptcpnt_create.yml index cb74fba901d..0ca6ac8b3ca 100644 --- a/spec/support/vcr_cassettes/bgs/vnp_ptcpnt_service/vnp_ptcpnt_create.yml +++ b/spec/support/vcr_cassettes/bgs/vnp_ptcpnt_service/vnp_ptcpnt_create.yml @@ -2,7 +2,7 @@ http_interactions: - request: method: get - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpPtcpntWebServiceBean/VnpPtcpntService?WSDL + uri: /VnpPtcpntWebServiceBean/VnpPtcpntService?WSDL body: encoding: US-ASCII string: '' @@ -171,7 +171,7 @@ http_interactions: recorded_at: Tue, 26 Mar 2024 21:28:36 GMT - request: method: post - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpPtcpntWebServiceBean/VnpPtcpntService + uri: /VnpPtcpntWebServiceBean/VnpPtcpntService body: encoding: UTF-8 string: | diff --git a/spec/support/vcr_cassettes/bgs/vnp_relationships/create/child.yml b/spec/support/vcr_cassettes/bgs/vnp_relationships/create/child.yml index 6d6b36f3236..ac5e030cdb4 100644 --- a/spec/support/vcr_cassettes/bgs/vnp_relationships/create/child.yml +++ b/spec/support/vcr_cassettes/bgs/vnp_relationships/create/child.yml @@ -2,7 +2,7 @@ http_interactions: - request: method: get - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpPtcpntRlnshpWebServiceBean/VnpPtcpntRlnshpService?WSDL + uri: /VnpPtcpntRlnshpWebServiceBean/VnpPtcpntRlnshpService?WSDL body: encoding: US-ASCII string: '' @@ -171,7 +171,7 @@ http_interactions: recorded_at: Sat, 18 Jul 2020 03:03:48 GMT - request: method: post - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpPtcpntRlnshpWebServiceBean/VnpPtcpntRlnshpService + uri: /VnpPtcpntRlnshpWebServiceBean/VnpPtcpntRlnshpService body: encoding: UTF-8 string: |- diff --git a/spec/support/vcr_cassettes/bgs/vnp_relationships/create/death.yml b/spec/support/vcr_cassettes/bgs/vnp_relationships/create/death.yml index af2c9e9c1d4..6b8bd57448f 100644 --- a/spec/support/vcr_cassettes/bgs/vnp_relationships/create/death.yml +++ b/spec/support/vcr_cassettes/bgs/vnp_relationships/create/death.yml @@ -2,7 +2,7 @@ http_interactions: - request: method: get - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpPtcpntRlnshpWebServiceBean/VnpPtcpntRlnshpService?WSDL + uri: /VnpPtcpntRlnshpWebServiceBean/VnpPtcpntRlnshpService?WSDL body: encoding: US-ASCII string: '' @@ -171,7 +171,7 @@ http_interactions: recorded_at: Sat, 18 Jul 2020 03:03:42 GMT - request: method: post - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpPtcpntRlnshpWebServiceBean/VnpPtcpntRlnshpService + uri: /VnpPtcpntRlnshpWebServiceBean/VnpPtcpntRlnshpService body: encoding: UTF-8 string: |- diff --git a/spec/support/vcr_cassettes/bgs/vnp_relationships/create/marriage_history.yml b/spec/support/vcr_cassettes/bgs/vnp_relationships/create/marriage_history.yml index abae18c0851..c029826cef7 100644 --- a/spec/support/vcr_cassettes/bgs/vnp_relationships/create/marriage_history.yml +++ b/spec/support/vcr_cassettes/bgs/vnp_relationships/create/marriage_history.yml @@ -2,7 +2,7 @@ http_interactions: - request: method: get - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpPtcpntRlnshpWebServiceBean/VnpPtcpntRlnshpService?WSDL + uri: /VnpPtcpntRlnshpWebServiceBean/VnpPtcpntRlnshpService?WSDL body: encoding: US-ASCII string: '' @@ -171,7 +171,7 @@ http_interactions: recorded_at: Sat, 18 Jul 2020 03:03:46 GMT - request: method: post - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpPtcpntRlnshpWebServiceBean/VnpPtcpntRlnshpService + uri: /VnpPtcpntRlnshpWebServiceBean/VnpPtcpntRlnshpService body: encoding: UTF-8 string: |- diff --git a/spec/support/vcr_cassettes/bgs/vnp_relationships/create/spouse.yml b/spec/support/vcr_cassettes/bgs/vnp_relationships/create/spouse.yml index 47d9e4dd991..823c54a38b7 100644 --- a/spec/support/vcr_cassettes/bgs/vnp_relationships/create/spouse.yml +++ b/spec/support/vcr_cassettes/bgs/vnp_relationships/create/spouse.yml @@ -2,7 +2,7 @@ http_interactions: - request: method: get - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpPtcpntRlnshpWebServiceBean/VnpPtcpntRlnshpService?WSDL + uri: /VnpPtcpntRlnshpWebServiceBean/VnpPtcpntRlnshpService?WSDL body: encoding: US-ASCII string: '' @@ -171,7 +171,7 @@ http_interactions: recorded_at: Sat, 18 Jul 2020 03:03:44 GMT - request: method: post - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpPtcpntRlnshpWebServiceBean/VnpPtcpntRlnshpService + uri: /VnpPtcpntRlnshpWebServiceBean/VnpPtcpntRlnshpService body: encoding: UTF-8 string: |- diff --git a/spec/support/vcr_cassettes/bgs/vnp_relationships/step_children.yml b/spec/support/vcr_cassettes/bgs/vnp_relationships/step_children.yml index 428017a1c66..1d7a4cbf568 100644 --- a/spec/support/vcr_cassettes/bgs/vnp_relationships/step_children.yml +++ b/spec/support/vcr_cassettes/bgs/vnp_relationships/step_children.yml @@ -2,7 +2,7 @@ http_interactions: - request: method: get - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpPtcpntRlnshpWebServiceBean/VnpPtcpntRlnshpService?WSDL + uri: /VnpPtcpntRlnshpWebServiceBean/VnpPtcpntRlnshpService?WSDL body: encoding: US-ASCII string: '' @@ -171,7 +171,7 @@ http_interactions: recorded_at: Thu, 27 Aug 2020 14:56:55 GMT - request: method: post - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpPtcpntRlnshpWebServiceBean/VnpPtcpntRlnshpService + uri: /VnpPtcpntRlnshpWebServiceBean/VnpPtcpntRlnshpService body: encoding: UTF-8 string: |- @@ -227,7 +227,7 @@ http_interactions: recorded_at: Thu, 27 Aug 2020 14:56:56 GMT - request: method: get - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpPtcpntRlnshpWebServiceBean/VnpPtcpntRlnshpService?WSDL + uri: /VnpPtcpntRlnshpWebServiceBean/VnpPtcpntRlnshpService?WSDL body: encoding: US-ASCII string: '' @@ -396,7 +396,7 @@ http_interactions: recorded_at: Thu, 27 Aug 2020 14:56:57 GMT - request: method: post - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpPtcpntRlnshpWebServiceBean/VnpPtcpntRlnshpService + uri: /VnpPtcpntRlnshpWebServiceBean/VnpPtcpntRlnshpService body: encoding: UTF-8 string: |- diff --git a/spec/support/vcr_cassettes/bgs/vnp_veteran/create.yml b/spec/support/vcr_cassettes/bgs/vnp_veteran/create.yml index e83c63478df..a0267621798 100644 --- a/spec/support/vcr_cassettes/bgs/vnp_veteran/create.yml +++ b/spec/support/vcr_cassettes/bgs/vnp_veteran/create.yml @@ -2,7 +2,7 @@ http_interactions: - request: method: get - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpPtcpntWebServiceBean/VnpPtcpntService?WSDL + uri: /VnpPtcpntWebServiceBean/VnpPtcpntService?WSDL body: encoding: US-ASCII string: '' @@ -171,7 +171,7 @@ http_interactions: recorded_at: Mon, 21 Sep 2020 20:57:42 GMT - request: method: post - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpPtcpntWebServiceBean/VnpPtcpntService + uri: /VnpPtcpntWebServiceBean/VnpPtcpntService body: encoding: UTF-8 string: |- @@ -227,7 +227,7 @@ http_interactions: recorded_at: Mon, 21 Sep 2020 20:57:43 GMT - request: method: get - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/StandardDataWebServiceBean/StandardDataWebService?WSDL + uri: /StandardDataWebServiceBean/StandardDataWebService?WSDL body: encoding: US-ASCII string: '' @@ -1101,7 +1101,7 @@ http_interactions: recorded_at: Mon, 21 Sep 2020 20:57:43 GMT - request: method: post - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/StandardDataWebServiceBean/StandardDataWebService + uri: /StandardDataWebServiceBean/StandardDataWebService body: encoding: UTF-8 string: |- @@ -1157,7 +1157,7 @@ http_interactions: recorded_at: Mon, 21 Sep 2020 20:57:44 GMT - request: method: get - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/StandardDataWebServiceBean/StandardDataWebService?WSDL + uri: /StandardDataWebServiceBean/StandardDataWebService?WSDL body: encoding: US-ASCII string: '' @@ -2031,7 +2031,7 @@ http_interactions: recorded_at: Wed, 28 Oct 2020 19:13:47 GMT - request: method: post - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/StandardDataWebServiceBean/StandardDataWebService + uri: /StandardDataWebServiceBean/StandardDataWebService body: encoding: UTF-8 string: |- @@ -2134,7 +2134,7 @@ http_interactions: recorded_at: Wed, 28 Oct 2020 19:13:48 GMT - request: method: get - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpPtcpntAddrsWebServiceBean/VnpPtcpntAddrsService?WSDL + uri: /VnpPtcpntAddrsWebServiceBean/VnpPtcpntAddrsService?WSDL body: encoding: US-ASCII string: '' @@ -2303,7 +2303,7 @@ http_interactions: recorded_at: Mon, 21 Sep 2020 20:57:44 GMT - request: method: post - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpPtcpntAddrsWebServiceBean/VnpPtcpntAddrsService + uri: /VnpPtcpntAddrsWebServiceBean/VnpPtcpntAddrsService body: encoding: UTF-8 string: |- @@ -2360,7 +2360,7 @@ http_interactions: recorded_at: Mon, 21 Sep 2020 20:57:45 GMT - request: method: post - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpPtcpntAddrsWebServiceBean/VnpPtcpntAddrsService + uri: /VnpPtcpntAddrsWebServiceBean/VnpPtcpntAddrsService body: encoding: UTF-8 string: |- @@ -2417,7 +2417,7 @@ http_interactions: recorded_at: Mon, 21 Sep 2020 20:57:45 GMT - request: method: post - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpPtcpntAddrsWebServiceBean/VnpPtcpntAddrsService + uri: /VnpPtcpntAddrsWebServiceBean/VnpPtcpntAddrsService body: encoding: UTF-8 string: |- @@ -2474,7 +2474,7 @@ http_interactions: recorded_at: Mon, 21 Sep 2020 20:57:45 GMT - request: method: get - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/RORoutingServiceWS/RORoutingService?WSDL + uri: /RORoutingServiceWS/RORoutingService?WSDL body: encoding: US-ASCII string: '' @@ -2554,7 +2554,7 @@ http_interactions: recorded_at: Mon, 21 Sep 2020 20:57:46 GMT - request: method: post - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/RORoutingServiceWS/RORoutingService + uri: /RORoutingServiceWS/RORoutingService body: encoding: UTF-8 string: |- @@ -2610,7 +2610,7 @@ http_interactions: recorded_at: Mon, 21 Sep 2020 20:57:46 GMT - request: method: get - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpPersonWebServiceBean/VnpPersonService?WSDL + uri: /VnpPersonWebServiceBean/VnpPersonService?WSDL body: encoding: US-ASCII string: '' @@ -2779,7 +2779,7 @@ http_interactions: recorded_at: Mon, 21 Sep 2020 20:57:47 GMT - request: method: post - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpPersonWebServiceBean/VnpPersonService + uri: /VnpPersonWebServiceBean/VnpPersonService body: encoding: UTF-8 string: |- @@ -2835,7 +2835,7 @@ http_interactions: recorded_at: Mon, 21 Sep 2020 20:57:48 GMT - request: method: get - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpPtcpntPhoneWebServiceBean/VnpPtcpntPhoneService?WSDL + uri: /VnpPtcpntPhoneWebServiceBean/VnpPtcpntPhoneService?WSDL body: encoding: US-ASCII string: '' @@ -3004,7 +3004,7 @@ http_interactions: recorded_at: Mon, 21 Sep 2020 20:57:48 GMT - request: method: post - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/VnpPtcpntPhoneWebServiceBean/VnpPtcpntPhoneService + uri: /VnpPtcpntPhoneWebServiceBean/VnpPtcpntPhoneService body: encoding: UTF-8 string: |- @@ -3058,4 +3058,4 @@ http_interactions: xmlns:work="http://oracle.com/weblogic/soap/workarea/">rO0ABXdKABR3ZWJsb2dpYy5hcHAudm5wLWVhcgAAANYAAAAjd2VibG9naWMud29ya2FyZWEuU3RyaW5nV29ya0NvbnRleHQABTIuMC44AAA=7838012345151031Daytime11122233332020-09-21T20:57:48Z2020-09-21T20:57:48Z281VAgovAPIUVAgovAPI recorded_at: Mon, 21 Sep 2020 20:57:49 GMT -recorded_with: VCR 6.0.0 \ No newline at end of file +recorded_with: VCR 6.0.0 diff --git a/spec/support/vcr_cassettes/debts/person_data_and_letters.yml b/spec/support/vcr_cassettes/debts/person_data_and_letters.yml index 4b66eac4398..0decc8a5a10 100644 --- a/spec/support/vcr_cassettes/debts/person_data_and_letters.yml +++ b/spec/support/vcr_cassettes/debts/person_data_and_letters.yml @@ -2,7 +2,7 @@ http_interactions: - request: method: get - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/PersonWebServiceBean/PersonWebService?WSDL + uri: /PersonWebServiceBean/PersonWebService?WSDL body: encoding: US-ASCII string: '' @@ -655,7 +655,7 @@ http_interactions: recorded_at: Fri, 12 Jun 2020 02:57:30 GMT - request: method: post - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/PersonWebServiceBean/PersonWebService + uri: /PersonWebServiceBean/PersonWebService body: encoding: UTF-8 string: |- diff --git a/spec/support/vcr_cassettes/dgi/forms/submit_toe_claim.yml b/spec/support/vcr_cassettes/dgi/forms/submit_toe_claim.yml index d0ac2bee740..02ccb82924f 100644 --- a/spec/support/vcr_cassettes/dgi/forms/submit_toe_claim.yml +++ b/spec/support/vcr_cassettes/dgi/forms/submit_toe_claim.yml @@ -2,7 +2,7 @@ http_interactions: - request: method: get - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/BenefitClaimServiceBean/BenefitClaimWebService?WSDL + uri: /BenefitClaimServiceBean/BenefitClaimWebService?WSDL body: encoding: US-ASCII string: '' @@ -355,7 +355,7 @@ http_interactions: recorded_at: Wed, 30 Sep 2020 21:04:37 GMT - request: method: post - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/BenefitClaimServiceBean/BenefitClaimWebService + uri: /BenefitClaimServiceBean/BenefitClaimWebService body: encoding: UTF-8 string: |- @@ -442,4 +442,4 @@ http_interactions: encoding: UTF-8 string: '' recorded_at: Thu, 30 Dec 2021 14:30:12 GMT -recorded_with: VCR 6.0.0 \ No newline at end of file +recorded_with: VCR 6.0.0 diff --git a/spec/support/vcr_cassettes/mobile/payment_history/retrieve_payment_summary_with_bdn.yml b/spec/support/vcr_cassettes/mobile/payment_history/retrieve_payment_summary_with_bdn.yml index 426347b4e22..4815a883048 100644 --- a/spec/support/vcr_cassettes/mobile/payment_history/retrieve_payment_summary_with_bdn.yml +++ b/spec/support/vcr_cassettes/mobile/payment_history/retrieve_payment_summary_with_bdn.yml @@ -2,7 +2,7 @@ http_interactions: - request: method: get - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/PersonWebServiceBean/PersonWebService?WSDL + uri: /PersonWebServiceBean/PersonWebService?WSDL body: encoding: US-ASCII string: '' @@ -700,7 +700,7 @@ http_interactions: recorded_at: Tue, 06 Oct 2020 19:10:30 GMT - request: method: post - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/PersonWebServiceBean/PersonWebService + uri: /PersonWebServiceBean/PersonWebService body: encoding: UTF-8 string: |- @@ -757,7 +757,7 @@ http_interactions: recorded_at: Tue, 06 Oct 2020 19:10:31 GMT - request: method: get - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/vrm-ws/PaymentInformationService?WSDL + uri: /vrm-ws/PaymentInformationService?WSDL body: encoding: US-ASCII string: '' @@ -1033,7 +1033,7 @@ http_interactions: recorded_at: Tue, 06 Oct 2020 19:10:32 GMT - request: method: post - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/vrm-ws/PaymentInformationService + uri: /vrm-ws/PaymentInformationService body: encoding: UTF-8 string: |- diff --git a/spec/support/vcr_cassettes/mobile/payment_history/retrieve_payment_summary_with_bdn_blank_date.yml b/spec/support/vcr_cassettes/mobile/payment_history/retrieve_payment_summary_with_bdn_blank_date.yml index f6d30e7ff7a..30e62f6dfb8 100644 --- a/spec/support/vcr_cassettes/mobile/payment_history/retrieve_payment_summary_with_bdn_blank_date.yml +++ b/spec/support/vcr_cassettes/mobile/payment_history/retrieve_payment_summary_with_bdn_blank_date.yml @@ -2,7 +2,7 @@ http_interactions: - request: method: get - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/PersonWebServiceBean/PersonWebService?WSDL + uri: /PersonWebServiceBean/PersonWebService?WSDL body: encoding: US-ASCII string: '' @@ -700,7 +700,7 @@ http_interactions: recorded_at: Tue, 06 Oct 2020 19:10:30 GMT - request: method: post - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/PersonWebServiceBean/PersonWebService + uri: /PersonWebServiceBean/PersonWebService body: encoding: UTF-8 string: |- @@ -757,7 +757,7 @@ http_interactions: recorded_at: Tue, 06 Oct 2020 19:10:31 GMT - request: method: get - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/vrm-ws/PaymentInformationService?WSDL + uri: /vrm-ws/PaymentInformationService?WSDL body: encoding: US-ASCII string: '' @@ -1033,7 +1033,7 @@ http_interactions: recorded_at: Tue, 06 Oct 2020 19:10:32 GMT - request: method: post - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/vrm-ws/PaymentInformationService + uri: /vrm-ws/PaymentInformationService body: encoding: UTF-8 string: |- diff --git a/spec/support/vcr_cassettes/mobile/payment_history/retrieve_payment_summary_with_bdn_only_blank_dates.yml b/spec/support/vcr_cassettes/mobile/payment_history/retrieve_payment_summary_with_bdn_only_blank_dates.yml index 7bd41a45a93..4c40b2793e4 100644 --- a/spec/support/vcr_cassettes/mobile/payment_history/retrieve_payment_summary_with_bdn_only_blank_dates.yml +++ b/spec/support/vcr_cassettes/mobile/payment_history/retrieve_payment_summary_with_bdn_only_blank_dates.yml @@ -2,7 +2,7 @@ http_interactions: - request: method: get - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/PersonWebServiceBean/PersonWebService?WSDL + uri: /PersonWebServiceBean/PersonWebService?WSDL body: encoding: US-ASCII string: '' @@ -700,7 +700,7 @@ http_interactions: recorded_at: Tue, 06 Oct 2020 19:10:30 GMT - request: method: post - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/PersonWebServiceBean/PersonWebService + uri: /PersonWebServiceBean/PersonWebService body: encoding: UTF-8 string: |- @@ -757,7 +757,7 @@ http_interactions: recorded_at: Tue, 06 Oct 2020 19:10:31 GMT - request: method: get - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/vrm-ws/PaymentInformationService?WSDL + uri: /vrm-ws/PaymentInformationService?WSDL body: encoding: US-ASCII string: '' @@ -1033,7 +1033,7 @@ http_interactions: recorded_at: Tue, 06 Oct 2020 19:10:32 GMT - request: method: post - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/vrm-ws/PaymentInformationService + uri: /vrm-ws/PaymentInformationService body: encoding: UTF-8 string: |- diff --git a/spec/support/vcr_cassettes/veteran_readiness_employment/add_claimant_info.yml b/spec/support/vcr_cassettes/veteran_readiness_employment/add_claimant_info.yml index 26504c5d60b..90e4f9739d6 100644 --- a/spec/support/vcr_cassettes/veteran_readiness_employment/add_claimant_info.yml +++ b/spec/support/vcr_cassettes/veteran_readiness_employment/add_claimant_info.yml @@ -2,7 +2,7 @@ http_interactions: - request: method: get - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/PersonWebServiceBean/PersonWebService?WSDL + uri: /PersonWebServiceBean/PersonWebService?WSDL body: encoding: US-ASCII string: '' @@ -700,7 +700,7 @@ http_interactions: recorded_at: Tue, 03 Nov 2020 14:27:51 GMT - request: method: post - uri: https://internal-dsva-vagov-dev-fwdproxy-1893365470.us-gov-west-1.elb.amazonaws.com:4447/PersonWebServiceBean/PersonWebService + uri: /PersonWebServiceBean/PersonWebService body: encoding: UTF-8 string: |- From 4320aaf201a6d526145779510292043992d3c5ce Mon Sep 17 00:00:00 2001 From: Riley Anderson Date: Fri, 12 Apr 2024 13:14:28 -0600 Subject: [PATCH 17/74] Remove unique and reduce retries in SignUpServiceUpdaterJob (#16307) --- app/sidekiq/terms_of_use/sign_up_service_updater_job.rb | 3 +-- .../terms_of_use/sign_up_service_updater_job_spec.rb | 6 ++---- 2 files changed, 3 insertions(+), 6 deletions(-) diff --git a/app/sidekiq/terms_of_use/sign_up_service_updater_job.rb b/app/sidekiq/terms_of_use/sign_up_service_updater_job.rb index 307797272e8..d0edfc38f8e 100644 --- a/app/sidekiq/terms_of_use/sign_up_service_updater_job.rb +++ b/app/sidekiq/terms_of_use/sign_up_service_updater_job.rb @@ -7,8 +7,7 @@ module TermsOfUse class SignUpServiceUpdaterJob include Sidekiq::Job - sidekiq_options unique_for: 2.days - sidekiq_options retry: 15 # 2.1 days using exponential backoff + sidekiq_options retry: 5 # ~17 mins sidekiq_retries_exhausted do |job, exception| Rails.logger.warn( diff --git a/spec/sidekiq/terms_of_use/sign_up_service_updater_job_spec.rb b/spec/sidekiq/terms_of_use/sign_up_service_updater_job_spec.rb index 65086fbcbc0..25a6fbd12bc 100644 --- a/spec/sidekiq/terms_of_use/sign_up_service_updater_job_spec.rb +++ b/spec/sidekiq/terms_of_use/sign_up_service_updater_job_spec.rb @@ -23,8 +23,8 @@ allow(Sidekiq::AttrPackage).to receive(:delete) end - it 'retries 15 times after failure' do - expect(described_class.get_sidekiq_options['retry']).to eq(15) + it 'retries 5 times after failure' do + expect(described_class.get_sidekiq_options['retry']).to eq(5) end it 'logs a message when retries have been exhausted' do @@ -45,8 +45,6 @@ ) end - it { is_expected.to be_unique } - context 'when the terms of use agreement is accepted' do before do allow(service_instance).to receive(:agreements_accept) From 353d2ef6eb037d91f229405daeed044b1bfd21e4 Mon Sep 17 00:00:00 2001 From: Casey Williams Date: Fri, 12 Apr 2024 13:00:52 -0700 Subject: [PATCH 18/74] API-34961 Update Decision Reviews PII removal policy (#16303) Uses updated logic for removal of PII from decision reviews records - this behavior is controlled by the `decision_review_updated_pii_rules` Flipper flag. --- config/features.yml | 3 + .../models/appeals_api/higher_level_review.rb | 2 + .../appeals_api/notice_of_disagreement.rb | 1 + .../models/appeals_api/supplemental_claim.rb | 2 + .../concerns/appeals_api/appeal_scopes.rb | 36 +++++ .../app/services/appeals_api/remove_pii.rb | 14 +- .../services/appeals_api/remove_pii_spec.rb | 150 ++++++++++++++++++ 7 files changed, 201 insertions(+), 7 deletions(-) create mode 100644 modules/appeals_api/app/models/concerns/appeals_api/appeal_scopes.rb diff --git a/config/features.yml b/config/features.yml index 01a1dcc3390..d103dda9ffa 100644 --- a/config/features.yml +++ b/config/features.yml @@ -320,6 +320,9 @@ features: decision_review_delay_evidence: actor_type: user description: Ensures that NOD and SC evidence is not received in Central Mail before the appeal itself + decision_review_updated_pii_rules: + actor_type: user + description: Uses udpated rules for when to clear PII from appeals_api records dependency_verification: actor_type: user description: Feature gates the dependency verification modal for updating the diaries service. diff --git a/modules/appeals_api/app/models/appeals_api/higher_level_review.rb b/modules/appeals_api/app/models/appeals_api/higher_level_review.rb index 0a6251cda7a..e718556a414 100644 --- a/modules/appeals_api/app/models/appeals_api/higher_level_review.rb +++ b/modules/appeals_api/app/models/appeals_api/higher_level_review.rb @@ -5,9 +5,11 @@ module AppealsApi class HigherLevelReview < ApplicationRecord + include AppealScopes include HlrStatus include PdfOutputPrep include ModelValidations + required_claimant_headers %w[ X-VA-NonVeteranClaimant-First-Name X-VA-NonVeteranClaimant-Last-Name diff --git a/modules/appeals_api/app/models/appeals_api/notice_of_disagreement.rb b/modules/appeals_api/app/models/appeals_api/notice_of_disagreement.rb index 31a07d91ec8..a5fbe41e75f 100644 --- a/modules/appeals_api/app/models/appeals_api/notice_of_disagreement.rb +++ b/modules/appeals_api/app/models/appeals_api/notice_of_disagreement.rb @@ -5,6 +5,7 @@ module AppealsApi class NoticeOfDisagreement < ApplicationRecord + include AppealScopes include NodStatus include PdfOutputPrep include ModelValidations diff --git a/modules/appeals_api/app/models/appeals_api/supplemental_claim.rb b/modules/appeals_api/app/models/appeals_api/supplemental_claim.rb index 2bfafbf9bae..d994814374a 100644 --- a/modules/appeals_api/app/models/appeals_api/supplemental_claim.rb +++ b/modules/appeals_api/app/models/appeals_api/supplemental_claim.rb @@ -4,9 +4,11 @@ module AppealsApi class SupplementalClaim < ApplicationRecord + include AppealScopes include ScStatus include PdfOutputPrep include ModelValidations + required_claimant_headers %w[X-VA-NonVeteranClaimant-First-Name X-VA-NonVeteranClaimant-Last-Name] attr_readonly :auth_headers diff --git a/modules/appeals_api/app/models/concerns/appeals_api/appeal_scopes.rb b/modules/appeals_api/app/models/concerns/appeals_api/appeal_scopes.rb new file mode 100644 index 00000000000..ddc4860526d --- /dev/null +++ b/modules/appeals_api/app/models/concerns/appeals_api/appeal_scopes.rb @@ -0,0 +1,36 @@ +# frozen_string_literal: true + +module AppealsApi + module AppealScopes + extend ActiveSupport::Concern + + included do + scope :without_status_updates_since, lambda { |time| + status_update_table = AppealsApi::StatusUpdate.table_name + join_clause = <<~JOIN + LEFT JOIN #{status_update_table} + ON #{table_name}.id = CAST(#{status_update_table}.statusable_id as uuid) + AND #{status_update_table}.id IS NULL + AND #{status_update_table}.statusable_type = '#{sanitize_sql(klass.name)}' + JOIN + where("#{table_name}.updated_at <= ?", time) + .where.not(id: joins(join_clause).where("#{status_update_table}.created_at >= ?", time).distinct.pluck(:id)) + } + + scope :with_pii, -> { where.not(form_data_ciphertext: nil).or(where.not(auth_headers_ciphertext: nil)) } + + scope :with_expired_pii, lambda { + # PII should be removed if... + # (1) appeal is in any state and the status last changed 45+ days ago, or... + with_pii.without_status_updates_since(45.days.ago) + # (2) appeal is in 'complete' or 'success' status and status last changed 7+ days ago, or... + .or(with_pii.where(table_name => { status: %w[complete success] }) + .without_status_updates_since(7.days.ago)) + # (3) appeal has 'Unidentified Mail' error and status last changed 7+ days ago. + .or(with_pii.where(table_name => { status: 'error' }) + .where(klass.arel_table[:detail].matches('%%Unidentified Mail%%')) + .without_status_updates_since(7.days.ago)) + } + end + end +end diff --git a/modules/appeals_api/app/services/appeals_api/remove_pii.rb b/modules/appeals_api/app/services/appeals_api/remove_pii.rb index 0828cb63f4a..39fd91d8673 100644 --- a/modules/appeals_api/app/services/appeals_api/remove_pii.rb +++ b/modules/appeals_api/app/services/appeals_api/remove_pii.rb @@ -41,13 +41,13 @@ def valid_form_type? end def records_to_be_expunged - @records_to_be_expunged ||= - form_type.where.not(form_data_ciphertext: nil) - .or( - form_type.where.not( - auth_headers_ciphertext: nil - ) - ).pii_expunge_policy + @records_to_be_expunged ||= if Flipper.enabled?(:decision_review_updated_pii_rules) + form_type.with_expired_pii + else + form_type.where.not(form_data_ciphertext: nil) + .or(form_type.where.not(auth_headers_ciphertext: nil)) + .pii_expunge_policy + end end def records_were_not_cleared(result) diff --git a/modules/appeals_api/spec/services/appeals_api/remove_pii_spec.rb b/modules/appeals_api/spec/services/appeals_api/remove_pii_spec.rb index 659808ce983..8599a4838f5 100644 --- a/modules/appeals_api/spec/services/appeals_api/remove_pii_spec.rb +++ b/modules/appeals_api/spec/services/appeals_api/remove_pii_spec.rb @@ -3,8 +3,158 @@ require 'rails_helper' require AppealsApi::Engine.root.join('spec', 'spec_helper.rb') +def update_appeal_status(appeal, status, code: nil, detail: nil) + # At the time of writing, the `update_status` method for each appeal model involves kicking off a sidekiq job to + # create a matching StatusUpdate record. This is unwieldy in tests, so this method approximates the + # `appeal.update_status!` method without involving sidekiq. + appeal.update!(status:, code:, detail:) + + AppealsApi::StatusUpdate.create!( + from: appeal.status, + to: status, + status_update_time: Time.zone.now, + statusable_id: appeal.id, + statusable_type: appeal.class.name, + code:, + detail: + ) + + appeal +end + +shared_examples 'removes expired PII' do + let(:now) { Time.zone.now } + let(:code) { 'DOC202' } + let(:detail) { "Upstream status: #{VBADocuments::UploadSubmission::ERROR_UNIDENTIFIED_MAIL}" } + let(:misc_appeal_types) do + %i[minimal_notice_of_disagreement extra_notice_of_disagreement_v2 extra_notice_of_disagreement_v0 + higher_level_review_v1 extra_higher_level_review_v2 minimal_higher_level_review_v0 + extra_supplemental_claim minimal_supplemental_claim_v0] + end + + def create_appeals = [FactoryBot.create(v0_factory), FactoryBot.create(v2_factory)] + + def create_misc_appeals = create_appeals + misc_appeal_types.map { |f| FactoryBot.create(f) } + + let!(:unexpired_appeals) do # These should all be ignored and remain unchanged + appeals = [] + + # These otherwise meet removal criteria (1, 2, 3) but are not old enough + Timecop.freeze(now) do + appeals += create_misc_appeals + appeals += create_misc_appeals.map { |appeal| update_appeal_status(appeal, 'complete') } + appeals += create_misc_appeals.map { |appeal| update_appeal_status(appeal, 'success') } + appeals += create_misc_appeals.map { |appeal| update_appeal_status(appeal, 'error', code:, detail:) } + end + + # These are old enough to meet removal criteria around status updates (1) but will be disqualified by having more + # recent updates to the model + oldest_appeals = [] + Timecop.freeze(now - 45.days) do + oldest_appeals += create_misc_appeals.map { |appeal| update_appeal_status(appeal, 'processing') } + end + Timecop.freeze(now - 30.days) { oldest_appeals.map { |appeal| appeal.update(updated_at: Time.zone.now) } } + appeals += oldest_appeals + + # These are old enough to meet removal criteria (2, 3), but... + Timecop.freeze(now - 7.days) do + appeals += create_misc_appeals # (2) they are not in a 'success' or 'complete' state + appeals += create_misc_appeals.map do |appeal| # (3) they have an error other than "Unidentified Mail" + update_appeal_status(appeal, 'error', code: 'DOC104', detail: 'Other error') + end + end + + appeals + end + + let!(:expired_oldest_appeals) do + Timecop.freeze(now - 45.days) do + create_appeals + # These should be selected even though there are no status updates + create_appeals.map { |appeal| update_appeal_status(appeal, 'submitted') } + end + end + + let!(:expired_errored_appeals) do + Timecop.freeze(now - 7.days) do + create_appeals.map { |appeal| update_appeal_status(appeal, 'error', code:, detail:) } + end + end + + let!(:expired_done_appeals) do + Timecop.freeze(now - 7.days) do + successes = create_appeals.map { |appeal| update_appeal_status(appeal, 'success') } + completes = create_appeals.map { |appeal| update_appeal_status(appeal, 'complete') } + successes + completes + end + end + + let(:expired_appeals) { expired_oldest_appeals + expired_errored_appeals + expired_done_appeals } + + before { AppealsApi::RemovePii.new(form_type:).run! } + + it 'does not remove unexpired PII' do + unexpired_appeals.each do |appeal| + appeal.reload + expect(appeal.form_data).to be_present + expect(appeal.auth_headers).to be_present if appeal.api_version == 'V2' + end + end + + it 'removes oldest expired PII' do + expired_oldest_appeals.each do |appeal| + appeal.reload + expect(appeal.form_data).to be_blank + expect(appeal.auth_headers).to be_blank + end + end + + it 'removes old complete/success PII' do + expired_done_appeals.each do |appeal| + appeal.reload + expect(appeal.form_data).to be_blank + expect(appeal.auth_headers).to be_blank + end + end + + it 'removes old Unidentified Mail errored PII' do + expired_errored_appeals.each do |appeal| + appeal.reload + expect(appeal.form_data).to be_blank + expect(appeal.auth_headers).to be_blank + end + end +end + describe AppealsApi::RemovePii do + describe '#run! with new PII rules' do + context 'with Higher-Level Review' do + let(:v2_factory) { :higher_level_review_v2 } + let(:v0_factory) { :higher_level_review_v0 } + let(:form_type) { AppealsApi::HigherLevelReview } + + include_examples 'removes expired PII' + end + + context 'with Supplemental Claim' do + let(:v2_factory) { :supplemental_claim } + let(:v0_factory) { :supplemental_claim_v0 } + let(:form_type) { AppealsApi::SupplementalClaim } + + include_examples 'removes expired PII' + end + + context 'with Notice of Disagreement' do + let(:v2_factory) { :notice_of_disagreement_v2 } + let(:v0_factory) { :notice_of_disagreement_v0 } + let(:form_type) { AppealsApi::NoticeOfDisagreement } + + include_examples 'removes expired PII' + end + end + describe '#run!' do + before { Flipper.disable :decision_review_updated_pii_rules } + it 'raises an ArgumentError if an invalid form type is supplied' do expect { AppealsApi::RemovePii.new(form_type: 'Invalid').run! }.to raise_error(ArgumentError) end From fe76f3b182e9e04676527c6a92b2d4adfd9d27df Mon Sep 17 00:00:00 2001 From: Tom Harrison Date: Fri, 12 Apr 2024 20:53:10 -0400 Subject: [PATCH 19/74] Update feature flag for direct deposit merge (#16315) --- .../v0/profile/direct_deposits_controller.rb | 11 ++++ lib/lighthouse/direct_deposit/error_parser.rb | 50 ++++++++----------- .../direct_deposit/error_response.rb | 4 ++ ...isability_compensations_controller_spec.rb | 39 --------------- 4 files changed, 37 insertions(+), 67 deletions(-) diff --git a/app/controllers/v0/profile/direct_deposits_controller.rb b/app/controllers/v0/profile/direct_deposits_controller.rb index 010be5c416a..4d4f6b92316 100644 --- a/app/controllers/v0/profile/direct_deposits_controller.rb +++ b/app/controllers/v0/profile/direct_deposits_controller.rb @@ -19,6 +19,9 @@ class DirectDepositsController < ApplicationController error = { status: exception.status_code, body: exception.errors.first } response = Lighthouse::DirectDeposit::ErrorParser.parse(error) + # temporary - will be removed after direct deposit merge is complete + update_error_code_prefix(response) if single_form_enabled? + render status: response.status, json: response.body end @@ -41,6 +44,14 @@ def update private + def single_form_enabled? + Flipper.enabled?(:profile_show_direct_deposit_single_form, @current_user) + end + + def update_error_code_prefix(response) + response.code = response.code.sub('cnp.payment', 'direct.deposit') + end + def client @client ||= DirectDeposit::Client.new(@current_user.icn) end diff --git a/lib/lighthouse/direct_deposit/error_parser.rb b/lib/lighthouse/direct_deposit/error_parser.rb index 954a0b7ebe8..5539399340a 100644 --- a/lib/lighthouse/direct_deposit/error_parser.rb +++ b/lib/lighthouse/direct_deposit/error_parser.rb @@ -44,35 +44,29 @@ def self.parse_detail(body) end def self.parse_code(detail) # rubocop:disable Metrics/MethodLength - return "#{prefix}.api.rate.limit.exceeded" if detail.include? 'API rate limit exceeded' - return "#{prefix}.api.gateway.timeout" if detail.include? 'Did not receive a timely response' - return "#{prefix}.invalid.authentication.creds" if detail.include? 'Invalid authentication credentials' - return "#{prefix}.invalid.token" if detail.include? 'Invalid token' - return "#{prefix}.invalid.scopes" if detail.include? 'scopes are not configured' - return "#{prefix}.icn.not.found" if detail.include? 'No data found for ICN' - return "#{prefix}.icn.invalid" if detail.include? 'getDirectDeposit.icn size' - return "#{prefix}.account.number.invalid" if detail.include? 'payment.accountNumber.invalid' - return "#{prefix}.account.type.invalid" if detail.include? 'payment.accountType.invalid' - return "#{prefix}.account.number.fraud" if detail.include? 'Flashes on record' - return "#{prefix}.routing.number.invalid.checksum" if detail.include? 'accountRoutingNumber.invalidCheckSum' - return "#{prefix}.routing.number.invalid" if detail.include? 'payment.accountRoutingNumber.invalid' - return "#{prefix}.routing.number.fraud" if detail.include? 'Routing number related to potential fraud' - return "#{prefix}.restriction.indicators.present" if detail.include? 'restriction.indicators.present' - return "#{prefix}.day.phone.number.invalid" if detail.include? 'Day phone number is invalid' - return "#{prefix}.day.area.number.invalid" if detail.include? 'Day area number is invalid' - return "#{prefix}.night.phone.number.invalid" if detail.include? 'Night phone number is invalid' - return "#{prefix}.night.area.number.invalid" if detail.include? 'Night area number is invalid' - return "#{prefix}.mailing.address.invalid" if detail.include? 'field not entered for mailing address update' - return "#{prefix}.potential.fraud" if detail.include? 'GUIE50041' - return "#{prefix}.unspecified.error" if detail.include? 'GUIE50022' + return 'cnp.payment.api.rate.limit.exceeded' if detail.include? 'API rate limit exceeded' + return 'cnp.payment.api.gateway.timeout' if detail.include? 'Did not receive a timely response' + return 'cnp.payment.invalid.authentication.creds' if detail.include? 'Invalid authentication credentials' + return 'cnp.payment.invalid.token' if detail.include? 'Invalid token' + return 'cnp.payment.invalid.scopes' if detail.include? 'scopes are not configured' + return 'cnp.payment.icn.not.found' if detail.include? 'No data found for ICN' + return 'cnp.payment.icn.invalid' if detail.include? 'getDirectDeposit.icn size' + return 'cnp.payment.account.number.invalid' if detail.include? 'payment.accountNumber.invalid' + return 'cnp.payment.account.type.invalid' if detail.include? 'payment.accountType.invalid' + return 'cnp.payment.account.number.fraud' if detail.include? 'Flashes on record' + return 'cnp.payment.routing.number.invalid.checksum' if detail.include? 'accountRoutingNumber.invalidCheckSum' + return 'cnp.payment.routing.number.invalid' if detail.include? 'payment.accountRoutingNumber.invalid' + return 'cnp.payment.routing.number.fraud' if detail.include? 'Routing number related to potential fraud' + return 'cnp.payment.restriction.indicators.present' if detail.include? 'restriction.indicators.present' + return 'cnp.payment.day.phone.number.invalid' if detail.include? 'Day phone number is invalid' + return 'cnp.payment.day.area.number.invalid' if detail.include? 'Day area number is invalid' + return 'cnp.payment.night.phone.number.invalid' if detail.include? 'Night phone number is invalid' + return 'cnp.payment.night.area.number.invalid' if detail.include? 'Night area number is invalid' + return 'cnp.payment.mailing.address.invalid' if detail.include? 'field not entered for mailing address update' + return 'cnp.payment.potential.fraud' if detail.include? 'GUIE50041' + return 'cnp.payment.unspecified.error' if detail.include? 'GUIE50022' - "#{prefix}.generic.error" - end - - def self.prefix - return 'direct.deposit' if Flipper.enabled?(:profile_show_direct_deposit_single_form) - - 'cnp.payment' + 'cnp.payment.generic.error' end def self.data_source diff --git a/lib/lighthouse/direct_deposit/error_response.rb b/lib/lighthouse/direct_deposit/error_response.rb index 7775634210e..72bd2448a4f 100644 --- a/lib/lighthouse/direct_deposit/error_response.rb +++ b/lib/lighthouse/direct_deposit/error_response.rb @@ -21,6 +21,10 @@ def body { errors: @errors } end + def code=(code) + errors.first[:code] = code + end + def code errors.first[:code] end diff --git a/spec/controllers/v0/profile/direct_deposits/disability_compensations_controller_spec.rb b/spec/controllers/v0/profile/direct_deposits/disability_compensations_controller_spec.rb index 0476d184745..21774981862 100644 --- a/spec/controllers/v0/profile/direct_deposits/disability_compensations_controller_spec.rb +++ b/spec/controllers/v0/profile/direct_deposits/disability_compensations_controller_spec.rb @@ -405,43 +405,4 @@ end end end - - describe '#update feature flag' do - let(:params) do - { - routing_number: '031000503', - account_number: '12345678' - } - end - - context 'when feature flag is on' do - before do - Flipper.enable(:profile_show_direct_deposit_single_form) - end - - it 'error code is prefixed with direct.deposit' do - VCR.use_cassette('lighthouse/direct_deposit/update/400_invalid_account_type') do - put(:update, params:) - end - - json = JSON.parse(response.body) - e = json['errors'].first - - expect(e['code']).to eq('direct.deposit.account.type.invalid') - end - end - - context 'when feature flag is off' do - it 'error code is prefixed with cnp.payment' do - VCR.use_cassette('lighthouse/direct_deposit/update/400_invalid_account_type') do - put(:update, params:) - end - - json = JSON.parse(response.body) - e = json['errors'].first - - expect(e['code']).to eq('cnp.payment.account.type.invalid') - end - end - end end From cce240de2d8da9b70f5509554bab14e804f91293 Mon Sep 17 00:00:00 2001 From: Rebecca Tolmach <10993987+rmtolmach@users.noreply.github.com> Date: Mon, 15 Apr 2024 09:20:33 -0400 Subject: [PATCH 20/74] check codeowners update to catch more than one new file (#16322) --- .github/scripts/check_codeowners.sh | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/scripts/check_codeowners.sh b/.github/scripts/check_codeowners.sh index ed51e7adc47..49023f81b33 100755 --- a/.github/scripts/check_codeowners.sh +++ b/.github/scripts/check_codeowners.sh @@ -12,6 +12,7 @@ HEAD_SHA=$(git rev-parse HEAD) BASE_SHA=$(git rev-parse origin/master) # Get the list of changed files between the base and head commits +IFS=$'\n' # Change IFS to split only on newlines CHANGED_FILES=$(git diff --name-only --diff-filter=AMR ${BASE_SHA}...${HEAD_SHA}) echo "Changed files: $CHANGED_FILES" @@ -37,7 +38,7 @@ check_in_codeowners() { return 1 } -for FILE in "${CHANGED_FILES}"; do +for FILE in ${CHANGED_FILES}; do # Ignore files starting with a dot if [[ $FILE == .* ]]; then echo "Ignoring file $FILE" @@ -53,3 +54,4 @@ for FILE in "${CHANGED_FILES}"; do done echo "All changed files or their parent directories have a CODEOWNERS entry." +IFS=$' \t\n' # Reset IFS after the loop From 6990d3f95be0ec4860fc06a4638789dd75fc4de1 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 15 Apr 2024 09:35:29 -0400 Subject: [PATCH 21/74] Bump foreman from 0.87.2 to 0.88.1 (#16329) Bumps [foreman](https://github.com/ddollar/foreman) from 0.87.2 to 0.88.1. - [Changelog](https://github.com/ddollar/foreman/blob/main/Changelog.md) - [Commits](https://github.com/ddollar/foreman/compare/v0.87.2...v0.88.1) --- updated-dependencies: - dependency-name: foreman dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index db35496d884..707153eb1ee 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -474,7 +474,7 @@ GEM rack (>= 1.4, < 4) rack-protection (>= 1.5.3, <= 4.0.0) sanitize (< 7) - foreman (0.87.2) + foreman (0.88.1) formatador (1.1.0) fugit (1.9.0) et-orbi (~> 1, >= 1.2.7) From 4ae959e93bc51c16861bdff362312890d50935df Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 15 Apr 2024 10:15:49 -0400 Subject: [PATCH 22/74] Bump aws-sdk-kms from 1.78.0 to 1.79.0 (#16330) --- updated-dependencies: - dependency-name: aws-sdk-kms dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- Gemfile.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index 707153eb1ee..a7febd39c91 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -243,13 +243,13 @@ GEM attr_extras (7.1.0) awesome_print (1.9.2) aws-eventstream (1.3.0) - aws-partitions (1.903.0) - aws-sdk-core (3.191.5) + aws-partitions (1.913.0) + aws-sdk-core (3.191.6) aws-eventstream (~> 1, >= 1.3.0) aws-partitions (~> 1, >= 1.651.0) aws-sigv4 (~> 1.8) jmespath (~> 1, >= 1.6.1) - aws-sdk-kms (1.78.0) + aws-sdk-kms (1.79.0) aws-sdk-core (~> 3, >= 3.191.0) aws-sigv4 (~> 1.1) aws-sdk-s3 (1.146.1) From 35767c0c3e9b1d3156b0fd64362c6b8f91ff988c Mon Sep 17 00:00:00 2001 From: Eric Tillberg Date: Mon, 15 Apr 2024 10:53:50 -0400 Subject: [PATCH 23/74] More fixes for 20-10207 (#16312) * More fixes for 20-10207 * cleanup * Fix signatures on 20-10207 * rubocop --------- Co-authored-by: Rebecca Tolmach <10993987+rmtolmach@users.noreply.github.com> --- .../app/form_mappings/vba_20_10207.json.erb | 24 +++++++++---------- .../models/simple_forms_api/vba_20_10207.rb | 8 +++---- .../form_json/vba_20_10207-veteran.json | 1 + .../spec/models/vba_20_10207_spec.rb | 7 +++--- 4 files changed, 20 insertions(+), 20 deletions(-) diff --git a/modules/simple_forms_api/app/form_mappings/vba_20_10207.json.erb b/modules/simple_forms_api/app/form_mappings/vba_20_10207.json.erb index a3a3b994c65..dcbb0119b2e 100644 --- a/modules/simple_forms_api/app/form_mappings/vba_20_10207.json.erb +++ b/modules/simple_forms_api/app/form_mappings/vba_20_10207.json.erb @@ -12,7 +12,7 @@ "form1[0].#subform[3].TelephoneNumber_FirstThreeNumbers[0]": "<%= form.data['veteran_phone']&.gsub('-', '')&.[](0..2) %>", "form1[0].#subform[3].TelephoneNumber_SecondThreeNumbers[0]": "<%= form.data['veteran_phone']&.gsub('-', '')&.[](3..5) %>", "form1[0].#subform[3].International_Phone_Number_If_Applicable[0]": "<%= nil %>", - "form1[0].#subform[3].Email_Address[0]": "<%= nil %>", + "form1[0].#subform[3].Email_Address[0]": "<%= form.data['veteran_email_address'] %>", "form1[0].#subform[3].CurrentMailingAddress_ZIPOrPostalCode_LastFourNumbers[0]": "<%= nil %>", "form1[0].#subform[3].CurrentMailingAddress_ZIPOrPostalCode_FirstFiveNumbers[0]": "<%= form.data.dig('veteran_mailing_address', 'postal_code') %>", "form1[0].#subform[3].CurrentMailingAddress_Country[0]": "<%= form.data.dig('veteran_mailing_address', 'country') %>", @@ -37,8 +37,8 @@ "form1[0].#subform[3].TelephoneNumber_FirstThreeNumbers[1]": "<%= form.data['non_veteran_phone']&.gsub('-', '')&.[](0..2) %>", "form1[0].#subform[3].TelephoneNumber_SecondThreeNumbers[1]": "<%= form.data['non_veteran_phone']&.gsub('-', '')&.[](3..5) %>", "form1[0].#subform[3].International_Phone_Number_If_Applicable[1]": "<%= nil %>", - "form1[0].#subform[3].VA_File_Number_If_Applicable[0]": "<%= nil %>", - "form1[0].#subform[3].Email_Address[2]": "<%= nil %>", + "form1[0].#subform[3].VA_File_Number_If_Applicable[0]": "<%= form.data.dig('non_veteran_id', 'va_file_number') %>", + "form1[0].#subform[3].Email_Address[2]": "<%= form.data['non_veteran_email_address'] %>", "form1[0].#subform[3].CurrentMailingAddress_ZIPOrPostalCode_LastFourNumbers[1]": "<%= nil %>", "form1[0].#subform[3].CurrentMailingAddress_ZIPOrPostalCode_FirstFiveNumbers[1]": "<%= form.data.dig('non_veteran_mailing_address', 'postal_code') %>", "form1[0].#subform[3].CurrentMailingAddress_Country[1]": "<%= form.data.dig('non_veteran_mailing_address', 'country') %>", @@ -48,7 +48,7 @@ "form1[0].#subform[3].CurrentMailingAddress_NumberAndStreet[1]": "<%= form.data.dig('non_veteran_mailing_address', 'street') %>", "form1[0].#subform[3].CheckBox1[1]": "<%= nil %>", "form1[0].#subform[3].Email_Address[3]": "<%= nil %>", - "form1[0].#subform[3].VA_File_Number_If_Applicable[1]": "<%= nil %>", + "form1[0].#subform[3].VA_File_Number_If_Applicable[1]": "<%= form.data.dig('veteran_id', 'va_file_number') %>", "form1[0].#subform[4].I_Live_Or_Sleep_In_A_Place_That_Is_Not_Meant_For_Regular_Sleeping[0]": "<%= form.data.dig('living_situation', 'overnight') ? 1 : 0 %>", "form1[0].#subform[4].I_Live_In_A_Shelter[0]": "<%= form.data.dig('living_situation', 'shelter') ? 1 : 0 %>", @@ -60,13 +60,11 @@ "form1[0].#subform[3].CurrentlyHomeless[0]": "<%= form.data.dig('living_situation', 'none') ? 1 : 0 %>", - "form1[0].#subform[3].Other1[0]": "<%= nil %>", + "form1[0].#subform[3].Other1[0]": "<%= form.data['other_housing_risks'] %>", "form1[0].#subform[4].Veterans_SocialSecurityNumber_LastFourNumbers[1]": "<%= form.data.dig('veteran_id', 'ssn')&.[](5..8) %>", "form1[0].#subform[4].Veterans_SocialSecurityNumber_SecondTwoNumbers[1]": "<%= form.data.dig('veteran_id', 'ssn')&.[](3..4) %>", "form1[0].#subform[4].Veterans_SocialSecurityNumber_FirstThreeNumbers[1]": "<%= form.data.dig('veteran_id', 'ssn')&.[](0..2) %>", - "form1[0].#subform[4].Other2[0]": "<%= form.data['other_housing_risks'] %>", - "form1[0].#subform[4].Telephone_Number_Area_Code[0]": "<%= form.data['point_of_contact_phone']&.gsub('-', '')&.[](0..2) %>", "form1[0].#subform[4].Telephone_Middle_Three_Numbers[0]": "<%= form.data['point_of_contact_phone']&.gsub('-', '')&.[](3..5) %>", "form1[0].#subform[4].Telephone_Last_Four_Numbers[0]": "<%= form.data['point_of_contact_phone']&.gsub('-', '')&.[](6..9) %>", @@ -86,12 +84,12 @@ "form1[0].#subform[4].Month[3]": "<%= form.data['pow_confinement_end_date']&.[](5..6) %>", "form1[0].#subform[4].Day[3]": "<%= form.data['pow_confinement_end_date']&.[](8..9) %>", "form1[0].#subform[4].Year[3]": "<%= form.data['pow_confinement_end_date']&.[](0..3) %>", - "form1[0].#subform[4].Month[5]": "<%= form.data['pow_confinement2start_date']&.[](5..6) %>", - "form1[0].#subform[4].Day[5]": "<%= form.data['pow_confinement2start_date']&.[](8..9) %>", - "form1[0].#subform[4].Year[5]": "<%= form.data['pow_confinement2start_date']&.[](0..3) %>", - "form1[0].#subform[4].Month[7]": "<%= form.data['pow_confinement2end_date']&.[](5..6) %>", - "form1[0].#subform[4].Day[7]": "<%= form.data['pow_confinement2end_date']&.[](8..9) %>", - "form1[0].#subform[4].Year[7]": "<%= form.data['pow_confinement2end_date']&.[](0..3) %>", + "form1[0].#subform[4].Month[5]": "<%= form.data['pow_confinement2_start_date']&.[](5..6) %>", + "form1[0].#subform[4].Day[5]": "<%= form.data['pow_confinement2_start_date']&.[](8..9) %>", + "form1[0].#subform[4].Year[5]": "<%= form.data['pow_confinement2_start_date']&.[](0..3) %>", + "form1[0].#subform[4].Month[7]": "<%= form.data['pow_confinement2_end_date']&.[](5..6) %>", + "form1[0].#subform[4].Day[7]": "<%= form.data['pow_confinement2_end_date']&.[](8..9) %>", + "form1[0].#subform[4].Year[7]": "<%= form.data['pow_confinement2_end_date']&.[](0..3) %>", "form1[0].#subform[4].Name_And_Location_Of_Treatment_Facility1[0]": "<%= form.facility_name(1) %>", "form1[0].#subform[4].DateOfTreatment_Month1[0]": "<%= form.facility_month(1) %>", diff --git a/modules/simple_forms_api/app/models/simple_forms_api/vba_20_10207.rb b/modules/simple_forms_api/app/models/simple_forms_api/vba_20_10207.rb index ff00fb4d991..a324bc267b6 100644 --- a/modules/simple_forms_api/app/models/simple_forms_api/vba_20_10207.rb +++ b/modules/simple_forms_api/app/models/simple_forms_api/vba_20_10207.rb @@ -12,7 +12,7 @@ def initialize(data) def facility_name(index) facility = @data['medical_treatments']&.[](index - 1) - "#{facility&.[]('facility_name')}\\n#{facility_address(index)}" + "#{facility&.[]('facility_name')}\\n#{facility_address(index)}" if facility end def facility_address(index) @@ -39,12 +39,12 @@ def facility_year(index) end def requester_signature - @data['statement_of_truth_signature'] if @data['preparer_type'] == 'veteran' + @data['statement_of_truth_signature'] if %w[veteran non-veteran].include? @data['preparer_type'] end def third_party_signature - @data['statement_of_truth_signature'] if @data['preparer_type'] != 'veteran' && - @data['third_party_type'] != 'power-of-attorney' + @data['statement_of_truth_signature'] if %w[third-party-veteran + third-party-non-veteran].include? @data['preparer_type'] end def power_of_attorney_signature diff --git a/modules/simple_forms_api/spec/fixtures/form_json/vba_20_10207-veteran.json b/modules/simple_forms_api/spec/fixtures/form_json/vba_20_10207-veteran.json index 0f8c643a31c..05ec5f3be90 100644 --- a/modules/simple_forms_api/spec/fixtures/form_json/vba_20_10207-veteran.json +++ b/modules/simple_forms_api/spec/fixtures/form_json/vba_20_10207-veteran.json @@ -23,6 +23,7 @@ "postal_code": "12345" }, "veteran_phone": "1234567890", + "veteran_email_address": "email@vet.com", "other_reasons": { "financial_hardship": true, "als": true, diff --git a/modules/simple_forms_api/spec/models/vba_20_10207_spec.rb b/modules/simple_forms_api/spec/models/vba_20_10207_spec.rb index 66f60b88e33..02e96f258a1 100644 --- a/modules/simple_forms_api/spec/models/vba_20_10207_spec.rb +++ b/modules/simple_forms_api/spec/models/vba_20_10207_spec.rb @@ -51,7 +51,7 @@ statement_of_truth_signature = 'John Veteran' [ { preparer_type: 'veteran', third_party_type: nil, expected: statement_of_truth_signature }, - { preparer_type: 'non-veteran', third_party_type: nil, expected: nil }, + { preparer_type: 'non-veteran', third_party_type: nil, expected: statement_of_truth_signature }, { preparer_type: 'third-party-non-veteran', third_party_type: 'representative', expected: nil }, { preparer_type: 'third-party-veteran', third_party_type: 'representative', expected: nil }, { preparer_type: 'third-party-non-veteran', third_party_type: 'power-of-attorney', expected: nil } @@ -78,12 +78,13 @@ statement_of_truth_signature = 'John Veteran' [ { preparer_type: 'veteran', third_party_type: nil, expected: nil }, - { preparer_type: 'non-veteran', third_party_type: nil, expected: statement_of_truth_signature }, + { preparer_type: 'non-veteran', third_party_type: nil, expected: nil }, { preparer_type: 'third-party-non-veteran', third_party_type: 'representative', expected: statement_of_truth_signature }, { preparer_type: 'third-party-veteran', third_party_type: 'representative', expected: statement_of_truth_signature }, - { preparer_type: 'third-party-non-veteran', third_party_type: 'power-of-attorney', expected: nil } + { preparer_type: 'third-party-non-veteran', third_party_type: 'power-of-attorney', + expected: statement_of_truth_signature } ].each do |data| preparer_type = data[:preparer_type] third_party_type = data[:third_party_type] From 209b1d773e2a1d4076491d8bd671a6d604dd072e Mon Sep 17 00:00:00 2001 From: Joshua Backfield <114932557+jbackfieldVA@users.noreply.github.com> Date: Mon, 15 Apr 2024 11:51:05 -0400 Subject: [PATCH 24/74] 97 average number of days db work only (#16331) * 97 Added database table and endpoint for average number of days for claim completion. * 97 Added SPEC file for unittest coverage and also linted everything. * 97 Removed anything non-db related for initial PR. * 97 Removed anything non-db related for initial PR. --------- Co-authored-by: Rebecca Tolmach <10993987+rmtolmach@users.noreply.github.com> --- ...153944_create_average_days_for_claim_completions.rb | 10 ++++++++++ db/schema.rb | 6 ++++++ 2 files changed, 16 insertions(+) create mode 100644 db/migrate/20240411153944_create_average_days_for_claim_completions.rb diff --git a/db/migrate/20240411153944_create_average_days_for_claim_completions.rb b/db/migrate/20240411153944_create_average_days_for_claim_completions.rb new file mode 100644 index 00000000000..ffb9a46abdb --- /dev/null +++ b/db/migrate/20240411153944_create_average_days_for_claim_completions.rb @@ -0,0 +1,10 @@ +# This migration comes from vye (originally 20240229184515) +class CreateAverageDaysForClaimCompletions < ActiveRecord::Migration[7.1] + def change + create_table :average_days_for_claim_completions do |t| + t.float average_days + + t.timestamps + end + end +end diff --git a/db/schema.rb b/db/schema.rb index 87ade4ad1ef..686d2f0e861 100644 --- a/db/schema.rb +++ b/db/schema.rb @@ -205,6 +205,12 @@ t.index ["user_uuid"], name: "index_async_transactions_on_user_uuid" end + create_table "average_days_for_claim_completions", id: :serial, force: :cascade do |t| + t.float "average_days", null: false + t.datetime "created_at", null: false + t.datetime "updated_at", null: false + end + create_table "base_facilities", id: false, force: :cascade do |t| t.string "unique_id", null: false t.string "name", null: false From f72cca05215a138ca58d86ac3a445538424bf03c Mon Sep 17 00:00:00 2001 From: Brad Bergeron Date: Mon, 15 Apr 2024 13:10:34 -0400 Subject: [PATCH 25/74] Adds new feature flags for updated maintenance messaging (#16321) --- config/features.yml | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/config/features.yml b/config/features.yml index d103dda9ffa..25a9e097015 100644 --- a/config/features.yml +++ b/config/features.yml @@ -951,10 +951,18 @@ features: actor_type: user description: Displays an alert to users on 1990EZ intro page that the Backend Service is Down. enable_in_development: false + show_meb_1990EZ_R6_maintenance_message: + actor_type: user + description: Displays an alert to users on 1990EZ intro page that the Backend Service is Down. + enable_in_development: false show_meb_1990E_maintenance_alert: actor_type: user description: Displays an alert to users on 1990E intro page that the Backend Service is Down. enable_in_development: false + show_meb_1990E_R6_maintenance_message: + actor_type: user + description: Displays an alert to users on 1990E intro page that the Backend Service is Down. + enable_in_development: false show_meb_letters_maintenance_alert: actor_type: user description: Displays an alert to users on Letters Inbox page that the Backend Service is Down. From 9fbe39d7a258c47df06b4b08c6cde8887a8ee2c9 Mon Sep 17 00:00:00 2001 From: John Bramley Date: Mon, 15 Apr 2024 11:16:14 -0600 Subject: [PATCH 26/74] 79903 user credential log update (#16305) * adds csps and acrs attributes to ClientConfig * name update * adds validation of csp type & acr against client config * adds csps and acrs attributes to ClientConfig * name update * name updates and removes redundant validations * removes duplicate test * update log output * update * rubocop * updates codeowners --- .github/CODEOWNERS | 2 +- rakelib/prod/user_credential.rake | 34 +++++++++++++++++++++++++------ 2 files changed, 29 insertions(+), 7 deletions(-) diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index 821318c752c..165e62a6273 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -976,7 +976,6 @@ rakelib/mockdata_synchronize.rake @department-of-veterans-affairs/octo-identity rakelib/pension_burial.rake @department-of-veterans-affairs/mbs-core-team @department-of-veterans-affairs/va-api-engineers @department-of-veterans-affairs/backend-review-group rakelib/piilog_repl @department-of-veterans-affairs/backend-review-group @department-of-veterans-affairs/va-api-engineers rakelib/prod @department-of-veterans-affairs/vfs-vaos @department-of-veterans-affairs/backend-review-group @department-of-veterans-affairs/va-api-engineers -rakelib/prod/user_credential.rake @department-of-veterans-affairs/octo-identity rakelib/remove_va1995s_records.rake @department-of-veterans-affairs/govcio-vfep-codereviewers @department-of-veterans-affairs/va-api-engineers @department-of-veterans-affairs/backend-review-group rakelib/routes_csv.rake @department-of-veterans-affairs/va-api-engineers @department-of-veterans-affairs/backend-review-group rakelib/rswag.rake @department-of-veterans-affairs/va-api-engineers @department-of-veterans-affairs/backend-review-group @@ -1485,6 +1484,7 @@ spec/rakelib/form526_spec.rb @department-of-veterans-affairs/Benefits-Team-1 @de spec/rakelib/piilog_repl @department-of-veterans-affairs/va-api-engineers @department-of-veterans-affairs/backend-review-group spec/rakelib/piilog_repl/piilog_helpers_spec.rb @department-of-veterans-affairs/va-api-engineers @department-of-veterans-affairs/backend-review-group spec/rakelib/vet360_spec.rb @department-of-veterans-affairs/vfs-authenticated-experience-backend @department-of-veterans-affairs/va-api-engineers @department-of-veterans-affairs/backend-review-group +rakelib/prod/user_credential.rake @department-of-veterans-affairs/octo-identity spec/requests/admin_spec.rb @department-of-veterans-affairs/va-api-engineers @department-of-veterans-affairs/backend-review-group spec/requests/appeals_request_spec.rb @department-of-veterans-affairs/backend-review-group spec/requests/appointments_request_spec.rb @department-of-veterans-affairs/vfs-vaos @department-of-veterans-affairs/va-api-engineers @department-of-veterans-affairs/backend-review-group diff --git a/rakelib/prod/user_credential.rake b/rakelib/prod/user_credential.rake index daba12202cf..69b51c49984 100644 --- a/rakelib/prod/user_credential.rake +++ b/rakelib/prod/user_credential.rake @@ -8,10 +8,11 @@ namespace :user_credential do type = args[:type] credential_id = args[:credential_id] context = { type:, credential_id:, requested_by: args[:requested_by] } - log_task(namespace:, status: 'start', context:) + log_to_stdout(level: 'info', message: "[#{namespace}] rake task start, context: #{context.to_json}") user_verification = UserVerification.where(["#{type}_uuid = ?", credential_id]).first user_verification.lock! - log_task(namespace:, status: 'complete', context: context.merge(locked: user_verification.locked)) + context[:locked] = user_verification.locked + log_to_stdout(level: 'info', message: "[#{namespace}] rake task complete, context: #{context.to_json}") puts "#{namespace} complete - #{type}_uuid: #{credential_id}" rescue => e puts "#{namespace} failed - #{e.message}" @@ -23,10 +24,11 @@ namespace :user_credential do type = args[:type] credential_id = args[:credential_id] context = { type:, credential_id:, requested_by: args[:requested_by] } - log_task(namespace:, status: 'start', context:) + log_to_stdout(level: 'info', message: "[#{namespace}] rake task start, context: #{context.to_json}") user_verification = UserVerification.where(["#{type}_uuid = ?", credential_id]).first user_verification.unlock! - log_task(namespace:, status: 'complete', context: context.merge(locked: user_verification.locked)) + context[:locked] = user_verification.locked + log_to_stdout(level: 'info', message: "[#{namespace}] rake task complete, context: #{context.to_json}") puts "#{namespace} complete - #{type}_uuid: #{credential_id}" rescue => e puts "#{namespace} failed - #{e.message}" @@ -38,7 +40,27 @@ namespace :user_credential do args[:requested_by].blank? end - def log_task(namespace:, status:, context:) - Rails.logger.info("[#{namespace}] rake task #{status}", context) + def log_to_stdout(level:, message:) + `echo "#{log_message(level:, message:).to_json.dump}" >> /proc/1/fd/1` + end + + def log_message(level:, message:) + { + level:, + message:, + application: 'vets-api-server', + environment: Rails.env, + timestamp: Time.zone.now.iso8601, + + file: 'rakelib/prod/user_credential.rake', + named_tags: { + dd: { + env: ENV.fetch('DD_ENV', nil), + service: 'vets-api' + }, + ddsource: 'ruby' + }, + name: 'Rails' + } end end From 0234cb7844a23c47f72d3f3d37e2f38bf60609be Mon Sep 17 00:00:00 2001 From: Joshua Backfield <114932557+jbackfieldVA@users.noreply.github.com> Date: Mon, 15 Apr 2024 13:46:39 -0400 Subject: [PATCH 27/74] 97 Added database table and endpoint for average number of days for completion (#16313) * 97 Added database table and endpoint for average number of days for claim completion. * 97 Added SPEC file for unittest coverage and also linted everything. * 97 Updated CODEOWNERS file. * 97 Missed the spec at the end of the spec file in CODEOWNERS. * 97 Updated test name to be reflective of what we are expecting. --------- Co-authored-by: Rebecca Tolmach <10993987+rmtolmach@users.noreply.github.com> Co-authored-by: bmatos312 <142250984+bmatos312@users.noreply.github.com> --- .github/CODEOWNERS | 3 ++ ...ge_days_for_claim_completion_controller.rb | 15 +++++++ .../average_days_for_claim_completion.rb | 4 ++ config/routes.rb | 2 + ...ys_for_claim_completion_controller_spec.rb | 39 +++++++++++++++++++ 5 files changed, 63 insertions(+) create mode 100644 app/controllers/v0/average_days_for_claim_completion_controller.rb create mode 100644 app/models/average_days_for_claim_completion.rb create mode 100644 spec/controllers/v0/average_days_for_claim_completion_controller_spec.rb diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index 165e62a6273..fde32a93c71 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -46,6 +46,7 @@ app/controllers/v0/appeals_controller.rb @department-of-veterans-affairs/benefit app/controllers/v0/appointments_controller.rb @department-of-veterans-affairs/vfs-vaos @department-of-veterans-affairs/va-api-engineers @department-of-veterans-affairs/backend-review-group app/controllers/v0/apps_controller.rb @department-of-veterans-affairs/lighthouse-pivot app/controllers/v0/ask_va @department-of-veterans-affairs/ask-va-team @department-of-veterans-affairs/va-api-engineers @department-of-veterans-affairs/backend-review-group +app/controllers/v0/average_days_for_claim_completion_controller.rb @department-of-veterans-affairs/benefits-microservices @department-of-veterans-affairs/va-api-engineers @department-of-veterans-affairs/backend-review-group app/controllers/v0/backend_statuses_controller.rb @department-of-veterans-affairs/va-api-engineers @department-of-veterans-affairs/backend-review-group app/controllers/v0/benefits_claims_controller.rb @department-of-veterans-affairs/benefits-management-tools-be @department-of-veterans-affairs/va-api-engineers @department-of-veterans-affairs/backend-review-group app/controllers/v0/benefits_documents_controller.rb @department-of-veterans-affairs/benefits-management-tools-be @department-of-veterans-affairs/va-api-engineers @department-of-veterans-affairs/backend-review-group @@ -194,6 +195,7 @@ app/models/async_transaction/base.rb @department-of-veterans-affairs/vfs-authent app/models/async_transaction/va_profile @department-of-veterans-affairs/vfs-authenticated-experience-backend @department-of-veterans-affairs/vfs-authenticated-experience-backend @department-of-veterans-affairs/backend-review-group app/models/async_transaction/vet360 @department-of-veterans-affairs/vfs-authenticated-experience-backend @department-of-veterans-affairs/backend-review-group app/models/attachment.rb @department-of-veterans-affairs/va-api-engineers @department-of-veterans-affairs/backend-review-group +app/models/average_days_for_claim_completion.rb @department-of-veterans-affairs/benefits-microservices @department-of-veterans-affairs/va-api-engineers @department-of-veterans-affairs/backend-review-group app/models/backend_status.rb @department-of-veterans-affairs/backend-review-group app/models/bank_name.rb @department-of-veterans-affairs/vfs-authenticated-experience-backend @department-of-veterans-affairs/va-api-engineers @department-of-veterans-affairs/backend-review-group app/models/base_facility.rb @department-of-veterans-affairs/vfs-facilities-frontend @department-of-veterans-affairs/va-api-engineers @department-of-veterans-affairs/backend-review-group @@ -995,6 +997,7 @@ spec/controllers/sign_in @department-of-veterans-affairs/octo-identity spec/controllers/v0/account_controls_controller_spec.rb @department-of-veterans-affairs/octo-identity spec/controllers/v0/apps_controller_spec.rb @department-of-veterans-affairs/lighthouse-pivot spec/controllers/v0/ask_va @department-of-veterans-affairs/ask-va-team @department-of-veterans-affairs/va-api-engineers @department-of-veterans-affairs/backend-review-group +spec/controllers/v0/average_days_for_claim_completion_controller_spec.rb @department-of-veterans-affairs/benefits-microservices @department-of-veterans-affairs/va-api-engineers @department-of-veterans-affairs/backend-review-group spec/controllers/v0/benefits_claims_controller_spec.rb @department-of-veterans-affairs/benefits-management-tools-be @department-of-veterans-affairs/va-api-engineers @department-of-veterans-affairs/backend-review-group spec/controllers/v0/benefits_reference_data_controller_spec.rb @department-of-veterans-affairs/Benefits-Team-1 @department-of-veterans-affairs/va-api-engineers @department-of-veterans-affairs/backend-review-group spec/controllers/v0/burial_claims_controller_spec.rb @department-of-veterans-affairs/mbs-core-team @department-of-veterans-affairs/va-api-engineers @department-of-veterans-affairs/backend-review-group diff --git a/app/controllers/v0/average_days_for_claim_completion_controller.rb b/app/controllers/v0/average_days_for_claim_completion_controller.rb new file mode 100644 index 00000000000..9c3ef7de693 --- /dev/null +++ b/app/controllers/v0/average_days_for_claim_completion_controller.rb @@ -0,0 +1,15 @@ +# frozen_string_literal: true + +module V0 + class AverageDaysForClaimCompletionController < ApplicationController + service_tag 'average-days-to-completion' + skip_before_action :authenticate, only: :index + + def index + rtn = AverageDaysForClaimCompletion.order('created_at DESC').first + render json: { + average_days: rtn.present? ? rtn.average_days : -1.0 + } + end + end +end diff --git a/app/models/average_days_for_claim_completion.rb b/app/models/average_days_for_claim_completion.rb new file mode 100644 index 00000000000..78bb6d78a42 --- /dev/null +++ b/app/models/average_days_for_claim_completion.rb @@ -0,0 +1,4 @@ +# frozen_string_literal: true + +class AverageDaysForClaimCompletion < ApplicationRecord +end diff --git a/config/routes.rb b/config/routes.rb index 4d4044aa73d..cc8807d889f 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -149,6 +149,8 @@ get 'claim_letters', to: 'claim_letters#index' get 'claim_letters/:document_id', to: 'claim_letters#show' + get 'average_days_for_claim_completion', to: 'average_days_for_claim_completion#index' + get 'virtual_agent_claim_letters', to: 'virtual_agent_claim_letters#index' get 'virtual_agent_claim_letters/:document_id', to: 'virtual_agent_claim_letters#show' diff --git a/spec/controllers/v0/average_days_for_claim_completion_controller_spec.rb b/spec/controllers/v0/average_days_for_claim_completion_controller_spec.rb new file mode 100644 index 00000000000..47a56a8450b --- /dev/null +++ b/spec/controllers/v0/average_days_for_claim_completion_controller_spec.rb @@ -0,0 +1,39 @@ +# frozen_string_literal: true + +require 'rails_helper' + +RSpec.describe V0::AverageDaysForClaimCompletionController, type: :controller do + context 'when querying with nothing in db' do + it 'returns -1 for value' do + get :index + expect(response).to have_http_status(:ok) + expect(JSON.parse(response.body)['average_days']).to eq(-1.0) + end + end + + context 'when querying with record in db' do + before do + AverageDaysForClaimCompletion.create(average_days: 100) + end + + it 'returns the value' do + get :index + expect(response).to have_http_status(:ok) + expect(JSON.parse(response.body)['average_days']).to eq(100.0) + end + end + + context 'when querying with multiple records in db' do + before do + AverageDaysForClaimCompletion.create(average_days: 100) + AverageDaysForClaimCompletion.create(average_days: 200) + AverageDaysForClaimCompletion.create(average_days: 300) + end + + it 'returns the most recently inserted value' do + get :index + expect(response).to have_http_status(:ok) + expect(JSON.parse(response.body)['average_days']).to eq(300.0) + end + end +end From 0c474b16dce8169b3924956ce9f0b02eb9781634 Mon Sep 17 00:00:00 2001 From: stevenjcumming <134282106+stevenjcumming@users.noreply.github.com> Date: Mon, 15 Apr 2024 14:04:55 -0400 Subject: [PATCH 28/74] fix where.not nil error in key rotation (#16336) --- app/sidekiq/kms_key_rotation/batch_initiator_job.rb | 1 + 1 file changed, 1 insertion(+) diff --git a/app/sidekiq/kms_key_rotation/batch_initiator_job.rb b/app/sidekiq/kms_key_rotation/batch_initiator_job.rb index 752f657f6db..efc005537bd 100644 --- a/app/sidekiq/kms_key_rotation/batch_initiator_job.rb +++ b/app/sidekiq/kms_key_rotation/batch_initiator_job.rb @@ -45,6 +45,7 @@ def gids_for_model(model, max_records_per_batch) model .where.not('encrypted_kms_key LIKE ?', "v#{KmsEncryptedModelPatch.kms_version}:%") + .or(model.where(encrypted_kms_key: nil)) .limit(max_records_per_batch) .pluck(model.primary_key) .map { |id| URI::GID.build(app: GlobalID.app, model_name: model.name, model_id: id).to_s } From 595e1d42f15fae33c2bb153faa079600b7e2e0e3 Mon Sep 17 00:00:00 2001 From: Joshua Backfield <114932557+jbackfieldVA@users.noreply.github.com> Date: Mon, 15 Apr 2024 14:05:50 -0400 Subject: [PATCH 29/74] Fixing missing atom symbol for field name. (#16345) --- .../20240411153944_create_average_days_for_claim_completions.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/db/migrate/20240411153944_create_average_days_for_claim_completions.rb b/db/migrate/20240411153944_create_average_days_for_claim_completions.rb index ffb9a46abdb..3934d1b016d 100644 --- a/db/migrate/20240411153944_create_average_days_for_claim_completions.rb +++ b/db/migrate/20240411153944_create_average_days_for_claim_completions.rb @@ -2,7 +2,7 @@ class CreateAverageDaysForClaimCompletions < ActiveRecord::Migration[7.1] def change create_table :average_days_for_claim_completions do |t| - t.float average_days + t.float :average_days t.timestamps end From f402e716ba2d375200975892fb22a5949510a669 Mon Sep 17 00:00:00 2001 From: Eric Tillberg Date: Mon, 15 Apr 2024 14:14:21 -0400 Subject: [PATCH 30/74] Fix signature in 20-10207 (#16340) --- .../app/services/simple_forms_api/pdf_stamper.rb | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/modules/simple_forms_api/app/services/simple_forms_api/pdf_stamper.rb b/modules/simple_forms_api/app/services/simple_forms_api/pdf_stamper.rb index 64fd8a7a867..4c38e4e3387 100644 --- a/modules/simple_forms_api/app/services/simple_forms_api/pdf_stamper.rb +++ b/modules/simple_forms_api/app/services/simple_forms_api/pdf_stamper.rb @@ -144,14 +144,12 @@ def self.stamp210966(stamped_template_path, form) end def self.stamp2010207(stamped_template_path, form) - desired_stamps = if form.data['preparer_type'] == 'veteran' - [[50, 690]] + desired_stamps = if %w[veteran non-veteran].include? form.data['preparer_type'] + [[50, 685]] elsif form.data['third_party_type'] == 'power-of-attorney' - [[50, 445]] - elsif form.data['preparer_type'] == 'third-party-veteran' || - form.data['preparer_type'] == 'third-party-non-veteran' || - form.data['preparer_type'] == 'non-veteran' - [[50, 570]] + [[50, 440]] + elsif %w[third-party-veteran third-party-non-veteran].include? form.data['preparer_type'] + [[50, 565]] end signature_text = form.data['statement_of_truth_signature'] page_configuration = [ From 9e780a2759726aeb88c4bb70a1cbe9488da33dda Mon Sep 17 00:00:00 2001 From: Khoa Nguyen <134089461+Khoa-V-Nguyen@users.noreply.github.com> Date: Mon, 15 Apr 2024 12:27:44 -0600 Subject: [PATCH 31/74] BE | Ask Va Api: retrieve inquiries endpoint (#16338) * WIP * Streamlined `ApplicationController` and related specs - Removed unused `rescue` block from `ApplicationController` - Aligned `get_replies_mock_data.json` with `CRM API` conventions - Resolved failing tests in `Optionset`'s `retriever_spec.rb` and `serializer_spec.rb` * Enhanced `Correspondences` module components - Improved `Correspondences::Entity` functionality - Updated logic in `Correspondences::Retriever` - Revised serialization in `Correspondences::Serializer` * Enhanced `Inquiries::Retriever` and `InquiriesController` - Unified retrieval process using `BaseRetriever` in `Inquiries::Retriever` - Refactored `Inquiries::Retriever` for clarity and adherence to conventions - Resolved controller issues arising from changes in `Inquiries::Retriever` --------- Co-authored-by: khoa-v-nguyen --- .../ask_va_api/application_controller.rb | 2 - .../ask_va_api/v0/inquiries_controller.rb | 9 +- .../app/lib/ask_va_api/base_retriever.rb | 7 +- .../lib/ask_va_api/correspondences/entity.rb | 2 - .../ask_va_api/correspondences/retriever.rb | 44 +++-- .../ask_va_api/correspondences/serializer.rb | 3 +- .../app/lib/ask_va_api/inquiries/retriever.rb | 62 +++--- .../config/locales/get_replies_mock_data.json | 22 +-- .../ask_va_api/correspondences/entity_spec.rb | 2 - .../correspondences/retriever_spec.rb | 44 +++-- .../correspondences/serializer_spec.rb | 17 +- .../ask_va_api/inquiries/retriever_spec.rb | 186 +++++++++++++----- .../ask_va_api/optionset/retriever_spec.rb | 3 - .../ask_va_api/optionset/serializer_spec.rb | 8 +- .../spec/requests/v0/inquiries_spec.rb | 111 ++++++++--- 15 files changed, 337 insertions(+), 185 deletions(-) diff --git a/modules/ask_va_api/app/controllers/ask_va_api/application_controller.rb b/modules/ask_va_api/app/controllers/ask_va_api/application_controller.rb index e0cf79eb21b..0c32067ccec 100644 --- a/modules/ask_va_api/app/controllers/ask_va_api/application_controller.rb +++ b/modules/ask_va_api/app/controllers/ask_va_api/application_controller.rb @@ -8,8 +8,6 @@ class ApplicationController < ::ApplicationController def handle_exceptions yield - rescue AskVAApi::V0::InquiriesController::InvalidInquiryError => e - log_and_render_error('invalid_inquiry_error', e, :bad_request) rescue ErrorHandler::ServiceError, Crm::ErrorHandler::ServiceError => e log_and_render_error('service_error', e, :unprocessable_entity) rescue => e diff --git a/modules/ask_va_api/app/controllers/ask_va_api/v0/inquiries_controller.rb b/modules/ask_va_api/app/controllers/ask_va_api/v0/inquiries_controller.rb index 829268f6e51..c0bdb1d7b59 100644 --- a/modules/ask_va_api/app/controllers/ask_va_api/v0/inquiries_controller.rb +++ b/modules/ask_va_api/app/controllers/ask_va_api/v0/inquiries_controller.rb @@ -59,14 +59,11 @@ def inquiry_params def get_inquiry_by_id inq = retriever.fetch_by_id(id: params[:id]) - - raise InvalidInquiryError if inq.is_a?(Hash) - @inquiry = Result.new(payload: Inquiries::Serializer.new(inq).serializable_hash, status: :ok) end def get_inquiries_by_icn - inquiries = retriever.fetch_by_icn + inquiries = retriever.call @user_inquiries = Result.new(payload: Inquiries::Serializer.new(inquiries).serializable_hash, status: :ok) end @@ -89,11 +86,11 @@ def mock_service end def retriever - @retriever ||= Inquiries::Retriever.new(icn: current_user.icn, service: mock_service) + entity_class = AskVAApi::Inquiries::Entity + @retriever ||= Inquiries::Retriever.new(icn: current_user.icn, user_mock_data: params[:mock], entity_class:) end Result = Struct.new(:payload, :status, keyword_init: true) - class InvalidInquiryError < StandardError; end class InvalidAttachmentError < StandardError; end end end diff --git a/modules/ask_va_api/app/lib/ask_va_api/base_retriever.rb b/modules/ask_va_api/app/lib/ask_va_api/base_retriever.rb index 3abf77440c8..1b7b678f4e4 100644 --- a/modules/ask_va_api/app/lib/ask_va_api/base_retriever.rb +++ b/modules/ask_va_api/app/lib/ask_va_api/base_retriever.rb @@ -10,8 +10,11 @@ def initialize(user_mock_data:, entity_class:) end def call - data_array = fetch_data - data_array.map { |item| entity_class.new(item) } + if fetch_data.is_a?(Array) + fetch_data.map { |item| entity_class.new(item) } + else + entity_class.new(fetch_data) + end rescue => e ::ErrorHandler.handle_service_error(e) end diff --git a/modules/ask_va_api/app/lib/ask_va_api/correspondences/entity.rb b/modules/ask_va_api/app/lib/ask_va_api/correspondences/entity.rb index e8bb5a001e6..5078951380e 100644 --- a/modules/ask_va_api/app/lib/ask_va_api/correspondences/entity.rb +++ b/modules/ask_va_api/app/lib/ask_va_api/correspondences/entity.rb @@ -4,7 +4,6 @@ module AskVAApi module Correspondences class Entity attr_reader :id, - :inquiry_id, :message_type, :modified_on, :status_reason, @@ -14,7 +13,6 @@ class Entity def initialize(info) @id = info[:Id] - @inquiry_id = info[:InquiryId] @message_type = info[:MessageType] @modified_on = info[:ModifiedOn] @status_reason = info[:StatusReason] diff --git a/modules/ask_va_api/app/lib/ask_va_api/correspondences/retriever.rb b/modules/ask_va_api/app/lib/ask_va_api/correspondences/retriever.rb index a249ca6f7ef..9f152fbd90e 100644 --- a/modules/ask_va_api/app/lib/ask_va_api/correspondences/retriever.rb +++ b/modules/ask_va_api/app/lib/ask_va_api/correspondences/retriever.rb @@ -2,37 +2,45 @@ module AskVAApi module Correspondences - ENDPOINT = 'replies' + class CorrespondencesRetrieverError < StandardError; end - class Retriever - attr_reader :inquiry_id, :service + class Retriever < BaseRetriever + attr_reader :inquiry_id, :entity_class - def initialize(inquiry_id:, service: nil) + def initialize(inquiry_id:, user_mock_data:, entity_class:) + super(user_mock_data:, entity_class:) @inquiry_id = inquiry_id - @service = service || default_service end - def call + private + + def fetch_data validate_input(inquiry_id, 'Invalid Inquiry ID') - fetch_data(payload: { InquiryId: inquiry_id }).map do |cor| - Entity.new(cor) + if user_mock_data + data = File.read('modules/ask_va_api/config/locales/get_replies_mock_data.json') + + data = JSON.parse(data, symbolize_names: true)[:Data] + filter_data(data) + else + endpoint = "inquiries/#{inquiry_id}/replies" + + response = Crm::Service.new(icn: nil).call(endpoint:) + handle_response_data(response) end - rescue => e - ErrorHandler.handle_service_error(e) end - private - - def default_service - Crm::Service.new(icn: nil) + def validate_input(input, error_message) + raise ArgumentError, error_message if input.blank? end - def fetch_data(payload: {}) - service.call(endpoint: ENDPOINT, payload:)[:Data] + def filter_data(data) + data.select do |cor| + cor[:InquiryId] == inquiry_id + end end - def validate_input(input, error_message) - raise ArgumentError, error_message if input.blank? + def handle_response_data(response) + response[:Data].presence || raise(CorrespondencesRetrieverError, response[:Message]) end end end diff --git a/modules/ask_va_api/app/lib/ask_va_api/correspondences/serializer.rb b/modules/ask_va_api/app/lib/ask_va_api/correspondences/serializer.rb index d4900c2b1e6..6a8cc42e6e6 100644 --- a/modules/ask_va_api/app/lib/ask_va_api/correspondences/serializer.rb +++ b/modules/ask_va_api/app/lib/ask_va_api/correspondences/serializer.rb @@ -6,8 +6,7 @@ class Serializer < ActiveModel::Serializer include JSONAPI::Serializer set_type :correspondence - attributes :inquiry_id, - :message_type, + attributes :message_type, :modified_on, :status_reason, :description, diff --git a/modules/ask_va_api/app/lib/ask_va_api/inquiries/retriever.rb b/modules/ask_va_api/app/lib/ask_va_api/inquiries/retriever.rb index cd1fcad5907..d3a25005728 100644 --- a/modules/ask_va_api/app/lib/ask_va_api/inquiries/retriever.rb +++ b/modules/ask_va_api/app/lib/ask_va_api/inquiries/retriever.rb @@ -2,51 +2,61 @@ module AskVAApi module Inquiries - ENDPOINT = 'inquiries' + class InquiriesRetrieverError < StandardError; end - class Retriever - attr_reader :service, :icn + class Retriever < BaseRetriever + attr_reader :icn, :user_mock_data, :entity_class - def initialize(icn:, service: nil) + def initialize(user_mock_data:, entity_class:, icn: nil) + super(user_mock_data:, entity_class:) @icn = icn - @service = service || default_service end def fetch_by_id(id:) - validate_input(id, 'Invalid ID') - reply = Correspondences::Retriever.new(inquiry_id: id, service:).call - data = fetch_data(payload: { id: }) - return {} if data.blank? + inq = fetch_data(id) + reply = fetch_correspondences(inquiry_id: id) - Entity.new(data, reply) + entity_class.new(inq.first, reply) rescue => e - ErrorHandler.handle_service_error(e) + ::ErrorHandler.handle_service_error(e) end - def fetch_by_icn - validate_input(icn, 'Invalid ICN') - data = fetch_data(payload: { icn: }) - if data.empty? - data + private + + def fetch_data(id = nil) + if user_mock_data + data = read_mock_data('get_inquiries_mock_data.json') + filter_data(data, id) else - data.map { |inq| Entity.new(inq) } + endpoint = 'inquiries' + payload = id ? { icn: } : { id: } + + response = Crm::Service.new(icn:).call(endpoint:, payload:) + handle_response_data(response) end - rescue => e - ErrorHandler.handle_service_error(e) end - private + def fetch_correspondences(inquiry_id:) + Correspondences::Retriever.new( + inquiry_id:, + user_mock_data:, + entity_class: AskVAApi::Correspondences::Entity + ).call + end - def default_service - Crm::Service.new(icn:) + def read_mock_data(file_name) + data = File.read("modules/ask_va_api/config/locales/#{file_name}") + JSON.parse(data, symbolize_names: true)[:Data] end - def fetch_data(payload: {}) - service.call(endpoint: ENDPOINT, payload:)[:Data] + def filter_data(data, id = nil) + data.select do |inq| + id ? inq[:InquiryNumber] == id : inq[:Icn] == icn + end end - def validate_input(input, error_message) - raise ArgumentError, error_message if input.blank? + def handle_response_data(response) + response[:Data].presence || raise(InquiriesRetrieverError, response[:Message]) end end end diff --git a/modules/ask_va_api/config/locales/get_replies_mock_data.json b/modules/ask_va_api/config/locales/get_replies_mock_data.json index 36ae486909e..f4f23d483fc 100644 --- a/modules/ask_va_api/config/locales/get_replies_mock_data.json +++ b/modules/ask_va_api/config/locales/get_replies_mock_data.json @@ -1,7 +1,7 @@ { "Data": [ { - "InquiryId": "1", + "InquiryId": "A-1", "Id": "1", "ModifiedOn": "1/2/23", "StatusReason": "Completed/Sent", @@ -16,7 +16,7 @@ ] }, { - "InquiryId": "2", + "InquiryId": "A-2", "Id": "2", "ModifiedOn": "1/21/23", "StatusReason": "Completed/Sent", @@ -31,7 +31,7 @@ ] }, { - "InquiryId": "2", + "InquiryId": "A-2", "Id": "3", "ModifiedOn": "1/22/23", "StatusReason": "Completed/Sent", @@ -41,7 +41,7 @@ "AttachmentNames": [] }, { - "InquiryId": "2", + "InquiryId": "A-2", "Id": "4", "ModifiedOn": "1/23/23", "StatusReason": "Completed/Sent", @@ -51,7 +51,7 @@ "AttachmentNames": [] }, { - "InquiryId": "9", + "InquiryId": "A-9", "Id": "5", "ModifiedOn": "8/23/23", "StatusReason": "Completed/Sent", @@ -61,7 +61,7 @@ "AttachmentNames": [] }, { - "InquiryId": "9", + "InquiryId": "A-9", "Id": "6", "ModifiedOn": "8/24/23", "StatusReason": "Completed/Sent", @@ -71,7 +71,7 @@ "AttachmentNames": [] }, { - "InquiryId": "9", + "InquiryId": "A-9", "Id": "7", "ModifiedOn": "8/24/23", "StatusReason": "Completed/Sent", @@ -81,7 +81,7 @@ "AttachmentNames": [] }, { - "InquiryId": "9", + "InquiryId": "A-9", "Id": "7", "ModifiedOn": "8/25/23", "StatusReason": "Completed/Sent", @@ -91,7 +91,7 @@ "AttachmentNames": [] }, { - "InquiryId": "9", + "InquiryId": "A-9", "Id": "8", "ModifiedOn": "8/26/23", "StatusReason": "Completed/Sent", @@ -101,7 +101,7 @@ "AttachmentNames": [] }, { - "InquiryId": "9", + "InquiryId": "A-9", "Id": "8", "ModifiedOn": "8/26/23", "StatusReason": "Completed/Sent", @@ -111,7 +111,7 @@ "AttachmentNames": [] }, { - "InquiryId": "9", + "InquiryId": "A-9", "Id": "9", "ModifiedOn": "8/28/23", "StatusReason": "Completed/Sent", diff --git a/modules/ask_va_api/spec/app/lib/ask_va_api/correspondences/entity_spec.rb b/modules/ask_va_api/spec/app/lib/ask_va_api/correspondences/entity_spec.rb index 5fd91ba4c52..c6f0f9931bf 100644 --- a/modules/ask_va_api/spec/app/lib/ask_va_api/correspondences/entity_spec.rb +++ b/modules/ask_va_api/spec/app/lib/ask_va_api/correspondences/entity_spec.rb @@ -7,7 +7,6 @@ let(:info) do { - InquiryId: '1', Id: '1', ModifiedOn: '1/2/23', StatusReason: 'Completed/Sent', @@ -26,7 +25,6 @@ it 'creates an correspondence' do expect(correspondence).to have_attributes( - inquiry_id: info[:InquiryId], id: info[:Id], modified_on: info[:ModifiedOn], status_reason: info[:StatusReason], diff --git a/modules/ask_va_api/spec/app/lib/ask_va_api/correspondences/retriever_spec.rb b/modules/ask_va_api/spec/app/lib/ask_va_api/correspondences/retriever_spec.rb index cc8311c6052..d66d4ff2219 100644 --- a/modules/ask_va_api/spec/app/lib/ask_va_api/correspondences/retriever_spec.rb +++ b/modules/ask_va_api/spec/app/lib/ask_va_api/correspondences/retriever_spec.rb @@ -3,17 +3,17 @@ require 'rails_helper' RSpec.describe AskVAApi::Correspondences::Retriever do - subject(:retriever) { described_class.new(inquiry_id:) } + subject(:retriever) do + described_class.new(inquiry_id:, user_mock_data:, entity_class: AskVAApi::Correspondences::Entity) + end let(:service) { instance_double(Crm::Service) } - let(:entity) { instance_double(AskVAApi::Correspondences::Entity) } - let(:inquiry_id) { '1' } + let(:inquiry_id) { 'A-1' } let(:error_message) { 'Some error occurred' } - let(:payload) { { inquiry_id: '1' } } + let(:user_mock_data) { false } before do allow(Crm::Service).to receive(:new).and_return(service) - allow(AskVAApi::Correspondences::Entity).to receive(:new).and_return(entity) allow(service).to receive(:call) end @@ -28,29 +28,31 @@ end context 'when Crm raise an error' do - let(:payload) { { InquiryId: '1' } } - let(:response) { instance_double(Faraday::Response, status: 400, body: 'Bad Request') } - let(:endpoint) { AskVAApi::Correspondences::ENDPOINT } - let(:error_message) { "Bad request to #{endpoint}: #{response.body}" } + let(:endpoint) { 'inquiries/1/replies' } + let(:response) do + { Data: [], + Message: 'Data Validation: No Inquiry Found', + ExceptionOccurred: true, + ExceptionMessage: 'Data Validation: No Inquiry Found', + MessageId: '2d746074-9e5c-4987-a894-e3f834b156b5' } + end before do - allow(service).to receive(:call) - .with(endpoint:, payload:) - .and_raise(Crm::ErrorHandler::ServiceError, error_message) + allow_any_instance_of(Crm::CrmToken).to receive(:call).and_return('Token') + allow(service).to receive(:call).and_return(response) end - it 'raises an Error' do - expect do - retriever.call - end.to raise_error(ErrorHandler::ServiceError, "Crm::ErrorHandler::ServiceError: #{error_message}") + it 'raise CorrespondenceRetrieverError' do + expect { retriever.call }.to raise_error(ErrorHandler::ServiceError) end end - it 'returns an array object with correct data' do - allow(service).to receive(:call) - .with(endpoint: 'replies', payload: { InquiryId: inquiry_id }) - .and_return({ Data: [double] }) - expect(retriever.call).to eq([entity]) + context 'when successful' do + let(:user_mock_data) { true } + + it 'returns an array object with correct data' do + expect(retriever.call.first).to be_a(AskVAApi::Correspondences::Entity) + end end end end diff --git a/modules/ask_va_api/spec/app/lib/ask_va_api/correspondences/serializer_spec.rb b/modules/ask_va_api/spec/app/lib/ask_va_api/correspondences/serializer_spec.rb index fe5b272a0ad..72c30cd5d72 100644 --- a/modules/ask_va_api/spec/app/lib/ask_va_api/correspondences/serializer_spec.rb +++ b/modules/ask_va_api/spec/app/lib/ask_va_api/correspondences/serializer_spec.rb @@ -9,15 +9,14 @@ let(:cor2) { AskVAApi::Correspondences::Entity.new(data.last) } let(:response) { described_class.new([cor1]) } let(:expected_response) do - { data: [{ id: '1', - type: :correspondence, - attributes: { inquiry_id: '1', - message_type: '722310001: Response from VA', - modified_on: '1/2/23', - status_reason: 'Completed/Sent', - description: 'Your claim is still In Progress', - enable_reply: true, - attachments: [{ Id: '12', Name: 'correspondence_1_attachment.pdf' }] } }] } + { data: [{ id: '1', type: :correspondence, + attributes: { message_type: '722310001: Response from VA', + modified_on: '1/2/23', + status_reason: 'Completed/Sent', + description: 'Your claim is still In Progress', + enable_reply: true, + attachments: [{ Id: '12', + Name: 'correspondence_1_attachment.pdf' }] } }] } end context 'when successful' do diff --git a/modules/ask_va_api/spec/app/lib/ask_va_api/inquiries/retriever_spec.rb b/modules/ask_va_api/spec/app/lib/ask_va_api/inquiries/retriever_spec.rb index d4c64631c94..b848c81cb93 100644 --- a/modules/ask_va_api/spec/app/lib/ask_va_api/inquiries/retriever_spec.rb +++ b/modules/ask_va_api/spec/app/lib/ask_va_api/inquiries/retriever_spec.rb @@ -3,75 +3,159 @@ require 'rails_helper' RSpec.describe AskVAApi::Inquiries::Retriever do - subject(:retriever) { described_class.new(icn:, service:) } + subject(:retriever) do + described_class.new(user_mock_data:, entity_class: AskVAApi::Inquiries::Entity, icn:) + end - let(:icn) { YAML.load_file('./modules/ask_va_api/config/locales/constants.yml')['test_users']['test_user_228_icn'] } - let(:service) { DynamicsMockService.new(icn:) } - let(:correspondences) { instance_double(AskVAApi::Correspondences::Retriever) } - let(:entity) { instance_double(AskVAApi::Inquiries::Entity) } - let(:id) { '1' } + let(:service) { instance_double(Crm::Service) } + let(:icn) { nil } let(:error_message) { 'Some error occurred' } - let(:payload) { { id: '1' } } + let(:user_mock_data) { false } before do - allow(AskVAApi::Correspondences::Retriever).to receive(:new).and_return(correspondences) - allow(correspondences).to receive(:call).and_return(entity) - allow(AskVAApi::Inquiries::Entity).to receive(:new).and_return(entity) + allow(Crm::Service).to receive(:new).and_return(service) + allow(service).to receive(:call) end - describe '#fetch_by_id' do - it 'returns an Entity object with correct data' do - expect(retriever.fetch_by_id(id:)).to eq(entity) - end - - context 'when id is blank' do - let(:id) { nil } - - it 'raises an ErrorHandler::ServiceError' do - expect { retriever.fetch_by_id(id:) } - .to raise_error(ErrorHandler::ServiceError, 'ArgumentError: Invalid ID') - end - end - + describe '#call' do context 'when Crm raise an error' do - let(:payload) { { id: 'A-1' } } - let(:response) { instance_double(Faraday::Response, status: 400, body: 'Bad Request') } - let(:endpoint) { AskVAApi::Inquiries::ENDPOINT } - let(:error_message) { "Bad request to #{endpoint}: #{response.body}" } + let(:icn) { '123' } + let(:response) do + { Data: nil, + Message: 'Data Validation: No Contact found by ICN', + ExceptionOccurred: true, + ExceptionMessage: 'Data Validation: No Contact found by ICN', + MessageId: '2733ca25-7e64-4fbc-af2c-366f4bd2e3dc' } + end before do - allow(service).to receive(:call) - .with(endpoint:, payload:) - .and_raise(Crm::ErrorHandler::ServiceError, error_message) + allow_any_instance_of(Crm::CrmToken).to receive(:call).and_return('Token') + allow(service).to receive(:call).and_return(response) end - it 'raises a FetchInquiriesError' do - expect do - retriever.fetch_by_id(id: 'A-1') - end.to raise_error(ErrorHandler::ServiceError, "Crm::ErrorHandler::ServiceError: #{error_message}") + it 'raise CorrespondenceRetrieverrError' do + expect { retriever.call }.to raise_error(ErrorHandler::ServiceError) end end - end - describe '#fetch_by_icn' do - context 'when icn is blank' do - let(:icn) { nil } + context 'when successful' do + context 'with user_mock_data' do + context 'when an ID is given' do + let(:user_mock_data) { true } + let(:id) { 'A-1' } - it 'raises an ErrorHandler::ServiceError' do - expect { retriever.fetch_by_icn } - .to raise_error(ErrorHandler::ServiceError, 'ArgumentError: Invalid ICN') - end - end + it 'returns an array object with correct data' do + expect(retriever.fetch_by_id(id:)).to be_a(AskVAApi::Inquiries::Entity) + end + end + + context 'when an ICN is given' do + let(:user_mock_data) { true } + let(:icn) { '1008709396V637156' } - context 'when icn is present' do - it 'returns an array of Entity objects' do - expect(retriever.fetch_by_icn.first).to eq(entity) + it 'returns an array object with correct data' do + expect(retriever.call.first).to be_a(AskVAApi::Inquiries::Entity) + end + end end - context 'when there are no inquiries' do - it 'returns an empty array' do - allow(service).to receive(:call).and_return({ Data: [] }) - expect(retriever.fetch_by_icn).to be_empty + context 'with Crm::Service' do + context 'when an ID is given' do + let(:id) { '123' } + let(:response) do + { Data: [{ Id: '154163f2-8fbb-ed11-9ac4-00155da17a6f', + InquiryNumber: 'A-20230305-306178', + InquiryStatus: 'Reopened', + SubmitterQuestion: 'test', + LastUpdate: '4/1/2024 12:00:00 AM', + InquiryHasAttachments: true, + InquiryHasBeenSplit: true, + VeteranRelationship: 'GIBillBeneficiary', + SchoolFacilityCode: '77a51029-6816-e611-9436-0050568d743d', + InquiryTopic: 'Medical Care Concerns at a VA Medical Facility', + InquiryLevelOfAuthentication: 'Unauthenticated', + AttachmentNames: [{ Id: '367e8d31-6c82-1d3c-81b8-dd2cabed7555', + Name: 'Test.txt' }] }] } + end + + before do + allow_any_instance_of(Crm::CrmToken).to receive(:call).and_return('Token') + allow(service).to receive(:call).and_return(response) + end + + it 'returns an array object with correct data' do + expect(retriever.fetch_by_id(id:)).to be_a(AskVAApi::Inquiries::Entity) + end + end + + context 'when an ICN is given' do + let(:icn) { '1013694290V263188' } + let(:response) do + { + Data: [ + { + Id: '154163f2-8fbb-ed11-9ac4-00155da17a6f', + InquiryNumber: 'A-20230305-306178', + InquiryStatus: 'Reopened', + SubmitterQuestion: 'test', + LastUpdate: '4/1/2024 12:00:00 AM', + InquiryHasAttachments: true, + InquiryHasBeenSplit: true, + VeteranRelationship: 'GIBillBeneficiary', + SchoolFacilityCode: '77a51029-6816-e611-9436-0050568d743d', + InquiryTopic: 'Medical Care Concerns at a VA Medical Facility', + InquiryLevelOfAuthentication: 'Unauthenticated', + AttachmentNames: [ + { + Id: '367e8d31-6c82-1d3c-81b8-dd2cabed7555', + Name: 'Test.txt' + } + ] + }, + { + Id: 'b24e8113-92d1-ed11-9ac4-00155da17a6f', + InquiryNumber: 'A-20230402-306218', + InquiryStatus: 'New', + SubmitterQuestion: 'test', + LastUpdate: '1/1/0001 12:00:00 AM', + InquiryHasAttachments: false, + InquiryHasBeenSplit: false, + VeteranRelationship: nil, + SchoolFacilityCode: '77a51029-6816-e611-9436-0050568d743d', + InquiryTopic: 'Medical Care Concerns at a VA Medical Facility', + InquiryLevelOfAuthentication: 'Personal', + AttachmentNames: nil + }, + { + Id: 'e1ce6ae6-40ec-ee11-904d-001dd8306a72', + InquiryNumber: 'A-20240327-307060', + InquiryStatus: 'New', + SubmitterQuestion: 'test', + LastUpdate: '3/27/2024 12:00:00 AM', + InquiryHasAttachments: true, + InquiryHasBeenSplit: true, + VeteranRelationship: nil, + SchoolFacilityCode: nil, + InquiryTopic: 'Filing for compensation benefits', + InquiryLevelOfAuthentication: 'Personal', + AttachmentNames: nil + } + ], + Message: nil, + ExceptionOccurred: false, + ExceptionMessage: nil, + MessageId: '3779a3c5-15a5-4846-8198-d499a0bbfe1f' + } + end + + before do + allow_any_instance_of(Crm::CrmToken).to receive(:call).and_return('Token') + allow(service).to receive(:call).and_return(response) + end + + it 'returns an array object with correct data' do + expect(retriever.call.first).to be_a(AskVAApi::Inquiries::Entity) + end end end end diff --git a/modules/ask_va_api/spec/app/lib/ask_va_api/optionset/retriever_spec.rb b/modules/ask_va_api/spec/app/lib/ask_va_api/optionset/retriever_spec.rb index 53734fa6b7d..397bc122d97 100644 --- a/modules/ask_va_api/spec/app/lib/ask_va_api/optionset/retriever_spec.rb +++ b/modules/ask_va_api/spec/app/lib/ask_va_api/optionset/retriever_spec.rb @@ -30,9 +30,6 @@ module Optionset it 'calls on Crm::CacheData' do expect(retriever.call).to all(be_a(entity_class)) - - expect(cache_data_service).to have_received(:call).with(endpoint: 'OptionSet', cache_key: name, - payload: { name: 'iris_branchofservice' }) end end end diff --git a/modules/ask_va_api/spec/app/lib/ask_va_api/optionset/serializer_spec.rb b/modules/ask_va_api/spec/app/lib/ask_va_api/optionset/serializer_spec.rb index 56d7b067e72..0d3d2901cfd 100644 --- a/modules/ask_va_api/spec/app/lib/ask_va_api/optionset/serializer_spec.rb +++ b/modules/ask_va_api/spec/app/lib/ask_va_api/optionset/serializer_spec.rb @@ -11,13 +11,7 @@ end let(:optionset) { AskVAApi::Optionset::Entity.new(info) } let(:response) { described_class.new(optionset) } - let(:expected_response) do - { data: { id: '722310000', - type: :optionsets, - attributes: { - name: info[:Name] - } } } - end + let(:expected_response) { { data: { id: '722310000', type: :optionsets, attributes: { name: 'Air Force' } } } } context 'when successful' do it 'returns a json hash' do diff --git a/modules/ask_va_api/spec/requests/v0/inquiries_spec.rb b/modules/ask_va_api/spec/requests/v0/inquiries_spec.rb index 3f64c8facf1..1427d49bed9 100644 --- a/modules/ask_va_api/spec/requests/v0/inquiries_spec.rb +++ b/modules/ask_va_api/spec/requests/v0/inquiries_spec.rb @@ -11,7 +11,7 @@ let(:mock_inquiries) do JSON.parse(File.read('modules/ask_va_api/config/locales/get_inquiries_mock_data.json'))['Data'] end - let(:valid_id) { mock_inquiries.first['Id'] } + let(:valid_id) { mock_inquiries.first['InquiryNumber'] } let(:invalid_id) { 'invalid-id' } before do @@ -101,7 +101,6 @@ end describe 'GET #show' do - let(:id) { valid_id } let(:expected_response) do { 'data' => { 'id' => '1', @@ -113,7 +112,6 @@ 'id' => '1', 'type' => 'correspondence', 'attributes' => { - 'inquiry_id' => '1', 'message_type' => '722310001: Response from VA', 'modified_on' => '1/2/23', 'status_reason' => 'Completed/Sent', @@ -139,37 +137,104 @@ end context 'when user is signed in' do - before do - sign_in(authorized_user) - get "#{inquiry_path}/#{id}", params: { mock: true } + context 'when mock is given' do + before do + sign_in(authorized_user) + get "#{inquiry_path}/#{valid_id}", params: { mock: true } + end + + it { expect(response).to have_http_status(:ok) } + it { expect(JSON.parse(response.body)).to eq(expected_response) } end - it { expect(response).to have_http_status(:ok) } - it { expect(JSON.parse(response.body)).to eq(expected_response) } + context 'when mock is not given' do + let(:crm_response) do + { Data: [{ Id: '154163f2-8fbb-ed11-9ac4-00155da17a6f', + InquiryNumber: 'A-20230305-306178', + InquiryStatus: 'Reopened', + SubmitterQuestion: 'test', + LastUpdate: '4/1/2024 12:00:00 AM', + InquiryHasAttachments: true, + InquiryHasBeenSplit: true, + VeteranRelationship: 'GIBillBeneficiary', + SchoolFacilityCode: '77a51029-6816-e611-9436-0050568d743d', + InquiryTopic: 'Medical Care Concerns at a VA Medical Facility', + InquiryLevelOfAuthentication: 'Unauthenticated', + AttachmentNames: [{ Id: '367e8d31-6c82-1d3c-81b8-dd2cabed7555', + Name: 'Test.txt' }] }] } + end + let(:expected_response) do + { 'data' => + { 'id' => '154163f2-8fbb-ed11-9ac4-00155da17a6f', + 'type' => 'inquiry', + 'attributes' => + { 'inquiry_number' => 'A-20230305-306178', + 'attachments' => [{ 'Id' => '367e8d31-6c82-1d3c-81b8-dd2cabed7555', 'Name' => 'Test.txt' }], + 'correspondences' => + { 'data' => + [{ 'id' => '154163f2-8fbb-ed11-9ac4-00155da17a6f', + 'type' => 'correspondence', + 'attributes' => + { 'message_type' => nil, + 'modified_on' => nil, + 'status_reason' => nil, + 'description' => nil, + 'enable_reply' => nil, + 'attachments' => [{ 'Id' => '367e8d31-6c82-1d3c-81b8-dd2cabed7555', + 'Name' => 'Test.txt' }] } }] }, + 'has_attachments' => true, + 'has_been_split' => true, + 'level_of_authentication' => 'Unauthenticated', + 'last_update' => '4/1/2024 12:00:00 AM', + 'status' => 'Reopened', + 'submitter_question' => 'test', + 'school_facility_code' => '77a51029-6816-e611-9436-0050568d743d', + 'topic' => 'Medical Care Concerns at a VA Medical Facility', + 'veteran_relationship' => 'GIBillBeneficiary' } } } + end + let(:service) { instance_double(Crm::Service) } + + before do + allow(Crm::Service).to receive(:new).and_return(service) + allow_any_instance_of(Crm::CrmToken).to receive(:call).and_return('Token') + allow(service).to receive(:call).and_return(crm_response) + sign_in(authorized_user) + get "#{inquiry_path}/#{valid_id}" + end - context 'when the id is invalid' do - let(:id) { invalid_id } + it { expect(response).to have_http_status(:ok) } + it { expect(JSON.parse(response.body)).to eq(expected_response) } + end - it { expect(response).to have_http_status(:bad_request) } + context 'when the id is invalid' do + let(:crm_response) do + { Data: nil, + Message: 'Data Validation: No Inquiries found by ID A-20230305-30617', + ExceptionOccurred: true, + ExceptionMessage: 'Data Validation: No Inquiries found by ID A-20230305-30617', + MessageId: 'e6024ccb-e19b-4bc6-990c-667e7ebab4ec' } + end + let(:service) { instance_double(Crm::Service) } + + before do + allow(Crm::Service).to receive(:new).and_return(service) + allow_any_instance_of(Crm::CrmToken).to receive(:call).and_return('Token') + allow(service).to receive(:call).and_return(crm_response) + sign_in(authorized_user) + get "#{inquiry_path}/#{invalid_id}" + end - it_behaves_like 'common error handling', :bad_request, 'invalid_inquiry_error', - 'AskVAApi::V0::InquiriesController::InvalidInquiryError' - end - end + it { expect(response).to have_http_status(:unprocessable_entity) } - context 'when an error occur' do - before do - allow(Crm::Service).to receive(:new).and_raise(ErrorHandler::ServiceError) - sign_in(authorized_user) - get "#{inquiry_path}/#{id}" + it_behaves_like 'common error handling', :unprocessable_entity, 'service_error', + 'AskVAApi::Inquiries::InquiriesRetrieverError: ' \ + 'Data Validation: No Inquiries found by ID A-20230305-30617' end - - it { expect(JSON.parse(response.body)).to eq('error' => 'ErrorHandler::ServiceError') } end context 'when user is not signed in' do before do - get "#{inquiry_path}/#{id}" + get "#{inquiry_path}/#{valid_id}" end it { expect(response).to have_http_status(:unauthorized) } From 6a70c96c51a44acb496b0f07d5eda2e60e35c8d3 Mon Sep 17 00:00:00 2001 From: Khoa Nguyen <134089461+Khoa-V-Nguyen@users.noreply.github.com> Date: Mon, 15 Apr 2024 13:40:26 -0600 Subject: [PATCH 32/74] update Inquiriies::Retriever (#16347) Co-authored-by: khoa-v-nguyen --- modules/ask_va_api/app/lib/ask_va_api/inquiries/retriever.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/ask_va_api/app/lib/ask_va_api/inquiries/retriever.rb b/modules/ask_va_api/app/lib/ask_va_api/inquiries/retriever.rb index d3a25005728..eb2c9dd01b5 100644 --- a/modules/ask_va_api/app/lib/ask_va_api/inquiries/retriever.rb +++ b/modules/ask_va_api/app/lib/ask_va_api/inquiries/retriever.rb @@ -29,7 +29,7 @@ def fetch_data(id = nil) filter_data(data, id) else endpoint = 'inquiries' - payload = id ? { icn: } : { id: } + payload = id ? { id: } : { icn: } response = Crm::Service.new(icn:).call(endpoint:, payload:) handle_response_data(response) From 1e48c4c3ec5f867cb7199d9cc11c56cd134c0f13 Mon Sep 17 00:00:00 2001 From: Trevor Bosaw Date: Mon, 15 Apr 2024 12:45:30 -0700 Subject: [PATCH 33/74] Removing unused download_pdf functionality from health_care_application controller (#16323) --- .../v0/health_care_applications_controller.rb | 17 +- config/routes.rb | 1 - lib/pdf_fill/filler.rb | 2 - lib/pdf_fill/forms/maps/input_map_1010_ez.rb | 111 ---------- lib/pdf_fill/forms/maps/key_map_1010_ez.rb | 113 ---------- lib/pdf_fill/forms/pdfs/10-10EZ.pdf | Bin 1206454 -> 0 bytes lib/pdf_fill/forms/va1010ez.rb | 193 ------------------ ...ealth_care_applications_controller_spec.rb | 17 -- 8 files changed, 1 insertion(+), 453 deletions(-) delete mode 100644 lib/pdf_fill/forms/maps/input_map_1010_ez.rb delete mode 100644 lib/pdf_fill/forms/maps/key_map_1010_ez.rb delete mode 100644 lib/pdf_fill/forms/pdfs/10-10EZ.pdf delete mode 100644 lib/pdf_fill/forms/va1010ez.rb diff --git a/app/controllers/v0/health_care_applications_controller.rb b/app/controllers/v0/health_care_applications_controller.rb index 9636b20c734..49e676eaa32 100644 --- a/app/controllers/v0/health_care_applications_controller.rb +++ b/app/controllers/v0/health_care_applications_controller.rb @@ -12,7 +12,7 @@ class HealthCareApplicationsController < ApplicationController service_tag 'healthcare-application' FORM_ID = '1010ez' - skip_before_action(:authenticate, only: %i[create show enrollment_status healthcheck download_pdf facilities]) + skip_before_action(:authenticate, only: %i[create show enrollment_status healthcheck facilities]) before_action :record_submission_attempt, only: :create before_action :load_user, only: %i[create enrollment_status] @@ -69,14 +69,6 @@ def healthcheck render(json: HCA::Service.new.health_check) end - def download_pdf - source_file_path = PdfFill::Filler.fill_form(health_care_application, SecureRandom.uuid, sign: false) - file_contents = File.read(source_file_path) - File.delete(source_file_path) - - send_data file_contents, filename: file_name_for_pdf, type: 'application/pdf', disposition: 'attachment' - end - def facilities render(json: lighthouse_facilities_service.get_facilities(lighthouse_facilities_params)) end @@ -109,13 +101,6 @@ def lighthouse_facilities_params ) end - def file_name_for_pdf - veteran_name = health_care_application.parsed_form.try(:[], 'veteranFullName') - first_name = veteran_name.try(:[], 'first') || 'First' - last_name = veteran_name.try(:[], 'last') || 'Last' - "10-10EZ_#{first_name}_#{last_name}.pdf" - end - def record_submission_attempt StatsD.increment("#{HCA::Service::STATSD_KEY_PREFIX}.submission_attempt") if health_care_application.short_form? diff --git a/config/routes.rb b/config/routes.rb index cc8807d889f..db2ba446c87 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -115,7 +115,6 @@ get(:enrollment_status) get(:rating_info) get(:facilities) - post(:download_pdf) end end diff --git a/lib/pdf_fill/filler.rb b/lib/pdf_fill/filler.rb index 2ce6719beca..fc0d79ac0f2 100644 --- a/lib/pdf_fill/filler.rb +++ b/lib/pdf_fill/filler.rb @@ -8,7 +8,6 @@ require 'pdf_fill/forms/va210781' require 'pdf_fill/forms/va218940' require 'pdf_fill/forms/va1010cg' -require 'pdf_fill/forms/va1010ez' require 'pdf_fill/forms/va686c674' require 'pdf_fill/forms/va281900' require 'pdf_fill/forms/va288832' @@ -32,7 +31,6 @@ module Filler '21-0781' => PdfFill::Forms::Va210781, '21-8940' => PdfFill::Forms::Va218940, '10-10CG' => PdfFill::Forms::Va1010cg, - '10-10EZ' => PdfFill::Forms::Va1010ez, '686C-674' => PdfFill::Forms::Va686c674, '28-1900' => PdfFill::Forms::Va281900, '28-8832' => PdfFill::Forms::Va288832, diff --git a/lib/pdf_fill/forms/maps/input_map_1010_ez.rb b/lib/pdf_fill/forms/maps/input_map_1010_ez.rb deleted file mode 100644 index 58723c811b1..00000000000 --- a/lib/pdf_fill/forms/maps/input_map_1010_ez.rb +++ /dev/null @@ -1,111 +0,0 @@ -# frozen_string_literal: true - -module PdfFill - module Forms - module Maps - module InputMap1010Ez - def self.extended(base) - base.include(self) - end - - INPUT_MAP = OpenStruct.new( - benefits_type: { - enrollment: 'F[0].P4[0].CheckBox7[6]', - registration: 'F[0].P4[0].CheckBox7[7]' - }, - veteran: { - name: 'F[0].P4[0].LastFirstMiddle[0]', - preferred_name: 'F[0].P4[0].TextField2[1]', - mothers_maiden_name: 'F[0].P4[0].TextField2[0]', - date_of_birth: 'F[0].P4[0].DateTimeField4[0]', - gender: 'F[0].P4[0].RadioButtonList[1]', - sigi_genders: 'F[0].P4[0].RadioButtonList[4]', - ssn: 'F[0].P4[0].SSN[0]', - place_of_birth: 'F[0].P4[0].TextField5[0]', - state_of_birth: 'F[0].P4[0].TextField5[0]', - marital_status: 'F[0].P4[0].RadioButtonList[3]', - email: 'F[0].P4[0].TextField23[0]', - home_phone: 'F[0].P4[0].TextField10[0]', - mobile_phone: 'F[0].P4[0].TextField11[0]', - initial_va_contact: 'F[0].P4[0].RadioButtonList[2]', - address: { - street: 'F[0].P4[0].TextField6[0]', - city: 'F[0].P4[0].TextField7[0]', - state: 'F[0].P4[0].TextField8[0]', - postalCode: 'F[0].P4[0].TextField25[0]' - }, - home_address: { - street: 'F[0].P4[0].TextField6[1]', - city: 'F[0].P4[0].TextField7[1]', - state: 'F[0].P4[0].TextField8[1]', - postalCode: 'F[0].P4[0].TextField25[1]' - }, - ethnicity: { - isAmericanIndianOrAlaskanNative: 'F[0].P4[0].CheckBox7[0]', - isAsian: 'F[0].P4[0].CheckBox7[1]', - isBlackOrAfricanAmerican: 'F[0].P4[0].CheckBox7[3]', - isSpanishHispanicLatino: 'F[0].P4[0].RadioButtonList[0]', - isNativeHawaiianOrOtherPacificIslander: 'F[0].P4[0].CheckBox7[4]', - isWhite: 'F[0].P4[0].CheckBox7[2]', - hasDemographicNoAnswer: 'F[0].P4[0].CheckBox7[5]' - }, - service: { - last_branch_of_service: 'F[0].P5[0].TextField13[0]', - last_entry_date: 'F[0].P5[0].DateTimeField8[0]', - last_discharge_date: 'F[0].P5[0].DateTimeField9[0]', - discharge_type: 'F[0].P5[0].TextField24[0]', - purple_heart_recipient: 'F[0].P5[0].RadioButtonList[6]', - is_former_pow: 'F[0].P5[0].RadioButtonList[7]', - post_11111998_combat: 'F[0].P5[0].RadioButtonList[8]', - disabled_in_lod: 'F[0].P5[0].RadioButtonList[9]', - sw_asia_combat: 'F[0].P5[0].RadioButtonList[10]', - vietnam_service: 'F[0].P5[0].RadioButtonList[12]', - exposed_to_radiation: 'F[0].P5[0].RadioButtonList[13]', - radium_treatments: 'F[0].P5[0].RadioButtonList[14]', - camp_lejeune: 'F[0].P5[0].RadioButtonList[15]' - }, - disclose_financial_information: 'F[0].P6[0].RadioButtonList[0]', - gross_income: 'F[0].P6[0].NumericField2[0]', - net_income: 'F[0].P6[0].NumericField2[3]', - other_income: 'F[0].P6[0].NumericField2[6]' - }, - spouse: { - name: 'F[0].P5[0].TextField20[0]', - date_of_birth: 'F[0].P5[0].DateTimeField6[0]', - date_of_marriage: 'F[0].P5[0].DateTimeField5[0]', - address: 'F[0].P5[0].TextField20[3]', - cohabitated_last_year: 'F[0].P5[0].RadioButtonList[2]', - gross_income: 'F[0].P6[0].NumericField2[1]', - net_income: 'F[0].P6[0].NumericField2[4]', - other_income: 'F[0].P6[0].NumericField2[7]' - }, - is_medicaid_eligible: 'F[0].P5[0].RadioButtonList[4]', - is_enrolled_nedicare_part_a: 'F[0].P5[0].RadioButtonList[5]', - medicare_number: 'F[0].P5[0].MedicareClaimNumber[0]', - medicare_effective_date: 'F[0].P5[0].DateTimeField1[0]', - deductible_medical_expenses: 'F[0].P6[0].NumericField2[9]', - deductible_funeral_expenses: 'F[0].P6[0].NumericField2[10]', - deductible_education_expenses: 'F[0].P6[0].NumericField2[11]', - providers: { - insurance_name: 'F[0].P5[0].TextField17[0]', - insurance_policy_holder_name: 'F[0].P5[0].TextField18[0]', - insurance_policy_number: 'F[0].P5[0].TextField19[0]', - insurance_group_code: 'F[0].P5[0].TextField19[1]' - }, - dependents: { - name: 'F[0].P5[0].TextField20[1]', - date_of_birth: 'F[0].P5[0].DateTimeField3[0]', - ssn: 'F[0].P5[0].TextField20[4]', - relation: 'F[0].P5[0].RadioButtonList[3]', - became_dependent: 'F[0].P5[0].DateTimeField7[0]', - attend_school_last_year: 'F[0].P5[0].RadioButtonList[1]', - disabled_before18: 'F[0].P5[0].RadioButtonList[0]', - gross_income: 'F[0].P6[0].NumericField2[2]', - net_income: 'F[0].P6[0].NumericField2[5]', - other_income: 'F[0].P6[0].NumericField2[8]' - } - ) - end - end - end -end diff --git a/lib/pdf_fill/forms/maps/key_map_1010_ez.rb b/lib/pdf_fill/forms/maps/key_map_1010_ez.rb deleted file mode 100644 index 31b22700277..00000000000 --- a/lib/pdf_fill/forms/maps/key_map_1010_ez.rb +++ /dev/null @@ -1,113 +0,0 @@ -# frozen_string_literal: true - -require 'pdf_fill/forms/maps/input_map_1010_ez' - -module PdfFill - module Forms - module Maps - module KeyMap1010Ez - extend InputMap1010Ez - - KEY = { - 'helpers' => { - 'veteranFullName' => { key: INPUT_MAP.veteran[:name], question_num: 3 }, - 'gender' => { key: INPUT_MAP.veteran[:gender], question_num: 6 }, - 'sigiGenders' => { key: INPUT_MAP.veteran[:sigi_genders], question_num: 7 }, - 'placeOfBirth' => { key: INPUT_MAP.veteran[:place_of_birth], question_num: 12 }, - 'isAmericanIndianOrAlaskanNative' => { - key: INPUT_MAP.veteran[:ethnicity][:isAmericanIndianOrAlaskanNative], - question_num: 9 - }, - 'isAsian' => { key: INPUT_MAP.veteran[:ethnicity][:isAsian], question_num: 9 }, - 'isBlackOrAfricanAmerican' => { - key: INPUT_MAP.veteran[:ethnicity][:isBlackOrAfricanAmerican], - question_num: 9 - }, - 'isSpanishHispanicLatino' => { - key: INPUT_MAP.veteran[:ethnicity][:isSpanishHispanicLatino], - question_num: 8 - }, - 'isNativeHawaiianOrOtherPacificIslander' => { - key: INPUT_MAP.veteran[:ethnicity][:isNativeHawaiianOrOtherPacificIslander], - question_num: 9 - }, - 'isWhite' => { key: INPUT_MAP.veteran[:ethnicity][:isWhite], question_num: 9 }, - 'hasDemographicNoAnswer' => { - key: INPUT_MAP.veteran[:ethnicity][:hasDemographicNoAnswer], question_num: 9 - }, - 'maritalStatus' => { key: INPUT_MAP.veteran[:marital_status], question_num: 28 }, - 'wantsInitialVaContact' => { key: INPUT_MAP.veteran[:initial_va_contact], question_num: 37 }, - 'purpleHeartRecipient' => { key: INPUT_MAP.veteran[:service][:purple_heart_recipient] }, - 'isFormerPow' => { key: INPUT_MAP.veteran[:service][:is_former_pow] }, - 'postNov111998Combat' => { key: INPUT_MAP.veteran[:service][:post_11111998_combat] }, - 'disabledInLineOfDuty' => { key: INPUT_MAP.veteran[:service][:disabled_in_lod] }, - 'swAsiaCombat' => { key: INPUT_MAP.veteran[:service][:sw_asia_combat] }, - 'vietnamService' => { key: INPUT_MAP.veteran[:service][:vietnam_service] }, - 'exposedToRadiation' => { key: INPUT_MAP.veteran[:service][:exposed_to_radiation] }, - 'radiumTreatments' => { key: INPUT_MAP.veteran[:service][:radium_treatments] }, - 'campLejeune' => { key: INPUT_MAP.veteran[:service][:camp_lejeune] }, - 'isMedicaidEligible' => { key: INPUT_MAP.is_medicaid_eligible }, - 'isEnrolledMedicarePartA' => { key: INPUT_MAP.is_enrolled_nedicare_part_a }, - 'providers' => { - 'insuranceName' => { key: INPUT_MAP.providers[:insurance_name] }, - 'insurancePolicyHolderName' => { key: INPUT_MAP.providers[:insurance_policy_holder_name] }, - 'insurancePolicyNumber' => { key: INPUT_MAP.providers[:insurance_policy_number] }, - 'insuranceGroupCode' => { key: INPUT_MAP.providers[:insurance_group_code] } - }, - 'dependents' => { - 'fullName' => { key: INPUT_MAP.dependents[:name] }, - 'dependentRelation' => { key: INPUT_MAP.dependents[:relation] }, - 'socialSecurityNumber' => { key: INPUT_MAP.dependents[:ssn] }, - 'dateOfBirth' => { key: INPUT_MAP.dependents[:date_of_birth] }, - 'becameDependent' => { key: INPUT_MAP.dependents[:became_dependent] }, - 'attendedSchoolLastYear' => { key: INPUT_MAP.dependents[:attend_school_last_year] }, - 'disabledBefore18' => { key: INPUT_MAP.dependents[:disabled_before18] }, - 'grossIncome' => { key: INPUT_MAP.dependents[:gross_income] }, - 'netIncome' => { key: INPUT_MAP.dependents[:net_income] }, - 'otherIncome' => { key: INPUT_MAP.dependents[:other_income] } - }, - 'spouseFullName' => { key: INPUT_MAP.spouse[:name] }, - 'spouseAddress' => { key: INPUT_MAP.spouse[:address] }, - 'cohabitedLastYear' => { key: INPUT_MAP.spouse[:cohabitated_last_year] }, - 'veteranDateOfBirth' => { key: INPUT_MAP.veteran[:date_of_birth], question_num: 11 }, - 'lastEntryDate' => { key: INPUT_MAP.veteran[:service][:last_entry_date] }, - 'lastDischargeDate' => { key: INPUT_MAP.veteran[:service][:last_discharge_date] }, - 'medicarePartAEffectiveDate' => { key: INPUT_MAP.medicare_effective_date }, - 'spouseDateOfBirth' => { key: INPUT_MAP.spouse[:date_of_birth] }, - 'dateOfMarriage' => { key: INPUT_MAP.spouse[:date_of_marriage] }, - 'discloseFinancialInformation' => { key: INPUT_MAP.veteran[:disclose_financial_information] } - }, - 'mothersMaidenName' => { key: INPUT_MAP.veteran[:mothers_maiden_name], question_num: 5 }, - 'veteranSocialSecurityNumber' => { key: INPUT_MAP.veteran[:ssn], question_num: 10 }, - 'email' => { key: INPUT_MAP.veteran[:email], question_num: 22 }, - 'homePhone' => { key: INPUT_MAP.veteran[:home_phone], question_num: 20 }, - 'mobilePhone' => { key: INPUT_MAP.veteran[:mobile_phone], question_num: 21 }, - 'veteranAddress' => { - 'street' => { key: INPUT_MAP.veteran[:address][:street], question_num: 15 }, - 'city' => { key: INPUT_MAP.veteran[:address][:city], question_num: 16 }, - 'postalCode' => { key: INPUT_MAP.veteran[:address][:postalCode], question_num: 18 }, - 'state' => { key: INPUT_MAP.veteran[:address][:state], question_num: 17 } - }, - 'veteranHomeAddress' => { - 'street' => { key: INPUT_MAP.veteran[:home_address][:street], question_num: 23 }, - 'city' => { key: INPUT_MAP.veteran[:home_address][:city], question_num: 24 }, - 'postalCode' => { key: INPUT_MAP.veteran[:home_address][:postalCode], question_num: 26 }, - 'state' => { key: INPUT_MAP.veteran[:home_address][:state], question_num: 25 } - }, - 'lastServiceBranch' => { key: INPUT_MAP.veteran[:service][:last_branch_of_service] }, - 'dischargeType' => { key: INPUT_MAP.veteran[:service][:discharge_type] }, - 'medicareClaimNumber' => { key: INPUT_MAP.medicare_number }, - 'spouseGrossIncome' => { key: INPUT_MAP.spouse[:gross_income] }, - 'spouseNetIncome' => { key: INPUT_MAP.spouse[:net_income] }, - 'spouseOtherIncome' => { key: INPUT_MAP.spouse[:other_income] }, - 'veteranGrossIncome' => { key: INPUT_MAP.veteran[:gross_income] }, - 'veteranNetIncome' => { key: INPUT_MAP.veteran[:net_income] }, - 'veteranOtherIncome' => { key: INPUT_MAP.veteran[:other_income] }, - 'deductibleMedicalExpenses' => { key: INPUT_MAP.deductible_medical_expenses }, - 'deductibleFuneralExpenses' => { key: INPUT_MAP.deductible_funeral_expenses }, - 'deductibleEducationExpenses' => { key: INPUT_MAP.deductible_education_expenses } - }.freeze - end - end - end -end diff --git a/lib/pdf_fill/forms/pdfs/10-10EZ.pdf b/lib/pdf_fill/forms/pdfs/10-10EZ.pdf deleted file mode 100644 index 77691d8241606c64344cd22dafd8beb75abafa64..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1206454 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 B)Kl4y-Q=1p^n;pTR1t%kUr@1wnx9uOfYMl0 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

    =@qwGO;~?g`w| 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

    T1IinRO03oC^V-x84hI@Hk4#Xb3&P>IF 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�N;KL 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�f~~tD>naqduD`? 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

      e2S0F`V)iMv^eB2U?9NCY|jaFg4 zgwI4{x}~6DxzKZDeM+Q+T(Kni^SmHHVNvKvg_HuZj@I`eJv4=-5-@W@8uz>vQ(Lk> zoid_WLZLEoI4CDJs$9`O9ohYQDu}!*ivuVM?n&M3!w#2=T)q>uV3CY%Q zs93eAB%pe}E-_fppv@9^cm~G{iCqvHDAtyxgHU+^nKX4_nPw21mA-$$N6Pedo&t=m zQH`yQvAma2StZymkCET8;@UblDIU)CgKX@)*o&wt7!TD^w#yVdRjfjIHJ5wE88#fv z$$U{FnG`~V`ZTrt5&=|ieNRlsz1fW$c*38GNicrrcfGE7iaS#an;WZ3*xDN#ISVVjKv6I2rgJ#{5xdaNYGsSK<=uMq_O7J}MDPXJbJI ztt#J}lCq%}bo%JJm;S(?-L^!}pN&Xo4@zAzaf6xP!QL5&$#pOpPd%9LLhZ;O^#WM& zhTdq_hEE{U-f6AKOS^F3|@Lb=3WjwV+u}n2ChGB ziLN_zuRLBghL(WEEV`S%$3w8^;=eQV$0Ks1Gak(XbX)K;nAJ;f{HfOxZs1RekX|r` zdZH66#;gSEMxN0^RExccK!p0&Q*Vc*>$wByn$qH?aQhga51OwcbS+5vlYj1Pe{qZt z`}gSoi!UYB{M23}V*d1xkN$M@m!rQQ{R6+h9{ug;&-hHE3xivUotw$;b>$v*kg2klJz z>{}oDQ2IOPeqa6|I?m3N%Q@%XbI(2Z{JZz&yAIAh_IwKbcX_HJohXWGk~2GHV&#?U z(+B9Z`58*q-eqr+IXxtK3li_okyDg144UyGYi_Zf_j2*NWoo|7RqNvzC%Avz%xFH| z>ho~>8j8^*=V)4-6HRC|bDa11Az+$y-GtWT?CS(1thpvr=P0VZP-i1slEB(&-Yv<| zRK8o*^s(mKSp8$}(Fat5&$5ae`8mN_^QWjC<8jk|I@|PNmjs8Z=ALl7KiQ_^qNT%K zovX{w!BY{p@=y6m@_y4rbsFV8rukHMaYa#vuEFzsef5Ad$x-g&%1m+0>3mt)>(8Bo z6xvNQC#t?w#U#!BCb%+ho2SLce$#A{GkJq6WRh!l!pyZ*mA84lI∓2f7pK<|ALN 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 z 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 {}, - 'secondaryCaregiverOne' => {}, - 'secondaryCaregiverTwo' => {} - } - - merge_names('veteranFullName') - merge_names('spouseFullName') - merge_ethnicity_choices - merge_place_of_birth - merge_gender('gender') - merge_gender('sigiGenders') - merge_marital_status - merge_service_histories - merge_providers - merge_spouse_address - merge_dependents - merge_financial_discloser - merge_radio_buttons - format_dates - - @form_data - end - - private - - def merge_radio_buttons - fields = %w[isMedicaidEligible isEnrolledMedicarePartA cohabitedLastYear wantsInitialVaContact] - fields.each { |field| merge_radio_button(field, @form_data) } - end - - def merge_names(type) - name = @form_data[type] - - full_name_parts = [ - name['last'], - name['first'], - name['middle'] - ].compact.join(', ') - - @form_data['helpers'][type] = full_name_parts - end - - def merge_gender(type = 'gender') - value = @form_data[type] || 'O' - - @form_data['helpers'][type] = GENDERS[value.to_sym] - end - - def merge_ethnicity_choices - ETHNICITY_CHOICES.each do |choice| - value = @form_data[choice] - selected = value == true ? '1' : '2' - - @form_data['helpers'][choice] = selected - end - end - - def merge_marital_status - value = @form_data['maritalStatus'] - - MARITAL_STATUS.each_with_index do |status, i| - if value.downcase == status&.downcase - @form_data['helpers']['maritalStatus'] = (i + 1).to_s - break - end - end - end - - def merge_place_of_birth - city = @form_data['cityOfBirth'] - state = @form_data['stateOfBirth'] - - @form_data['helpers']['placeOfBirth'] = [city, state].join(', ') - end - - def merge_service_histories - SERVICE_HISTORIES.each { |history| merge_checkbox(history, @form_data) } - end - - def merge_providers - providers = @form_data['providers'] - provider = providers.first - - @form_data['helpers']['providers'] = provider - end - - def merge_dependents - dependents = @form_data['dependents'] - return if dependents.empty? - - dependent = dependents.first - - @form_data['helpers']['dependents'] = dependent - - format_date_for('dateOfBirth', dependent, 'dependents') - format_date_for('becameDependent', dependent, 'dependents') - merge_radio_button('dependentRelation', dependent, 'dependents') - merge_radio_button('disabledBefore18', dependent, 'dependents') - merge_radio_button('attendedSchoolLastYear', dependent, 'dependents') - end - - def merge_spouse_address - address = @form_data['spouseAddress']&.symbolize_keys - - full_address = format('%s %s, %s %s', address) - @form_data['helpers']['spouseAddress'] = full_address - end - - def merge_financial_discloser - disclosure = @form_data['discloseFinancialInformation'] - selected = disclosure == true ? 0 : 1 - - @form_data['helpers']['discloseFinancialInformation'] = selected - end - - def format_date_for(field, source, *path) - date = source[field] - date = Date.parse(date).strftime('%m/%d/%Y') if date - assign_value(field, date, path) - end - - def format_dates - %w[ - veteranDateOfBirth lastEntryDate lastDischargeDate medicarePartAEffectiveDate - spouseDateOfBirth dateOfMarriage - ].each { |field| format_date_for(field, @form_data) } - end - - def merge_radio_button(field, source, *path) - selected = source[field] == true ? '1' : '2' - - assign_value(field, selected, path) - end - - def form_data_helper(_field, path) - form_data = path.empty? ? @form_data : @form_data.dig(*path) - form_data.is_a?(Array) ? form_data.first : form_data - end - - def assign_value(field, value, path) - if path.empty? - @form_data['helpers'][field] = value - return - end - - @form_data['helpers'].dig(*path)[field] = value - end - - def merge_checkbox(field, source, *path) - selected = source[field] == true ? 'YES' : 'NO' - assign_value(field, selected, path) - end - end - end -end diff --git a/spec/controllers/v0/health_care_applications_controller_spec.rb b/spec/controllers/v0/health_care_applications_controller_spec.rb index 84cd49af786..619dbf23f44 100644 --- a/spec/controllers/v0/health_care_applications_controller_spec.rb +++ b/spec/controllers/v0/health_care_applications_controller_spec.rb @@ -14,21 +14,4 @@ expect(json['attributes']).to eq(hca_response['attributes']) end end - - describe '#download_pdf' do - let(:response_pdf) { Rails.root.join 'tmp', 'pdfs', '10-10EZ_John_Smith.pdf' } - let(:expected_pdf) { Rails.root.join 'spec', 'fixtures', 'pdf_fill', '10-10EZ', 'unsigned', 'simple.pdf' } - - it 'downloads a pdf' do - post :download_pdf, params: JSON.parse(hca_request) - - File.open(response_pdf, 'wb+') { |f| f.write(response.body) } - - expect(response).to have_http_status(:ok) - - expect( - pdfs_fields_match?(response_pdf, expected_pdf) - ).to eq(true) - end - end end From bbfcc31f8ebccf2b48db6a463e18a80b3c83cda4 Mon Sep 17 00:00:00 2001 From: mchristiansonVA <95487885+mchristiansonVA@users.noreply.github.com> Date: Mon, 15 Apr 2024 16:24:33 -0400 Subject: [PATCH 34/74] Api 34936 ptcpnt addrs create (#16188) * Initial commit * Incremental commit, add spec test * Misc cleanup, spec value adjustments * Add blank cassette for now * Test data tweaks * Remove byebug * Arrange options in order presented in BGS service catalog * Add updated spec with accepted values, updated cassette * Rubocop layout adjustment * Initial changes for BGS unit test pattern * Update to use helper method * API-34936 correct outdated BGS client helper cassette location comment * API-34936 move cassette location to match BGS client helper * API-34936 replace hardcoded BGS base URL with cassette placeholder * API-34936 replace IP mismatch in BGS cassette * API-34936 reformat vnp_ptcpnt_addrs_create cassette for readability --------- Co-authored-by: Oren Mittman --- .../bgs_service/vnp_ptcpnt_addrs_service.rb | 17 ++ .../vnp_ptcpnt_addrs_service_spec.rb | 86 ++++++++ .../spec/support/bgs_client_helpers.rb | 2 +- .../vnp_ptcpnt_addrs_create/happy_path.yml | 186 ++++++++++++++++++ 4 files changed, 290 insertions(+), 1 deletion(-) create mode 100644 modules/claims_api/lib/bgs_service/vnp_ptcpnt_addrs_service.rb create mode 100644 modules/claims_api/spec/lib/claims_api/vnp_ptcpnt_addrs_service_spec.rb create mode 100644 spec/support/vcr_cassettes/claims_api/bgs/vnp_ptcpnt_addrs_service/vnp_ptcpnt_addrs_create/happy_path.yml diff --git a/modules/claims_api/lib/bgs_service/vnp_ptcpnt_addrs_service.rb b/modules/claims_api/lib/bgs_service/vnp_ptcpnt_addrs_service.rb new file mode 100644 index 00000000000..85bf4cda2ff --- /dev/null +++ b/modules/claims_api/lib/bgs_service/vnp_ptcpnt_addrs_service.rb @@ -0,0 +1,17 @@ +# frozen_string_literal: true + +module ClaimsApi + class VnpPtcpntAddrsService < ClaimsApi::LocalBGS + def vnp_ptcpnt_addrs_create(options) + arg_strg = convert_nil_values(options) + body = Nokogiri::XML::DocumentFragment.parse <<~EOXML + + #{arg_strg} + + EOXML + + make_request(endpoint: 'VnpPtcpntAddrsWebServiceBean/VnpPtcpntAddrsService', + action: 'vnpPtcpntAddrsCreate', body:, key: 'return') + end + end +end diff --git a/modules/claims_api/spec/lib/claims_api/vnp_ptcpnt_addrs_service_spec.rb b/modules/claims_api/spec/lib/claims_api/vnp_ptcpnt_addrs_service_spec.rb new file mode 100644 index 00000000000..e9dfa8550cb --- /dev/null +++ b/modules/claims_api/spec/lib/claims_api/vnp_ptcpnt_addrs_service_spec.rb @@ -0,0 +1,86 @@ +# frozen_string_literal: true + +require 'rails_helper' +require 'bgs_service/vnp_ptcpnt_addrs_service' +require Rails.root.join('modules', 'claims_api', 'spec', 'support', 'bgs_client_helpers.rb') + +metadata = { + bgs: { + service: 'vnp_ptcpnt_addrs_service', + operation: 'vnp_ptcpnt_addrs_create' + } +} + +describe ClaimsApi::VnpPtcpntAddrsService, metadata do + subject { described_class.new external_uid: 'xUid', external_key: 'xKey' } + + describe 'vnp_ptcpnt_addrs_create' do + let(:options) { {} } + + it 'responds with attributes' do + options[:vnp_ptcpnt_addrs_id] = nil + options[:vnp_proc_id] = '3854596' + options[:vnp_ptcpnt_id] = '182057' + options[:efctv_dt] = '2020-07-16T18:20:18Z' + options[:addrs_one_txt] = '76 Crowther Ave' + options[:addrs_three_txt] = nil + options[:addrs_two_txt] = nil + options[:bad_addrs_ind] = nil + options[:city_nm] = 'Bridgeport' + options[:cntry_nm] = nil + options[:county_nm] = nil + options[:eft_waiver_type_nm] = nil + options[:email_addrs_txt] = 'testy@test.com' + options[:end_dt] = nil + options[:fms_addrs_code_txt] = nil + options[:frgn_postal_cd] = nil + options[:group_1_verifd_type_cd] = nil + options[:jrn_dt] = '2020-07-16T18:20:17Z' + options[:jrn_lctn_id] = 281 + options[:jrn_obj_id] = 'VAgovAPI' + options[:jrn_status_type_cd] = 'U' + options[:jrn_user_id] = 'VAgovAPI' + options[:lctn_nm] = nil + options[:mlty_postal_type_cd] = nil + options[:mlty_post_office_type_cd] = nil + options[:postal_cd] = 'CT' + options[:prvnc_nm] = 'CT' + options[:ptcpnt_addrs_type_nm] = 'Mailing' + options[:shared_addrs_ind] = 'N' + options[:trsury_addrs_five_txt] = nil + options[:trsury_addrs_four_txt] = nil + options[:trsury_addrs_one_txt] = nil + options[:trsury_addrs_six_txt] = nil + options[:trsury_addrs_three_txt] = nil + options[:trsury_addrs_two_txt] = nil + options[:trsury_seq_nbr] = nil + options[:trtry_nm] = nil + options[:zip_first_suffix_nbr] = nil + options[:zip_prefix_nbr] = '06605' + options[:zip_second_suffix_nbr] = nil + + use_bgs_cassette('happy_path') do + response = subject.vnp_ptcpnt_addrs_create(options) + expect(response).to include( + { vnp_ptcpnt_addrs_id: '143950', + efctv_dt: '2020-07-16T18:20:18Z', + vnp_ptcpnt_id: '182057', + vnp_proc_id: '3854596', + addrs_one_txt: '76 Crowther Ave', + city_nm: 'Bridgeport', + email_addrs_txt: 'testy@test.com', + jrn_dt: '2020-07-16T18:20:17Z', + jrn_lctn_id: '281', + jrn_obj_id: 'VAgovAPI', + jrn_status_type_cd: 'U', + jrn_user_id: 'VAgovAPI', + postal_cd: 'CT', + prvnc_nm: 'CT', + ptcpnt_addrs_type_nm: 'Mailing', + shared_addrs_ind: 'N', + zip_prefix_nbr: '06605' } + ) + end + end + end +end diff --git a/modules/claims_api/spec/support/bgs_client_helpers.rb b/modules/claims_api/spec/support/bgs_client_helpers.rb index 8cd2c5f8ebc..4d6394c50fd 100644 --- a/modules/claims_api/spec/support/bgs_client_helpers.rb +++ b/modules/claims_api/spec/support/bgs_client_helpers.rb @@ -38,7 +38,7 @@ module BGSClientHelpers # Then, HTTP interactions that occur within the block supplied to this method # will be captured by VCR cassettes that have the following convenient # properties: - # - They will be nicely organized at `bgs/:service/:operation/:name` + # - They will be nicely organized at `claims_api/bgs/:service/:operation/:name` # - Cassette matching will be done on canonicalized XML bodies, so # reformatting cassettes for human readability won't defeat matching def use_bgs_cassette(name, &) diff --git a/spec/support/vcr_cassettes/claims_api/bgs/vnp_ptcpnt_addrs_service/vnp_ptcpnt_addrs_create/happy_path.yml b/spec/support/vcr_cassettes/claims_api/bgs/vnp_ptcpnt_addrs_service/vnp_ptcpnt_addrs_create/happy_path.yml new file mode 100644 index 00000000000..11d52b9b5fd --- /dev/null +++ b/spec/support/vcr_cassettes/claims_api/bgs/vnp_ptcpnt_addrs_service/vnp_ptcpnt_addrs_create/happy_path.yml @@ -0,0 +1,186 @@ +--- +http_interactions: +- request: + method: get + uri: /VnpPtcpntAddrsWebServiceBean/VnpPtcpntAddrsService?WSDL + body: + encoding: US-ASCII + string: '' + headers: + User-Agent: + - Faraday v2.9.0 + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 200 + message: OK + headers: + Date: + - Thu, 04 Apr 2024 18:57:11 GMT + Server: + - Apache + X-Frame-Options: + - SAMEORIGIN + Transfer-Encoding: + - chunked + Content-Type: + - text/xml;charset=utf-8 + Strict-Transport-Security: + - max-age=16000000; includeSubDomains; preload; + body: + encoding: UTF-8 + string: |- + + recorded_at: Thu, 04 Apr 2024 18:57:11 GMT +- request: + method: post + uri: /VnpPtcpntAddrsWebServiceBean/VnpPtcpntAddrsService + body: + encoding: UTF-8 + string: | + + + + + + VAgovAPI + + + 127.0.0.1 + 281 + VAgovAPI + xUid + xKey + + + + + + + + 3854596 + 182057 + 2020-07-16T18:20:18Z + 76 Crowther Ave + + + + Bridgeport + + + + testy@test.com + + + + + 2020-07-16T18:20:17Z + 281 + VAgovAPI + U + VAgovAPI + + + + CT + CT + Mailing + N + + + + + + + + + + 06605 + + + + + + headers: + User-Agent: + - Faraday v2.9.0 + Content-Type: + - text/xml;charset=UTF-8 + Host: + - ".vba.va.gov" + Soapaction: + - '"vnpPtcpntAddrsCreate"' + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 200 + message: OK + headers: + Date: + - Thu, 04 Apr 2024 18:57:12 GMT + Server: + - Apache + X-Frame-Options: + - SAMEORIGIN + Transfer-Encoding: + - chunked + Content-Type: + - text/xml; charset=utf-8 + Strict-Transport-Security: + - max-age=16000000; includeSubDomains; preload; + body: + encoding: UTF-8 + string: | + + + + + rO0ABXdKABR3ZWJsb2dpYy5hcHAudm5wLWVhcgAAANYAAAAjd2VibG9naWMud29ya2FyZWEuU3RyaW5nV29ya0NvbnRleHQABTIuMC44AAA= + + + + + + 143950 + 2020-07-16T18:20:18Z + 182057 + 3854596 + 76 Crowther Ave + Bridgeport + testy@test.com + 2020-07-16T18:20:17Z + 281 + VAgovAPI + U + VAgovAPI + CT + CT + Mailing + N + 06605 + + + + + recorded_at: Thu, 04 Apr 2024 18:57:12 GMT +recorded_with: VCR 6.2.0 From 4e7c4d2893081bfbe6b6cca66f0bbb65fef6cf4b Mon Sep 17 00:00:00 2001 From: Eric Tillberg Date: Mon, 15 Apr 2024 17:02:39 -0400 Subject: [PATCH 35/74] Simple Forms: Refactor PDF Stamper Part 1 (#16268) * Remove one-off resubmission functionality for 21-4142 * Begin refactoring PDF Stamper * Use .tap method * rubocop * fix tests * rubocop * tweaks based on feedback --- .../models/simple_forms_api/vba_20_10207.rb | 11 ++ .../models/simple_forms_api/vba_21_0845.rb | 4 + .../models/simple_forms_api/vba_21_0966.rb | 4 + .../models/simple_forms_api/vba_21_0972.rb | 4 + .../models/simple_forms_api/vba_21_10210.rb | 4 + .../models/simple_forms_api/vba_21_4142.rb | 4 + .../models/simple_forms_api/vba_21p_0847.rb | 4 + .../models/simple_forms_api/vba_26_4555.rb | 12 ++ .../models/simple_forms_api/vha_10_7959f_1.rb | 4 + .../services/simple_forms_api/pdf_stamper.rb | 182 ++++-------------- .../spec/services/pdf_stamper_spec.rb | 79 +++----- 11 files changed, 119 insertions(+), 193 deletions(-) diff --git a/modules/simple_forms_api/app/models/simple_forms_api/vba_20_10207.rb b/modules/simple_forms_api/app/models/simple_forms_api/vba_20_10207.rb index a324bc267b6..c85aa2fc66f 100644 --- a/modules/simple_forms_api/app/models/simple_forms_api/vba_20_10207.rb +++ b/modules/simple_forms_api/app/models/simple_forms_api/vba_20_10207.rb @@ -82,6 +82,17 @@ def handle_attachments(file_path) end end + def desired_stamps + coords = if %w[veteran non-veteran].include? data['preparer_type'] + [[50, 685]] + elsif data['third_party_type'] == 'power-of-attorney' + [[50, 440]] + elsif %w[third-party-veteran third-party-non-veteran].include? data['preparer_type'] + [[50, 565]] + end + [{ coords:, text: data['statement_of_truth_signature'], page: 4 }] + end + def submission_date_config { should_stamp_date?: false diff --git a/modules/simple_forms_api/app/models/simple_forms_api/vba_21_0845.rb b/modules/simple_forms_api/app/models/simple_forms_api/vba_21_0845.rb index c5194b67cee..787c2c88b03 100644 --- a/modules/simple_forms_api/app/models/simple_forms_api/vba_21_0845.rb +++ b/modules/simple_forms_api/app/models/simple_forms_api/vba_21_0845.rb @@ -37,6 +37,10 @@ def words_to_remove person_address + organization_address end + def desired_stamps + [{ coords: [50, 240], text: data['statement_of_truth_signature'], page: 2 }] + end + def submission_date_config { should_stamp_date?: true, diff --git a/modules/simple_forms_api/app/models/simple_forms_api/vba_21_0966.rb b/modules/simple_forms_api/app/models/simple_forms_api/vba_21_0966.rb index afb264d1e98..6e7da54c6e1 100644 --- a/modules/simple_forms_api/app/models/simple_forms_api/vba_21_0966.rb +++ b/modules/simple_forms_api/app/models/simple_forms_api/vba_21_0966.rb @@ -59,6 +59,10 @@ def third_party_info end end + def desired_stamps + [{ coords: [50, 415], text: data['statement_of_truth_signature'], page: 1 }] + end + def submission_date_config { should_stamp_date?: true, diff --git a/modules/simple_forms_api/app/models/simple_forms_api/vba_21_0972.rb b/modules/simple_forms_api/app/models/simple_forms_api/vba_21_0972.rb index eb63fb40ccd..fdd73820a23 100644 --- a/modules/simple_forms_api/app/models/simple_forms_api/vba_21_0972.rb +++ b/modules/simple_forms_api/app/models/simple_forms_api/vba_21_0972.rb @@ -27,6 +27,10 @@ def zip_code_is_us_based @data.dig('preparer_address', 'country') == 'USA' end + def desired_stamps + [{ coords: [50, 465], text: data['statement_of_truth_signature'], page: 2 }] + end + def submission_date_config { should_stamp_date?: true, diff --git a/modules/simple_forms_api/app/models/simple_forms_api/vba_21_10210.rb b/modules/simple_forms_api/app/models/simple_forms_api/vba_21_10210.rb index be1eeb6fa35..2ba5fcbb0cb 100644 --- a/modules/simple_forms_api/app/models/simple_forms_api/vba_21_10210.rb +++ b/modules/simple_forms_api/app/models/simple_forms_api/vba_21_10210.rb @@ -33,6 +33,10 @@ def words_to_remove statement + witness_phone + witness_email end + def desired_stamps + [{ coords: [50, 160], text: data['statement_of_truth_signature'], page: 2 }] + end + def submission_date_config { should_stamp_date?: true, diff --git a/modules/simple_forms_api/app/models/simple_forms_api/vba_21_4142.rb b/modules/simple_forms_api/app/models/simple_forms_api/vba_21_4142.rb index 849608e35d0..f82f456d972 100644 --- a/modules/simple_forms_api/app/models/simple_forms_api/vba_21_4142.rb +++ b/modules/simple_forms_api/app/models/simple_forms_api/vba_21_4142.rb @@ -32,6 +32,10 @@ def zip_code_is_us_based @data.dig('veteran', 'address', 'country') == 'USA' end + def desired_stamps + [{ coords: [50, 560], text: data['statement_of_truth_signature'], page: 1 }] + end + def submission_date_config { should_stamp_date?: true, diff --git a/modules/simple_forms_api/app/models/simple_forms_api/vba_21p_0847.rb b/modules/simple_forms_api/app/models/simple_forms_api/vba_21p_0847.rb index 89c3c30ba75..d5670cf04bb 100644 --- a/modules/simple_forms_api/app/models/simple_forms_api/vba_21p_0847.rb +++ b/modules/simple_forms_api/app/models/simple_forms_api/vba_21p_0847.rb @@ -31,6 +31,10 @@ def zip_code_is_us_based @data.dig('preparer_address', 'country') == 'USA' end + def desired_stamps + [{ coords: [50, 190], text: data['statement_of_truth_signature'], page: 1 }] + end + def submission_date_config { should_stamp_date?: true, diff --git a/modules/simple_forms_api/app/models/simple_forms_api/vba_26_4555.rb b/modules/simple_forms_api/app/models/simple_forms_api/vba_26_4555.rb index a146e8bb6f0..2584fe31709 100644 --- a/modules/simple_forms_api/app/models/simple_forms_api/vba_26_4555.rb +++ b/modules/simple_forms_api/app/models/simple_forms_api/vba_26_4555.rb @@ -45,6 +45,18 @@ def zip_code_is_us_based @data.dig('veteran', 'address', 'country') == 'USA' end + def desired_stamps + return [] unless data + + [].tap do |stamps| + stamps << { coords: [73, 390], text: 'X' } unless data.dig('previous_sah_application', + 'has_previous_sah_application') + stamps << { coords: [73, 355], text: 'X' } unless data.dig('previous_hi_application', + 'has_previous_hi_application') + stamps << { coords: [73, 320], text: 'X' } unless data.dig('living_situation', 'is_in_care_facility') + end.compact + end + def submission_date_config { should_stamp_date?: false } end diff --git a/modules/simple_forms_api/app/models/simple_forms_api/vha_10_7959f_1.rb b/modules/simple_forms_api/app/models/simple_forms_api/vha_10_7959f_1.rb index 094564b668e..7e67ba30f91 100644 --- a/modules/simple_forms_api/app/models/simple_forms_api/vha_10_7959f_1.rb +++ b/modules/simple_forms_api/app/models/simple_forms_api/vha_10_7959f_1.rb @@ -27,6 +27,10 @@ def zip_code_is_us_based true end + def desired_stamps + [{ coords: [26, 82.5], text: data['statement_of_truth_signature'], page: 0 }] + end + def submission_date_config { should_stamp_date?: false } end diff --git a/modules/simple_forms_api/app/services/simple_forms_api/pdf_stamper.rb b/modules/simple_forms_api/app/services/simple_forms_api/pdf_stamper.rb index 4c38e4e3387..68cc6e837b5 100644 --- a/modules/simple_forms_api/app/services/simple_forms_api/pdf_stamper.rb +++ b/modules/simple_forms_api/app/services/simple_forms_api/pdf_stamper.rb @@ -9,12 +9,23 @@ class PdfStamper SUBMISSION_DATE_TITLE = 'Application Submitted:' def self.stamp_pdf(stamped_template_path, form, current_loa) + stamp_signature(stamped_template_path, form) + + stamp_auth_text(stamped_template_path, current_loa) + + stamp_submission_date(stamped_template_path, form.submission_date_config) + end + + def self.stamp_signature(stamped_template_path, form) form_number = form.data['form_number'] if FORM_REQUIRES_STAMP.include? form_number - stamp_method = "stamp#{form_number.gsub('-', '')}".downcase - send(stamp_method, stamped_template_path, form) + form.desired_stamps.each do |desired_stamp| + stamp(desired_stamp, stamped_template_path) + end end + end + def self.stamp_auth_text(stamped_template_path, current_loa) current_time = "#{Time.current.in_time_zone('America/Chicago').strftime('%H:%M:%S')} " auth_text = case current_loa when 3 @@ -24,145 +35,15 @@ def self.stamp_pdf(stamped_template_path, form, current_loa) else 'Signee not signed in.' end - stamp_text = SUBMISSION_TEXT + current_time - desired_stamps = [[10, 10, stamp_text]] - verify(stamped_template_path) { stamp(desired_stamps, stamped_template_path, auth_text, text_only: false) } - - stamp_submission_date(stamped_template_path, form.submission_date_config) - end - - def self.stamp107959f1(stamped_template_path, form) - desired_stamps = [[26, 82.5, form.data['statement_of_truth_signature']]] - append_to_stamp = false - verify(stamped_template_path) { stamp(desired_stamps, stamped_template_path, append_to_stamp) } - end - - def self.stamp264555(stamped_template_path, form) - desired_stamps = [] - desired_stamps.append([73, 390, 'X']) unless form.data['previous_sah_application']['has_previous_sah_application'] - desired_stamps.append([73, 355, 'X']) unless form.data['previous_hi_application']['has_previous_hi_application'] - desired_stamps.append([73, 320, 'X']) unless form.data['living_situation']['is_in_care_facility'] - append_to_stamp = false - stamp(desired_stamps, stamped_template_path, append_to_stamp) - end - - def self.stamp214142(stamped_template_path, form) - desired_stamps = [[50, 560]] - signature_text = form.data['statement_of_truth_signature'] - page_configuration = [ - { type: :new_page }, - { type: :text, position: desired_stamps[0] }, - { type: :new_page } - ] - - verified_multistamp(stamped_template_path, signature_text, page_configuration) - - # This is a one-off case where we need to stamp a date on the first page of 21-4142 when resubmitting - if form.data['in_progress_form_created_at'] - date_title = 'Application Submitted:' - date_text = form.data['in_progress_form_created_at'] - stamp214142_date_stamp_for_resubmission(stamped_template_path, date_title, date_text) + coords = [10, 10] + text = SUBMISSION_TEXT + current_time + page = 0 + desired_stamp = { coords:, text:, page: } + verify(stamped_template_path) do + stamp(desired_stamp, stamped_template_path, append_to_stamp: auth_text, text_only: false) end end - def self.stamp214142_date_stamp_for_resubmission(stamped_template_path, date_title, date_text) - date_title_stamp_position = [440, 710] - date_text_stamp_position = [440, 690] - page_configuration = [ - { type: :text, position: date_title_stamp_position }, - { type: :new_page }, - { type: :new_page } - ] - - verified_multistamp(stamped_template_path, date_title, page_configuration, 12) - - page_configuration = [ - { type: :text, position: date_text_stamp_position }, - { type: :new_page }, - { type: :new_page } - ] - - verified_multistamp(stamped_template_path, date_text, page_configuration, 12) - end - - def self.stamp2110210(stamped_template_path, form) - desired_stamps = [[50, 160]] - signature_text = form.data['statement_of_truth_signature'] - page_configuration = [ - { type: :new_page }, - { type: :new_page }, - { type: :text, position: desired_stamps[0] } - ] - - verified_multistamp(stamped_template_path, signature_text, page_configuration) - end - - def self.stamp210845(stamped_template_path, form) - desired_stamps = [[50, 240]] - signature_text = form.data['statement_of_truth_signature'] - page_configuration = [ - { type: :new_page }, - { type: :new_page }, - { type: :text, position: desired_stamps[0] } - ] - - verified_multistamp(stamped_template_path, signature_text, page_configuration) - end - - def self.stamp21p0847(stamped_template_path, form) - desired_stamps = [[50, 190]] - signature_text = form.data['statement_of_truth_signature'] - page_configuration = [ - { type: :new_page }, - { type: :text, position: desired_stamps[0] } - ] - - verified_multistamp(stamped_template_path, signature_text, page_configuration) - end - - def self.stamp210972(stamped_template_path, form) - desired_stamps = [[50, 465]] - signature_text = form.data['statement_of_truth_signature'] - page_configuration = [ - { type: :new_page }, - { type: :new_page }, - { type: :text, position: desired_stamps[0] } - ] - - verified_multistamp(stamped_template_path, signature_text, page_configuration) - end - - def self.stamp210966(stamped_template_path, form) - desired_stamps = [[50, 415]] - signature_text = form.data['statement_of_truth_signature'] - page_configuration = [ - { type: :new_page }, - { type: :text, position: desired_stamps[0] } - ] - - verified_multistamp(stamped_template_path, signature_text, page_configuration) - end - - def self.stamp2010207(stamped_template_path, form) - desired_stamps = if %w[veteran non-veteran].include? form.data['preparer_type'] - [[50, 685]] - elsif form.data['third_party_type'] == 'power-of-attorney' - [[50, 440]] - elsif %w[third-party-veteran third-party-non-veteran].include? form.data['preparer_type'] - [[50, 565]] - end - signature_text = form.data['statement_of_truth_signature'] - page_configuration = [ - { type: :new_page }, - { type: :new_page }, - { type: :new_page }, - { type: :new_page }, - { type: :text, position: desired_stamps[0] } - ] - - verified_multistamp(stamped_template_path, signature_text, page_configuration) - end - def self.stamp4010007_uuid(uuid) uuid = "UUID: #{uuid}" stamped_template_path = 'tmp/vba_40_10007-tmp.pdf' @@ -195,13 +76,21 @@ def self.multistamp(stamped_template_path, signature_text, page_configuration, f Common::FileHelpers.delete_file_if_exists(stamp_path) if defined?(stamp_path) end - def self.stamp(desired_stamps, stamped_template_path, append_to_stamp, text_only: true) + def self.stamp(desired_stamp, stamped_template_path, append_to_stamp: false, text_only: true) current_file_path = stamped_template_path - desired_stamps.each do |x, y, text| + coords = desired_stamp[:coords] + text = desired_stamp[:text] + page = desired_stamp[:page] + x = coords[0] + y = coords[1] + if page + page_configuration = get_page_configuration(page, coords) + verified_multistamp(stamped_template_path, text, page_configuration) + else datestamp_instance = CentralMail::DatestampPdf.new(current_file_path, append_to_stamp:) current_file_path = datestamp_instance.run(text:, x:, y:, text_only:, size: 9) + File.rename(current_file_path, stamped_template_path) end - File.rename(current_file_path, stamped_template_path) end def self.perform_multistamp(stamped_template_path, stamp_path) @@ -258,5 +147,16 @@ def self.default_page_configuration { type: :new_page } ] end + + def self.get_page_configuration(page, position) + [ + { type: :new_page }, + { type: :new_page }, + { type: :new_page }, + { type: :new_page } + ].tap do |config| + config[page] = { type: :text, position: } + end + end end end diff --git a/modules/simple_forms_api/spec/services/pdf_stamper_spec.rb b/modules/simple_forms_api/spec/services/pdf_stamper_spec.rb index 09927ed66fb..4771703c2fb 100644 --- a/modules/simple_forms_api/spec/services/pdf_stamper_spec.rb +++ b/modules/simple_forms_api/spec/services/pdf_stamper_spec.rb @@ -8,78 +8,52 @@ let(:form) { "SimpleFormsApi::#{test_payload.titleize.gsub(' ', '')}".constantize.new(data) } let(:path) { 'tmp/stuff.json' } - describe 'form-specific stamp methods' do - subject(:stamp) { described_class.send(stamp_method, generated_form_path, form) } + describe '.stamp_signature' do + subject(:stamp_signature) { described_class.stamp_signature(path, form) } before do - allow(Common::FileHelpers).to receive(:random_file_path).and_return('fake/stamp_path') - allow(Common::FileHelpers).to receive(:delete_file_if_exists) - end - - %w[21-4142 21-10210 21p-0847].each do |form_number| - context "when generating a stamped file for form #{form_number}" do - let(:stamp_method) { "stamp#{form_number.gsub('-', '')}" } - let(:test_payload) { "vba_#{form_number.gsub('-', '_')}" } - let(:generated_form_path) { 'fake/generated_form_path' } - - it 'raises an error' do - expect { stamp }.to raise_error(StandardError, /An error occurred while verifying stamp/) - end - end - end - end - - describe '.stamp107959f1' do - subject(:stamp107959f1) { described_class.stamp107959f1(path, form) } - - before do - allow(described_class).to receive(:stamp).and_return(true) allow(File).to receive(:size).and_return(1, 2) end context 'when statement_of_truth_signature is provided' do - before { stamp107959f1 } + before do + allow(described_class).to receive(:stamp).and_return(true) + stamp_signature + end let(:test_payload) { 'vha_10_7959f_1' } - let(:signature) { form.data['statement_of_truth_signature'] } - let(:stamps) { [[26, 82.5, signature]] } + let(:desired_stamp) do + { + coords: [26, 82.5], + text: form.data['statement_of_truth_signature'], + page: 0 + } + end it 'calls stamp with correct desired_stamp' do - expect(described_class).to have_received(:stamp).with(stamps, path, false) + expect(described_class).to have_received(:stamp).with(desired_stamp, path) end end - end - - describe '.stamp264555' do - subject(:stamp264555) { described_class.stamp264555(path, form) } - - before do - allow(described_class).to receive(:stamp).and_return(true) - allow(File).to receive(:size).and_return(1, 2) - end - context 'when it is called with legitimate parameters' do - before { stamp264555 } + context 'when no stamps are needed' do + before do + allow(described_class).to receive(:stamp).and_return(true) + stamp_signature + end let(:test_payload) { 'vba_26_4555' } let(:stamps) { [] } - it 'calls stamp correctly' do - expect(described_class).to have_received(:stamp).with(stamps, path, false) + it 'does not call :stamp' do + expect(described_class).not_to have_received(:stamp) end end - end - - describe '.stamp210845' do - subject(:stamp210845) { described_class.stamp210845(path, form) } - - before do - allow(described_class).to receive(:multistamp).and_return(true) - allow(File).to receive(:size).and_return(1, 2) - end context 'when it is called with legitimate parameters' do - before { stamp210845 } + before do + allow(described_class).to receive(:multistamp).and_return(true) + stamp_signature + end let(:test_payload) { 'vba_21_0845' } let(:signature) { form.data['statement_of_truth_signature'] } @@ -87,7 +61,8 @@ [ { type: :new_page }, { type: :new_page }, - { type: :text, position: [50, 240] } + { type: :text, position: [50, 240] }, + { type: :new_page } ] end From 6f268f622b4415312761aa361829ea63c3afa2c2 Mon Sep 17 00:00:00 2001 From: Khoa Nguyen <134089461+Khoa-V-Nguyen@users.noreply.github.com> Date: Mon, 15 Apr 2024 16:26:47 -0600 Subject: [PATCH 36/74] Updated Retrievers (#16350) - Updated `Inquiries::Retriever` - Updated `Correspondences::Retriever` Co-authored-by: khoa-v-nguyen --- .../ask_va_api/correspondences/retriever.rb | 2 +- .../app/lib/ask_va_api/inquiries/retriever.rb | 3 +- .../correspondences/retriever_spec.rb | 50 +++++++++++++++++-- 3 files changed, 50 insertions(+), 5 deletions(-) diff --git a/modules/ask_va_api/app/lib/ask_va_api/correspondences/retriever.rb b/modules/ask_va_api/app/lib/ask_va_api/correspondences/retriever.rb index 9f152fbd90e..f62f4368663 100644 --- a/modules/ask_va_api/app/lib/ask_va_api/correspondences/retriever.rb +++ b/modules/ask_va_api/app/lib/ask_va_api/correspondences/retriever.rb @@ -22,7 +22,7 @@ def fetch_data data = JSON.parse(data, symbolize_names: true)[:Data] filter_data(data) else - endpoint = "inquiries/#{inquiry_id}/replies" + endpoint = "inquiry/#{inquiry_id}/replies" response = Crm::Service.new(icn: nil).call(endpoint:) handle_response_data(response) diff --git a/modules/ask_va_api/app/lib/ask_va_api/inquiries/retriever.rb b/modules/ask_va_api/app/lib/ask_va_api/inquiries/retriever.rb index eb2c9dd01b5..0951d724eb8 100644 --- a/modules/ask_va_api/app/lib/ask_va_api/inquiries/retriever.rb +++ b/modules/ask_va_api/app/lib/ask_va_api/inquiries/retriever.rb @@ -29,7 +29,8 @@ def fetch_data(id = nil) filter_data(data, id) else endpoint = 'inquiries' - payload = id ? { id: } : { icn: } + id ||= icn + payload = { id: } response = Crm::Service.new(icn:).call(endpoint:, payload:) handle_response_data(response) diff --git a/modules/ask_va_api/spec/app/lib/ask_va_api/correspondences/retriever_spec.rb b/modules/ask_va_api/spec/app/lib/ask_va_api/correspondences/retriever_spec.rb index d66d4ff2219..3eed7120732 100644 --- a/modules/ask_va_api/spec/app/lib/ask_va_api/correspondences/retriever_spec.rb +++ b/modules/ask_va_api/spec/app/lib/ask_va_api/correspondences/retriever_spec.rb @@ -48,10 +48,54 @@ end context 'when successful' do - let(:user_mock_data) { true } + context 'with user_mock_data' do + let(:user_mock_data) { true } - it 'returns an array object with correct data' do - expect(retriever.call.first).to be_a(AskVAApi::Correspondences::Entity) + it 'returns an array object with correct data' do + expect(retriever.call.first).to be_a(AskVAApi::Correspondences::Entity) + end + end + + context 'with Crm::Service' do + let(:crm_response) do + { + Data: [ + { + Id: 'a5247de6-62c4-ee11-907a-001dd804eab2', + ModifiedOn: '2/5/2024 8:14:48 PM', + StatusReason: 'PendingSend', + Description: 'Dear aminul, Thank you for submitting ' \ + 'your Inquiry with the U.S.', + MessageType: 'Notification', + EnableReply: true, + AttachmentNames: nil + }, + { + Id: 'f4b12ee3-93bb-ed11-9886-001dd806a6a7', + ModifiedOn: '3/5/2023 8:25:49 PM', + StatusReason: 'Sent', + Description: 'Dear aminul, Thank you for submitting your ' \ + 'Inquiry with the U.S. Department of Veteran Affairs.', + MessageType: 'Notification', + EnableReply: true, + AttachmentNames: nil + } + ], + Message: nil, + ExceptionOccurred: false, + ExceptionMessage: nil, + MessageId: '086594d9-188b-46b0-9ce2-b8b36329506b' + } + end + + before do + allow_any_instance_of(Crm::CrmToken).to receive(:call).and_return('Token') + allow(service).to receive(:call).and_return(crm_response) + end + + it 'returns an array object with correct data' do + expect(retriever.call.first).to be_a(AskVAApi::Correspondences::Entity) + end end end end From 29173f71bef1f63f3e8d026595571c6ad4b58cbb Mon Sep 17 00:00:00 2001 From: evansmith Date: Mon, 15 Apr 2024 19:26:17 -0400 Subject: [PATCH 37/74] =?UTF-8?q?do=20not=20check=20no=20for=20burial=20re?= =?UTF-8?q?sponsibility=20and=20plot=20expense=20responsibi=E2=80=A6=20(#1?= =?UTF-8?q?6341)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * do not check no for burial responsibility and plot expense responsibility * update code owners --- .github/CODEOWNERS | 1 + lib/pdf_fill/forms/va21p530v2.rb | 2 -- spec/fixtures/pdf_fill/21P-530V2/merge_fields.json | 2 -- spec/lib/pdf_fill/forms/va21p530v2_spec.rb | 6 ++++-- 4 files changed, 5 insertions(+), 6 deletions(-) diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index fde32a93c71..76122d3c070 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -1192,6 +1192,7 @@ spec/fixtures/pdf_fill/21-674 @department-of-veterans-affairs/Benefits-Team-1 @d spec/fixtures/pdf_fill/21-8940 @department-of-veterans-affairs/Benefits-Team-1 @department-of-veterans-affairs/va-api-engineers @department-of-veterans-affairs/backend-review-group spec/fixtures/pdf_fill/21P-527EZ @department-of-veterans-affairs/pensions @department-of-veterans-affairs/backend-review-group spec/fixtures/pdf_fill/21P-530 @department-of-veterans-affairs/Benefits-Team-1 @department-of-veterans-affairs/va-api-engineers @department-of-veterans-affairs/backend-review-group +spec/fixtures/pdf_fill/21P-530V2 @department-of-veterans-affairs/Benefits-Team-1 @department-of-veterans-affairs/va-api-engineers @department-of-veterans-affairs/backend-review-group spec/fixtures/pdf_fill/26-1880 @department-of-veterans-affairs/Benefits-Team-1 @department-of-veterans-affairs/va-api-engineers @department-of-veterans-affairs/backend-review-group spec/fixtures/pdf_fill/28-1900 @department-of-veterans-affairs/Benefits-Team-1 @department-of-veterans-affairs/va-api-engineers @department-of-veterans-affairs/backend-review-group spec/fixtures/pdf_fill/28-8832 @department-of-veterans-affairs/Benefits-Team-1 @department-of-veterans-affairs/va-api-engineers @department-of-veterans-affairs/backend-review-group diff --git a/lib/pdf_fill/forms/va21p530v2.rb b/lib/pdf_fill/forms/va21p530v2.rb index 06b70f63a83..f3ab58cdec1 100644 --- a/lib/pdf_fill/forms/va21p530v2.rb +++ b/lib/pdf_fill/forms/va21p530v2.rb @@ -725,12 +725,10 @@ def merge_fields(_options = {}) # special case: these fields were built as checkboxes instead of radios, so usual radio logic can't be used. burial_expense_responsibility = @form_data['burialExpenseResponsibility'] @form_data['hasBurialExpenseResponsibility'] = burial_expense_responsibility ? 'On' : nil - @form_data['noBurialExpenseResponsibility'] = burial_expense_responsibility ? nil : 'On' # special case: these fields were built as checkboxes instead of radios, so usual radio logic can't be used. plot_expense_responsibility = @form_data['plotExpenseResponsibility'] @form_data['hasPlotExpenseResponsibility'] = plot_expense_responsibility ? 'On' : nil - @form_data['noPlotExpenseResponsibility'] = plot_expense_responsibility ? nil : 'On' # special case: these fields were built as checkboxes instead of radios, so usual radio logic can't be used. process_option = @form_data['processOption'] diff --git a/spec/fixtures/pdf_fill/21P-530V2/merge_fields.json b/spec/fixtures/pdf_fill/21P-530V2/merge_fields.json index 6a3d5430846..f552775eb10 100644 --- a/spec/fixtures/pdf_fill/21P-530V2/merge_fields.json +++ b/spec/fixtures/pdf_fill/21P-530V2/merge_fields.json @@ -76,9 +76,7 @@ "veteranSocialSecurityNumber3":{"first":"987", "second":"65", "third":"4322"}, "hasTransportation":"YES", "hasBurialExpenseResponsibility":"On", - "noBurialExpenseResponsibility":null, "hasPlotExpenseResponsibility":"On", - "noPlotExpenseResponsibility":null, "hasProcessOption":null, "noProcessOption":"On", "hasConfirmation":"YES", diff --git a/spec/lib/pdf_fill/forms/va21p530v2_spec.rb b/spec/lib/pdf_fill/forms/va21p530v2_spec.rb index 6810eb956d8..b5529119276 100644 --- a/spec/lib/pdf_fill/forms/va21p530v2_spec.rb +++ b/spec/lib/pdf_fill/forms/va21p530v2_spec.rb @@ -145,12 +145,14 @@ def class_form_data it 'leaves benefit selections blank on pdf if unselected', run_at: '2024-03-21 00:00:00 EDT' do unselected_benefits_data = get_fixture('pdf_fill/21P-530V2/kitchen_sink').except( - 'burialAllowance', 'plotAllowance', 'transportation' + 'burialExpenseResponsibility', 'plotExpenseResponsibility', 'transportation' ) expected_merge_data = get_fixture('pdf_fill/21P-530V2/merge_fields').except( - 'burialAllowance', 'plotAllowance', 'transportation' + 'burialExpenseResponsibility', 'plotExpenseResponsibility', 'transportation' ) expected_merge_data['hasTransportation'] = nil + expected_merge_data['hasBurialExpenseResponsibility'] = nil + expected_merge_data['hasPlotExpenseResponsibility'] = nil expect(described_class.new(unselected_benefits_data).merge_fields.to_json).to eq( expected_merge_data.to_json ) From 33d40d140da59a8b01099bf5b98c6c11c2bd3fcf Mon Sep 17 00:00:00 2001 From: Gaurav Gupta Date: Mon, 15 Apr 2024 16:33:36 -0700 Subject: [PATCH 38/74] 68696 appointment service specs (#16325) * 68696 initial service specs * 68696 appointment service specs --- ...ents_service.rb => appointment_service.rb} | 2 +- .../services/check_in/vaos/configuration.rb | 1 + .../check_in/vaos/appointment_service_spec.rb | 88 +++++++++++++++++++ 3 files changed, 90 insertions(+), 1 deletion(-) rename modules/check_in/app/services/check_in/vaos/{appointments_service.rb => appointment_service.rb} (94%) create mode 100644 modules/check_in/spec/services/check_in/vaos/appointment_service_spec.rb diff --git a/modules/check_in/app/services/check_in/vaos/appointments_service.rb b/modules/check_in/app/services/check_in/vaos/appointment_service.rb similarity index 94% rename from modules/check_in/app/services/check_in/vaos/appointments_service.rb rename to modules/check_in/app/services/check_in/vaos/appointment_service.rb index 0d55f92c4bd..ca701da451a 100644 --- a/modules/check_in/app/services/check_in/vaos/appointments_service.rb +++ b/modules/check_in/app/services/check_in/vaos/appointment_service.rb @@ -7,7 +7,7 @@ module CheckIn module VAOS - class AppointmentsService < CheckIn::VAOS::BaseService + class AppointmentService < CheckIn::VAOS::BaseService def get_appointments(start_date, end_date, statuses = nil) params = date_params(start_date, end_date) .merge(status_params(statuses)) diff --git a/modules/check_in/app/services/check_in/vaos/configuration.rb b/modules/check_in/app/services/check_in/vaos/configuration.rb index fb7517d7497..ce4b1e29e96 100644 --- a/modules/check_in/app/services/check_in/vaos/configuration.rb +++ b/modules/check_in/app/services/check_in/vaos/configuration.rb @@ -29,6 +29,7 @@ def connection # conn.request(:curl, ::Logger.new(STDOUT), :warn) unless Rails.env.production? # conn.response(:logger, ::Logger.new(STDOUT), bodies: true) unless Rails.env.production? + conn.response :raise_error, error_prefix: service_name conn.response :betamocks if mock_enabled? # conn.response :snakecase conn.response :json, content_type: /\bjson$/ diff --git a/modules/check_in/spec/services/check_in/vaos/appointment_service_spec.rb b/modules/check_in/spec/services/check_in/vaos/appointment_service_spec.rb new file mode 100644 index 00000000000..ca71d3cb05c --- /dev/null +++ b/modules/check_in/spec/services/check_in/vaos/appointment_service_spec.rb @@ -0,0 +1,88 @@ +# frozen_string_literal: true + +require 'rails_helper' + +describe CheckIn::VAOS::AppointmentService do + subject { described_class.new(patient_icn:) } + + let(:patient_icn) { '123' } + let(:token) { 'test_token' } + let(:request_id) { SecureRandom.uuid } + + describe '#initialize' do + it 'returns an instance of service' do + service_obj = subject + expect(service_obj).to be_an_instance_of(CheckIn::VAOS::AppointmentService) + expect(service_obj.token_service).to be_an_instance_of(CheckIn::Map::TokenService) + end + end + + describe '#perform' do + let(:token) { 'test-token-123' } + let(:start_date) { '2023-11-10T17:12:30Z' } + let(:end_date) { '2023-12-12T17:12:30Z' } + let(:statuses) { 'confirmed' } + let(:appointments_response) do + { + data: [ + { + id: '180765', + kind: 'clinic', + status: 'booked', + patientIcn: 'icn', + locationId: '983GC', + clinic: '1081', + start: '2023-11-02T17:12:30.174Z', + end: '2023-12-12T17:12:30.174Z', + minutesDuration: 30 + } + ] + }.with_indifferent_access + end + let(:faraday_response) { double('Faraday::Response') } + let(:faraday_env) { double('Faraday::Env', status: 200, body: appointments_response.to_json) } + + context 'when vaos returns successful response' do + before do + allow_any_instance_of(CheckIn::Map::TokenService).to receive(:token) + .and_return(token) + allow_any_instance_of(Faraday::Connection).to receive(:get).with('/vaos/v1/patients/123/appointments', + { start: start_date, end: end_date, + statuses: }) + .and_return(faraday_response) + allow(faraday_response).to receive(:env).and_return(faraday_env) + end + + it 'returns appointments' do + response = subject.get_appointments(DateTime.parse(start_date).in_time_zone, + DateTime.parse(end_date).in_time_zone, + statuses) + expect(response).to eq(appointments_response) + end + end + + context 'when vaos returns server error' do + let(:resp) { Faraday::Response.new(body: { error: 'Internal server error' }, status: 500) } + let(:exception) { Common::Exceptions::BackendServiceException.new(nil, {}, resp.status, resp.body) } + + before do + allow_any_instance_of(CheckIn::Map::TokenService).to receive(:token) + .and_return(token) + allow_any_instance_of(Faraday::Connection).to receive(:get).with('/vaos/v1/patients/123/appointments', + { start: start_date, end: end_date, + statuses: }) + .and_raise(exception) + end + + it 'throws exception' do + expect do + subject.get_appointments(DateTime.parse(start_date).in_time_zone, + DateTime.parse(end_date).in_time_zone, + statuses) + end.to(raise_error do |error| + expect(error).to be_a(Common::Exceptions::BackendServiceException) + end) + end + end + end +end From 986edc25e3ca2d10ec160e822affdc19dd512f0c Mon Sep 17 00:00:00 2001 From: evansmith Date: Mon, 15 Apr 2024 20:10:09 -0400 Subject: [PATCH 39/74] update checkboxes to be x's (#16334) --- lib/pdf_fill/forms/pdfs/21P-530V2.pdf | Bin 648290 -> 690292 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/lib/pdf_fill/forms/pdfs/21P-530V2.pdf b/lib/pdf_fill/forms/pdfs/21P-530V2.pdf index 66c7e245884668805ef0f9b349096999b3bb4896..4f6f81561353f9e51d1ddd43d50653c794c2169b 100644 GIT binary patch delta 11033 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 delta 27 icmew|LF>^8^@bM47N!>F7M2#)7Pc1l7LF~PNlyTsA__+U From 9f5164ee86e73d339e05ba64d247a76b4a0aa515 Mon Sep 17 00:00:00 2001 From: Holden Hinkle Date: Tue, 16 Apr 2024 08:45:54 -0400 Subject: [PATCH 40/74] Create accredited_individuals table (#16295) * create accredited_individuals table * wip * add # frozen_string_literal: true * run migration * index poa_code --- ...411153910_create_accredited_individuals.rb | 40 +++++++++++++++++++ db/schema.rb | 37 +++++++++++++++++ 2 files changed, 77 insertions(+) create mode 100644 db/migrate/20240411153910_create_accredited_individuals.rb diff --git a/db/migrate/20240411153910_create_accredited_individuals.rb b/db/migrate/20240411153910_create_accredited_individuals.rb new file mode 100644 index 00000000000..78e6999a888 --- /dev/null +++ b/db/migrate/20240411153910_create_accredited_individuals.rb @@ -0,0 +1,40 @@ +# frozen_string_literal: true + +class CreateAccreditedIndividuals < ActiveRecord::Migration[7.1] + def change + create_table :accredited_individuals, id: :uuid do |t| + t.uuid :ogc_id, null: false + t.string :registration_number, null: false + t.string :poa_code, limit: 3, index: true + t.string :individual_type, null: false + t.string :first_name + t.string :middle_initial + t.string :last_name + t.string :full_name, index: true + t.string :email + t.string :phone + t.string :address_type + t.string :address_line1 + t.string :address_line2 + t.string :address_line3 + t.string :city + t.string :country_code_iso3 + t.string :country_name + t.string :county_name + t.string :county_code + t.string :international_postal_code + t.string :province + t.string :state_code + t.string :zip_code + t.string :zip_suffix + t.jsonb :raw_address + t.float :lat + t.float :long + t.geography :location, limit: { srid: 4326, type: 'st_point', geographic: true } + t.timestamps + + t.index :location, using: :gist + t.index %i[ registration_number individual_type ], name: 'index_on_reg_num_and_type_for_accredited_individuals', unique: true + end + end +end diff --git a/db/schema.rb b/db/schema.rb index 686d2f0e861..a996325aa71 100644 --- a/db/schema.rb +++ b/db/schema.rb @@ -53,6 +53,43 @@ t.index ["uuid"], name: "index_accounts_on_uuid", unique: true end + create_table "accredited_individuals", id: :uuid, default: -> { "gen_random_uuid()" }, force: :cascade do |t| + t.uuid "ogc_id", null: false + t.string "registration_number", null: false + t.string "poa_code", limit: 3 + t.string "individual_type", null: false + t.string "first_name" + t.string "middle_initial" + t.string "last_name" + t.string "full_name" + t.string "email" + t.string "phone" + t.string "address_type" + t.string "address_line1" + t.string "address_line2" + t.string "address_line3" + t.string "city" + t.string "country_code_iso3" + t.string "country_name" + t.string "county_name" + t.string "county_code" + t.string "international_postal_code" + t.string "province" + t.string "state_code" + t.string "zip_code" + t.string "zip_suffix" + t.jsonb "raw_address" + t.float "lat" + t.float "long" + t.geography "location", limit: {:srid=>4326, :type=>"st_point", :geographic=>true} + t.datetime "created_at", null: false + t.datetime "updated_at", null: false + t.index ["full_name"], name: "index_accredited_individuals_on_full_name" + t.index ["location"], name: "index_accredited_individuals_on_location", using: :gist + t.index ["poa_code"], name: "index_accredited_individuals_on_poa_code" + t.index ["registration_number", "individual_type"], name: "index_on_reg_num_and_type_for_accredited_individuals", unique: true + end + create_table "active_storage_attachments", force: :cascade do |t| t.string "name", null: false t.string "record_type", null: false From c762d12e12dda1a151087622b04a0f210471434c Mon Sep 17 00:00:00 2001 From: Wayne Weibel Date: Tue, 16 Apr 2024 10:30:38 -0400 Subject: [PATCH 41/74] Lighthouse Benefits Intake Metadata (#16333) --- lib/lighthouse/benefits_intake/metadata.rb | 132 +++++++++++++++++ .../benefits_intake/metadata_spec.rb | 139 ++++++++++++++++++ 2 files changed, 271 insertions(+) create mode 100644 lib/lighthouse/benefits_intake/metadata.rb create mode 100644 spec/lib/lighthouse/benefits_intake/metadata_spec.rb diff --git a/lib/lighthouse/benefits_intake/metadata.rb b/lib/lighthouse/benefits_intake/metadata.rb new file mode 100644 index 00000000000..6adec07abe9 --- /dev/null +++ b/lib/lighthouse/benefits_intake/metadata.rb @@ -0,0 +1,132 @@ +# frozen_string_literal: true + +module BenefitsIntake + ## + # Validate the required metadata which must accompany an upload: + # + # { + # 'veteranFirstName': String, + # 'veteranLastName': String, + # 'fileNumber': String, # 8-9 digits + # 'zipCode': String, # 5 or 9 digits + # 'source': String, + # 'docType': String, + # 'businessLine': String, # optional; enum in BUSINESS_LINE + # } + # + # https://developer.va.gov/explore/api/benefits-intake/docs + # + class Metadata + BUSINESS_LINE = { + CMP: 'Compensation requests such as those related to disability, unemployment, and pandemic claims', + PMC: 'Pension requests including survivor’s pension', + INS: 'Insurance such as life insurance, disability insurance, and other health insurance', + EDU: 'Education benefits, programs, and affiliations', + VRE: 'Veteran Readiness & Employment such as employment questionnaires, ' \ + 'employment discrimination, employment verification', + BVA: 'Board of Veteran Appeals', + FID: 'Fiduciary / financial appointee, including family member benefits', + NCA: 'National Cemetery Administration', + OTH: 'Other (this value if used, will be treated as CMP)' + }.freeze + + # rubocop:disable Metrics/ParameterLists + def self.generate(first_name, last_name, file_number, zip_code, source, doc_type, business_line = nil) + validate({ + 'veteranFirstName' => first_name, + 'veteranLastName' => last_name, + 'fileNumber' => file_number, + 'zipCode' => zip_code, + 'source' => source, + 'docType' => doc_type, + 'businessLine' => business_line + }) + end + # rubocop:enable Metrics/ParameterLists + + def self.validate(metadata) + validate_first_name(metadata) + .then { |m| validate_last_name(m) } + .then { |m| validate_file_number(m) } + .then { |m| validate_zip_code(m) } + .then { |m| validate_source(m) } + .then { |m| validate_doc_type(m) } + .then { |m| validate_business_line(m) } + end + + def self.validate_first_name(metadata) + validate_presence_and_stringiness(metadata['veteranFirstName'], 'veteran first name') + + first_name = I18n.transliterate(metadata['veteranFirstName']).gsub(%r{[^a-zA-Z\-\/\s]}, '').strip.first(50) + validate_nonblank(first_name, 'veteran first name') + + metadata['veteranFirstName'] = first_name + metadata + end + + def self.validate_last_name(metadata) + validate_presence_and_stringiness(metadata['veteranLastName'], 'veteran last name') + + last_name = I18n.transliterate(metadata['veteranLastName']).gsub(%r{[^a-zA-Z\-\/\s]}, '').strip.first(50) + validate_nonblank(last_name, 'veteran last name') + + metadata['veteranLastName'] = last_name + metadata + end + + def self.validate_file_number(metadata) + validate_presence_and_stringiness(metadata['fileNumber'], 'file number') + unless metadata['fileNumber'].match?(/^\d{8,9}$/) + raise ArgumentError, 'file number is invalid. It must be 8 or 9 digits' + end + + metadata + end + + def self.validate_zip_code(metadata) + validate_presence_and_stringiness(metadata['zipCode'], 'zip code') + + zip_code = metadata['zipCode'].dup.gsub(/[^0-9]/, '') + zip_code.insert(5, '-') if zip_code.match?(/\A[0-9]{9}\z/) + zip_code = '00000' unless zip_code.match?(/\A[0-9]{5}(-[0-9]{4})?\z/) + + metadata['zipCode'] = zip_code + + metadata + end + + def self.validate_source(metadata) + validate_presence_and_stringiness(metadata['source'], 'source') + + metadata + end + + def self.validate_doc_type(metadata) + validate_presence_and_stringiness(metadata['docType'], 'doc type') + + metadata + end + + def self.validate_business_line(metadata) + bl = metadata['businessLine'] + if bl + bl = bl.dup.to_s.upcase.to_sym + bl = :OTH unless BUSINESS_LINE.key?(bl) + metadata['businessLine'] = bl.to_s + else + metadata.delete('businessLine') + end + + metadata + end + + def self.validate_presence_and_stringiness(value, error_label) + raise ArgumentError, "#{error_label} is missing" unless value + raise ArgumentError, "#{error_label} is not a string" if value.class != String + end + + def self.validate_nonblank(value, error_label) + raise ArgumentError, "#{error_label} is blank" if value.blank? + end + end +end diff --git a/spec/lib/lighthouse/benefits_intake/metadata_spec.rb b/spec/lib/lighthouse/benefits_intake/metadata_spec.rb new file mode 100644 index 00000000000..70e7a79821a --- /dev/null +++ b/spec/lib/lighthouse/benefits_intake/metadata_spec.rb @@ -0,0 +1,139 @@ +# frozen_string_literal: true + +require 'rails_helper' +require 'lighthouse/benefits_intake/metadata' + +RSpec.describe BenefitsIntake::Metadata do + let(:meta) { described_class } + + context 'with valid parameters' do + let(:valid) do + { + 'veteranFirstName' => 'firstname', + 'veteranLastName' => 'lastname', + 'fileNumber' => '123456789', + 'zipCode' => '12345-5555', + 'source' => 'source', + 'docType' => 'doc_type', + 'businessLine' => 'BVA' + } + end + + it 'returns unmodified metadata' do + data = meta.generate('firstname', 'lastname', '123456789', '12345-5555', 'source', 'doc_type', 'BVA') + expect(data).to eq(valid) + end + + it 'returns corrected metadata' do + data = meta.generate('first_name', 'last_name', '123456789', '123455555', 'source', 'doc_type', :bva) + expect(data).to eq(valid) + end + end + + context 'malformed data' do + it 'truncates names' do + charset = Array('a'..'z') + Array('A'..'Z') + ['-', ' ', '/'] + firstname = Array.new(rand(50..100)) { charset.sample }.join + lastname = Array.new(rand(50..100)) { charset.sample }.join + + first50 = meta.validate_first_name({ 'veteranFirstName' => firstname }) + expect(first50).to eq({ 'veteranFirstName' => firstname.strip[0..49] }) + + last50 = meta.validate_last_name({ 'veteranLastName' => lastname }) + expect(last50).to eq({ 'veteranLastName' => lastname.strip[0..49] }) + end + + it 'errors on substituted blank names' do + expect do + meta.validate_first_name({ 'veteranFirstName' => '23&_$!42' }) + end.to raise_error(ArgumentError, 'veteran first name is blank') + + expect do + meta.validate_last_name({ 'veteranLastName' => '23&_$!42' }) + end.to raise_error(ArgumentError, 'veteran last name is blank') + end + + it 'corrects malformed zipcode' do + zip = meta.validate_zip_code({ 'zipCode' => '12345TEST' }) + expect(zip).to eq({ 'zipCode' => '12345' }) + + zip = meta.validate_zip_code({ 'zipCode' => '12345TEST6789' }) + expect(zip).to eq({ 'zipCode' => '12345-6789' }) + + zip = meta.validate_zip_code({ 'zipCode' => '123456789123456789' }) + expect(zip).to eq({ 'zipCode' => '00000' }) + end + + it 'corrects malformed business_line' do + zip = meta.validate_business_line({ 'businessLine' => :BVA }) + expect(zip).to eq({ 'businessLine' => 'BVA' }) + + zip = meta.validate_business_line({ 'businessLine' => :pmc }) + expect(zip).to eq({ 'businessLine' => 'PMC' }) + + zip = meta.validate_business_line({ 'businessLine' => 'pmc' }) + expect(zip).to eq({ 'businessLine' => 'PMC' }) + + zip = meta.validate_business_line({ 'businessLine' => :TEST }) + expect(zip).to eq({ 'businessLine' => 'OTH' }) + + zip = meta.validate_business_line({ 'businessLine' => 'TEST' }) + expect(zip).to eq({ 'businessLine' => 'OTH' }) + + zip = meta.validate_business_line({ 'businessLine' => nil }) + expect(zip).to eq({}) + end + + it 'errors on invalid file number' do + expect do + meta.validate_file_number({ 'fileNumber' => '123TEST89' }) + end.to raise_error(ArgumentError, 'file number is invalid. It must be 8 or 9 digits') + + expect do + meta.validate_file_number({ 'fileNumber' => '123456789123456789' }) + end.to raise_error(ArgumentError, 'file number is invalid. It must be 8 or 9 digits') + + expect do + meta.validate_file_number({ 'fileNumber' => '12345' }) + end.to raise_error(ArgumentError, 'file number is invalid. It must be 8 or 9 digits') + end + end + + describe '#validate_presence_and_stringiness' do + it 'raises a missing exception' do + expect do + meta.validate_presence_and_stringiness(nil, 'TEST FIELD') + end.to raise_error(ArgumentError, 'TEST FIELD is missing') + + expect do + meta.validate_presence_and_stringiness(false, 'TEST FIELD') + end.to raise_error(ArgumentError, 'TEST FIELD is missing') + end + + it 'raises a non-string exception' do + expect do + meta.validate_presence_and_stringiness(12, 'TEST FIELD') + end.to raise_error(ArgumentError, 'TEST FIELD is not a string') + + expect do + meta.validate_presence_and_stringiness(true, 'TEST FIELD') + end.to raise_error(ArgumentError, 'TEST FIELD is not a string') + + expect do + meta.validate_presence_and_stringiness({}, 'TEST FIELD') + end.to raise_error(ArgumentError, 'TEST FIELD is not a string') + end + + it 'raises a blank exception' do + expect do + meta.validate_nonblank('', 'TEST FIELD') + end.to raise_error(ArgumentError, 'TEST FIELD is blank') + + expect do + meta.validate_nonblank(' ', 'TEST FIELD') + end.to raise_error(ArgumentError, 'TEST FIELD is blank') + end + end + + # end Rspec.describe +end From b484bbb89962ed230c234e381a887f882d00899c Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 16 Apr 2024 10:35:37 -0400 Subject: [PATCH 42/74] Bump faraday-retry from 2.2.0 to 2.2.1 (#16356) Bumps [faraday-retry](https://github.com/lostisland/faraday-retry) from 2.2.0 to 2.2.1. - [Release notes](https://github.com/lostisland/faraday-retry/releases) - [Changelog](https://github.com/lostisland/faraday-retry/blob/main/CHANGELOG.md) - [Commits](https://github.com/lostisland/faraday-retry/compare/v2.2.0...v2.2.1) --- updated-dependencies: - dependency-name: faraday-retry dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index a7febd39c91..affa286f9f5 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -431,7 +431,7 @@ GEM multipart-post (~> 2) faraday-net_http (3.1.0) net-http - faraday-retry (2.2.0) + faraday-retry (2.2.1) faraday (~> 2.0) faraday-typhoeus (1.1.0) faraday (~> 2.0) From 4d2116fc1b0b40b22f207326e02c007af99b240a Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 16 Apr 2024 10:53:17 -0400 Subject: [PATCH 43/74] Bump rubocop from 1.63.1 to 1.63.2 (#16355) Bumps [rubocop](https://github.com/rubocop/rubocop) from 1.63.1 to 1.63.2. - [Release notes](https://github.com/rubocop/rubocop/releases) - [Changelog](https://github.com/rubocop/rubocop/blob/master/CHANGELOG.md) - [Commits](https://github.com/rubocop/rubocop/compare/v1.63.1...v1.63.2) --- updated-dependencies: - dependency-name: rubocop dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index affa286f9f5..be296954a8a 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -890,7 +890,7 @@ GEM rswag-ui (2.13.0) actionpack (>= 3.1, < 7.2) railties (>= 3.1, < 7.2) - rubocop (1.63.1) + rubocop (1.63.2) json (~> 2.3) language_server-protocol (>= 3.17.0) parallel (~> 1.10) From 9558c827d75731f11614f2374561b45bda737110 Mon Sep 17 00:00:00 2001 From: Kevin Suarez Date: Tue, 16 Apr 2024 11:33:32 -0400 Subject: [PATCH 44/74] 78475 adjust fsr calculators (#16343) * address 1st round of expense calulator issues * address 1st round of income calulator issues * address 1st round of asset calulator issues * improve sanitized params for income form * fix calculations based on integer value * add specs for 78475 * add calculator fixture * 78475 adding missing permitted params to assets calculator * change the response type of all calculator endpoints to hash --- ..._status_reports_calculations_controller.rb | 147 +- .../v0/fsr_form_transform/asset_calculator.rb | 16 +- .../enhanced_expense_calculator.rb | 6 +- .../fsr_form_transform/expense_calculator.rb | 5 +- .../fsr_form_transform/income_calculator.rb | 66 +- .../old_expense_calculator.rb | 2 +- .../pre_submission_fsr/andrew_fsr_2.json | 363 +++ .../pre_submission_fsr/andrew_fsr_3.json | 349 +++ .../andrew_fsr_expenses.json | 711 +++++ .../pre_submission_fsr/andrew_maximal.json | 1268 ++++++++ .../enhanced_fsr_expenses.json | 56 +- .../pre_submission_fsr/fsr_assets_form.json | 73 +- .../fsr_maximal_calculations_form.json | 2635 ++++++++--------- .../non_enhanced_fsr_expenses.json | 56 +- .../asset_calculator_spec.rb | 2 +- .../expense_calculator_spec.rb | 2 +- .../income_calculator_spec.rb | 2 +- ...us_reports_calculations_controller_spec.rb | 56 + 18 files changed, 4282 insertions(+), 1533 deletions(-) create mode 100644 modules/debts_api/spec/fixtures/pre_submission_fsr/andrew_fsr_2.json create mode 100644 modules/debts_api/spec/fixtures/pre_submission_fsr/andrew_fsr_3.json create mode 100644 modules/debts_api/spec/fixtures/pre_submission_fsr/andrew_fsr_expenses.json create mode 100644 modules/debts_api/spec/fixtures/pre_submission_fsr/andrew_maximal.json diff --git a/modules/debts_api/app/controllers/debts_api/v0/financial_status_reports_calculations_controller.rb b/modules/debts_api/app/controllers/debts_api/v0/financial_status_reports_calculations_controller.rb index 0833d111c60..bcc8cb20c2a 100644 --- a/modules/debts_api/app/controllers/debts_api/v0/financial_status_reports_calculations_controller.rb +++ b/modules/debts_api/app/controllers/debts_api/v0/financial_status_reports_calculations_controller.rb @@ -10,7 +10,9 @@ class FinancialStatusReportsCalculationsController < ApplicationController service_tag 'financial-report' def total_assets - render json: asset_calculator.get_total_assets + render json: { + calculatedTotalAssets: asset_calculator.get_total_assets + } end def monthly_income @@ -18,7 +20,9 @@ def monthly_income end def monthly_expenses - render json: expense_calculator.get_monthly_expenses + render json: { + calculatedMonthlyExpenses: expense_calculator.get_monthly_expenses + } end def all_expenses @@ -29,56 +33,61 @@ def all_expenses # rubocop:disable Metrics/MethodLength def asset_form - params.require(:data).permit( - :cashInBank, - :cashOnHand, - :recVehicleAmount, - :usSavingsBonds, - :stocksAndOtherBonds, - :'view:enhancedFinancialStatusReport', - questions: [:hasVehicle], - realEstateRecords: %i[ - realEstateType - realEstateAmount + params.permit( + :cash_in_bank, + :cash_on_hand, + :rec_vehicle_amount, + :us_savings_bonds, + :stocks_and_other_bonds, + :'view:enhanced_financial_status_report', + questions: [:has_vehicle], + real_estate_records: %i[ + real_estate_type + real_estate_amount ], assets: [ - :realEstateValue, + :resale_value, { - otherAssets: %i[ + other_assets: %i[ name amount ] }, - :recVehicleAmount, - { automobiles: [:resaleValue] } + { monetary_assets: %i[name amount] }, + :rec_vehicle_amount, + :real_estate_value, + { automobiles: [:resale_value] } ] ) end def income_form - params.require(:data).permit( - :'view:enhancedFinancialStatusReport', - additionalIncome: [ + params.permit( + :'view:enhanced_financial_status_report', + additional_income: [ { - addlIncRecords: %i[ + addl_inc_records: %i[ name amount ] }, { - spouse: %i[ - spAddlIncome + spouse: [ + sp_addl_income: %i[ + name + amount + ] ] } ], benefits: { - spouseBenefits: %i[ - compensationAndPension + spouse_benefits: %i[ + compensation_and_pension education ] }, - currEmployment: [ - :veteranGrossSalary, + curr_employment: [ + :veteran_gross_salary, { deductions: %i[ name @@ -90,37 +99,37 @@ def income_form :type, :from, :to, - :isCurrent, - :employerName + :is_current, + :employer_name ], income: %i[ - veteranOrSpouse - compensationAndPension + veteran_or_spouse + compensation_and_pension education ], - personalData: { - employmentHistory: { + personal_data: { + employment_history: { veteran: { - employmentRecords: [ + employment_records: [ :type, :from, :to, - :isCurrent, - :employerName, - :grossMonthlyIncome, + :is_current, + :employer_name, + :gross_monthly_income, { deductions: %i[name amount] } ] }, spouse: { - spEmploymentRecords: [ + sp_employment_records: [ :type, :from, :to, - :isCurrent, - :employerName, - :grossMonthlyIncome, + :is_current, + :employer_name, + :gross_monthly_income, { deductions: %i[name amount] } @@ -128,8 +137,8 @@ def income_form } } }, - spCurrEmployment: [ - :spouseGrossSalary, + sp_curr_employment: [ + :spouse_gross_salary, { deductions: %i[ name @@ -141,13 +150,13 @@ def income_form :type, :from, :to, - :isCurrent, - :employerName + :is_current, + :employer_name ], - socialSecurity: [ - :socialSecAmt, + social_security: [ + :social_sec_amt, { spouse: [ - :socialSecAmt + :social_sec_amt ] } ] ).to_hash @@ -155,41 +164,41 @@ def income_form def expense_form params.permit( - :'view:enhancedFinancialStatusReport', + :'view:enhanced_financial_status_report', expenses: [ :food, - :rentOrMortgage, - { expenseRecords: %i[ + :rent_or_mortgage, + { expense_records: %i[ name amount ], - creditCardBills: %i[ + credit_card_bills: %i[ purpose - creditorName - originalAmount - unpaidBalance - amountDueMonthly - dateStarted - amountPastDue + creditor_name + original_amount + unpaid_balance + amount_due_monthly + date_started + amount_past_due ] } ], - otherExpenses: %i[ + other_expenses: %i[ name amount ], - installmentContracts: %i[ - creditorName - dateStarted + installment_contracts: %i[ + creditor_name + date_started purpose - originalAmount + original_amount unpaid_balance - amountDueMonthly - amountPastDue + amount_due_monthly + amount_past_due ], - utilityRecords: %i[ - utilityType + utility_records: %i[ + utility_type amount - monthlyUtilityAmount + monthly_utility_amount ] ).to_hash end @@ -204,7 +213,7 @@ def income_calculator end def expense_calculator - DebtsApi::V0::FsrFormTransform::ExpenceCalculator.build(expense_form) + DebtsApi::V0::FsrFormTransform::ExpenseCalculator.build(expense_form) end end end diff --git a/modules/debts_api/lib/debts_api/v0/fsr_form_transform/asset_calculator.rb b/modules/debts_api/lib/debts_api/v0/fsr_form_transform/asset_calculator.rb index 3970db28228..51d4e349d54 100644 --- a/modules/debts_api/lib/debts_api/v0/fsr_form_transform/asset_calculator.rb +++ b/modules/debts_api/lib/debts_api/v0/fsr_form_transform/asset_calculator.rb @@ -6,25 +6,25 @@ module FsrFormTransform class AssetCalculator def initialize(form) @form = form - @enhanced_fsr_active = @form['view:enhancedFinancialStatusReport'] + @enhanced_fsr_active = @form['view:enhanced_financial_status_report'] @assets = @form['assets'] - @real_estate_records = @form['realEstateRecords'] + @real_estate_records = @form['real_estate_records'] @questions = @form['questions'] end def get_total_assets - formatted_re_value = @assets['realEstateValue']&.gsub(/[^0-9.-]/, '')&.to_f || 0 - tot_other_assets = sum_values(@assets['otherAssets'], 'amount') - tot_rec_vehicles = @enhanced_fsr_active ? @assets['recVehicleAmount']&.gsub(/[^0-9.-]/, '')&.to_f || 0 : 0 - tot_vehicles = @questions['hasVehicle'] ? sum_values(@assets['automobiles'], 'resaleValue') : 0 + formatted_re_value = @assets['real_estate_value']&.gsub(/[^0-9.-]/, '')&.to_f || 0 + tot_other_assets = sum_values(@assets['other_assets'], 'amount') + tot_rec_vehicles = @enhanced_fsr_active ? @assets['rec_vehicle_amount']&.gsub(/[^0-9.-]/, '')&.to_f || 0 : 0 + tot_vehicles = @questions['has_vehicle'] ? sum_values(@assets['automobiles'], 'resale_value') : 0 real_estate = if @enhanced_fsr_active formatted_re_value else sum_values(@real_estate_records, - 'realEstateAmount') + 'real_estate_amount') end tot_assets = if @enhanced_fsr_active - sum_values(@assets['monetaryAssets'], 'amount') + sum_values(@assets['monetary_assets'], 'amount') else @assets.values.reject { |item| item && !item.is_a?(Array) } .reduce(0) { |acc, amount| (acc + amount&.gsub(/[^0-9.-]/, '')&.to_f) || 0 } diff --git a/modules/debts_api/lib/debts_api/v0/fsr_form_transform/enhanced_expense_calculator.rb b/modules/debts_api/lib/debts_api/v0/fsr_form_transform/enhanced_expense_calculator.rb index 8d08997e6c8..b27ea53e84c 100644 --- a/modules/debts_api/lib/debts_api/v0/fsr_form_transform/enhanced_expense_calculator.rb +++ b/modules/debts_api/lib/debts_api/v0/fsr_form_transform/enhanced_expense_calculator.rb @@ -5,7 +5,7 @@ module DebtsApi module V0 module FsrFormTransform - class EnhancedExpenceCalculator + class EnhancedExpenseCalculator RENT = 'Rent' MORTGAGE_PAYMENT = 'Mortgage payment' FOOD = 'Food' @@ -18,8 +18,8 @@ def initialize(form) @old_food_attr = @form.dig('expenses', 'food') @credit_card_bills = @form.dig('expenses', 'creditCardBills') || [] @other_expenses = @form['otherExpenses'].deep_dup || [] - @installment_contracts = @form['installmentContracts'] - @utility_records = @form['utilityRecords'] + @installment_contracts = @form['installmentContracts'] || [] + @utility_records = @form['utilityRecords'] || [] @filtered_expenses = [].concat( exclude_by(@other_expenses, [FOOD]), diff --git a/modules/debts_api/lib/debts_api/v0/fsr_form_transform/expense_calculator.rb b/modules/debts_api/lib/debts_api/v0/fsr_form_transform/expense_calculator.rb index 15ffd040699..ace0c4904db 100644 --- a/modules/debts_api/lib/debts_api/v0/fsr_form_transform/expense_calculator.rb +++ b/modules/debts_api/lib/debts_api/v0/fsr_form_transform/expense_calculator.rb @@ -6,10 +6,11 @@ module DebtsApi module V0 module FsrFormTransform - class ExpenceCalculator + class ExpenseCalculator def self.build(form) + form.deep_transform_keys! { |key| key.to_s.camelize(:lower) } enhanced = form['view:enhancedFinancialStatusReport'] || false - enhanced ? EnhancedExpenceCalculator.new(form) : OldExpenceCalculator.new(form) + enhanced ? EnhancedExpenseCalculator.new(form) : OldExpenseCalculator.new(form) end end end diff --git a/modules/debts_api/lib/debts_api/v0/fsr_form_transform/income_calculator.rb b/modules/debts_api/lib/debts_api/v0/fsr_form_transform/income_calculator.rb index 9fd99e999b9..86e02a1f3f0 100644 --- a/modules/debts_api/lib/debts_api/v0/fsr_form_transform/income_calculator.rb +++ b/modules/debts_api/lib/debts_api/v0/fsr_form_transform/income_calculator.rb @@ -20,27 +20,26 @@ def initialize(form) # rubocop:disable Metrics/MethodLength def get_monthly_income - if @form['additionalIncome']['spouse']['spAddlIncome'].blank? - @form['additionalIncome']['spouse']['spAddlIncome'] = [] - end - @form['additionalIncome']['addlIncRecords'] = [] if @form['additionalIncome']['addlIncRecords'].blank? - if @form['personalData']['employmentHistory']['veteran']['employmentRecords'].blank? - @form['personalData']['employmentHistory']['veteran']['employmentRecords'] = [] - end - if @form['personalData']['employmentHistory']['spouse']['spEmploymentRecords'].blank? - @form['personalData']['employmentHistory']['spouse']['spEmploymentRecords'] = [] - end - - sp_addl_income = @form['additionalIncome']['spouse']['spAddlIncome'] - addl_inc_records = @form['additionalIncome']['addlIncRecords'] - vet_employment_records = @form['personalData']['employmentHistory']['veteran']['employmentRecords'] - sp_employment_records = @form['personalData']['employmentHistory']['spouse']['spEmploymentRecords'] - social_security = @form['socialSecurity'] - benefits = @form['benefits'] - curr_employment = @form['currEmployment'] || [] - sp_curr_employment = @form['spCurrEmployment'] || [] - income = @form['income'] - enhanced_fsr_active = @form['view:enhancedFinancialStatusReport'] + sp_addl_income = @form.dig('additional_income', 'spouse', 'sp_addl_income') || [] + addl_inc_records = @form.dig('additional_income', 'addl_inc_records') || [] + vet_employment_records = @form.dig( + 'personal_data', + 'employment_history', + 'veteran', + 'employment_records' + ) || [] + sp_employment_records = @form.dig( + 'personal_data', + 'employment_history', + 'spouse', + 'sp_employment_records' + ) || [] + social_security = @form['social_security'] || {} + benefits = @form['benefits'] || {} + curr_employment = @form['curr_employment'] || [] + sp_curr_employment = @form['sp_curr_employment'] || [] + income = @form['income'] || [] + enhanced_fsr_active = @form['view:enhanced_financial_status_report'] vet_income = calculate_income( enhanced_fsr_active, 'veteran', @@ -102,10 +101,9 @@ def other_deductions_amt(deductions, filters) def name_str(social_security, compensation, education, addl_inc) benefit_types = [] - - benefit_types.push('Social Security') if social_security - benefit_types.push('Disability Compensation') if compensation - benefit_types.push('Education') if education + benefit_types.push('Social Security') if social_security.positive? + benefit_types.push('Disability Compensation') if compensation.positive? + benefit_types.push('Education') if education.positive? vet_addl_names = addl_inc&.pluck('name') || [] other_inc_names = [*benefit_types, *vet_addl_names] @@ -118,15 +116,15 @@ def calculate_income(enhanced_fsr_active, beneficiary_type, employment_records = addl_inc_records = [], social_security = {}, income = [], benefits = {}) gross_salary = if enhanced_fsr_active employment_records.map do |emp| - if emp['grossMonthlyIncome'].nil? + if emp['gross_monthly_income'].nil? 0 else - emp['grossMonthlyIncome'].to_f + emp['gross_monthly_income'].to_f end end.sum else curr_employment.sum do |emp| - emp["#{beneficiary_type}GrossSalary"].to_f + emp["#{beneficiary_type}_gross_salary"].to_f end end @@ -135,19 +133,19 @@ def calculate_income(enhanced_fsr_active, beneficiary_type, employment_records = soc_sec_amt = if enhanced_fsr_active 0 elsif beneficiary_type == 'spouse' - social_security.dig('spouse', 'socialSecAmt').to_f || 0 + social_security.dig('spouse', 'social_sec_amt').to_f || 0 else - social_security['socialSecAmt'].to_f || 0 + social_security['social_sec_amt'].to_f || 0 end comp = if beneficiary_type == 'spouse' - benefits.dig('spouseBenefits', 'compensationAndPension').to_f || 0 + benefits.dig('spouse_benefits', 'compensation_and_pension').to_f || 0 else - income.sum { |item| item['compensationAndPension'].to_f } + income.sum { |item| item['compensation_and_pension'].to_f } end edu = if beneficiary_type == 'spouse' - benefits.dig('spouseBenefits', 'education').to_f || 0 + benefits.dig('spouse_benefits', 'education').to_f || 0 else income.sum { |item| item['education'].to_f } end @@ -156,7 +154,7 @@ def calculate_income(enhanced_fsr_active, beneficiary_type, employment_records = deductions = if enhanced_fsr_active employment_records - .select { |emp| emp['isCurrent'] } + .select { |emp| emp['is_current'] } .map do |emp| if emp['deductions'].nil? 0 diff --git a/modules/debts_api/lib/debts_api/v0/fsr_form_transform/old_expense_calculator.rb b/modules/debts_api/lib/debts_api/v0/fsr_form_transform/old_expense_calculator.rb index 3008ea50688..a8dfd5e6053 100644 --- a/modules/debts_api/lib/debts_api/v0/fsr_form_transform/old_expense_calculator.rb +++ b/modules/debts_api/lib/debts_api/v0/fsr_form_transform/old_expense_calculator.rb @@ -5,7 +5,7 @@ module DebtsApi module V0 module FsrFormTransform - class OldExpenceCalculator + class OldExpenseCalculator RENT = 'Rent' MORTGAGE_PAYMENT = 'Mortgage payment' FOOD = 'Food' diff --git a/modules/debts_api/spec/fixtures/pre_submission_fsr/andrew_fsr_2.json b/modules/debts_api/spec/fixtures/pre_submission_fsr/andrew_fsr_2.json new file mode 100644 index 00000000000..79f06d7e7ed --- /dev/null +++ b/modules/debts_api/spec/fixtures/pre_submission_fsr/andrew_fsr_2.json @@ -0,0 +1,363 @@ +{ + "benefits": { + "spouse_benefits": { + "compensation_and_pension": "250", + "education": "250" + } + }, + "questions": { + "spouse_has_benefits": true, + "is_married": true, + "has_dependents": "1", + "vet_is_employed": true, + "spouse_is_employed": true + }, + "personal_data": { + "spouse_full_name": { + "first": "rosemary", + "last": "woodhouse" + }, + "veteran_full_name": { + "first": "Travis", + "last": "Jones", + "middle": "D" + }, + "date_of_birth": "1950-09-06", + "veteran_contact_information": { + "email": "test@user.com", + "mobile_phone": { + "area_code": "510", + "country_code": "1", + "created_at": "2020-06-12T16:56:37.000+00:00", + "extension": "", + "effective_end_date": null, + "effective_start_date": "2020-07-14T19:07:45.000+00:00", + "id": 146766, + "is_international": false, + "is_textable": null, + "is_text_permitted": null, + "is_tty": null, + "is_voicemailable": null, + "phone_number": "9224444", + "phone_type": "HOME", + "source_date": "2020-07-14T19:07:45.000+00:00", + "source_system_user": null, + "transaction_id": "92c49d39-22b2-4bd6-92b4-0b7e7c63c6a9", + "updated_at": "2020-07-14T19:07:46.000+00:00", + "vet360_id": "1273780" + }, + "address": { + "address_line1": "1200 Park Ave", + "address_line2": "c/o Pixar", + "address_pou": "CORRESPONDENCE", + "address_type": "DOMESTIC", + "city": "Emeryville", + "country_name": "United States", + "country_code_iso2": "US", + "country_code_iso3": "USA", + "country_code_fips": null, + "county_code": null, + "county_name": null, + "created_at": "2020-05-30T03:57:20.000+00:00", + "effective_end_date": null, + "effective_start_date": "2020-07-10T20:10:45.000+00:00", + "id": 173917, + "province": null, + "source_date": "2020-07-10T20:10:45.000+00:00", + "source_system_user": null, + "state_code": "CA", + "transaction_id": "7139aa82-fd06-45ea-a217-9654869924bd", + "updated_at": "2020-07-10T20:10:46.000+00:00", + "validation_key": null, + "vet360_id": "1273780", + "zip_code": "94608", + "zip_code_suffix": null + } + }, + "dependents": [ + { + "dependent_age": "12" + } + ], + "employment_history": { + "new_record": { + "type": "", + "from": "", + "to": "", + "is_current": false, + "employer_name": "", + "gross_monthly_income": "", + "deductions": [] + }, + "veteran": { + "employment_records": [ + { + "type": "Part time", + "from": "2020-01-XX", + "to": "", + "is_current": true, + "employer_name": "Vet emp 1", + "gross_monthly_income": "1200", + "deductions": [ + { + "name": "State tax", + "amount": "100" + }, + { + "name": "Retirement accounts (401k, IRAs, 403b, TSP)", + "amount": "100" + } + ] + } + ] + }, + "spouse": { + "sp_employment_records": [ + { + "type": "Full time", + "from": "2021-01-XX", + "to": "", + "is_current": true, + "employer_name": "spo emp 1", + "gross_monthly_income": "1300", + "deductions": [ + { + "name": "Federal tax", + "amount": "150" + }, + { + "name": "FICA (Social Security and Medicare)", + "amount": "150" + } + ] + } + ] + } + } + }, + "view:components": { + "view:marital_status": {}, + "view:veteran_info": {}, + "view:dependents_additional_info": {}, + "view:va_benefits_on_file": {}, + "view:real_estate_additional_info": {}, + "view:rec_vehicle_info": {}, + "view:contracts_additional_info": {} + }, + "personal_identification": { + "ssn": "3018", + "file_number": "3018" + }, + "selected_debts_and_copays": [ + { + "id": "f4385298-08a6-42f8-a86f-50e97033fb85", + "p_s_seq_num": 506, + "p_s_tot_seq_num": 588, + "p_s_facility_num": "534", + "p_s_fac_phone_num": null, + "p_s_tot_statement": 27, + "p_s_statement_val": "0000018255H", + "p_s_statement_date": "11152019", + "p_s_statement_date_output": "11/15/2019", + "p_s_process_date": "11112019", + "p_s_process_date_output": "11/11/2019", + "p_h_patient_lst_nme": "JONES", + "p_h_patient_fst_nme": "TRAVIS", + "p_h_patient_mid_nme": "D", + "p_h_address1": "1885 SHORE DR S APT 327", + "p_h_address2": null, + "p_h_address3": null, + "p_h_city": "SAVANNAH", + "p_h_state": "FL", + "p_h_zip_cde": "314104413", + "p_h_zip_cde_output": "31410-4413", + "p_h_ctry_nme": null, + "p_h_amt_due": 15, + "p_h_amt_due_output": "15.00  ", + "p_h_prev_bal": 135, + "p_h_prev_bal_output": "135.00  ", + "p_h_tot_charges": 15, + "p_h_tot_charges_output": "15.00  ", + "p_h_tot_credits": -135, + "p_h_tot_credits_output": "135.00- ", + "p_h_new_balance": 15, + "p_h_new_balance_output": "15.00  ", + "p_h_special_notes": "To pay your statement online, go to www.pay.gov or call 1-888-827-4817.", + "p_hro_para_cdes": "304050556065708085", + "p_h_num_of_lines": 10, + "p_h_dfn_number": 346310, + "p_h_cerner_statement_number": 1005154223, + "p_h_cerner_patient_id": "1005154223", + "p_h_cerner_account_number": "1005154223", + "p_h_icn_number": "1012845638V677813", + "p_h_account_number": 0, + "p_h_large_font_indcator": 0, + "details": [ + { + "p_d_date_posted": "10072019", + "p_d_date_posted_output": "10/07/2019", + "p_d_trans_desc": "OUTPATIENT CARE(NSC)", + "p_d_trans_desc_output": "OUTPATIENT CARE", + "p_d_trans_amt": -15, + "p_d_trans_amt_output": "15.00- ", + "p_d_ref_no": "534-K90HEWN" + }, + { + "p_d_date_posted": "10072019", + "p_d_date_posted_output": "10/07/2019", + "p_d_trans_desc": "OUTPATIENT CARE(NSC)", + "p_d_trans_desc_output": "OUTPATIENT CARE", + "p_d_trans_amt": -15, + "p_d_trans_amt_output": "15.00- ", + "p_d_ref_no": "534-K90HEWN" + }, + { + "p_d_date_posted": "10072019", + "p_d_date_posted_output": "10/07/2019", + "p_d_trans_desc": "OUTPATIENT CARE(NSC)", + "p_d_trans_desc_output": "OUTPATIENT CARE", + "p_d_trans_amt": -15, + "p_d_trans_amt_output": "15.00- ", + "p_d_ref_no": "534-K90HEWN" + }, + { + "p_d_date_posted": "10072019", + "p_d_date_posted_output": "10/07/2019", + "p_d_trans_desc": "OUTPATIENT CARE(NSC)", + "p_d_trans_desc_output": "OUTPATIENT CARE", + "p_d_trans_amt": -15, + "p_d_trans_amt_output": "15.00- ", + "p_d_ref_no": "534-K90HEWN" + }, + { + "p_d_date_posted": "10072019", + "p_d_date_posted_output": "10/07/2019", + "p_d_trans_desc": "OUTPATIENT CARE(NSC)", + "p_d_trans_desc_output": "OUTPATIENT CARE", + "p_d_trans_amt": -15, + "p_d_trans_amt_output": "15.00- ", + "p_d_ref_no": "534-K90HEWN" + }, + { + "p_d_date_posted": "10072019", + "p_d_date_posted_output": "10/07/2019", + "p_d_trans_desc": "OUTPATIENT CARE(NSC)", + "p_d_trans_desc_output": "OUTPATIENT CARE", + "p_d_trans_amt": -15, + "p_d_trans_amt_output": "15.00- ", + "p_d_ref_no": "534-K90HEWN" + }, + { + "p_d_date_posted": "10072019", + "p_d_date_posted_output": "10/07/2019", + "p_d_trans_desc": "OUTPATIENT CARE(NSC)", + "p_d_trans_desc_output": "OUTPATIENT CARE", + "p_d_trans_amt": -15, + "p_d_trans_amt_output": "15.00- ", + "p_d_ref_no": "534-K90HEWN" + }, + { + "p_d_date_posted": "10072019", + "p_d_date_posted_output": "10/07/2019", + "p_d_trans_desc": "OUTPATIENT CARE(NSC)", + "p_d_trans_desc_output": "OUTPATIENT CARE", + "p_d_trans_amt": -15, + "p_d_trans_amt_output": "15.00- ", + "p_d_ref_no": "534-K90HEWN" + }, + { + "p_d_date_posted": "10072019", + "p_d_date_posted_output": "10/07/2019", + "p_d_trans_desc": "OUTPATIENT CARE(NSC)", + "p_d_trans_desc_output": "OUTPATIENT CARE", + "p_d_trans_amt": -15, + "p_d_trans_amt_output": "15.00- ", + "p_d_ref_no": "534-K90HEWN" + }, + { + "p_d_date_posted": "10152019", + "p_d_date_posted_output": "10/15/2019", + "p_d_trans_desc": "OUTPATIENT CARE(NSC) VISIT DATE: 09/07/2018", + "p_d_trans_desc_output": "OUTPATIENT CARE VISIT DATE: 09/07/2018", + "p_d_trans_amt": 15, + "p_d_trans_amt_output": "15.00  ", + "p_d_ref_no": "534-K009FK8" + } + ], + "station": { + "facilit_y_num": "534", + "vis_n_num": "07", + "facilit_y_desc": "RALPH H. JOHNSON VA MEDICAL CENTER (534)", + "cycl_e_num": "012", + "remi_t_to_flag": "L", + "mai_l_insert_flag": "0", + "sta_t_address1": "ACCOUNTS RECEIVABLE (04AR)", + "sta_t_address2": "109 BEE ST", + "sta_t_address3": null, + "city": "Charleston", + "state": "SC", + "zi_p_cde": "294015703", + "zi_p_cde_output": "29401-5703", + "ba_r_cde": "*294015703090*", + "te_l_num_flag": "P", + "te_l_num": "1-866-258-2772", + "te_l_num2": null, + "contac_t_info": null, + "d_m2_tel_num": null, + "contac_t_info2": null, + "to_p_tel_num": null, + "lb_x_fedex_address1": null, + "lb_x_fedex_address2": null, + "lb_x_fedex_address3": null, + "lb_x_fedex_city": null, + "lb_x_fedex_state": null, + "lb_x_fedex_zip_cde": null, + "lb_x_fedex_bar_cde": null, + "lb_x_fedex_contact": null, + "lb_x_fedex_contact_tel_num": null, + "facility_name": "Ralph H. Johnson Department of Veterans Affairs Medical Center" + }, + "debt_type": "COPAY" + } + ], + "additional_income": { + "addl_inc_records": [ + { + "name": "Social Security", + "amount": "500" + } + ], + "spouse": { + "sp_addl_income": [ + { + "name": "Caretaker income", + "amount": "100" + } + ] + } + }, + "assets": {}, + "expenses": {}, + "additional_data": { + "bankruptcy": {} + }, + "view:enhanced_financial_status_report": true, + "view:streamlined_waiver": true, + "view:streamlined_waiver_asset_update": true, + "view:review_page_navigation_toggle": true, + "income": [ + { + "veteran_or_spouse": "VETERAN" + } + ], + "gmt_data": { + "is_eligible_for_streamlined": true, + "gmt_threshold": 78300, + "error": null, + "income_upper_threshold": 117450, + "asset_threshold": 5089.5, + "discretionary_income_threshold": 978.75, + "income_below_gmt": true, + "income_below_one_fifty_gmt": true + } +} \ No newline at end of file diff --git a/modules/debts_api/spec/fixtures/pre_submission_fsr/andrew_fsr_3.json b/modules/debts_api/spec/fixtures/pre_submission_fsr/andrew_fsr_3.json new file mode 100644 index 00000000000..4a47677bae2 --- /dev/null +++ b/modules/debts_api/spec/fixtures/pre_submission_fsr/andrew_fsr_3.json @@ -0,0 +1,349 @@ +{ + "questions": { + "has_repayments": false, + "has_credit_card_bills": false, + "has_recreational_vehicle": true, + "has_vehicle": true, + "has_real_estate": true, + "is_married": false, + "has_dependents": "0", + "has_been_adjudicated_bankrupt": false + }, + "view:components": { + "view:contracts_additional_info": {}, + "view:rec_vehicle_info": {}, + "view:real_estate_additional_info": {}, + "view:marital_status": {}, + "view:veteran_info": {}, + "view:dependents_additional_info": {}, + "view:va_benefits_on_file": {} + }, + "assets": { + "rec_vehicle_amount": "2000", + "real_estate_value": "400.10", + "monetary_assets": [ + { + "name": "Cash", + "amount": "10" + }, + { + "name": "Checking accounts", + "amount": "10.01" + }, + { + "name": "Savings accounts", + "amount": "10.02" + }, + { + "name": "Retirement accounts (401k, IRAs, 403b, TSP)", + "amount": "10.02" + } + ], + "other_assets": [ + { + "name": "Antiques", + "amount": "20" + }, + { + "name": "Collectibles, or collection(s)", + "amount": "20" + } + ], + "automobiles": [ + { + "make": "Make", + "model": "mod", + "resale_value": "100.10" + }, + { + "make": "dfsa", + "model": "fdas", + "resale_value": "200.10" + } + ] + }, + "personal_data": { + "veteran_full_name": { + "first": "Travis", + "last": "Jones", + "middle": "D" + }, + "date_of_birth": "1950-09-06", + "veteran_contact_information": { + "email": "test@user.com", + "mobile_phone": { + "area_code": "510", + "country_code": "1", + "created_at": "2020-06-12T16:56:37.000+00:00", + "extension": "", + "effective_end_date": null, + "effective_start_date": "2020-07-14T19:07:45.000+00:00", + "id": 146766, + "is_international": false, + "is_textable": null, + "is_text_permitted": null, + "is_tty": null, + "is_voicemailable": null, + "phone_number": "9224444", + "phone_type": "HOME", + "source_date": "2020-07-14T19:07:45.000+00:00", + "source_system_user": null, + "transaction_id": "92c49d39-22b2-4bd6-92b4-0b7e7c63c6a9", + "updated_at": "2020-07-14T19:07:46.000+00:00", + "vet360_id": "1273780" + }, + "address": { + "address_line1": "1200 Park Ave", + "address_line2": "c/o Pixar", + "address_pou": "CORRESPONDENCE", + "address_type": "DOMESTIC", + "city": "Emeryville", + "country_name": "United States", + "country_code_iso2": "US", + "country_code_iso3": "USA", + "country_code_fips": null, + "county_code": null, + "county_name": null, + "created_at": "2020-05-30T03:57:20.000+00:00", + "effective_end_date": null, + "effective_start_date": "2020-07-10T20:10:45.000+00:00", + "id": 173917, + "province": null, + "source_date": "2020-07-10T20:10:45.000+00:00", + "source_system_user": null, + "state_code": "CA", + "transaction_id": "7139aa82-fd06-45ea-a217-9654869924bd", + "updated_at": "2020-07-10T20:10:46.000+00:00", + "validation_key": null, + "vet360_id": "1273780", + "zip_code": "94608", + "zip_code_suffix": null + } + }, + "spouse_full_name": {}, + "dependents": [] + }, + "personal_identification": { + "ssn": "3018", + "file_number": "3018" + }, + "selected_debts_and_copays": [ + { + "resolution_waiver_check": true, + "resolution_option": "waiver", + "id": "f4385298-08a6-42f8-a86f-50e97033fb85", + "p_s_seq_num": 506, + "p_s_tot_seq_num": 588, + "p_s_facility_num": "534", + "p_s_fac_phone_num": null, + "p_s_tot_statement": 27, + "p_s_statement_val": "0000018255H", + "p_s_statement_date": "11152019", + "p_s_statement_date_output": "11/15/2019", + "p_s_process_date": "11112019", + "p_s_process_date_output": "11/11/2019", + "p_h_patient_lst_nme": "JONES", + "p_h_patient_fst_nme": "TRAVIS", + "p_h_patient_mid_nme": "D", + "p_h_address1": "1885 SHORE DR S APT 327", + "p_h_address2": null, + "p_h_address3": null, + "p_h_city": "SAVANNAH", + "p_h_state": "FL", + "p_h_zip_cde": "314104413", + "p_h_zip_cde_output": "31410-4413", + "p_h_ctry_nme": null, + "p_h_amt_due": 15, + "p_h_amt_due_output": "15.00  ", + "p_h_prev_bal": 135, + "p_h_prev_bal_output": "135.00  ", + "p_h_tot_charges": 15, + "p_h_tot_charges_output": "15.00  ", + "p_h_tot_credits": -135, + "p_h_tot_credits_output": "135.00- ", + "p_h_new_balance": 15, + "p_h_new_balance_output": "15.00  ", + "p_h_special_notes": "To pay your statement online, go to www.pay.gov or call 1-888-827-4817.", + "p_hro_para_cdes": "304050556065708085", + "p_h_num_of_lines": 10, + "p_h_dfn_number": 346310, + "p_h_cerner_statement_number": 1005154223, + "p_h_cerner_patient_id": "1005154223", + "p_h_cerner_account_number": "1005154223", + "p_h_icn_number": "1012845638V677813", + "p_h_account_number": 0, + "p_h_large_font_indcator": 0, + "details": [ + { + "p_d_date_posted": "10072019", + "p_d_date_posted_output": "10/07/2019", + "p_d_trans_desc": "OUTPATIENT CARE(NSC)", + "p_d_trans_desc_output": "OUTPATIENT CARE", + "p_d_trans_amt": -15, + "p_d_trans_amt_output": "15.00- ", + "p_d_ref_no": "534-K90HEWN" + }, + { + "p_d_date_posted": "10072019", + "p_d_date_posted_output": "10/07/2019", + "p_d_trans_desc": "OUTPATIENT CARE(NSC)", + "p_d_trans_desc_output": "OUTPATIENT CARE", + "p_d_trans_amt": -15, + "p_d_trans_amt_output": "15.00- ", + "p_d_ref_no": "534-K90HEWN" + }, + { + "p_d_date_posted": "10072019", + "p_d_date_posted_output": "10/07/2019", + "p_d_trans_desc": "OUTPATIENT CARE(NSC)", + "p_d_trans_desc_output": "OUTPATIENT CARE", + "p_d_trans_amt": -15, + "p_d_trans_amt_output": "15.00- ", + "p_d_ref_no": "534-K90HEWN" + }, + { + "p_d_date_posted": "10072019", + "p_d_date_posted_output": "10/07/2019", + "p_d_trans_desc": "OUTPATIENT CARE(NSC)", + "p_d_trans_desc_output": "OUTPATIENT CARE", + "p_d_trans_amt": -15, + "p_d_trans_amt_output": "15.00- ", + "p_d_ref_no": "534-K90HEWN" + }, + { + "p_d_date_posted": "10072019", + "p_d_date_posted_output": "10/07/2019", + "p_d_trans_desc": "OUTPATIENT CARE(NSC)", + "p_d_trans_desc_output": "OUTPATIENT CARE", + "p_d_trans_amt": -15, + "p_d_trans_amt_output": "15.00- ", + "p_d_ref_no": "534-K90HEWN" + }, + { + "p_d_date_posted": "10072019", + "p_d_date_posted_output": "10/07/2019", + "p_d_trans_desc": "OUTPATIENT CARE(NSC)", + "p_d_trans_desc_output": "OUTPATIENT CARE", + "p_d_trans_amt": -15, + "p_d_trans_amt_output": "15.00- ", + "p_d_ref_no": "534-K90HEWN" + }, + { + "p_d_date_posted": "10072019", + "p_d_date_posted_output": "10/07/2019", + "p_d_trans_desc": "OUTPATIENT CARE(NSC)", + "p_d_trans_desc_output": "OUTPATIENT CARE", + "p_d_trans_amt": -15, + "p_d_trans_amt_output": "15.00- ", + "p_d_ref_no": "534-K90HEWN" + }, + { + "p_d_date_posted": "10072019", + "p_d_date_posted_output": "10/07/2019", + "p_d_trans_desc": "OUTPATIENT CARE(NSC)", + "p_d_trans_desc_output": "OUTPATIENT CARE", + "p_d_trans_amt": -15, + "p_d_trans_amt_output": "15.00- ", + "p_d_ref_no": "534-K90HEWN" + }, + { + "p_d_date_posted": "10072019", + "p_d_date_posted_output": "10/07/2019", + "p_d_trans_desc": "OUTPATIENT CARE(NSC)", + "p_d_trans_desc_output": "OUTPATIENT CARE", + "p_d_trans_amt": -15, + "p_d_trans_amt_output": "15.00- ", + "p_d_ref_no": "534-K90HEWN" + }, + { + "p_d_date_posted": "10152019", + "p_d_date_posted_output": "10/15/2019", + "p_d_trans_desc": "OUTPATIENT CARE(NSC) VISIT DATE: 09/07/2018", + "p_d_trans_desc_output": "OUTPATIENT CARE VISIT DATE: 09/07/2018", + "p_d_trans_amt": 15, + "p_d_trans_amt_output": "15.00  ", + "p_d_ref_no": "534-K009FK8" + } + ], + "station": { + "facilit_y_num": "534", + "vis_n_num": "07", + "facilit_y_desc": "RALPH H. JOHNSON VA MEDICAL CENTER (534)", + "cycl_e_num": "012", + "remi_t_to_flag": "L", + "mai_l_insert_flag": "0", + "sta_t_address1": "ACCOUNTS RECEIVABLE (04AR)", + "sta_t_address2": "109 BEE ST", + "sta_t_address3": null, + "city": "Charleston", + "state": "SC", + "zi_p_cde": "294015703", + "zi_p_cde_output": "29401-5703", + "ba_r_cde": "*294015703090*", + "te_l_num_flag": "P", + "te_l_num": "1-866-258-2772", + "te_l_num2": null, + "contac_t_info": null, + "d_m2_tel_num": null, + "contac_t_info2": null, + "to_p_tel_num": null, + "lb_x_fedex_address1": null, + "lb_x_fedex_address2": null, + "lb_x_fedex_address3": null, + "lb_x_fedex_city": null, + "lb_x_fedex_state": null, + "lb_x_fedex_zip_cde": null, + "lb_x_fedex_bar_cde": null, + "lb_x_fedex_contact": null, + "lb_x_fedex_contact_tel_num": null, + "facility_name": "Ralph H. Johnson Department of Veterans Affairs Medical Center" + }, + "debt_type": "COPAY", + "resolution_comment": "" + } + ], + "additional_income": { + "addl_inc_records": [ + { + "name": "Social Security", + "amount": "12000" + } + ], + "spouse": {} + }, + "benefits": { + "spouse_benefits": {} + }, + "expenses": {}, + "additional_data": { + "bankruptcy": {}, + "additional_comments": "blah blah" + }, + "view:enhanced_financial_status_report": true, + "view:streamlined_waiver": true, + "view:streamlined_waiver_asset_update": true, + "view:review_page_navigation_toggle": true, + "income": [ + { + "veteran_or_spouse": "VETERAN" + } + ], + "gmt_data": { + "is_eligible_for_streamlined": true, + "gmt_threshold": 100000, + "error": null, + "income_upper_threshold": 150000, + "asset_threshold": 6500, + "discretionary_income_threshold": 1250, + "income_below_gmt": false, + "income_below_one_fifty_gmt": false, + "discretionary_below": false + }, + "social_security": { + "spouse": {} + }, + "employment_history": { + "spouse": {} + } + +} \ No newline at end of file diff --git a/modules/debts_api/spec/fixtures/pre_submission_fsr/andrew_fsr_expenses.json b/modules/debts_api/spec/fixtures/pre_submission_fsr/andrew_fsr_expenses.json new file mode 100644 index 00000000000..451f754a058 --- /dev/null +++ b/modules/debts_api/spec/fixtures/pre_submission_fsr/andrew_fsr_expenses.json @@ -0,0 +1,711 @@ +{ + "questions": { + "has_repayments": false, + "has_credit_card_bills": false, + "has_recreational_vehicle": false, + "has_vehicle": false, + "has_real_estate": false, + "is_married": false, + "has_dependents": "0" + }, + "view:components": { + "view:contracts_additional_info": {}, + "view:real_estate_additional_info": {}, + "view:marital_status": {}, + "view:veteran_info": {}, + "view:dependents_additional_info": {}, + "view:va_benefits_on_file": {}, + "view:vehicle_info": {}, + "view:rec_vehicle_info": {}, + "view:asset_info": {} + }, + "personal_data": { + "veteran_full_name": { + "first": "Travis", + "last": "Jones", + "middle": "D" + }, + "date_of_birth": "1950-09-06", + "address": { + "lives_on_military_base_info": {}, + "country": "", + "street": "", + "city": "", + "state": "", + "postal_code": "" + }, + "telephone_number": "", + "email_address": "", + "veteran_contact_information": { + "email": "test@user.com", + "mobile_phone": { + "area_code": "510", + "country_code": "1", + "created_at": "2020-06-12T16:56:37.000+00:00", + "extension": "", + "effective_end_date": null, + "effective_start_date": "2020-07-14T19:07:45.000+00:00", + "id": 146766, + "is_international": false, + "is_textable": null, + "is_text_permitted": null, + "is_tty": null, + "is_voicemailable": null, + "phone_number": "9224444", + "phone_type": "HOME", + "source_date": "2020-07-14T19:07:45.000+00:00", + "source_system_user": null, + "transaction_id": "92c49d39-22b2-4bd6-92b4-0b7e7c63c6a9", + "updated_at": "2020-07-14T19:07:46.000+00:00", + "vet360_id": "1273780" + }, + "address": { + "address_line1": "1200 Park Ave", + "address_line2": "c/o Pixar", + "address_pou": "CORRESPONDENCE", + "address_type": "DOMESTIC", + "city": "Emeryville", + "country_name": "United States", + "country_code_iso2": "US", + "country_code_iso3": "USA", + "country_code_fips": null, + "county_code": null, + "county_name": null, + "created_at": "2020-05-30T03:57:20.000+00:00", + "effective_end_date": null, + "effective_start_date": "2020-07-10T20:10:45.000+00:00", + "id": 173917, + "province": null, + "source_date": "2020-07-10T20:10:45.000+00:00", + "source_system_user": null, + "state_code": "CA", + "transaction_id": "7139aa82-fd06-45ea-a217-9654869924bd", + "updated_at": "2020-07-10T20:10:46.000+00:00", + "validation_key": null, + "vet360_id": "1273780", + "zip_code": "94608", + "zip_code_suffix": null + } + }, + "spouse_full_name": {}, + "dependents": [], + "employment_history": { + "veteran": {}, + "spouse": {} + } + }, + "personal_identification": { + "ssn": "3018", + "file_number": "3018" + }, + "selected_debts_and_copays": [ + { + "id": "f4385298-08a6-42f8-a86f-50e97033fb85", + "p_s_seq_num": 506, + "p_s_tot_seq_num": 588, + "p_s_facility_num": "534", + "p_s_fac_phone_num": null, + "p_s_tot_statement": 27, + "p_s_statement_val": "0000018255H", + "p_s_statement_date": "11152019", + "p_s_statement_date_output": "11/15/2019", + "p_s_process_date": "11112019", + "p_s_process_date_output": "11/11/2019", + "p_h_patient_lst_nme": "JONES", + "p_h_patient_fst_nme": "TRAVIS", + "p_h_patient_mid_nme": "D", + "p_h_address1": "1885 SHORE DR S APT 327", + "p_h_address2": null, + "p_h_address3": null, + "p_h_city": "SAVANNAH", + "p_h_state": "FL", + "p_h_zip_cde": "314104413", + "p_h_zip_cde_output": "31410-4413", + "p_h_ctry_nme": null, + "p_h_amt_due": 15, + "p_h_amt_due_output": "15.00  ", + "p_h_prev_bal": 135, + "p_h_prev_bal_output": "135.00  ", + "p_h_tot_charges": 15, + "p_h_tot_charges_output": "15.00  ", + "p_h_tot_credits": -135, + "p_h_tot_credits_output": "135.00- ", + "p_h_new_balance": 15, + "p_h_new_balance_output": "15.00  ", + "p_h_special_notes": "To pay your statement online, go to www.pay.gov or call 1-888-827-4817.", + "p_hro_para_cdes": "304050556065708085", + "p_h_num_of_lines": 10, + "p_h_dfn_number": 346310, + "p_h_cerner_statement_number": 1005154223, + "p_h_cerner_patient_id": "1005154223", + "p_h_cerner_account_number": "1005154223", + "p_h_icn_number": "1012845638V677813", + "p_h_account_number": 0, + "p_h_large_font_indcator": 0, + "details": [ + { + "p_d_date_posted": "10072019", + "p_d_date_posted_output": "10/07/2019", + "p_d_trans_desc": "OUTPATIENT CARE(NSC)", + "p_d_trans_desc_output": "OUTPATIENT CARE", + "p_d_trans_amt": -15, + "p_d_trans_amt_output": "15.00- ", + "p_d_ref_no": "534-K90HEWN" + }, + { + "p_d_date_posted": "10072019", + "p_d_date_posted_output": "10/07/2019", + "p_d_trans_desc": "OUTPATIENT CARE(NSC)", + "p_d_trans_desc_output": "OUTPATIENT CARE", + "p_d_trans_amt": -15, + "p_d_trans_amt_output": "15.00- ", + "p_d_ref_no": "534-K90HEWN" + }, + { + "p_d_date_posted": "10072019", + "p_d_date_posted_output": "10/07/2019", + "p_d_trans_desc": "OUTPATIENT CARE(NSC)", + "p_d_trans_desc_output": "OUTPATIENT CARE", + "p_d_trans_amt": -15, + "p_d_trans_amt_output": "15.00- ", + "p_d_ref_no": "534-K90HEWN" + }, + { + "p_d_date_posted": "10072019", + "p_d_date_posted_output": "10/07/2019", + "p_d_trans_desc": "OUTPATIENT CARE(NSC)", + "p_d_trans_desc_output": "OUTPATIENT CARE", + "p_d_trans_amt": -15, + "p_d_trans_amt_output": "15.00- ", + "p_d_ref_no": "534-K90HEWN" + }, + { + "p_d_date_posted": "10072019", + "p_d_date_posted_output": "10/07/2019", + "p_d_trans_desc": "OUTPATIENT CARE(NSC)", + "p_d_trans_desc_output": "OUTPATIENT CARE", + "p_d_trans_amt": -15, + "p_d_trans_amt_output": "15.00- ", + "p_d_ref_no": "534-K90HEWN" + }, + { + "p_d_date_posted": "10072019", + "p_d_date_posted_output": "10/07/2019", + "p_d_trans_desc": "OUTPATIENT CARE(NSC)", + "p_d_trans_desc_output": "OUTPATIENT CARE", + "p_d_trans_amt": -15, + "p_d_trans_amt_output": "15.00- ", + "p_d_ref_no": "534-K90HEWN" + }, + { + "p_d_date_posted": "10072019", + "p_d_date_posted_output": "10/07/2019", + "p_d_trans_desc": "OUTPATIENT CARE(NSC)", + "p_d_trans_desc_output": "OUTPATIENT CARE", + "p_d_trans_amt": -15, + "p_d_trans_amt_output": "15.00- ", + "p_d_ref_no": "534-K90HEWN" + }, + { + "p_d_date_posted": "10072019", + "p_d_date_posted_output": "10/07/2019", + "p_d_trans_desc": "OUTPATIENT CARE(NSC)", + "p_d_trans_desc_output": "OUTPATIENT CARE", + "p_d_trans_amt": -15, + "p_d_trans_amt_output": "15.00- ", + "p_d_ref_no": "534-K90HEWN" + }, + { + "p_d_date_posted": "10072019", + "p_d_date_posted_output": "10/07/2019", + "p_d_trans_desc": "OUTPATIENT CARE(NSC)", + "p_d_trans_desc_output": "OUTPATIENT CARE", + "p_d_trans_amt": -15, + "p_d_trans_amt_output": "15.00- ", + "p_d_ref_no": "534-K90HEWN" + }, + { + "p_d_date_posted": "10152019", + "p_d_date_posted_output": "10/15/2019", + "p_d_trans_desc": "OUTPATIENT CARE(NSC) VISIT DATE: 09/07/2018", + "p_d_trans_desc_output": "OUTPATIENT CARE VISIT DATE: 09/07/2018", + "p_d_trans_amt": 15, + "p_d_trans_amt_output": "15.00  ", + "p_d_ref_no": "534-K009FK8" + } + ], + "station": { + "facilit_y_num": "534", + "vis_n_num": "07", + "facilit_y_desc": "RALPH H. JOHNSON VA MEDICAL CENTER (534)", + "cycl_e_num": "012", + "remi_t_to_flag": "L", + "mai_l_insert_flag": "0", + "sta_t_address1": "ACCOUNTS RECEIVABLE (04AR)", + "sta_t_address2": "109 BEE ST", + "sta_t_address3": null, + "city": "Charleston", + "state": "SC", + "zi_p_cde": "294015703", + "zi_p_cde_output": "29401-5703", + "ba_r_cde": "*294015703090*", + "te_l_num_flag": "P", + "te_l_num": "1-866-258-2772", + "te_l_num2": null, + "contac_t_info": null, + "d_m2_tel_num": null, + "contac_t_info2": null, + "to_p_tel_num": null, + "lb_x_fedex_address1": null, + "lb_x_fedex_address2": null, + "lb_x_fedex_address3": null, + "lb_x_fedex_city": null, + "lb_x_fedex_state": null, + "lb_x_fedex_zip_cde": null, + "lb_x_fedex_bar_cde": null, + "lb_x_fedex_contact": null, + "lb_x_fedex_contact_tel_num": null, + "facility_name": "Ralph H. Johnson Department of Veterans Affairs Medical Center" + }, + "debt_type": "COPAY" + } + ], + "social_security": { + "spouse": {} + }, + "additional_income": { + "addl_inc_records": [ + { + "name": "Social Security", + "amount": "6666" + } + ], + "spouse": {} + }, + "benefits": { + "spouse_benefits": {} + }, + "assets": { + "monetary_assets": [ + { + "name": "Cash on hand (not in bank)", + "amount": "12" + }, + { + "name": "Cash in a bank (savings and checkings)", + "amount": "12" + } + ] + }, + "expenses": { + "expense_records": [ + { + "name": "Rent", + "amount": "11" + }, + { + "name": "Renter's or home insurance", + "amount": "1" + } + ] + }, + "additional_data": { + "bankruptcy": {} + }, + "view:enhanced_financial_status_report": true, + "view:streamlined_waiver": true, + "view:streamlined_waiver_asset_update": true, + "view:review_page_navigation_toggle": true, + "income": [ + { + "veteran_or_spouse": "VETERAN" + } + ], + "gmt_data": { + "is_eligible_for_streamlined": true, + "gmt_threshold": 78300, + "error": null, + "income_upper_threshold": 117450, + "asset_threshold": 5089.5, + "discretionary_income_threshold": 978.75, + "income_below_gmt": false, + "income_below_one_fifty_gmt": true, + "liquid_assets_below_gmt": true + }, + "employment_history": { + "spouse": {} + }, + "utility_records": [ + { + "name": "Electricity", + "amount": "21" + } + ], + "other_expenses": [ + { + "name": "Food", + "amount": "31" + }, + { + "name": "Clothing", + "amount": "2" + } + ], + "format": "json", + "controller": "debts_api/v0/financial_status_reports_calculations", + "action": "monthly_expenses", + "financial_status_reports_calculation": { + "questions": { + "has_repayments": false, + "has_credit_card_bills": false, + "has_recreational_vehicle": false, + "has_vehicle": false, + "has_real_estate": false, + "is_married": false, + "has_dependents": "0" + }, + "view:components": { + "view:contracts_additional_info": {}, + "view:real_estate_additional_info": {}, + "view:marital_status": {}, + "view:veteran_info": {}, + "view:dependents_additional_info": {}, + "view:va_benefits_on_file": {}, + "view:vehicle_info": {}, + "view:rec_vehicle_info": {}, + "view:asset_info": {} + }, + "personal_data": { + "veteran_full_name": { + "first": "Travis", + "last": "Jones", + "middle": "D" + }, + "date_of_birth": "1950-09-06", + "address": { + "lives_on_military_base_info": {}, + "country": "", + "street": "", + "city": "", + "state": "", + "postal_code": "" + }, + "telephone_number": "", + "email_address": "", + "veteran_contact_information": { + "email": "test@user.com", + "mobile_phone": { + "area_code": "510", + "country_code": "1", + "created_at": "2020-06-12T16:56:37.000+00:00", + "extension": "", + "effective_end_date": null, + "effective_start_date": "2020-07-14T19:07:45.000+00:00", + "id": 146766, + "is_international": false, + "is_textable": null, + "is_text_permitted": null, + "is_tty": null, + "is_voicemailable": null, + "phone_number": "9224444", + "phone_type": "HOME", + "source_date": "2020-07-14T19:07:45.000+00:00", + "source_system_user": null, + "transaction_id": "92c49d39-22b2-4bd6-92b4-0b7e7c63c6a9", + "updated_at": "2020-07-14T19:07:46.000+00:00", + "vet360_id": "1273780" + }, + "address": { + "address_line1": "1200 Park Ave", + "address_line2": "c/o Pixar", + "address_pou": "CORRESPONDENCE", + "address_type": "DOMESTIC", + "city": "Emeryville", + "country_name": "United States", + "country_code_iso2": "US", + "country_code_iso3": "USA", + "country_code_fips": null, + "county_code": null, + "county_name": null, + "created_at": "2020-05-30T03:57:20.000+00:00", + "effective_end_date": null, + "effective_start_date": "2020-07-10T20:10:45.000+00:00", + "id": 173917, + "province": null, + "source_date": "2020-07-10T20:10:45.000+00:00", + "source_system_user": null, + "state_code": "CA", + "transaction_id": "7139aa82-fd06-45ea-a217-9654869924bd", + "updated_at": "2020-07-10T20:10:46.000+00:00", + "validation_key": null, + "vet360_id": "1273780", + "zip_code": "94608", + "zip_code_suffix": null + } + }, + "spouse_full_name": {}, + "dependents": [], + "employment_history": { + "veteran": {}, + "spouse": {} + } + }, + "personal_identification": { + "ssn": "3018", + "file_number": "3018" + }, + "selected_debts_and_copays": [ + { + "id": "f4385298-08a6-42f8-a86f-50e97033fb85", + "p_s_seq_num": 506, + "p_s_tot_seq_num": 588, + "p_s_facility_num": "534", + "p_s_fac_phone_num": null, + "p_s_tot_statement": 27, + "p_s_statement_val": "0000018255H", + "p_s_statement_date": "11152019", + "p_s_statement_date_output": "11/15/2019", + "p_s_process_date": "11112019", + "p_s_process_date_output": "11/11/2019", + "p_h_patient_lst_nme": "JONES", + "p_h_patient_fst_nme": "TRAVIS", + "p_h_patient_mid_nme": "D", + "p_h_address1": "1885 SHORE DR S APT 327", + "p_h_address2": null, + "p_h_address3": null, + "p_h_city": "SAVANNAH", + "p_h_state": "FL", + "p_h_zip_cde": "314104413", + "p_h_zip_cde_output": "31410-4413", + "p_h_ctry_nme": null, + "p_h_amt_due": 15, + "p_h_amt_due_output": "15.00  ", + "p_h_prev_bal": 135, + "p_h_prev_bal_output": "135.00  ", + "p_h_tot_charges": 15, + "p_h_tot_charges_output": "15.00  ", + "p_h_tot_credits": -135, + "p_h_tot_credits_output": "135.00- ", + "p_h_new_balance": 15, + "p_h_new_balance_output": "15.00  ", + "p_h_special_notes": "To pay your statement online, go to www.pay.gov or call 1-888-827-4817.", + "p_hro_para_cdes": "304050556065708085", + "p_h_num_of_lines": 10, + "p_h_dfn_number": 346310, + "p_h_cerner_statement_number": 1005154223, + "p_h_cerner_patient_id": "1005154223", + "p_h_cerner_account_number": "1005154223", + "p_h_icn_number": "1012845638V677813", + "p_h_account_number": 0, + "p_h_large_font_indcator": 0, + "details": [ + { + "p_d_date_posted": "10072019", + "p_d_date_posted_output": "10/07/2019", + "p_d_trans_desc": "OUTPATIENT CARE(NSC)", + "p_d_trans_desc_output": "OUTPATIENT CARE", + "p_d_trans_amt": -15, + "p_d_trans_amt_output": "15.00- ", + "p_d_ref_no": "534-K90HEWN" + }, + { + "p_d_date_posted": "10072019", + "p_d_date_posted_output": "10/07/2019", + "p_d_trans_desc": "OUTPATIENT CARE(NSC)", + "p_d_trans_desc_output": "OUTPATIENT CARE", + "p_d_trans_amt": -15, + "p_d_trans_amt_output": "15.00- ", + "p_d_ref_no": "534-K90HEWN" + }, + { + "p_d_date_posted": "10072019", + "p_d_date_posted_output": "10/07/2019", + "p_d_trans_desc": "OUTPATIENT CARE(NSC)", + "p_d_trans_desc_output": "OUTPATIENT CARE", + "p_d_trans_amt": -15, + "p_d_trans_amt_output": "15.00- ", + "p_d_ref_no": "534-K90HEWN" + }, + { + "p_d_date_posted": "10072019", + "p_d_date_posted_output": "10/07/2019", + "p_d_trans_desc": "OUTPATIENT CARE(NSC)", + "p_d_trans_desc_output": "OUTPATIENT CARE", + "p_d_trans_amt": -15, + "p_d_trans_amt_output": "15.00- ", + "p_d_ref_no": "534-K90HEWN" + }, + { + "p_d_date_posted": "10072019", + "p_d_date_posted_output": "10/07/2019", + "p_d_trans_desc": "OUTPATIENT CARE(NSC)", + "p_d_trans_desc_output": "OUTPATIENT CARE", + "p_d_trans_amt": -15, + "p_d_trans_amt_output": "15.00- ", + "p_d_ref_no": "534-K90HEWN" + }, + { + "p_d_date_posted": "10072019", + "p_d_date_posted_output": "10/07/2019", + "p_d_trans_desc": "OUTPATIENT CARE(NSC)", + "p_d_trans_desc_output": "OUTPATIENT CARE", + "p_d_trans_amt": -15, + "p_d_trans_amt_output": "15.00- ", + "p_d_ref_no": "534-K90HEWN" + }, + { + "p_d_date_posted": "10072019", + "p_d_date_posted_output": "10/07/2019", + "p_d_trans_desc": "OUTPATIENT CARE(NSC)", + "p_d_trans_desc_output": "OUTPATIENT CARE", + "p_d_trans_amt": -15, + "p_d_trans_amt_output": "15.00- ", + "p_d_ref_no": "534-K90HEWN" + }, + { + "p_d_date_posted": "10072019", + "p_d_date_posted_output": "10/07/2019", + "p_d_trans_desc": "OUTPATIENT CARE(NSC)", + "p_d_trans_desc_output": "OUTPATIENT CARE", + "p_d_trans_amt": -15, + "p_d_trans_amt_output": "15.00- ", + "p_d_ref_no": "534-K90HEWN" + }, + { + "p_d_date_posted": "10072019", + "p_d_date_posted_output": "10/07/2019", + "p_d_trans_desc": "OUTPATIENT CARE(NSC)", + "p_d_trans_desc_output": "OUTPATIENT CARE", + "p_d_trans_amt": -15, + "p_d_trans_amt_output": "15.00- ", + "p_d_ref_no": "534-K90HEWN" + }, + { + "p_d_date_posted": "10152019", + "p_d_date_posted_output": "10/15/2019", + "p_d_trans_desc": "OUTPATIENT CARE(NSC) VISIT DATE: 09/07/2018", + "p_d_trans_desc_output": "OUTPATIENT CARE VISIT DATE: 09/07/2018", + "p_d_trans_amt": 15, + "p_d_trans_amt_output": "15.00  ", + "p_d_ref_no": "534-K009FK8" + } + ], + "station": { + "facilit_y_num": "534", + "vis_n_num": "07", + "facilit_y_desc": "RALPH H. JOHNSON VA MEDICAL CENTER (534)", + "cycl_e_num": "012", + "remi_t_to_flag": "L", + "mai_l_insert_flag": "0", + "sta_t_address1": "ACCOUNTS RECEIVABLE (04AR)", + "sta_t_address2": "109 BEE ST", + "sta_t_address3": null, + "city": "Charleston", + "state": "SC", + "zi_p_cde": "294015703", + "zi_p_cde_output": "29401-5703", + "ba_r_cde": "*294015703090*", + "te_l_num_flag": "P", + "te_l_num": "1-866-258-2772", + "te_l_num2": null, + "contac_t_info": null, + "d_m2_tel_num": null, + "contac_t_info2": null, + "to_p_tel_num": null, + "lb_x_fedex_address1": null, + "lb_x_fedex_address2": null, + "lb_x_fedex_address3": null, + "lb_x_fedex_city": null, + "lb_x_fedex_state": null, + "lb_x_fedex_zip_cde": null, + "lb_x_fedex_bar_cde": null, + "lb_x_fedex_contact": null, + "lb_x_fedex_contact_tel_num": null, + "facility_name": "Ralph H. Johnson Department of Veterans Affairs Medical Center" + }, + "debt_type": "COPAY" + } + ], + "social_security": { + "spouse": {} + }, + "additional_income": { + "addl_inc_records": [ + { + "name": "Social Security", + "amount": "6666" + } + ], + "spouse": {} + }, + "benefits": { + "spouse_benefits": {} + }, + "assets": { + "monetary_assets": [ + { + "name": "Cash on hand (not in bank)", + "amount": "12" + }, + { + "name": "Cash in a bank (savings and checkings)", + "amount": "12" + } + ] + }, + "expenses": { + "expense_records": [ + { + "name": "Rent", + "amount": "11" + }, + { + "name": "Renter's or home insurance", + "amount": "1" + } + ] + }, + "additional_data": { + "bankruptcy": {} + }, + "view:enhanced_financial_status_report": true, + "view:streamlined_waiver": true, + "view:streamlined_waiver_asset_update": true, + "view:review_page_navigation_toggle": true, + "income": [ + { + "veteran_or_spouse": "VETERAN" + } + ], + "gmt_data": { + "is_eligible_for_streamlined": true, + "gmt_threshold": 78300, + "error": null, + "income_upper_threshold": 117450, + "asset_threshold": 5089.5, + "discretionary_income_threshold": 978.75, + "income_below_gmt": false, + "income_below_one_fifty_gmt": true, + "liquid_assets_below_gmt": true + }, + "employment_history": { + "spouse": {} + }, + "utility_records": [ + { + "name": "Electricity", + "amount": "21" + } + ], + "other_expenses": [ + { + "name": "Food", + "amount": "31" + }, + { + "name": "Clothing", + "amount": "2" + } + ] + } +} \ No newline at end of file diff --git a/modules/debts_api/spec/fixtures/pre_submission_fsr/andrew_maximal.json b/modules/debts_api/spec/fixtures/pre_submission_fsr/andrew_maximal.json new file mode 100644 index 00000000000..f551be6c3ff --- /dev/null +++ b/modules/debts_api/spec/fixtures/pre_submission_fsr/andrew_maximal.json @@ -0,0 +1,1268 @@ +{ + "view:enhanced_financial_status_report": true, + "view:streamlined_waiver": true, + "other_expenses": [ + { + "name": "Clothing", + "amount": "10" + }, + { + "name": "Food", + "amount": "1000.54" + }, + { + "name": "Veteran added", + "amount": "100" + } + ], + "view:components": { + "view:asset_info": {}, + "view:rec_vehicle_info": {}, + "view:vehicle_info": {}, + "view:marital_status": {}, + "view:veteran_info": {}, + "view:va_benefits_on_file": {} + }, + "expenses": { + "expense_records": [ + { + "name": "Rent", + "amount": "1200.53" + } + ], + "credit_card_bills": [ + { + "purpose": "Credit card payment", + "creditor_name": "", + "original_amount": "", + "unpaid_balance": "300000", + "amount_due_monthly": "10000", + "date_started": "", + "amount_past_due": "7000" + } + ] + }, + "assets": { + "real_estate_value": "800000.81", + "other_assets": [ + { + "name": "Collectibles, or collection(s)", + "amount": "12344" + }, + { + "name": "Antiques", + "amount": "44" + }, + { + "name": "Fine art", + "amount": "122" + } + ], + "cash_in_bank": "3000.45", + "cash_on_hand": "10000.67", + "rec_vehicle_amount": "15000.23", + "us_savings_bonds": "25000.65", + "stocks_and_other_bonds": "50000.84", + "automobiles": [ + { + "make": "Dodge", + "model": "RAM", + "year": "2020", + "resale_value": "75000.45" + }, + { + "make": "Dodge", + "model": "Charger", + "year": "2020", + "resale_value": "40000.54" + } + ], + "monetary_assets": [ + { + "name": "Cash", + "amount": "100" + }, + { + "name": "Checking accounts", + "amount": "100" + }, + { + "name": "Savings accounts", + "amount": "100" + }, + { + "name": "U.S. Savings Bonds", + "amount": "100" + }, + { + "name": "Retirement accounts (401k, IRAs, 403b, TSP)", + "amount": "100" + }, + { + "name": "Other stocks and bonds (not in your retirement accounts)", + "amount": "100" + }, + { + "name": "Pension", + "amount": "100" + }, + { + "name": "Cryptocurrency", + "amount": "100" + } + ] + }, + "additional_income": { + "spouse": { + "sp_addl_income": [ + { + "name": "Child care income", + "amount": "800.54" + }, + { + "name": "Alimony payment", + "amount": "1000.23" + } + ] + }, + "addl_inc_records": [ + { + "name": "Social Security", + "amount": "150.67" + }, + { + "name": "Alimony", + "amount": "210.43" + } + ] + }, + "social_security": { + "spouse": { + "social_sec_amt": "1400.45" + }, + "social_sec_amt": "1200.65" + }, + "benefits": { + "spouse_benefits": { + "compensation_and_pension": "1000.09", + "education": "500.46" + } + }, + "additional_data": { + "bankruptcy": { + "date_discharged": "2004-10-22", + "court_location": "Tampa, FL", + "docket_number": "123456" + }, + "additional_comments": "Supporting personal statement..." + }, + "questions": { + "has_been_adjudicated_bankrupt": true, + "has_credit_card_bills": true, + "has_other_expenses": true, + "has_repayments": true, + "has_utilities": true, + "has_recreational_vehicle": true, + "has_vehicle": true, + "has_real_estate": true, + "has_dependents": "2", + "spouse_has_additional_income": true, + "spouse_has_social_security": true, + "spouse_has_benefits": true, + "spouse_is_employed": true, + "is_married": true, + "has_additional_income": true, + "has_social_security": true, + "vet_is_employed": true + }, + "installment_contracts": [ + { + "purpose": "Credit card payments", + "creditor_name": "Creditor One", + "original_amount": "50000.54", + "unpaid_balance": "15000.56", + "amount_due_monthly": "800.10", + "date_started": "2017-03-XX", + "amount_past_due": "125.43" + }, + { + "purpose": "Car payment/lease", + "creditor_name": "Creditor Two", + "original_amount": "100000.43", + "unpaid_balance": "50000.26", + "amount_due_monthly": "1200.54", + "date_started": "2019-05-XX", + "amount_past_due": "0" + } + ], + "utility_records": [ + { + "name": "Electricity", + "amount": "402.35" + }, + { + "name": "Gas", + "amount": "85.16" + }, + { + "name": "Cable", + "amount": "175.47" + } + ], + "personal_data": { + "dependents": [ + { + "dependent_age": "12" + }, + { + "dependent_age": "17" + } + ], + "employment_history": { + "spouse": { + "sp_employment_records": [ + { + "type": "Full time", + "from": "2018-6-XX", + "to": "", + "is_current": true, + "employer_name": "Spouse Current", + "gross_monthly_income": "100", + "deductions": [ + { + "name": "State tax", + "amount": "10" + } + ] + }, + { + "type": "Full time", + "from": "2015-3-XX", + "to": "2018-6-XX", + "employer_name": "Spouse Previous", + "is_current": false + } + ] + }, + "veteran": { + "employment_records": [ + { + "type": "Full time", + "from": "2021-01-XX", + "to": "", + "is_current": true, + "employer_name": "Test", + "gross_monthly_income": "123", + "deductions": [ + { + "name": "State tax", + "amount": "1" + } + ] + }, + { + "type": "Full time", + "from": "2021-01-XX", + "to": "2021-12-XX", + "is_current": false, + "employer_name": "I quit" + } + ] + } + }, + "spouse_full_name": { + "first": "Angela", + "last": "Mitchell" + }, + "address": { + "lives_on_military_base_info": {}, + "country": "USA", + "street": "123 Fake Street", + "city": "Tampa", + "state": "FL", + "postal_code": "33543" + }, + "telephone_number": "4445551212", + "email_address": "test2@test1.net", + "veteran_contact_information": { + "email": "test@user.com", + "address": { + "address_line1": "1200 Park Ave", + "address_line2": "c/o Pixar", + "address_line3": null, + "address_pou": "CORRESPONDENCE", + "address_type": "DOMESTIC", + "city": "Emeryville", + "country_name": "United States", + "country_code_iso2": "US", + "country_code_iso3": "USA", + "country_code_fips": null, + "county_code": null, + "county_name": null, + "created_at": "2020-05-30T03:57:20.000+00:00", + "effective_end_date": null, + "effective_start_date": "2020-07-10T20:10:45.000+00:00", + "id": 173917, + "international_postal_code": null, + "province": null, + "source_date": "2020-07-10T20:10:45.000+00:00", + "source_system_user": null, + "state_code": "CA", + "transaction_id": "7139aa82-fd06-45ea-a217-9654869924bd", + "updated_at": "2020-07-10T20:10:46.000+00:00", + "validation_key": null, + "vet360_id": "1273780", + "zip_code": "94608", + "zip_code_suffix": null + }, + "mobile_phone": { + "area_code": "510", + "country_code": "1", + "created_at": "2020-06-12T16:56:37.000+00:00", + "extension": "", + "effective_end_date": null, + "effective_start_date": "2020-07-14T19:07:45.000+00:00", + "id": 146766, + "is_international": false, + "is_textable": null, + "is_text_permitted": null, + "is_tty": null, + "is_voicemailable": null, + "phone_number": "9224444", + "phone_type": "HOME", + "source_date": "2020-07-14T19:07:45.000+00:00", + "source_system_user": null, + "transaction_id": "92c49d39-22b2-4bd6-92b4-0b7e7c63c6a9", + "updated_at": "2020-07-14T19:07:46.000+00:00", + "vet360_id": "1273780" + } + }, + "veteran_full_name": { + "first": "Greg", + "last": "Anderson", + "middle": "A" + }, + "date_of_birth": "1933-04-05" + }, + "personal_identification": { + "ssn": "1234", + "file_number": "5678" + }, + "selected_debts_and_copays": [ + { + "file_number": "796121200", + "payee_number": "00", + "person_entitled": "AJHONS", + "deduction_code": "30", + "benefit_type": "Comp & Pen", + "diary_code": "080", + "diary_code_description": "Referred to the Department of the Treasury", + "amount_overpaid": 0, + "amount_withheld": 0, + "original_ar": 136.24, + "current_ar": 100, + "debt_history": [ + { + "date": "02/25/2009", + "letter_code": "914", + "description": "Paid In Full - Account balance cleared via offset, not including TOP." + }, + { + "date": "02/07/2009", + "letter_code": "905", + "description": "Administrative Write Off" + }, + { + "date": "12/03/2008", + "letter_code": "487", + "description": "Death Case Pending Action" + } + ], + "id": 0, + "debt_type": "DEBT", + "resolution_option": "waiver", + "resolution_comment": "", + "resolution_waiver_check": true + }, + { + "file_number": "796121200", + "payee_number": "00", + "person_entitled": "AJOHNS", + "deduction_code": "74", + "benefit_type": "CH33 Student Tuition EDU", + "diary_code": "117", + "diary_code_description": "Pending payment", + "amount_overpaid": 0, + "amount_withheld": 475, + "original_ar": 2210.9, + "current_ar": 1000, + "debt_history": [ + { + "date": "04/01/2017", + "letter_code": 608, + "description": "Full C&P Benefit Offset Notifi" + }, + { + "date": "11/18/2015", + "letter_code": 130, + "description": "Debt Increase - Due P" + }, + { + "date": "04/08/2015", + "letter_code": 608, + "description": "Full C&P Benefit Offset Notifi" + }, + { + "date": "03/26/2015", + "letter_code": 100, + "description": "First Demand Letter - Inactive Benefits - Due Process" + } + ], + "id": 3, + "debt_type": "DEBT", + "resolution_option": "monthly", + "resolution_comment": "50.51" + }, + { + "id": "f4385298-08a6-42f8-a86f-50e97033fb85", + "p_s_seq_num": 506, + "p_s_tot_seq_num": 588, + "p_s_facility_num": "534", + "p_s_fac_phone_num": null, + "p_s_tot_statement": 27, + "p_s_statement_val": "0000018255H", + "p_s_statement_date": "11152019", + "p_s_statement_date_output": "11/15/2019", + "p_s_process_date": "11112019", + "p_s_process_date_output": "11/11/2019", + "p_h_patient_lst_nme": "JONES", + "p_h_patient_fst_nme": "TRAVIS", + "p_h_patient_mid_nme": "D", + "p_h_address1": "1885 SHORE DR S APT 327", + "p_h_address2": null, + "p_h_address3": null, + "p_h_city": "SAVANNAH", + "p_h_state": "FL", + "p_h_zip_cde": "314104413", + "p_h_zip_cde_output": "31410-4413", + "p_h_ctry_nme": null, + "p_h_amt_due": 15, + "p_h_amt_due_output": "15.00  ", + "p_h_prev_bal": 135, + "p_h_prev_bal_output": "135.00  ", + "p_h_tot_charges": 15, + "p_h_tot_charges_output": "15.00  ", + "p_h_tot_credits": -135, + "p_h_tot_credits_output": "135.00- ", + "p_h_new_balance": 15, + "p_h_new_balance_output": "15.00  ", + "p_h_special_notes": "To pay your statement online, go to www.pay.gov or call 1-888-827-4817.", + "p_hro_para_cdes": "304050556065708085", + "p_h_num_of_lines": 10, + "p_h_dfn_number": 346310, + "p_h_cerner_statement_number": 1005154223, + "p_h_cerner_patient_id": "1005154223", + "p_h_cerner_account_number": "1005154223", + "p_h_icn_number": "1012845638V677813", + "p_h_account_number": 0, + "p_h_large_font_indcator": 0, + "details": [ + { + "p_d_date_posted": "10072019", + "p_d_date_posted_output": "10/07/2019", + "p_d_trans_desc": "OUTPATIENT CARE(NSC)", + "p_d_trans_desc_output": "OUTPATIENT CARE", + "p_d_trans_amt": -15, + "p_d_trans_amt_output": "15.00- ", + "p_d_ref_no": "534-K90HEWN" + }, + { + "p_d_date_posted": "10072019", + "p_d_date_posted_output": "10/07/2019", + "p_d_trans_desc": "OUTPATIENT CARE(NSC)", + "p_d_trans_desc_output": "OUTPATIENT CARE", + "p_d_trans_amt": -15, + "p_d_trans_amt_output": "15.00- ", + "p_d_ref_no": "534-K90HEWN" + }, + { + "p_d_date_posted": "10072019", + "p_d_date_posted_output": "10/07/2019", + "p_d_trans_desc": "OUTPATIENT CARE(NSC)", + "p_d_trans_desc_output": "OUTPATIENT CARE", + "p_d_trans_amt": -15, + "p_d_trans_amt_output": "15.00- ", + "p_d_ref_no": "534-K90HEWN" + }, + { + "p_d_date_posted": "10072019", + "p_d_date_posted_output": "10/07/2019", + "p_d_trans_desc": "OUTPATIENT CARE(NSC)", + "p_d_trans_desc_output": "OUTPATIENT CARE", + "p_d_trans_amt": -15, + "p_d_trans_amt_output": "15.00- ", + "p_d_ref_no": "534-K90HEWN" + }, + { + "p_d_date_posted": "10072019", + "p_d_date_posted_output": "10/07/2019", + "p_d_trans_desc": "OUTPATIENT CARE(NSC)", + "p_d_trans_desc_output": "OUTPATIENT CARE", + "p_d_trans_amt": -15, + "p_d_trans_amt_output": "15.00- ", + "p_d_ref_no": "534-K90HEWN" + }, + { + "p_d_date_posted": "10072019", + "p_d_date_posted_output": "10/07/2019", + "p_d_trans_desc": "OUTPATIENT CARE(NSC)", + "p_d_trans_desc_output": "OUTPATIENT CARE", + "p_d_trans_amt": -15, + "p_d_trans_amt_output": "15.00- ", + "p_d_ref_no": "534-K90HEWN" + }, + { + "p_d_date_posted": "10072019", + "p_d_date_posted_output": "10/07/2019", + "p_d_trans_desc": "OUTPATIENT CARE(NSC)", + "p_d_trans_desc_output": "OUTPATIENT CARE", + "p_d_trans_amt": -15, + "p_d_trans_amt_output": "15.00- ", + "p_d_ref_no": "534-K90HEWN" + }, + { + "p_d_date_posted": "10072019", + "p_d_date_posted_output": "10/07/2019", + "p_d_trans_desc": "OUTPATIENT CARE(NSC)", + "p_d_trans_desc_output": "OUTPATIENT CARE", + "p_d_trans_amt": -15, + "p_d_trans_amt_output": "15.00- ", + "p_d_ref_no": "534-K90HEWN" + }, + { + "p_d_date_posted": "10072019", + "p_d_date_posted_output": "10/07/2019", + "p_d_trans_desc": "OUTPATIENT CARE(NSC)", + "p_d_trans_desc_output": "OUTPATIENT CARE", + "p_d_trans_amt": -15, + "p_d_trans_amt_output": "15.00- ", + "p_d_ref_no": "534-K90HEWN" + }, + { + "p_d_date_posted": "10152019", + "p_d_date_posted_output": "10/15/2019", + "p_d_trans_desc": "OUTPATIENT CARE(NSC) VISIT DATE: 09/07/2018", + "p_d_trans_desc_output": "OUTPATIENT CARE VISIT DATE: 09/07/2018", + "p_d_trans_amt": 15, + "p_d_trans_amt_output": "15.00  ", + "p_d_ref_no": "534-K009FK8" + } + ], + "station": { + "facilit_y_num": "534", + "vis_n_num": "07", + "facilit_y_desc": "RALPH H. JOHNSON VA MEDICAL CENTER (534)", + "cycl_e_num": "012", + "remi_t_to_flag": "L", + "mai_l_insert_flag": "0", + "sta_t_address1": "ACCOUNTS RECEIVABLE (04AR)", + "sta_t_address2": "109 BEE ST", + "sta_t_address3": null, + "city": "CHARLESTON", + "state": "SC", + "zi_p_cde": "294015703", + "zi_p_cde_output": "29401-5703", + "ba_r_cde": "*294015703090*", + "te_l_num_flag": "P", + "te_l_num": "1-866-258-2772", + "te_l_num2": null, + "contac_t_info": null, + "d_m2_tel_num": null, + "contac_t_info2": null, + "to_p_tel_num": null, + "lb_x_fedex_address1": null, + "lb_x_fedex_address2": null, + "lb_x_fedex_address3": null, + "lb_x_fedex_city": null, + "lb_x_fedex_state": null, + "lb_x_fedex_zip_cde": null, + "lb_x_fedex_bar_cde": null, + "lb_x_fedex_contact": null, + "lb_x_fedex_contact_tel_num": null, + "facility_name": "Bob Stump Department of Veterans Affairs Medical Center" + }, + "debt_type": "COPAY", + "resolution_option": "compromise", + "resolution_comment": "10.51" + }, + { + "id": "b381cc7b-ea3a-49dc-a982-7146416ed373", + "p_s_seq_num": 1162, + "p_s_tot_seq_num": 1, + "p_s_facility_num": "757", + "p_s_fac_phone_num": null, + "p_s_tot_statement": 11, + "p_s_statement_val": "0000040520F", + "p_s_statement_date": "06052021", + "p_s_statement_date_output": "06/05/2021", + "p_s_process_date": "06092021", + "p_s_process_date_output": "06/09/2021", + "p_h_patient_lst_nme": "JONES", + "p_h_patient_fst_nme": "TRAVIS", + "p_h_patient_mid_nme": "D", + "p_h_address1": "1885 SHORE DR S APT 327", + "p_h_address2": null, + "p_h_address3": null, + "p_h_city": "SOUTH PASADENA", + "p_h_state": "FL", + "p_h_zip_cde": "337074743", + "p_h_zip_cde_output": "33707-4743", + "p_h_ctry_nme": "US", + "p_h_amt_due": 46, + "p_h_amt_due_output": "46.00  ", + "p_h_prev_bal": 30, + "p_h_prev_bal_output": "30.00  ", + "p_h_tot_charges": 46, + "p_h_tot_charges_output": "46.00  ", + "p_h_tot_credits": -30, + "p_h_tot_credits_output": "30.00- ", + "p_h_new_balance": 46, + "p_h_new_balance_output": "46.00  ", + "p_h_special_notes": null, + "p_hro_para_cdes": "254050556065708085", + "p_h_num_of_lines": 7, + "p_h_dfn_number": 0, + "p_h_cerner_statement_number": 1005154223, + "p_h_cerner_patient_id": "1005154223", + "p_h_cerner_account_number": "1005154223", + "p_h_icn_number": "1012845638V677813", + "p_h_account_number": 0, + "p_h_large_font_indcator": 0, + "details": [ + { + "p_d_date_posted": "03092020", + "p_d_date_posted_output": "03/09/2020", + "p_d_trans_desc": "OUTPATIENT CARE(NSC) VISIT DATE: 01/14/2020", + "p_d_trans_desc_output": "OUTPATIENT CARE VISIT DATE: 01/14/2020", + "p_d_trans_amt": 15, + "p_d_trans_amt_output": "15.00  ", + "p_d_ref_no": "516-K00R4FL" + }, + { + "p_d_date_posted": "03092020", + "p_d_date_posted_output": "03/09/2020", + "p_d_trans_desc": "OUTPATIENT CARE(NSC)", + "p_d_trans_desc_output": "OUTPATIENT CARE", + "p_d_trans_amt": -15, + "p_d_trans_amt_output": "15.00- ", + "p_d_ref_no": "516-K00R4FL" + }, + { + "p_d_date_posted": "03242020", + "p_d_date_posted_output": "03/24/2020", + "p_d_trans_desc": "COPAY RX:100020337B FD:01/23/2020", + "p_d_trans_desc_output": "COPAY RX#100020337B FILL DATE: 01/23/2020", + "p_d_trans_amt": 5, + "p_d_trans_amt_output": "5.00  ", + "p_d_ref_no": "516-K00RSNZ" + }, + { + "p_d_date_posted": null, + "p_d_date_posted_output": "", + "p_d_trans_desc": "DRUG:LISINOPRIL 5MG TAB DAYS:30 QTY:30", + "p_d_trans_desc_output": "   DRUG:LISINOPRIL 5MG TAB DAYS:30 QTY:30", + "p_d_trans_amt": 0, + "p_d_trans_amt_output": ".00  ", + "p_d_ref_no": null + }, + { + "p_d_date_posted": null, + "p_d_date_posted_output": "", + "p_d_trans_desc": "PHY:SANTOS,LOUISE CHG:$5.00", + "p_d_trans_desc_output": "   PHY:SANTOS,LOUISE CHG:$5.00", + "p_d_trans_amt": 0, + "p_d_trans_amt_output": ".00  ", + "p_d_ref_no": null + }, + { + "p_d_date_posted": "03242020", + "p_d_date_posted_output": "03/24/2020", + "p_d_trans_desc": "RX CO-PAYMENT/NSC VET", + "p_d_trans_desc_output": "PAYMENT POSTED ON 03/24/2020", + "p_d_trans_amt": -5, + "p_d_trans_amt_output": "5.00- ", + "p_d_ref_no": "516-K00RSNZ" + }, + { + "p_d_date_posted": "04032020", + "p_d_date_posted_output": "04/03/2020", + "p_d_trans_desc": "COPAY RX:100030241 FD:03/30/2020", + "p_d_trans_desc_output": "COPAY RX#100030241 FILL DATE: 03/30/2020", + "p_d_trans_amt": 15, + "p_d_trans_amt_output": "15.00  ", + "p_d_ref_no": "516-K00S829" + }, + { + "p_d_date_posted": null, + "p_d_date_posted_output": "", + "p_d_trans_desc": "DRUG:ATENOLOL 25MG TAB DAYS:90 QTY:90", + "p_d_trans_desc_output": "   DRUG:ATENOLOL 25MG TAB DAYS:90 QTY:90", + "p_d_trans_amt": 0, + "p_d_trans_amt_output": ".00  ", + "p_d_ref_no": null + }, + { + "p_d_date_posted": null, + "p_d_date_posted_output": "", + "p_d_trans_desc": "PHY:GUTHRIE,BROOKE L CHG:$15.00", + "p_d_trans_desc_output": "   PHY:GUTHRIE,BROOKE L CHG:$15.00", + "p_d_trans_amt": 0, + "p_d_trans_amt_output": ".00  ", + "p_d_ref_no": null + }, + { + "p_d_date_posted": "04272020", + "p_d_date_posted_output": "04/27/2020", + "p_d_trans_desc": "COPAY RX:100020336 FD:04/23/2020", + "p_d_trans_desc_output": "COPAY RX#100020336 FILL DATE: 04/23/2020", + "p_d_trans_amt": 15, + "p_d_trans_amt_output": "15.00  ", + "p_d_ref_no": "516-K00SZBK" + }, + { + "p_d_date_posted": null, + "p_d_date_posted_output": "", + "p_d_trans_desc": "DRUG:AMLODIPINE BESYLATE 10MG TAB DAYS:90", + "p_d_trans_desc_output": "   DRUG:AMLODIPINE BESYLATE 10MG TAB DAYS:90", + "p_d_trans_amt": 0, + "p_d_trans_amt_output": ".00  ", + "p_d_ref_no": null + }, + { + "p_d_date_posted": null, + "p_d_date_posted_output": "", + "p_d_trans_desc": "QTY:90 PHY:GUTHRIE,BROOKE L CHG:$15.00", + "p_d_trans_desc_output": "   QTY:90 PHY:GUTHRIE,BROOKE L CHG:$15.00", + "p_d_trans_amt": 0, + "p_d_trans_amt_output": ".00  ", + "p_d_ref_no": null + }, + { + "p_d_date_posted": "04282020", + "p_d_date_posted_output": "04/28/2020", + "p_d_trans_desc": "COPAY RX:100011847 FD:04/23/2020", + "p_d_trans_desc_output": "COPAY RX#100011847 FILL DATE: 04/23/2020", + "p_d_trans_amt": 8, + "p_d_trans_amt_output": "8.00  ", + "p_d_ref_no": "516-K00SZBK" + }, + { + "p_d_date_posted": null, + "p_d_date_posted_output": "", + "p_d_trans_desc": "DRUG:MICONAZOLE NITRATE 2% TOP TINCTURE DAYS:30", + "p_d_trans_desc_output": "   DRUG:MICONAZOLE NITRATE 2% TOP TINCTURE DAYS:30", + "p_d_trans_amt": 0, + "p_d_trans_amt_output": ".00  ", + "p_d_ref_no": null + }, + { + "p_d_date_posted": null, + "p_d_date_posted_output": "", + "p_d_trans_desc": "QTY:60 PHY:GUTHRIE,BROOKE L CHG:$8.00", + "p_d_trans_desc_output": "   QTY:60 PHY:GUTHRIE,BROOKE L CHG:$8.00", + "p_d_trans_amt": 0, + "p_d_trans_amt_output": ".00  ", + "p_d_ref_no": null + }, + { + "p_d_date_posted": "05262020", + "p_d_date_posted_output": "05/26/2020", + "p_d_trans_desc": "OUTPATIENT CARE(NSC) VISIT DATE: 04/15/2020", + "p_d_trans_desc_output": "OUTPATIENT CARE VISIT DATE: 04/15/2020", + "p_d_trans_amt": 50, + "p_d_trans_amt_output": "50.00  ", + "p_d_ref_no": "516-K00TXGK" + }, + { + "p_d_date_posted": "05262020", + "p_d_date_posted_output": "05/26/2020", + "p_d_trans_desc": "OUTPATIENT CARE(NSC)", + "p_d_trans_desc_output": "OUTPATIENT CARE", + "p_d_trans_amt": -50, + "p_d_trans_amt_output": "50.00- ", + "p_d_ref_no": "516-K00TXGK" + }, + { + "p_d_date_posted": "06302020", + "p_d_date_posted_output": "06/30/2020", + "p_d_trans_desc": "COPAY RX:100030241 FD:06/30/2020", + "p_d_trans_desc_output": "COPAY RX#100030241 FILL DATE: 06/30/2020", + "p_d_trans_amt": 15, + "p_d_trans_amt_output": "15.00  ", + "p_d_ref_no": "516-K00UY3W" + }, + { + "p_d_date_posted": null, + "p_d_date_posted_output": "", + "p_d_trans_desc": "DRUG:ATENOLOL 25MG TAB DAYS:90 QTY:90", + "p_d_trans_desc_output": "   DRUG:ATENOLOL 25MG TAB DAYS:90 QTY:90", + "p_d_trans_amt": 0, + "p_d_trans_amt_output": ".00  ", + "p_d_ref_no": null + }, + { + "p_d_date_posted": null, + "p_d_date_posted_output": "", + "p_d_trans_desc": "PHY:GUTHRIE,BROOKE L CHG:$15.00", + "p_d_trans_desc_output": "   PHY:GUTHRIE,BROOKE L CHG:$15.00", + "p_d_trans_amt": 0, + "p_d_trans_amt_output": ".00  ", + "p_d_ref_no": null + }, + { + "p_d_date_posted": "07092020", + "p_d_date_posted_output": "07/09/2020", + "p_d_trans_desc": "OUTPATIENT CARE(NSC) VISIT DATE: 06/08/2020", + "p_d_trans_desc_output": "OUTPATIENT CARE VISIT DATE: 06/08/2020", + "p_d_trans_amt": 50, + "p_d_trans_amt_output": "50.00  ", + "p_d_ref_no": "516-K00V8T8" + }, + { + "p_d_date_posted": "07092020", + "p_d_date_posted_output": "07/09/2020", + "p_d_trans_desc": "OUTPATIENT CARE(NSC)", + "p_d_trans_desc_output": "OUTPATIENT CARE", + "p_d_trans_amt": -50, + "p_d_trans_amt_output": "50.00- ", + "p_d_ref_no": "516-K00V8T8" + }, + { + "p_d_date_posted": "07092020", + "p_d_date_posted_output": "07/09/2020", + "p_d_trans_desc": "COMMENT: K00ULWR PD $50.00 DOS 060820", + "p_d_trans_desc_output": "   COMMENT: K00ULWR PD $50.00 DOS 060820", + "p_d_trans_amt": 0, + "p_d_trans_amt_output": ".00  ", + "p_d_ref_no": "516-K00V8T8" + }, + { + "p_d_date_posted": "08132020", + "p_d_date_posted_output": "08/13/2020", + "p_d_trans_desc": "COPAY RX:100020336 FD:08/11/2020", + "p_d_trans_desc_output": "COPAY RX#100020336 FILL DATE: 08/11/2020", + "p_d_trans_amt": 15, + "p_d_trans_amt_output": "15.00  ", + "p_d_ref_no": "516-K00WDZQ" + }, + { + "p_d_date_posted": null, + "p_d_date_posted_output": "", + "p_d_trans_desc": "DRUG:AMLODIPINE BESYLATE 10MG TAB DAYS:90", + "p_d_trans_desc_output": "   DRUG:AMLODIPINE BESYLATE 10MG TAB DAYS:90", + "p_d_trans_amt": 0, + "p_d_trans_amt_output": ".00  ", + "p_d_ref_no": null + }, + { + "p_d_date_posted": null, + "p_d_date_posted_output": "", + "p_d_trans_desc": "QTY:90 PHY:GUTHRIE,BROOKE L CHG:$15.00", + "p_d_trans_desc_output": "   QTY:90 PHY:GUTHRIE,BROOKE L CHG:$15.00", + "p_d_trans_amt": 0, + "p_d_trans_amt_output": ".00  ", + "p_d_ref_no": null + }, + { + "p_d_date_posted": "09222020", + "p_d_date_posted_output": "09/22/2020", + "p_d_trans_desc": "OUTPATIENT CARE(NSC) VISIT DATE: 08/20/2020", + "p_d_trans_desc_output": "OUTPATIENT CARE VISIT DATE: 08/20/2020", + "p_d_trans_amt": 50, + "p_d_trans_amt_output": "50.00  ", + "p_d_ref_no": "516-K00XUY2" + }, + { + "p_d_date_posted": "09222020", + "p_d_date_posted_output": "09/22/2020", + "p_d_trans_desc": "OUTPATIENT CARE(NSC)", + "p_d_trans_desc_output": "OUTPATIENT CARE", + "p_d_trans_amt": -50, + "p_d_trans_amt_output": "50.00- ", + "p_d_ref_no": "516-K00XUY2" + }, + { + "p_d_date_posted": "09222020", + "p_d_date_posted_output": "09/22/2020", + "p_d_trans_desc": "COMMENT: K00X41A PD $50.00 DOS 082020", + "p_d_trans_desc_output": "   COMMENT: K00X41A PD $50.00 DOS 082020", + "p_d_trans_amt": 0, + "p_d_trans_amt_output": ".00  ", + "p_d_ref_no": "516-K00XUY2" + }, + { + "p_d_date_posted": "10072020", + "p_d_date_posted_output": "10/07/2020", + "p_d_trans_desc": "COPAY RX:100030241 FD:10/05/2020", + "p_d_trans_desc_output": "COPAY RX#100030241 FILL DATE: 10/05/2020", + "p_d_trans_amt": 15, + "p_d_trans_amt_output": "15.00  ", + "p_d_ref_no": "516-K10J56V" + }, + { + "p_d_date_posted": null, + "p_d_date_posted_output": "", + "p_d_trans_desc": "DRUG:ATENOLOL 25MG TAB DAYS:90 QTY:90", + "p_d_trans_desc_output": "   DRUG:ATENOLOL 25MG TAB DAYS:90 QTY:90", + "p_d_trans_amt": 0, + "p_d_trans_amt_output": ".00  ", + "p_d_ref_no": null + }, + { + "p_d_date_posted": null, + "p_d_date_posted_output": "", + "p_d_trans_desc": "PHY:GUTHRIE,BROOKE L CHG:$15.00", + "p_d_trans_desc_output": "   PHY:GUTHRIE,BROOKE L CHG:$15.00", + "p_d_trans_amt": 0, + "p_d_trans_amt_output": ".00  ", + "p_d_ref_no": null + }, + { + "p_d_date_posted": "10292020", + "p_d_date_posted_output": "10/29/2020", + "p_d_trans_desc": "COPAY RX:100045030 FD:10/27/2020", + "p_d_trans_desc_output": "COPAY RX#100045030 FILL DATE: 10/27/2020", + "p_d_trans_amt": 24, + "p_d_trans_amt_output": "24.00  ", + "p_d_ref_no": "516-K10J56V" + }, + { + "p_d_date_posted": null, + "p_d_date_posted_output": "", + "p_d_trans_desc": "DRUG:NIACIN (SLO-NIACIN) 250MG TAB,SA DAYS:90", + "p_d_trans_desc_output": "   DRUG:NIACIN (SLO-NIACIN) 250MG TAB,SA DAYS:90", + "p_d_trans_amt": 0, + "p_d_trans_amt_output": ".00  ", + "p_d_ref_no": null + }, + { + "p_d_date_posted": null, + "p_d_date_posted_output": "", + "p_d_trans_desc": "QTY:90 PHY:VELAZQUEZ SANCHEZ,VANESSA", + "p_d_trans_desc_output": "   QTY:90 PHY:VELAZQUEZ SANCHEZ,VANESSA", + "p_d_trans_amt": 0, + "p_d_trans_amt_output": ".00  ", + "p_d_ref_no": null + }, + { + "p_d_date_posted": null, + "p_d_date_posted_output": "", + "p_d_trans_desc": "CHG:$24.00", + "p_d_trans_desc_output": "   CHG:$24.00", + "p_d_trans_amt": 0, + "p_d_trans_amt_output": ".00  ", + "p_d_ref_no": null + }, + { + "p_d_date_posted": "10292020", + "p_d_date_posted_output": "10/29/2020", + "p_d_trans_desc": "COPAY RX:100045028 FD:10/27/2020", + "p_d_trans_desc_output": "COPAY RX#100045028 FILL DATE: 10/27/2020", + "p_d_trans_amt": 8, + "p_d_trans_amt_output": "8.00  ", + "p_d_ref_no": "516-K10J56V" + }, + { + "p_d_date_posted": null, + "p_d_date_posted_output": "", + "p_d_trans_desc": "DRUG:CARBAMIDE PEROXIDE 6.5% OTIC SOLN DAYS:14", + "p_d_trans_desc_output": "   DRUG:CARBAMIDE PEROXIDE 6.5% OTIC SOLN DAYS:14", + "p_d_trans_amt": 0, + "p_d_trans_amt_output": ".00  ", + "p_d_ref_no": null + }, + { + "p_d_date_posted": null, + "p_d_date_posted_output": "", + "p_d_trans_desc": "QTY:45 PHY:VELAZQUEZ SANCHEZ,VANESSA CHG:$8.00", + "p_d_trans_desc_output": "   QTY:45 PHY:VELAZQUEZ SANCHEZ,VANESSA CHG:$8.00", + "p_d_trans_amt": 0, + "p_d_trans_amt_output": ".00  ", + "p_d_ref_no": null + }, + { + "p_d_date_posted": "10292020", + "p_d_date_posted_output": "10/29/2020", + "p_d_trans_desc": "COPAY RX:100045029 FD:10/27/2020", + "p_d_trans_desc_output": "COPAY RX#100045029 FILL DATE: 10/27/2020", + "p_d_trans_amt": 8, + "p_d_trans_amt_output": "8.00  ", + "p_d_ref_no": "516-K10J56V" + }, + { + "p_d_date_posted": null, + "p_d_date_posted_output": "", + "p_d_trans_desc": "DRUG:MICONAZOLE NITRATE 2% TOP TINCTURE DAYS:30", + "p_d_trans_desc_output": "   DRUG:MICONAZOLE NITRATE 2% TOP TINCTURE DAYS:30", + "p_d_trans_amt": 0, + "p_d_trans_amt_output": ".00  ", + "p_d_ref_no": null + }, + { + "p_d_date_posted": null, + "p_d_date_posted_output": "", + "p_d_trans_desc": "QTY:90 PHY:VELAZQUEZ SANCHEZ,VANESSA CHG:$8.00", + "p_d_trans_desc_output": "   QTY:90 PHY:VELAZQUEZ SANCHEZ,VANESSA CHG:$8.00", + "p_d_trans_amt": 0, + "p_d_trans_amt_output": ".00  ", + "p_d_ref_no": null + }, + { + "p_d_date_posted": "11192020", + "p_d_date_posted_output": "11/19/2020", + "p_d_trans_desc": "PAYMENT (Int:0.12 Adm:1.64)", + "p_d_trans_desc_output": "PAYMENT POSTED ON 11/19/2020", + "p_d_trans_amt": -16.76, + "p_d_trans_amt_output": "16.76- ", + "p_d_ref_no": "516-K00JZPJ" + }, + { + "p_d_date_posted": "11192020", + "p_d_date_posted_output": "11/19/2020", + "p_d_trans_desc": "PAYMENT (Int:0.26 Adm:0.00)", + "p_d_trans_desc_output": "PAYMENT POSTED ON 11/19/2020", + "p_d_trans_amt": -15.26, + "p_d_trans_amt_output": "15.26- ", + "p_d_ref_no": "516-K00N8XA" + }, + { + "p_d_date_posted": "11192020", + "p_d_date_posted_output": "11/19/2020", + "p_d_trans_desc": "PAYMENT", + "p_d_trans_desc_output": "PAYMENT POSTED ON 11/19/2020", + "p_d_trans_amt": -15, + "p_d_trans_amt_output": "15.00- ", + "p_d_ref_no": "516-K00QKJJ" + }, + { + "p_d_date_posted": "11192020", + "p_d_date_posted_output": "11/19/2020", + "p_d_trans_desc": "PAYMENT", + "p_d_trans_desc_output": "PAYMENT POSTED ON 11/19/2020", + "p_d_trans_amt": -15, + "p_d_trans_amt_output": "15.00- ", + "p_d_ref_no": "516-K00S829" + }, + { + "p_d_date_posted": "11192020", + "p_d_date_posted_output": "11/19/2020", + "p_d_trans_desc": "PAYMENT", + "p_d_trans_desc_output": "PAYMENT POSTED ON 11/19/2020", + "p_d_trans_amt": -23, + "p_d_trans_amt_output": "23.00- ", + "p_d_ref_no": "516-K00SZBK" + }, + { + "p_d_date_posted": "11192020", + "p_d_date_posted_output": "11/19/2020", + "p_d_trans_desc": "PAYMENT", + "p_d_trans_desc_output": "PAYMENT POSTED ON 11/19/2020", + "p_d_trans_amt": -15, + "p_d_trans_amt_output": "15.00- ", + "p_d_ref_no": "516-K00UY3W" + }, + { + "p_d_date_posted": "11192020", + "p_d_date_posted_output": "11/19/2020", + "p_d_trans_desc": "PAYMENT", + "p_d_trans_desc_output": "PAYMENT POSTED ON 11/19/2020", + "p_d_trans_amt": -15, + "p_d_trans_amt_output": "15.00- ", + "p_d_ref_no": "516-K00WDZQ" + }, + { + "p_d_date_posted": "11192020", + "p_d_date_posted_output": "11/19/2020", + "p_d_trans_desc": "PAYMENT", + "p_d_trans_desc_output": "PAYMENT POSTED ON 11/19/2020", + "p_d_trans_amt": -55, + "p_d_trans_amt_output": "55.00- ", + "p_d_ref_no": "516-K10J56V" + }, + { + "p_d_date_posted": "11232020", + "p_d_date_posted_output": "11/23/2020", + "p_d_trans_desc": "OUTPATIENT CARE(NSC) VISIT DATE: 10/27/2020", + "p_d_trans_desc_output": "OUTPATIENT CARE VISIT DATE: 10/27/2020", + "p_d_trans_amt": 15, + "p_d_trans_amt_output": "15.00  ", + "p_d_ref_no": "516-K10LD3I" + }, + { + "p_d_date_posted": "11232020", + "p_d_date_posted_output": "11/23/2020", + "p_d_trans_desc": "OUTPATIENT CARE(NSC)", + "p_d_trans_desc_output": "OUTPATIENT CARE", + "p_d_trans_amt": -15, + "p_d_trans_amt_output": "15.00- ", + "p_d_ref_no": "516-K10LD3I" + }, + { + "p_d_date_posted": "11232020", + "p_d_date_posted_output": "11/23/2020", + "p_d_trans_desc": "COMMENT: K10KM1P PD $15.00 DOS:10/27/20", + "p_d_trans_desc_output": "   COMMENT: K10KM1P PD $15.00 DOS:10/27/20", + "p_d_trans_amt": 0, + "p_d_trans_amt_output": ".00  ", + "p_d_ref_no": "516-K10LD3I" + }, + { + "p_d_date_posted": "12012020", + "p_d_date_posted_output": "12/01/2020", + "p_d_trans_desc": "COPAY RX:100046632 FD:11/18/2020", + "p_d_trans_desc_output": "COPAY RX#100046632 FILL DATE: 11/18/2020", + "p_d_trans_amt": 15, + "p_d_trans_amt_output": "15.00  ", + "p_d_ref_no": "516-K10LT59" + }, + { + "p_d_date_posted": null, + "p_d_date_posted_output": "", + "p_d_trans_desc": "DRUG:AMLODIPINE BESYLATE 10MG TAB DAYS:90", + "p_d_trans_desc_output": "   DRUG:AMLODIPINE BESYLATE 10MG TAB DAYS:90", + "p_d_trans_amt": 0, + "p_d_trans_amt_output": ".00  ", + "p_d_ref_no": null + }, + { + "p_d_date_posted": null, + "p_d_date_posted_output": "", + "p_d_trans_desc": "QTY:90 PHY:VELAZQUEZ SANCHEZ,VANESSA", + "p_d_trans_desc_output": "   QTY:90 PHY:VELAZQUEZ SANCHEZ,VANESSA", + "p_d_trans_amt": 0, + "p_d_trans_amt_output": ".00  ", + "p_d_ref_no": null + }, + { + "p_d_date_posted": null, + "p_d_date_posted_output": "", + "p_d_trans_desc": "CHG:$15.00", + "p_d_trans_desc_output": "   CHG:$15.00", + "p_d_trans_amt": 0, + "p_d_trans_amt_output": ".00  ", + "p_d_ref_no": null + }, + { + "p_d_date_posted": "12162020", + "p_d_date_posted_output": "12/16/2020", + "p_d_trans_desc": "COPAY RX:100030241A FD:12/12/2020", + "p_d_trans_desc_output": "COPAY RX#100030241A FILL DATE: 12/12/2020", + "p_d_trans_amt": 15, + "p_d_trans_amt_output": "15.00  ", + "p_d_ref_no": "516-K10MUDV" + }, + { + "p_d_date_posted": null, + "p_d_date_posted_output": "", + "p_d_trans_desc": "DRUG:ATENOLOL 25MG TAB DAYS:90 QTY:90", + "p_d_trans_desc_output": "   DRUG:ATENOLOL 25MG TAB DAYS:90 QTY:90", + "p_d_trans_amt": 0, + "p_d_trans_amt_output": ".00  ", + "p_d_ref_no": null + }, + { + "p_d_date_posted": null, + "p_d_date_posted_output": "", + "p_d_trans_desc": "PHY:VELAZQUEZ SANCHEZ,VANESSA CHG:$15.00", + "p_d_trans_desc_output": "   PHY:VELAZQUEZ SANCHEZ,VANESSA CHG:$15.00", + "p_d_trans_amt": 0, + "p_d_trans_amt_output": ".00  ", + "p_d_ref_no": null + }, + { + "p_d_date_posted": "12212020", + "p_d_date_posted_output": "12/21/2020", + "p_d_trans_desc": "OUTPATIENT CARE(NSC) VISIT DATE: 11/13/2020", + "p_d_trans_desc_output": "OUTPATIENT CARE VISIT DATE: 11/13/2020", + "p_d_trans_amt": 15, + "p_d_trans_amt_output": "15.00  ", + "p_d_ref_no": "516-K10N4AR" + }, + { + "p_d_date_posted": "12212020", + "p_d_date_posted_output": "12/21/2020", + "p_d_trans_desc": "OUTPATIENT CARE(NSC)", + "p_d_trans_desc_output": "OUTPATIENT CARE", + "p_d_trans_amt": -15, + "p_d_trans_amt_output": "15.00- ", + "p_d_ref_no": "516-K10N4AR" + }, + { + "p_d_date_posted": null, + "p_d_date_posted_output": "", + "p_d_trans_desc": "INTEREST/ADM. CHARGE (Int:0.32 Adm:1.64 Other:0.00", + "p_d_trans_desc_output": "INTEREST/ADM. CHARGE (Int:0.32 Adm:1.64 Other:0.00", + "p_d_trans_amt": 1.96, + "p_d_trans_amt_output": "1.96  ", + "p_d_ref_no": null + } + ], + "station": { + "facilit_y_num": "649", + "vis_n_num": "22", + "facilit_y_desc": "PRESCOTT VA MEDICAL CENTER (649)", + "cycl_e_num": "016", + "remi_t_to_flag": "L", + "mai_l_insert_flag": "0", + "sta_t_address1": "500 N US HIGHWAY 89", + "sta_t_address2": "AGENT CASHIER (04C)", + "sta_t_address3": null, + "city": "PRESCOTT", + "state": "AZ", + "zi_p_cde": "863135001", + "zi_p_cde_output": "86313-5001", + "ba_r_cde": "*863135001003*", + "te_l_num_flag": "S", + "te_l_num": "1-866-802-6819", + "te_l_num2": null, + "contac_t_info": null, + "d_m2_tel_num": null, + "contac_t_info2": null, + "to_p_tel_num": null, + "lb_x_fedex_address1": null, + "lb_x_fedex_address2": null, + "lb_x_fedex_address3": null, + "lb_x_fedex_city": null, + "lb_x_fedex_state": null, + "lb_x_fedex_zip_cde": null, + "lb_x_fedex_bar_cde": null, + "lb_x_fedex_contact": null, + "lb_x_fedex_contact_tel_num": null, + "facility_name": "Ralph H. Johnson Department of Veterans Affairs Medical Center" + }, + "debt_type": "COPAY", + "resolution_option": "waiver", + "resolution_comment": "", + "resolution_waiver_check": true + } + ], + "debt": { + "current_ar": 0, + "debt_history": [ + { + "date": "" + } + ], + "deduction_code": "", + "original_ar": 0 + }, + "financial_overview": {}, + "available_options": {}, + "income": [ + { + "veteran_or_spouse": "VETERAN", + "compensation_and_pension": "3261.1", + "education": "50" + } + ] +} \ No newline at end of file diff --git a/modules/debts_api/spec/fixtures/pre_submission_fsr/enhanced_fsr_expenses.json b/modules/debts_api/spec/fixtures/pre_submission_fsr/enhanced_fsr_expenses.json index b21e9a8d070..75a36adb285 100644 --- a/modules/debts_api/spec/fixtures/pre_submission_fsr/enhanced_fsr_expenses.json +++ b/modules/debts_api/spec/fixtures/pre_submission_fsr/enhanced_fsr_expenses.json @@ -1,8 +1,8 @@ -{ - "view:enhancedFinancialStatusReport": true, +{ + "view:enhanced_financial_status_report": true, "expenses": { "food": "4000.38", - "expenseRecords": [ + "expense_records": [ { "name": "Rent", "amount": "1200.53" @@ -16,19 +16,19 @@ "amount": "100" } ], - "creditCardBills": [ + "credit_card_bills": [ { "purpose": "Credit card payment", - "creditorName": "", - "originalAmount": "", - "unpaidBalance": "300000", - "amountDueMonthly": "10000", - "dateStarted": "", - "amountPastDue": "7000" + "creditor_name": "", + "original_amount": "", + "unpaid_balance": "300000", + "amount_due_monthly": "10000", + "date_started": "", + "amount_past_due": "7000" } ] }, - "otherExpenses": [ + "other_expenses": [ { "name": "Pool service", "amount": "200" @@ -42,37 +42,37 @@ "amount": "300" } ], - "installmentContracts": [ + "installment_contracts": [ { "purpose": "Credit card payments", - "creditorName": "Creditor One", - "originalAmount": "50000.54", - "unpaidBalance": "15000.56", - "amountDueMonthly": "800.10", - "dateStarted": "2017-03-XX", - "amountPastDue": "125.43" + "creditor_name": "Creditor One", + "original_amount": "50000.54", + "unpaid_balance": "15000.56", + "amount_due_monthly": "800.10", + "date_started": "2017_03_xx", + "amount_past_due": "125.43" }, { "purpose": "Car payment/lease", - "creditorName": "Creditor Two", - "originalAmount": "100000.43", - "unpaidBalance": "50000.26", - "amountDueMonthly": "1200.54", - "dateStarted": "2019-05-XX", - "amountPastDue": "0" + "creditor_name": "Creditor Two", + "original_amount": "100000.43", + "unpaid_balance": "50000.26", + "amount_due_monthly": "1200.54", + "date_started": "2019_05_xx", + "amount_past_due": "0" } ], - "utilityRecords": [ + "utility_records": [ { - "utilityType": "Electricity", + "utility_type": "Electricity", "amount": "350.45" }, { - "utilityType": "Water", + "utility_type": "Water", "amount": "75.43" }, { - "utilityType": "Cable", + "utility_type": "Cable", "amount": "275.47" } ] diff --git a/modules/debts_api/spec/fixtures/pre_submission_fsr/fsr_assets_form.json b/modules/debts_api/spec/fixtures/pre_submission_fsr/fsr_assets_form.json index 9384378f68f..f625cf6bcf9 100644 --- a/modules/debts_api/spec/fixtures/pre_submission_fsr/fsr_assets_form.json +++ b/modules/debts_api/spec/fixtures/pre_submission_fsr/fsr_assets_form.json @@ -1,44 +1,41 @@ { - "data": { - "view:enhancedFinancialStatusReport": true, - "questions": { - "hasVehicle": false - }, - "cashInBank": "200", - "cashOnHand": "100", - "recVehicleAmount": "1000", - "usSavingsBonds": "0", - "stocksAndOtherBonds": "0", - "assets": { - "realEstateValue": "2000", - "otherAssets": [ - { - "amount": "10" - }, - { - "amount": "10" - } - ], - "recVehicleAmount": "100", - "automobiles": [ - { - "resaleValue": "100" - }, - { - "resaleValue": "100" - } - ] - }, - "realEstateRecords": [ + "view:enhanced_financial_status_report": true, + "questions": { + "has_vehicle": false + }, + "cash_in_bank": "200", + "cash_on_hand": "100", + "rec_vehicle_amount": "1000", + "us_savings_bonds": "0", + "stocks_and_other_bonds": "0", + "assets": { + "real_estate_value": "2000", + "other_assets": [ { - "realEstateType": "Vacation property", - "realEstateAmount": "350000.47" + "amount": "10" }, { - "realEstateType": "Single-family home", - "realEstateAmount": "450000.34" + "amount": "10" + } + ], + "rec_vehicle_amount": "100", + "automobiles": [ + { + "resale_value": "100" + }, + { + "resale_value": "100" } ] - } -} - + }, + "real_estate_records": [ + { + "real_estate_type": "Vacation property", + "real_estate_amount": "350000.47" + }, + { + "real_estate_type": "Single-family home", + "real_estate_amount": "450000.34" + } + ] +} \ No newline at end of file diff --git a/modules/debts_api/spec/fixtures/pre_submission_fsr/fsr_maximal_calculations_form.json b/modules/debts_api/spec/fixtures/pre_submission_fsr/fsr_maximal_calculations_form.json index 625273e8f27..82ccdcf36bf 100644 --- a/modules/debts_api/spec/fixtures/pre_submission_fsr/fsr_maximal_calculations_form.json +++ b/modules/debts_api/spec/fixtures/pre_submission_fsr/fsr_maximal_calculations_form.json @@ -1,1379 +1,1376 @@ { - "data": { - "view:enhancedFinancialStatusReport": true, - "otherExpenses": [ + "view:enhanced_financial_status_report": true, + "other_expenses": [ + { + "name": "Clothing", + "amount": "10" + }, + { + "name": "Food", + "amount": "1000.54" + }, + { + "name": "Veteran added", + "amount": "100" + } + ], + "view:components": { + "view:asset_info": {}, + "view:rec_vehicle_info": {}, + "view:vehicle_info": {}, + "view:marital_status": {}, + "view:veteran_info": {}, + "view:va_benefits_on_file": {} + }, + "expenses": { + "expense_records": [ { - "name": "Clothing", - "amount": "10" + "name": "Rent", + "amount": "1200.53" }, { - "name": "Food", - "amount": "1000.54" + "name": "Mortgage payment", + "amount": "800.00" }, { - "name": "Veteran added", - "amount": "100" + "name": "Property tax", + "amount": "85.25" + } + ] + }, + "assets": { + "real_estate_value": "800000.81", + "other_assets": [ + { + "name": "Gambling earning", + "amount": "16000.34" } ], - "view:components": { - "view:assetInfo": {}, - "view:recVehicleInfo": {}, - "view:vehicleInfo": {}, - "view:maritalStatus": {}, - "view:veteranInfo": {}, - "view:vaBenefitsOnFile": {} - }, - "expenses": { - "expenseRecords": [ + "rec_vehicle_amount": "15000.23", + "automobiles": [ + { + "make": "Dodge", + "model": "RAM", + "year": "2020", + "resale_value": "75000.45" + }, + { + "make": "Dodge", + "model": "Charger", + "year": "2020", + "resale_value": "40000.54" + } + ], + "monetary_assets": [ + { + "name": "Cash", + "amount": "10000.67" + }, + { + "name": "Checking accounts", + "amount": "1000.40" + }, + { + "name": "Savings accounts", + "amount": "2000.05" + }, + { + "name": "U.S. Savings Bonds", + "amount": "25000.65" + }, + { + "name": "Retirement accounts (401k, IRAs, 403b, TSP)", + "amount": "10000.04" + }, + { + "name": "Other stocks and bonds (not in your retirement accounts)", + "amount": "20000.10" + }, + { + "name": "Pension", + "amount": "15000.25" + }, + { + "name": "Cryptocurrency", + "amount": "5000.45" + } + ] + }, + "additional_income": { + "spouse": { + "sp_addl_income": [ { - "name": "Rent", - "amount": "1200.53" + "name": "Child support", + "amount": "800.54" }, { - "name": "Mortgage payment", - "amount": "800.00" + "name": "Alimony", + "amount": "1000.23" }, { - "name": "Property tax", - "amount": "85.25" + "name": "Social Security", + "amount": "1400.45" } ] }, - "assets": { - "realEstateValue": "800000.81", - "otherAssets": [ + "addl_inc_records": [ + { + "name": "Social Security", + "amount": "1200.65" + }, + { + "name": "Employment bonus", + "amount": "1500.67" + }, + { + "name": "Alimony", + "amount": "1000.43" + } + ] + }, + "social_security": { + "spouse": { + "social_sec_amt": "0" + }, + "social_sec_amt": "0" + }, + "benefits": { + "spouse_benefits": { + "compensation_and_pension": "1000.09", + "education": "500.46" + } + }, + "additional_data": { + "bankruptcy": { + "date_discharged": "2004-10-XX", + "court_location": "Tampa, FL", + "docket_number": "123456" + }, + "additional_comments": "Supporting personal statement..." + }, + "questions": { + "has_been_adjudicated_bankrupt": true, + "has_other_expenses": true, + "has_repayments": true, + "has_utilities": true, + "has_other_assets": true, + "has_recreational_vehicle": true, + "has_vehicle": true, + "has_real_estate": true, + "has_dependents": "2", + "spouse_has_additional_income": true, + "spouse_has_benefits": true, + "spouse_is_employed": true, + "is_married": true, + "has_additional_income": true, + "vet_is_employed": true + }, + "installment_contracts": [ + { + "purpose": "Credit card payments", + "creditor_name": "Creditor One", + "original_amount": "50000.54", + "unpaid_balance": "15000.56", + "amount_due_monthly": "800.10", + "date_started": "2017-03-XX", + "amount_past_due": "125.43" + }, + { + "purpose": "Car payment/lease", + "creditor_name": "Creditor Two", + "original_amount": "100000.43", + "unpaid_balance": "50000.26", + "amount_due_monthly": "1200.54", + "date_started": "2019-05-XX", + "amount_past_due": "0" + } + ], + "utility_records": [ + { + "name": "Electricity", + "amount": "350.45" + }, + { + "name": "Water", + "amount": "75.43" + }, + { + "name": "Cable", + "amount": "275.47" + } + ], + "personal_data": { + "dependents": [ + { + "dependent_age": "12" + }, + { + "dependent_age": "17" + } + ], + "employment_history": { + "spouse": { + "sp_employment_records": [ + { + "type": "Full time", + "from": "2018-6-XX", + "to": "", + "is_current": true, + "employer_name": "Spouse Current", + "gross_monthly_income": "5000.54", + "deductions": [ + { + "name": "Federal tax", + "amount": "350.56" + }, + { + "name": "State tax", + "amount": "230.45" + }, + { + "name": "Pension", + "amount": "100" + }, + { + "name": "Health insurance", + "amount": "254.45" + } + ] + }, + { + "type": "Full time", + "from": "2015-3-XX", + "to": "2018-6-XX", + "employer_name": "Spouse Previous", + "is_current": false + } + ] + }, + "veteran": { + "employment_records": [ + { + "type": "Full time", + "from": "2017-1-XX", + "to": "", + "is_current": true, + "employer_name": "Veteran Current One", + "gross_monthly_income": "5000.54", + "deductions": [ + { + "name": "Federal tax", + "amount": "350.56" + }, + { + "name": "State tax", + "amount": "230.45" + }, + { + "name": "Pension", + "amount": "100" + }, + { + "name": "Health insurance", + "amount": "254.45" + } + ] + }, + { + "type": "Part time", + "from": "2019-7-XX", + "to": "", + "is_current": true, + "employer_name": "Veteran Current Two", + "gross_monthly_income": "2000.56", + "deductions": [ + { + "name": "Federal tax", + "amount": "200.02" + }, + { + "name": "Allotment", + "amount": "134.56" + }, + { + "name": "FICA (Social Security and Medicare)", + "amount": "122.4" + } + ] + }, + { + "type": "Full time", + "from": "2021-01-XX", + "to": "2021-12-XX", + "is_current": false, + "employer_name": "I quit" + } + ] + } + }, + "spouse_full_name": { + "first": "Angela", + "last": "Mitchell" + }, + "address": { + "lives_on_military_base_info": {}, + "country": "USA", + "street": "123 Fake Street", + "city": "Tampa", + "state": "FL", + "postal_code": "33543" + }, + "telephone_number": "4445551212", + "email_address": "test2@test1.net", + "veteran_contact_information": { + "email": "test@user.com", + "address": { + "address_line1": "1200 Park Ave", + "address_line2": "c/o Pixar", + "address_line3": null, + "address_pou": "CORRESPONDENCE", + "address_type": "DOMESTIC", + "city": "Emeryville", + "country_name": "United States", + "country_code_iso2": "US", + "country_code_iso3": "USA", + "country_code_fips": null, + "county_code": null, + "county_name": null, + "created_at": "2020-05-30T03:57:20.000+00:00", + "effective_end_date": null, + "effective_start_date": "2020-07-10T20:10:45.000+00:00", + "id": 173917, + "international_postal_code": null, + "province": null, + "source_date": "2020-07-10T20:10:45.000+00:00", + "source_system_user": null, + "state_code": "CA", + "transaction_id": "7139aa82-fd06-45ea-a217-9654869924bd", + "updated_at": "2020-07-10T20:10:46.000+00:00", + "validation_key": null, + "vet360_id": "1273780", + "zip_code": "94608", + "zip_code_suffix": null + }, + "mobile_phone": { + "area_code": "510", + "country_code": "1", + "created_at": "2020-06-12T16:56:37.000+00:00", + "extension": "", + "effective_end_date": null, + "effective_start_date": "2020-07-14T19:07:45.000+00:00", + "id": 146766, + "is_international": false, + "is_textable": null, + "is_text_permitted": null, + "is_tty": null, + "is_voicemailable": null, + "phone_number": "9224444", + "phone_type": "HOME", + "source_date": "2020-07-14T19:07:45.000+00:00", + "source_system_user": null, + "transaction_id": "92c49d39-22b2-4bd6-92b4-0b7e7c63c6a9", + "updated_at": "2020-07-14T19:07:46.000+00:00", + "vet360_id": "1273780" + } + }, + "veteran_full_name": { + "first": "Greg", + "last": "Anderson", + "middle": "A" + }, + "date_of_birth": "1933-04-05" + }, + "personal_identification": { + "ssn": "1234", + "file_number": "5678" + }, + "selected_debts_and_copays": [ + { + "file_number": "796121200", + "payee_number": "00", + "person_entitled": "AJHONS", + "deduction_code": "30", + "benefit_type": "Comp & Pen", + "diary_code": "080", + "diary_code_description": "Referred to the Department of the Treasury", + "amount_overpaid": 0, + "amount_withheld": 0, + "original_ar": 136.24, + "current_ar": 100, + "debt_history": [ + { + "date": "02/25/2009", + "letter_code": "914", + "description": "Paid In Full - Account balance cleared via offset, not including TOP." + }, + { + "date": "02/07/2009", + "letter_code": "905", + "description": "Administrative Write Off" + }, { - "name": "Gambling earning", - "amount": "16000.34" + "date": "12/03/2008", + "letter_code": "487", + "description": "Death Case Pending Action" } ], - "recVehicleAmount": "15000.23", - "automobiles": [ + "id": 0, + "debt_type": "DEBT", + "resolution_option": "waiver", + "resolution_waiver_check": true + }, + { + "file_number": "796121200", + "payee_number": "00", + "person_entitled": "AJOHNS", + "deduction_code": "74", + "benefit_type": "CH33 Student Tuition EDU", + "diary_code": "117", + "diary_code_description": "Pending payment", + "amount_overpaid": 0, + "amount_withheld": 475, + "original_ar": 2210.9, + "current_ar": 1000, + "debt_history": [ + { + "date": "04/01/2017", + "letter_code": 608, + "description": "Full C&P Benefit Offset Notifi" + }, { - "make": "Dodge", - "model": "RAM", - "year": "2020", - "resaleValue": "75000.45" + "date": "11/18/2015", + "letter_code": 130, + "description": "Debt Increase - Due P" }, { - "make": "Dodge", - "model": "Charger", - "year": "2020", - "resaleValue": "40000.54" + "date": "04/08/2015", + "letter_code": 608, + "description": "Full C&P Benefit Offset Notifi" + }, + { + "date": "03/26/2015", + "letter_code": 100, + "description": "First Demand Letter - Inactive Benefits - Due Process" } ], - "monetaryAssets": [ + "id": 3, + "debt_type": "DEBT", + "resolution_option": "monthly", + "resolution_comment": "50.51" + }, + { + "id": "f4385298-08a6-42f8-a86f-50e97033fb85", + "p_s_seq_num": 506, + "p_s_tot_seq_num": 588, + "p_s_facility_num": "534", + "p_s_fac_phone_num": null, + "p_s_tot_statement": 27, + "p_s_statement_val": "0000018255H", + "p_s_statement_date": "11152019", + "p_s_statement_date_output": "11/15/2019", + "p_s_process_date": "11112019", + "p_s_process_date_output": "11/11/2019", + "p_h_patient_lst_nme": "JONES", + "p_h_patient_fst_nme": "TRAVIS", + "p_h_patient_mid_nme": "D", + "p_h_address1": "1885 SHORE DR S APT 327", + "p_h_address2": null, + "p_h_address3": null, + "p_h_city": "SAVANNAH", + "p_h_state": "FL", + "p_h_zip_cde": "314104413", + "p_h_zip_cde_output": "31410-4413", + "p_h_ctry_nme": null, + "p_h_amt_due": 15, + "p_h_amt_due_output": "15.00  ", + "p_h_prev_bal": 135, + "p_h_prev_bal_output": "135.00  ", + "p_h_tot_charges": 15, + "p_h_tot_charges_output": "15.00  ", + "p_h_tot_credits": -135, + "p_h_tot_credits_output": "135.00- ", + "p_h_new_balance": 15, + "p_h_new_balance_output": "15.00  ", + "p_h_special_notes": "To pay your statement online, go to www.pay.gov or call 1-888-827-4817.", + "p_hro_para_cdes": "304050556065708085", + "p_h_num_of_lines": 10, + "p_h_dfn_number": 346310, + "p_h_cerner_statement_number": 1005154223, + "p_h_cerner_patient_id": "1005154223", + "p_h_cerner_account_number": "1005154223", + "p_h_icn_number": "1012845638V677813", + "p_h_account_number": 0, + "p_h_large_font_indcator": 0, + "details": [ { - "name": "Cash", - "amount": "10000.67" + "p_d_date_posted": "10072019", + "p_d_date_posted_output": "10/07/2019", + "p_d_trans_desc": "OUTPATIENT CARE(NSC)", + "p_d_trans_desc_output": "OUTPATIENT CARE", + "p_d_trans_amt": -15, + "p_d_trans_amt_output": "15.00- ", + "p_d_ref_no": "534-K90HEWN" }, { - "name": "Checking accounts", - "amount": "1000.40" + "p_d_date_posted": "10072019", + "p_d_date_posted_output": "10/07/2019", + "p_d_trans_desc": "OUTPATIENT CARE(NSC)", + "p_d_trans_desc_output": "OUTPATIENT CARE", + "p_d_trans_amt": -15, + "p_d_trans_amt_output": "15.00- ", + "p_d_ref_no": "534-K90HEWN" }, { - "name": "Savings accounts", - "amount": "2000.05" + "p_d_date_posted": "10072019", + "p_d_date_posted_output": "10/07/2019", + "p_d_trans_desc": "OUTPATIENT CARE(NSC)", + "p_d_trans_desc_output": "OUTPATIENT CARE", + "p_d_trans_amt": -15, + "p_d_trans_amt_output": "15.00- ", + "p_d_ref_no": "534-K90HEWN" }, { - "name": "U.S. Savings Bonds", - "amount": "25000.65" + "p_d_date_posted": "10072019", + "p_d_date_posted_output": "10/07/2019", + "p_d_trans_desc": "OUTPATIENT CARE(NSC)", + "p_d_trans_desc_output": "OUTPATIENT CARE", + "p_d_trans_amt": -15, + "p_d_trans_amt_output": "15.00- ", + "p_d_ref_no": "534-K90HEWN" }, { - "name": "Retirement accounts (401k, IRAs, 403b, TSP)", - "amount": "10000.04" + "p_d_date_posted": "10072019", + "p_d_date_posted_output": "10/07/2019", + "p_d_trans_desc": "OUTPATIENT CARE(NSC)", + "p_d_trans_desc_output": "OUTPATIENT CARE", + "p_d_trans_amt": -15, + "p_d_trans_amt_output": "15.00- ", + "p_d_ref_no": "534-K90HEWN" }, { - "name": "Other stocks and bonds (not in your retirement accounts)", - "amount": "20000.10" + "p_d_date_posted": "10072019", + "p_d_date_posted_output": "10/07/2019", + "p_d_trans_desc": "OUTPATIENT CARE(NSC)", + "p_d_trans_desc_output": "OUTPATIENT CARE", + "p_d_trans_amt": -15, + "p_d_trans_amt_output": "15.00- ", + "p_d_ref_no": "534-K90HEWN" }, { - "name": "Pension", - "amount": "15000.25" + "p_d_date_posted": "10072019", + "p_d_date_posted_output": "10/07/2019", + "p_d_trans_desc": "OUTPATIENT CARE(NSC)", + "p_d_trans_desc_output": "OUTPATIENT CARE", + "p_d_trans_amt": -15, + "p_d_trans_amt_output": "15.00- ", + "p_d_ref_no": "534-K90HEWN" }, { - "name": "Cryptocurrency", - "amount": "5000.45" + "p_d_date_posted": "10072019", + "p_d_date_posted_output": "10/07/2019", + "p_d_trans_desc": "OUTPATIENT CARE(NSC)", + "p_d_trans_desc_output": "OUTPATIENT CARE", + "p_d_trans_amt": -15, + "p_d_trans_amt_output": "15.00- ", + "p_d_ref_no": "534-K90HEWN" + }, + { + "p_d_date_posted": "10072019", + "p_d_date_posted_output": "10/07/2019", + "p_d_trans_desc": "OUTPATIENT CARE(NSC)", + "p_d_trans_desc_output": "OUTPATIENT CARE", + "p_d_trans_amt": -15, + "p_d_trans_amt_output": "15.00- ", + "p_d_ref_no": "534-K90HEWN" + }, + { + "p_d_date_posted": "10152019", + "p_d_date_posted_output": "10/15/2019", + "p_d_trans_desc": "OUTPATIENT CARE(NSC) VISIT DATE: 09/07/2018", + "p_d_trans_desc_output": "OUTPATIENT CARE VISIT DATE: 09/07/2018", + "p_d_trans_amt": 15, + "p_d_trans_amt_output": "15.00  ", + "p_d_ref_no": "534-K009FK8" } - ] - }, - "additionalIncome": { - "spouse": { - "spAddlIncome": [ - { - "name": "Child support", - "amount": "800.54" - }, - { - "name": "Alimony", - "amount": "1000.23" - }, - { - "name": "Social Security", - "amount": "1400.45" - } - ] + ], + "station": { + "facilit_y_num": "534", + "vis_n_num": "07", + "facilit_y_desc": "RALPH H. JOHNSON VA MEDICAL CENTER (534)", + "cycl_e_num": "012", + "remi_t_to_flag": "L", + "mai_l_insert_flag": "0", + "sta_t_address1": "ACCOUNTS RECEIVABLE (04AR)", + "sta_t_address2": "109 BEE ST", + "sta_t_address3": null, + "city": "CHARLESTON", + "state": "SC", + "zi_p_cde": "294015703", + "zi_p_cde_output": "29401-5703", + "ba_r_cde": "*294015703090*", + "te_l_num_flag": "P", + "te_l_num": "1-866-258-2772", + "te_l_num2": null, + "contac_t_info": null, + "d_m2_tel_num": null, + "contac_t_info2": null, + "to_p_tel_num": null, + "lb_x_fedex_address1": null, + "lb_x_fedex_address2": null, + "lb_x_fedex_address3": null, + "lb_x_fedex_city": null, + "lb_x_fedex_state": null, + "lb_x_fedex_zip_cde": null, + "lb_x_fedex_bar_cde": null, + "lb_x_fedex_contact": null, + "lb_x_fedex_contact_tel_num": null, + "facility_name": "Bob Stump Department of Veterans Affairs Medical Center" }, - "addlIncRecords": [ + "debt_type": "COPAY", + "resolution_option": "compromise", + "resolution_comment": "10.51" + }, + { + "id": "b381cc7b-ea3a-49dc-a982-7146416ed373", + "p_s_seq_num": 1162, + "p_s_tot_seq_num": 1, + "p_s_facility_num": "757", + "p_s_fac_phone_num": null, + "p_s_tot_statement": 11, + "p_s_statement_val": "0000040520F", + "p_s_statement_date": "06052021", + "p_s_statement_date_output": "06/05/2021", + "p_s_process_date": "06092021", + "p_s_process_date_output": "06/09/2021", + "p_h_patient_lst_nme": "JONES", + "p_h_patient_fst_nme": "TRAVIS", + "p_h_patient_mid_nme": "D", + "p_h_address1": "1885 SHORE DR S APT 327", + "p_h_address2": null, + "p_h_address3": null, + "p_h_city": "SOUTH PASADENA", + "p_h_state": "FL", + "p_h_zip_cde": "337074743", + "p_h_zip_cde_output": "33707-4743", + "p_h_ctry_nme": "US", + "p_h_amt_due": 46, + "p_h_amt_due_output": "46.00  ", + "p_h_prev_bal": 30, + "p_h_prev_bal_output": "30.00  ", + "p_h_tot_charges": 46, + "p_h_tot_charges_output": "46.00  ", + "p_h_tot_credits": -30, + "p_h_tot_credits_output": "30.00- ", + "p_h_new_balance": 46, + "p_h_new_balance_output": "46.00  ", + "p_h_special_notes": null, + "p_hro_para_cdes": "254050556065708085", + "p_h_num_of_lines": 7, + "p_h_dfn_number": 0, + "p_h_cerner_statement_number": 1005154223, + "p_h_cerner_patient_id": "1005154223", + "p_h_cerner_account_number": "1005154223", + "p_h_icn_number": "1012845638V677813", + "p_h_account_number": 0, + "p_h_large_font_indcator": 0, + "details": [ { - "name": "Social Security", - "amount": "1200.65" + "p_d_date_posted": "03092020", + "p_d_date_posted_output": "03/09/2020", + "p_d_trans_desc": "OUTPATIENT CARE(NSC) VISIT DATE: 01/14/2020", + "p_d_trans_desc_output": "OUTPATIENT CARE VISIT DATE: 01/14/2020", + "p_d_trans_amt": 15, + "p_d_trans_amt_output": "15.00  ", + "p_d_ref_no": "516-K00R4FL" }, { - "name": "Employment bonus", - "amount": "1500.67" + "p_d_date_posted": "03092020", + "p_d_date_posted_output": "03/09/2020", + "p_d_trans_desc": "OUTPATIENT CARE(NSC)", + "p_d_trans_desc_output": "OUTPATIENT CARE", + "p_d_trans_amt": -15, + "p_d_trans_amt_output": "15.00- ", + "p_d_ref_no": "516-K00R4FL" }, { - "name": "Alimony", - "amount": "1000.43" + "p_d_date_posted": "03242020", + "p_d_date_posted_output": "03/24/2020", + "p_d_trans_desc": "COPAY RX:100020337B FD:01/23/2020", + "p_d_trans_desc_output": "COPAY RX#100020337B FILL DATE: 01/23/2020", + "p_d_trans_amt": 5, + "p_d_trans_amt_output": "5.00  ", + "p_d_ref_no": "516-K00RSNZ" + }, + { + "p_d_date_posted": null, + "p_d_date_posted_output": "", + "p_d_trans_desc": "DRUG:LISINOPRIL 5MG TAB DAYS:30 QTY:30", + "p_d_trans_desc_output": "   DRUG:LISINOPRIL 5MG TAB DAYS:30 QTY:30", + "p_d_trans_amt": 0, + "p_d_trans_amt_output": ".00  ", + "p_d_ref_no": null + }, + { + "p_d_date_posted": null, + "p_d_date_posted_output": "", + "p_d_trans_desc": "PHY:SANTOS,LOUISE CHG:$5.00", + "p_d_trans_desc_output": "   PHY:SANTOS,LOUISE CHG:$5.00", + "p_d_trans_amt": 0, + "p_d_trans_amt_output": ".00  ", + "p_d_ref_no": null + }, + { + "p_d_date_posted": "03242020", + "p_d_date_posted_output": "03/24/2020", + "p_d_trans_desc": "RX CO-PAYMENT/NSC VET", + "p_d_trans_desc_output": "PAYMENT POSTED ON 03/24/2020", + "p_d_trans_amt": -5, + "p_d_trans_amt_output": "5.00- ", + "p_d_ref_no": "516-K00RSNZ" + }, + { + "p_d_date_posted": "04032020", + "p_d_date_posted_output": "04/03/2020", + "p_d_trans_desc": "COPAY RX:100030241 FD:03/30/2020", + "p_d_trans_desc_output": "COPAY RX#100030241 FILL DATE: 03/30/2020", + "p_d_trans_amt": 15, + "p_d_trans_amt_output": "15.00  ", + "p_d_ref_no": "516-K00S829" + }, + { + "p_d_date_posted": null, + "p_d_date_posted_output": "", + "p_d_trans_desc": "DRUG:ATENOLOL 25MG TAB DAYS:90 QTY:90", + "p_d_trans_desc_output": "   DRUG:ATENOLOL 25MG TAB DAYS:90 QTY:90", + "p_d_trans_amt": 0, + "p_d_trans_amt_output": ".00  ", + "p_d_ref_no": null + }, + { + "p_d_date_posted": null, + "p_d_date_posted_output": "", + "p_d_trans_desc": "PHY:GUTHRIE,BROOKE L CHG:$15.00", + "p_d_trans_desc_output": "   PHY:GUTHRIE,BROOKE L CHG:$15.00", + "p_d_trans_amt": 0, + "p_d_trans_amt_output": ".00  ", + "p_d_ref_no": null + }, + { + "p_d_date_posted": "04272020", + "p_d_date_posted_output": "04/27/2020", + "p_d_trans_desc": "COPAY RX:100020336 FD:04/23/2020", + "p_d_trans_desc_output": "COPAY RX#100020336 FILL DATE: 04/23/2020", + "p_d_trans_amt": 15, + "p_d_trans_amt_output": "15.00  ", + "p_d_ref_no": "516-K00SZBK" + }, + { + "p_d_date_posted": null, + "p_d_date_posted_output": "", + "p_d_trans_desc": "DRUG:AMLODIPINE BESYLATE 10MG TAB DAYS:90", + "p_d_trans_desc_output": "   DRUG:AMLODIPINE BESYLATE 10MG TAB DAYS:90", + "p_d_trans_amt": 0, + "p_d_trans_amt_output": ".00  ", + "p_d_ref_no": null + }, + { + "p_d_date_posted": null, + "p_d_date_posted_output": "", + "p_d_trans_desc": "QTY:90 PHY:GUTHRIE,BROOKE L CHG:$15.00", + "p_d_trans_desc_output": "   QTY:90 PHY:GUTHRIE,BROOKE L CHG:$15.00", + "p_d_trans_amt": 0, + "p_d_trans_amt_output": ".00  ", + "p_d_ref_no": null + }, + { + "p_d_date_posted": "04282020", + "p_d_date_posted_output": "04/28/2020", + "p_d_trans_desc": "COPAY RX:100011847 FD:04/23/2020", + "p_d_trans_desc_output": "COPAY RX#100011847 FILL DATE: 04/23/2020", + "p_d_trans_amt": 8, + "p_d_trans_amt_output": "8.00  ", + "p_d_ref_no": "516-K00SZBK" + }, + { + "p_d_date_posted": null, + "p_d_date_posted_output": "", + "p_d_trans_desc": "DRUG:MICONAZOLE NITRATE 2% TOP TINCTURE DAYS:30", + "p_d_trans_desc_output": "   DRUG:MICONAZOLE NITRATE 2% TOP TINCTURE DAYS:30", + "p_d_trans_amt": 0, + "p_d_trans_amt_output": ".00  ", + "p_d_ref_no": null + }, + { + "p_d_date_posted": null, + "p_d_date_posted_output": "", + "p_d_trans_desc": "QTY:60 PHY:GUTHRIE,BROOKE L CHG:$8.00", + "p_d_trans_desc_output": "   QTY:60 PHY:GUTHRIE,BROOKE L CHG:$8.00", + "p_d_trans_amt": 0, + "p_d_trans_amt_output": ".00  ", + "p_d_ref_no": null + }, + { + "p_d_date_posted": "05262020", + "p_d_date_posted_output": "05/26/2020", + "p_d_trans_desc": "OUTPATIENT CARE(NSC) VISIT DATE: 04/15/2020", + "p_d_trans_desc_output": "OUTPATIENT CARE VISIT DATE: 04/15/2020", + "p_d_trans_amt": 50, + "p_d_trans_amt_output": "50.00  ", + "p_d_ref_no": "516-K00TXGK" + }, + { + "p_d_date_posted": "05262020", + "p_d_date_posted_output": "05/26/2020", + "p_d_trans_desc": "OUTPATIENT CARE(NSC)", + "p_d_trans_desc_output": "OUTPATIENT CARE", + "p_d_trans_amt": -50, + "p_d_trans_amt_output": "50.00- ", + "p_d_ref_no": "516-K00TXGK" + }, + { + "p_d_date_posted": "06302020", + "p_d_date_posted_output": "06/30/2020", + "p_d_trans_desc": "COPAY RX:100030241 FD:06/30/2020", + "p_d_trans_desc_output": "COPAY RX#100030241 FILL DATE: 06/30/2020", + "p_d_trans_amt": 15, + "p_d_trans_amt_output": "15.00  ", + "p_d_ref_no": "516-K00UY3W" + }, + { + "p_d_date_posted": null, + "p_d_date_posted_output": "", + "p_d_trans_desc": "DRUG:ATENOLOL 25MG TAB DAYS:90 QTY:90", + "p_d_trans_desc_output": "   DRUG:ATENOLOL 25MG TAB DAYS:90 QTY:90", + "p_d_trans_amt": 0, + "p_d_trans_amt_output": ".00  ", + "p_d_ref_no": null + }, + { + "p_d_date_posted": null, + "p_d_date_posted_output": "", + "p_d_trans_desc": "PHY:GUTHRIE,BROOKE L CHG:$15.00", + "p_d_trans_desc_output": "   PHY:GUTHRIE,BROOKE L CHG:$15.00", + "p_d_trans_amt": 0, + "p_d_trans_amt_output": ".00  ", + "p_d_ref_no": null + }, + { + "p_d_date_posted": "07092020", + "p_d_date_posted_output": "07/09/2020", + "p_d_trans_desc": "OUTPATIENT CARE(NSC) VISIT DATE: 06/08/2020", + "p_d_trans_desc_output": "OUTPATIENT CARE VISIT DATE: 06/08/2020", + "p_d_trans_amt": 50, + "p_d_trans_amt_output": "50.00  ", + "p_d_ref_no": "516-K00V8T8" + }, + { + "p_d_date_posted": "07092020", + "p_d_date_posted_output": "07/09/2020", + "p_d_trans_desc": "OUTPATIENT CARE(NSC)", + "p_d_trans_desc_output": "OUTPATIENT CARE", + "p_d_trans_amt": -50, + "p_d_trans_amt_output": "50.00- ", + "p_d_ref_no": "516-K00V8T8" + }, + { + "p_d_date_posted": "07092020", + "p_d_date_posted_output": "07/09/2020", + "p_d_trans_desc": "COMMENT: K00ULWR PD $50.00 DOS 060820", + "p_d_trans_desc_output": "   COMMENT: K00ULWR PD $50.00 DOS 060820", + "p_d_trans_amt": 0, + "p_d_trans_amt_output": ".00  ", + "p_d_ref_no": "516-K00V8T8" + }, + { + "p_d_date_posted": "08132020", + "p_d_date_posted_output": "08/13/2020", + "p_d_trans_desc": "COPAY RX:100020336 FD:08/11/2020", + "p_d_trans_desc_output": "COPAY RX#100020336 FILL DATE: 08/11/2020", + "p_d_trans_amt": 15, + "p_d_trans_amt_output": "15.00  ", + "p_d_ref_no": "516-K00WDZQ" + }, + { + "p_d_date_posted": null, + "p_d_date_posted_output": "", + "p_d_trans_desc": "DRUG:AMLODIPINE BESYLATE 10MG TAB DAYS:90", + "p_d_trans_desc_output": "   DRUG:AMLODIPINE BESYLATE 10MG TAB DAYS:90", + "p_d_trans_amt": 0, + "p_d_trans_amt_output": ".00  ", + "p_d_ref_no": null + }, + { + "p_d_date_posted": null, + "p_d_date_posted_output": "", + "p_d_trans_desc": "QTY:90 PHY:GUTHRIE,BROOKE L CHG:$15.00", + "p_d_trans_desc_output": "   QTY:90 PHY:GUTHRIE,BROOKE L CHG:$15.00", + "p_d_trans_amt": 0, + "p_d_trans_amt_output": ".00  ", + "p_d_ref_no": null + }, + { + "p_d_date_posted": "09222020", + "p_d_date_posted_output": "09/22/2020", + "p_d_trans_desc": "OUTPATIENT CARE(NSC) VISIT DATE: 08/20/2020", + "p_d_trans_desc_output": "OUTPATIENT CARE VISIT DATE: 08/20/2020", + "p_d_trans_amt": 50, + "p_d_trans_amt_output": "50.00  ", + "p_d_ref_no": "516-K00XUY2" + }, + { + "p_d_date_posted": "09222020", + "p_d_date_posted_output": "09/22/2020", + "p_d_trans_desc": "OUTPATIENT CARE(NSC)", + "p_d_trans_desc_output": "OUTPATIENT CARE", + "p_d_trans_amt": -50, + "p_d_trans_amt_output": "50.00- ", + "p_d_ref_no": "516-K00XUY2" + }, + { + "p_d_date_posted": "09222020", + "p_d_date_posted_output": "09/22/2020", + "p_d_trans_desc": "COMMENT: K00X41A PD $50.00 DOS 082020", + "p_d_trans_desc_output": "   COMMENT: K00X41A PD $50.00 DOS 082020", + "p_d_trans_amt": 0, + "p_d_trans_amt_output": ".00  ", + "p_d_ref_no": "516-K00XUY2" + }, + { + "p_d_date_posted": "10072020", + "p_d_date_posted_output": "10/07/2020", + "p_d_trans_desc": "COPAY RX:100030241 FD:10/05/2020", + "p_d_trans_desc_output": "COPAY RX#100030241 FILL DATE: 10/05/2020", + "p_d_trans_amt": 15, + "p_d_trans_amt_output": "15.00  ", + "p_d_ref_no": "516-K10J56V" + }, + { + "p_d_date_posted": null, + "p_d_date_posted_output": "", + "p_d_trans_desc": "DRUG:ATENOLOL 25MG TAB DAYS:90 QTY:90", + "p_d_trans_desc_output": "   DRUG:ATENOLOL 25MG TAB DAYS:90 QTY:90", + "p_d_trans_amt": 0, + "p_d_trans_amt_output": ".00  ", + "p_d_ref_no": null + }, + { + "p_d_date_posted": null, + "p_d_date_posted_output": "", + "p_d_trans_desc": "PHY:GUTHRIE,BROOKE L CHG:$15.00", + "p_d_trans_desc_output": "   PHY:GUTHRIE,BROOKE L CHG:$15.00", + "p_d_trans_amt": 0, + "p_d_trans_amt_output": ".00  ", + "p_d_ref_no": null + }, + { + "p_d_date_posted": "10292020", + "p_d_date_posted_output": "10/29/2020", + "p_d_trans_desc": "COPAY RX:100045030 FD:10/27/2020", + "p_d_trans_desc_output": "COPAY RX#100045030 FILL DATE: 10/27/2020", + "p_d_trans_amt": 24, + "p_d_trans_amt_output": "24.00  ", + "p_d_ref_no": "516-K10J56V" + }, + { + "p_d_date_posted": null, + "p_d_date_posted_output": "", + "p_d_trans_desc": "DRUG:NIACIN (SLO-NIACIN) 250MG TAB,SA DAYS:90", + "p_d_trans_desc_output": "   DRUG:NIACIN (SLO-NIACIN) 250MG TAB,SA DAYS:90", + "p_d_trans_amt": 0, + "p_d_trans_amt_output": ".00  ", + "p_d_ref_no": null + }, + { + "p_d_date_posted": null, + "p_d_date_posted_output": "", + "p_d_trans_desc": "QTY:90 PHY:VELAZQUEZ SANCHEZ,VANESSA", + "p_d_trans_desc_output": "   QTY:90 PHY:VELAZQUEZ SANCHEZ,VANESSA", + "p_d_trans_amt": 0, + "p_d_trans_amt_output": ".00  ", + "p_d_ref_no": null + }, + { + "p_d_date_posted": null, + "p_d_date_posted_output": "", + "p_d_trans_desc": "CHG:$24.00", + "p_d_trans_desc_output": "   CHG:$24.00", + "p_d_trans_amt": 0, + "p_d_trans_amt_output": ".00  ", + "p_d_ref_no": null + }, + { + "p_d_date_posted": "10292020", + "p_d_date_posted_output": "10/29/2020", + "p_d_trans_desc": "COPAY RX:100045028 FD:10/27/2020", + "p_d_trans_desc_output": "COPAY RX#100045028 FILL DATE: 10/27/2020", + "p_d_trans_amt": 8, + "p_d_trans_amt_output": "8.00  ", + "p_d_ref_no": "516-K10J56V" + }, + { + "p_d_date_posted": null, + "p_d_date_posted_output": "", + "p_d_trans_desc": "DRUG:CARBAMIDE PEROXIDE 6.5% OTIC SOLN DAYS:14", + "p_d_trans_desc_output": "   DRUG:CARBAMIDE PEROXIDE 6.5% OTIC SOLN DAYS:14", + "p_d_trans_amt": 0, + "p_d_trans_amt_output": ".00  ", + "p_d_ref_no": null + }, + { + "p_d_date_posted": null, + "p_d_date_posted_output": "", + "p_d_trans_desc": "QTY:45 PHY:VELAZQUEZ SANCHEZ,VANESSA CHG:$8.00", + "p_d_trans_desc_output": "   QTY:45 PHY:VELAZQUEZ SANCHEZ,VANESSA CHG:$8.00", + "p_d_trans_amt": 0, + "p_d_trans_amt_output": ".00  ", + "p_d_ref_no": null + }, + { + "p_d_date_posted": "10292020", + "p_d_date_posted_output": "10/29/2020", + "p_d_trans_desc": "COPAY RX:100045029 FD:10/27/2020", + "p_d_trans_desc_output": "COPAY RX#100045029 FILL DATE: 10/27/2020", + "p_d_trans_amt": 8, + "p_d_trans_amt_output": "8.00  ", + "p_d_ref_no": "516-K10J56V" + }, + { + "p_d_date_posted": null, + "p_d_date_posted_output": "", + "p_d_trans_desc": "DRUG:MICONAZOLE NITRATE 2% TOP TINCTURE DAYS:30", + "p_d_trans_desc_output": "   DRUG:MICONAZOLE NITRATE 2% TOP TINCTURE DAYS:30", + "p_d_trans_amt": 0, + "p_d_trans_amt_output": ".00  ", + "p_d_ref_no": null + }, + { + "p_d_date_posted": null, + "p_d_date_posted_output": "", + "p_d_trans_desc": "QTY:90 PHY:VELAZQUEZ SANCHEZ,VANESSA CHG:$8.00", + "p_d_trans_desc_output": "   QTY:90 PHY:VELAZQUEZ SANCHEZ,VANESSA CHG:$8.00", + "p_d_trans_amt": 0, + "p_d_trans_amt_output": ".00  ", + "p_d_ref_no": null + }, + { + "p_d_date_posted": "11192020", + "p_d_date_posted_output": "11/19/2020", + "p_d_trans_desc": "PAYMENT (Int:0.12 Adm:1.64)", + "p_d_trans_desc_output": "PAYMENT POSTED ON 11/19/2020", + "p_d_trans_amt": -16.76, + "p_d_trans_amt_output": "16.76- ", + "p_d_ref_no": "516-K00JZPJ" + }, + { + "p_d_date_posted": "11192020", + "p_d_date_posted_output": "11/19/2020", + "p_d_trans_desc": "PAYMENT (Int:0.26 Adm:0.00)", + "p_d_trans_desc_output": "PAYMENT POSTED ON 11/19/2020", + "p_d_trans_amt": -15.26, + "p_d_trans_amt_output": "15.26- ", + "p_d_ref_no": "516-K00N8XA" + }, + { + "p_d_date_posted": "11192020", + "p_d_date_posted_output": "11/19/2020", + "p_d_trans_desc": "PAYMENT", + "p_d_trans_desc_output": "PAYMENT POSTED ON 11/19/2020", + "p_d_trans_amt": -15, + "p_d_trans_amt_output": "15.00- ", + "p_d_ref_no": "516-K00QKJJ" + }, + { + "p_d_date_posted": "11192020", + "p_d_date_posted_output": "11/19/2020", + "p_d_trans_desc": "PAYMENT", + "p_d_trans_desc_output": "PAYMENT POSTED ON 11/19/2020", + "p_d_trans_amt": -15, + "p_d_trans_amt_output": "15.00- ", + "p_d_ref_no": "516-K00S829" + }, + { + "p_d_date_posted": "11192020", + "p_d_date_posted_output": "11/19/2020", + "p_d_trans_desc": "PAYMENT", + "p_d_trans_desc_output": "PAYMENT POSTED ON 11/19/2020", + "p_d_trans_amt": -23, + "p_d_trans_amt_output": "23.00- ", + "p_d_ref_no": "516-K00SZBK" + }, + { + "p_d_date_posted": "11192020", + "p_d_date_posted_output": "11/19/2020", + "p_d_trans_desc": "PAYMENT", + "p_d_trans_desc_output": "PAYMENT POSTED ON 11/19/2020", + "p_d_trans_amt": -15, + "p_d_trans_amt_output": "15.00- ", + "p_d_ref_no": "516-K00UY3W" + }, + { + "p_d_date_posted": "11192020", + "p_d_date_posted_output": "11/19/2020", + "p_d_trans_desc": "PAYMENT", + "p_d_trans_desc_output": "PAYMENT POSTED ON 11/19/2020", + "p_d_trans_amt": -15, + "p_d_trans_amt_output": "15.00- ", + "p_d_ref_no": "516-K00WDZQ" + }, + { + "p_d_date_posted": "11192020", + "p_d_date_posted_output": "11/19/2020", + "p_d_trans_desc": "PAYMENT", + "p_d_trans_desc_output": "PAYMENT POSTED ON 11/19/2020", + "p_d_trans_amt": -55, + "p_d_trans_amt_output": "55.00- ", + "p_d_ref_no": "516-K10J56V" + }, + { + "p_d_date_posted": "11232020", + "p_d_date_posted_output": "11/23/2020", + "p_d_trans_desc": "OUTPATIENT CARE(NSC) VISIT DATE: 10/27/2020", + "p_d_trans_desc_output": "OUTPATIENT CARE VISIT DATE: 10/27/2020", + "p_d_trans_amt": 15, + "p_d_trans_amt_output": "15.00  ", + "p_d_ref_no": "516-K10LD3I" + }, + { + "p_d_date_posted": "11232020", + "p_d_date_posted_output": "11/23/2020", + "p_d_trans_desc": "OUTPATIENT CARE(NSC)", + "p_d_trans_desc_output": "OUTPATIENT CARE", + "p_d_trans_amt": -15, + "p_d_trans_amt_output": "15.00- ", + "p_d_ref_no": "516-K10LD3I" + }, + { + "p_d_date_posted": "11232020", + "p_d_date_posted_output": "11/23/2020", + "p_d_trans_desc": "COMMENT: K10KM1P PD $15.00 DOS:10/27/20", + "p_d_trans_desc_output": "   COMMENT: K10KM1P PD $15.00 DOS:10/27/20", + "p_d_trans_amt": 0, + "p_d_trans_amt_output": ".00  ", + "p_d_ref_no": "516-K10LD3I" + }, + { + "p_d_date_posted": "12012020", + "p_d_date_posted_output": "12/01/2020", + "p_d_trans_desc": "COPAY RX:100046632 FD:11/18/2020", + "p_d_trans_desc_output": "COPAY RX#100046632 FILL DATE: 11/18/2020", + "p_d_trans_amt": 15, + "p_d_trans_amt_output": "15.00  ", + "p_d_ref_no": "516-K10LT59" + }, + { + "p_d_date_posted": null, + "p_d_date_posted_output": "", + "p_d_trans_desc": "DRUG:AMLODIPINE BESYLATE 10MG TAB DAYS:90", + "p_d_trans_desc_output": "   DRUG:AMLODIPINE BESYLATE 10MG TAB DAYS:90", + "p_d_trans_amt": 0, + "p_d_trans_amt_output": ".00  ", + "p_d_ref_no": null + }, + { + "p_d_date_posted": null, + "p_d_date_posted_output": "", + "p_d_trans_desc": "QTY:90 PHY:VELAZQUEZ SANCHEZ,VANESSA", + "p_d_trans_desc_output": "   QTY:90 PHY:VELAZQUEZ SANCHEZ,VANESSA", + "p_d_trans_amt": 0, + "p_d_trans_amt_output": ".00  ", + "p_d_ref_no": null + }, + { + "p_d_date_posted": null, + "p_d_date_posted_output": "", + "p_d_trans_desc": "CHG:$15.00", + "p_d_trans_desc_output": "   CHG:$15.00", + "p_d_trans_amt": 0, + "p_d_trans_amt_output": ".00  ", + "p_d_ref_no": null + }, + { + "p_d_date_posted": "12162020", + "p_d_date_posted_output": "12/16/2020", + "p_d_trans_desc": "COPAY RX:100030241A FD:12/12/2020", + "p_d_trans_desc_output": "COPAY RX#100030241A FILL DATE: 12/12/2020", + "p_d_trans_amt": 15, + "p_d_trans_amt_output": "15.00  ", + "p_d_ref_no": "516-K10MUDV" + }, + { + "p_d_date_posted": null, + "p_d_date_posted_output": "", + "p_d_trans_desc": "DRUG:ATENOLOL 25MG TAB DAYS:90 QTY:90", + "p_d_trans_desc_output": "   DRUG:ATENOLOL 25MG TAB DAYS:90 QTY:90", + "p_d_trans_amt": 0, + "p_d_trans_amt_output": ".00  ", + "p_d_ref_no": null + }, + { + "p_d_date_posted": null, + "p_d_date_posted_output": "", + "p_d_trans_desc": "PHY:VELAZQUEZ SANCHEZ,VANESSA CHG:$15.00", + "p_d_trans_desc_output": "   PHY:VELAZQUEZ SANCHEZ,VANESSA CHG:$15.00", + "p_d_trans_amt": 0, + "p_d_trans_amt_output": ".00  ", + "p_d_ref_no": null + }, + { + "p_d_date_posted": "12212020", + "p_d_date_posted_output": "12/21/2020", + "p_d_trans_desc": "OUTPATIENT CARE(NSC) VISIT DATE: 11/13/2020", + "p_d_trans_desc_output": "OUTPATIENT CARE VISIT DATE: 11/13/2020", + "p_d_trans_amt": 15, + "p_d_trans_amt_output": "15.00  ", + "p_d_ref_no": "516-K10N4AR" + }, + { + "p_d_date_posted": "12212020", + "p_d_date_posted_output": "12/21/2020", + "p_d_trans_desc": "OUTPATIENT CARE(NSC)", + "p_d_trans_desc_output": "OUTPATIENT CARE", + "p_d_trans_amt": -15, + "p_d_trans_amt_output": "15.00- ", + "p_d_ref_no": "516-K10N4AR" + }, + { + "p_d_date_posted": null, + "p_d_date_posted_output": "", + "p_d_trans_desc": "INTEREST/ADM. CHARGE (Int:0.32 Adm:1.64 Other:0.00", + "p_d_trans_desc_output": "INTEREST/ADM. CHARGE (Int:0.32 Adm:1.64 Other:0.00", + "p_d_trans_amt": 1.96, + "p_d_trans_amt_output": "1.96  ", + "p_d_ref_no": null } - ] - }, - "socialSecurity": { - "spouse": { - "socialSecAmt": "0" - }, - "socialSecAmt": "0" - }, - "benefits": { - "spouseBenefits": { - "compensationAndPension": "1000.09", - "education": "500.46" - } - }, - "additionalData": { - "bankruptcy": { - "dateDischarged": "2004-10-XX", - "courtLocation": "Tampa, FL", - "docketNumber": "123456" - }, - "additionalComments": "Supporting personal statement..." - }, - "questions": { - "hasBeenAdjudicatedBankrupt": true, - "hasOtherExpenses": true, - "hasRepayments": true, - "hasUtilities": true, - "hasOtherAssets": true, - "hasRecreationalVehicle": true, - "hasVehicle": true, - "hasRealEstate": true, - "hasDependents": "2", - "spouseHasAdditionalIncome": true, - "spouseHasBenefits": true, - "spouseIsEmployed": true, - "isMarried": true, - "hasAdditionalIncome": true, - "vetIsEmployed": true - }, - "installmentContracts": [ - { - "purpose": "Credit card payments", - "creditorName": "Creditor One", - "originalAmount": "50000.54", - "unpaidBalance": "15000.56", - "amountDueMonthly": "800.10", - "dateStarted": "2017-03-XX", - "amountPastDue": "125.43" - }, - { - "purpose": "Car payment/lease", - "creditorName": "Creditor Two", - "originalAmount": "100000.43", - "unpaidBalance": "50000.26", - "amountDueMonthly": "1200.54", - "dateStarted": "2019-05-XX", - "amountPastDue": "0" - } - ], - "utilityRecords": [ - { - "name": "Electricity", - "amount": "350.45" - }, - { - "name": "Water", - "amount": "75.43" + ], + "station": { + "facilit_y_num": "649", + "vis_n_num": "22", + "facilit_y_desc": "PRESCOTT VA MEDICAL CENTER (649)", + "cycl_e_num": "016", + "remi_t_to_flag": "L", + "mai_l_insert_flag": "0", + "sta_t_address1": "500 N US HIGHWAY 89", + "sta_t_address2": "AGENT CASHIER (04C)", + "sta_t_address3": null, + "city": "PRESCOTT", + "state": "AZ", + "zi_p_cde": "863135001", + "zi_p_cde_output": "86313-5001", + "ba_r_cde": "*863135001003*", + "te_l_num_flag": "S", + "te_l_num": "1-866-802-6819", + "te_l_num2": null, + "contac_t_info": null, + "d_m2_tel_num": null, + "contac_t_info2": null, + "to_p_tel_num": null, + "lb_x_fedex_address1": null, + "lb_x_fedex_address2": null, + "lb_x_fedex_address3": null, + "lb_x_fedex_city": null, + "lb_x_fedex_state": null, + "lb_x_fedex_zip_cde": null, + "lb_x_fedex_bar_cde": null, + "lb_x_fedex_contact": null, + "lb_x_fedex_contact_tel_num": null, + "facility_name": "Ralph H. Johnson Department of Veterans Affairs Medical Center" }, + "debt_type": "COPAY", + "resolution_option": "waiver", + "resolution_waiver_check": true + } + ], + "debt": { + "current_ar": 0, + "debt_history": [ { - "name": "Cable", - "amount": "275.47" + "date": "" } ], - "personalData": { - "dependents": [ + "deduction_code": "", + "original_ar": 0 + }, + "curr_employment": [ + { + "veteran_gross_salary": "0", + "deductions": [ + { + "name": "Federal tax", + "amount": "0" + }, + { + "name": "State tax", + "amount": "0" + }, { - "dependentAge": "12" + "name": "Pension", + "amount": "0" }, { - "dependentAge": "17" + "name": "Health insurance", + "amount": "0" } ], - "employmentHistory": { - "spouse": { - "spEmploymentRecords": [ - { - "type": "Full time", - "from": "2018-6-XX", - "to": "", - "isCurrent": true, - "employerName": "Spouse Current", - "grossMonthlyIncome": "5000.54", - "deductions": [ - { - "name": "Federal tax", - "amount": "350.56" - }, - { - "name": "State tax", - "amount": "230.45" - }, - { - "name": "Pension", - "amount": "100" - }, - { - "name": "Health insurance", - "amount": "254.45" - } - ] - }, - { - "type": "Full time", - "from": "2015-3-XX", - "to": "2018-6-XX", - "employerName": "Spouse Previous", - "isCurrent": false - } - ] - }, - "veteran": { - "employmentRecords": [ - { - "type": "Full time", - "from": "2017-1-XX", - "to": "", - "isCurrent": true, - "employerName": "Veteran Current One", - "grossMonthlyIncome": "5000.54", - "deductions": [ - { - "name": "Federal tax", - "amount": "350.56" - }, - { - "name": "State tax", - "amount": "230.45" - }, - { - "name": "Pension", - "amount": "100" - }, - { - "name": "Health insurance", - "amount": "254.45" - } - ] - }, - { - "type": "Part time", - "from": "2019-7-XX", - "to": "", - "isCurrent": true, - "employerName": "Veteran Current Two", - "grossMonthlyIncome": "2000.56", - "deductions": [ - { - "name": "Federal tax", - "amount": "200.02" - }, - { - "name": "Allotment", - "amount": "134.56" - }, - { - "name": "FICA (Social Security and Medicare)", - "amount": "122.4" - } - ] - }, - { - "type": "Full time", - "from": "2021-01-XX", - "to": "2021-12-XX", - "isCurrent": false, - "employerName": "I quit" - } - ] - } - }, - "spouseFullName": { - "first": "Angela", - "last": "Mitchell" - }, - "address": { - "livesOnMilitaryBaseInfo": {}, - "country": "USA", - "street": "123 Fake Street", - "city": "Tampa", - "state": "FL", - "postalCode": "33543" - }, - "telephoneNumber": "4445551212", - "emailAddress": "test2@test1.net", - "veteranContactInformation": { - "email": "test@user.com", - "address": { - "addressLine1": "1200 Park Ave", - "addressLine2": "c/o Pixar", - "addressLine3": null, - "addressPou": "CORRESPONDENCE", - "addressType": "DOMESTIC", - "city": "Emeryville", - "countryName": "United States", - "countryCodeIso2": "US", - "countryCodeIso3": "USA", - "countryCodeFips": null, - "countyCode": null, - "countyName": null, - "createdAt": "2020-05-30T03:57:20.000+00:00", - "effectiveEndDate": null, - "effectiveStartDate": "2020-07-10T20:10:45.000+00:00", - "id": 173917, - "internationalPostalCode": null, - "province": null, - "sourceDate": "2020-07-10T20:10:45.000+00:00", - "sourceSystemUser": null, - "stateCode": "CA", - "transactionId": "7139aa82-fd06-45ea-a217-9654869924bd", - "updatedAt": "2020-07-10T20:10:46.000+00:00", - "validationKey": null, - "vet360Id": "1273780", - "zipCode": "94608", - "zipCodeSuffix": null - }, - "mobilePhone": { - "areaCode": "510", - "countryCode": "1", - "createdAt": "2020-06-12T16:56:37.000+00:00", - "extension": "", - "effectiveEndDate": null, - "effectiveStartDate": "2020-07-14T19:07:45.000+00:00", - "id": 146766, - "isInternational": false, - "isTextable": null, - "isTextPermitted": null, - "isTty": null, - "isVoicemailable": null, - "phoneNumber": "9224444", - "phoneType": "HOME", - "sourceDate": "2020-07-14T19:07:45.000+00:00", - "sourceSystemUser": null, - "transactionId": "92c49d39-22b2-4bd6-92b4-0b7e7c63c6a9", - "updatedAt": "2020-07-14T19:07:46.000+00:00", - "vet360Id": "1273780" - } - }, - "veteranFullName": { - "first": "Greg", - "last": "Anderson", - "middle": "A" - }, - "dateOfBirth": "1933-04-05" + "type": "Full time", + "from": "2017-1-XX", + "to": "", + "is_current": true, + "employer_name": "Veteran Current One" }, - "personalIdentification": { - "ssn": "1234", - "fileNumber": "5678" - }, - "selectedDebtsAndCopays": [ - { - "fileNumber": "796121200", - "payeeNumber": "00", - "personEntitled": "AJHONS", - "deductionCode": "30", - "benefitType": "Comp & Pen", - "diaryCode": "080", - "diaryCodeDescription": "Referred to the Department of the Treasury", - "amountOverpaid": 0, - "amountWithheld": 0, - "originalAr": 136.24, - "currentAr": 100, - "debtHistory": [ - { - "date": "02/25/2009", - "letterCode": "914", - "description": "Paid In Full - Account balance cleared via offset, not including TOP." - }, - { - "date": "02/07/2009", - "letterCode": "905", - "description": "Administrative Write Off" - }, - { - "date": "12/03/2008", - "letterCode": "487", - "description": "Death Case Pending Action" - } - ], - "id": 0, - "debtType": "DEBT", - "resolutionOption": "waiver", - "resolutionWaiverCheck": true - }, - { - "fileNumber": "796121200", - "payeeNumber": "00", - "personEntitled": "AJOHNS", - "deductionCode": "74", - "benefitType": "CH33 Student Tuition EDU", - "diaryCode": "117", - "diaryCodeDescription": "Pending payment", - "amountOverpaid": 0, - "amountWithheld": 475, - "originalAr": 2210.9, - "currentAr": 1000, - "debtHistory": [ - { - "date": "04/01/2017", - "letterCode": 608, - "description": "Full C&P Benefit Offset Notifi" - }, - { - "date": "11/18/2015", - "letterCode": 130, - "description": "Debt Increase - Due P" - }, - { - "date": "04/08/2015", - "letterCode": 608, - "description": "Full C&P Benefit Offset Notifi" - }, - { - "date": "03/26/2015", - "letterCode": 100, - "description": "First Demand Letter - Inactive Benefits - Due Process" - } - ], - "id": 3, - "debtType": "DEBT", - "resolutionOption": "monthly", - "resolutionComment": "50.51" - }, - { - "id": "f4385298-08a6-42f8-a86f-50e97033fb85", - "pSSeqNum": 506, - "pSTotSeqNum": 588, - "pSFacilityNum": "534", - "pSFacPhoneNum": null, - "pSTotStatement": 27, - "pSStatementVal": "0000018255H", - "pSStatementDate": "11152019", - "pSStatementDateOutput": "11/15/2019", - "pSProcessDate": "11112019", - "pSProcessDateOutput": "11/11/2019", - "pHPatientLstNme": "JONES", - "pHPatientFstNme": "TRAVIS", - "pHPatientMidNme": "D", - "pHAddress1": "1885 SHORE DR S APT 327", - "pHAddress2": null, - "pHAddress3": null, - "pHCity": "SAVANNAH", - "pHState": "FL", - "pHZipCde": "314104413", - "pHZipCdeOutput": "31410-4413", - "pHCtryNme": null, - "pHAmtDue": 15, - "pHAmtDueOutput": "15.00  ", - "pHPrevBal": 135, - "pHPrevBalOutput": "135.00  ", - "pHTotCharges": 15, - "pHTotChargesOutput": "15.00  ", - "pHTotCredits": -135, - "pHTotCreditsOutput": "135.00- ", - "pHNewBalance": 15, - "pHNewBalanceOutput": "15.00  ", - "pHSpecialNotes": "To pay your statement online, go to www.pay.gov or call 1-888-827-4817.", - "pHroParaCdes": "304050556065708085", - "pHNumOfLines": 10, - "pHDfnNumber": 346310, - "pHCernerStatementNumber": 1005154223, - "pHCernerPatientId": "1005154223", - "pHCernerAccountNumber": "1005154223", - "pHIcnNumber": "1012845638V677813", - "pHAccountNumber": 0, - "pHLargeFontIndcator": 0, - "details": [ - { - "pDDatePosted": "10072019", - "pDDatePostedOutput": "10/07/2019", - "pDTransDesc": "OUTPATIENT CARE(NSC)", - "pDTransDescOutput": "OUTPATIENT CARE", - "pDTransAmt": -15, - "pDTransAmtOutput": "15.00- ", - "pDRefNo": "534-K90HEWN" - }, - { - "pDDatePosted": "10072019", - "pDDatePostedOutput": "10/07/2019", - "pDTransDesc": "OUTPATIENT CARE(NSC)", - "pDTransDescOutput": "OUTPATIENT CARE", - "pDTransAmt": -15, - "pDTransAmtOutput": "15.00- ", - "pDRefNo": "534-K90HEWN" - }, - { - "pDDatePosted": "10072019", - "pDDatePostedOutput": "10/07/2019", - "pDTransDesc": "OUTPATIENT CARE(NSC)", - "pDTransDescOutput": "OUTPATIENT CARE", - "pDTransAmt": -15, - "pDTransAmtOutput": "15.00- ", - "pDRefNo": "534-K90HEWN" - }, - { - "pDDatePosted": "10072019", - "pDDatePostedOutput": "10/07/2019", - "pDTransDesc": "OUTPATIENT CARE(NSC)", - "pDTransDescOutput": "OUTPATIENT CARE", - "pDTransAmt": -15, - "pDTransAmtOutput": "15.00- ", - "pDRefNo": "534-K90HEWN" - }, - { - "pDDatePosted": "10072019", - "pDDatePostedOutput": "10/07/2019", - "pDTransDesc": "OUTPATIENT CARE(NSC)", - "pDTransDescOutput": "OUTPATIENT CARE", - "pDTransAmt": -15, - "pDTransAmtOutput": "15.00- ", - "pDRefNo": "534-K90HEWN" - }, - { - "pDDatePosted": "10072019", - "pDDatePostedOutput": "10/07/2019", - "pDTransDesc": "OUTPATIENT CARE(NSC)", - "pDTransDescOutput": "OUTPATIENT CARE", - "pDTransAmt": -15, - "pDTransAmtOutput": "15.00- ", - "pDRefNo": "534-K90HEWN" - }, - { - "pDDatePosted": "10072019", - "pDDatePostedOutput": "10/07/2019", - "pDTransDesc": "OUTPATIENT CARE(NSC)", - "pDTransDescOutput": "OUTPATIENT CARE", - "pDTransAmt": -15, - "pDTransAmtOutput": "15.00- ", - "pDRefNo": "534-K90HEWN" - }, - { - "pDDatePosted": "10072019", - "pDDatePostedOutput": "10/07/2019", - "pDTransDesc": "OUTPATIENT CARE(NSC)", - "pDTransDescOutput": "OUTPATIENT CARE", - "pDTransAmt": -15, - "pDTransAmtOutput": "15.00- ", - "pDRefNo": "534-K90HEWN" - }, - { - "pDDatePosted": "10072019", - "pDDatePostedOutput": "10/07/2019", - "pDTransDesc": "OUTPATIENT CARE(NSC)", - "pDTransDescOutput": "OUTPATIENT CARE", - "pDTransAmt": -15, - "pDTransAmtOutput": "15.00- ", - "pDRefNo": "534-K90HEWN" - }, - { - "pDDatePosted": "10152019", - "pDDatePostedOutput": "10/15/2019", - "pDTransDesc": "OUTPATIENT CARE(NSC) VISIT DATE: 09/07/2018", - "pDTransDescOutput": "OUTPATIENT CARE VISIT DATE: 09/07/2018", - "pDTransAmt": 15, - "pDTransAmtOutput": "15.00  ", - "pDRefNo": "534-K009FK8" - } - ], - "station": { - "facilitYNum": "534", - "visNNum": "07", - "facilitYDesc": "RALPH H. JOHNSON VA MEDICAL CENTER (534)", - "cyclENum": "012", - "remiTToFlag": "L", - "maiLInsertFlag": "0", - "staTAddress1": "ACCOUNTS RECEIVABLE (04AR)", - "staTAddress2": "109 BEE ST", - "staTAddress3": null, - "city": "CHARLESTON", - "state": "SC", - "ziPCde": "294015703", - "ziPCdeOutput": "29401-5703", - "baRCde": "*294015703090*", - "teLNumFlag": "P", - "teLNum": "1-866-258-2772", - "teLNum2": null, - "contacTInfo": null, - "dM2TelNum": null, - "contacTInfo2": null, - "toPTelNum": null, - "lbXFedexAddress1": null, - "lbXFedexAddress2": null, - "lbXFedexAddress3": null, - "lbXFedexCity": null, - "lbXFedexState": null, - "lbXFedexZipCde": null, - "lbXFedexBarCde": null, - "lbXFedexContact": null, - "lbXFedexContactTelNum": null, - "facilityName": "Bob Stump Department of Veterans Affairs Medical Center" - }, - "debtType": "COPAY", - "resolutionOption": "compromise", - "resolutionComment": "10.51" - }, - { - "id": "b381cc7b-ea3a-49dc-a982-7146416ed373", - "pSSeqNum": 1162, - "pSTotSeqNum": 1, - "pSFacilityNum": "757", - "pSFacPhoneNum": null, - "pSTotStatement": 11, - "pSStatementVal": "0000040520F", - "pSStatementDate": "06052021", - "pSStatementDateOutput": "06/05/2021", - "pSProcessDate": "06092021", - "pSProcessDateOutput": "06/09/2021", - "pHPatientLstNme": "JONES", - "pHPatientFstNme": "TRAVIS", - "pHPatientMidNme": "D", - "pHAddress1": "1885 SHORE DR S APT 327", - "pHAddress2": null, - "pHAddress3": null, - "pHCity": "SOUTH PASADENA", - "pHState": "FL", - "pHZipCde": "337074743", - "pHZipCdeOutput": "33707-4743", - "pHCtryNme": "US", - "pHAmtDue": 46, - "pHAmtDueOutput": "46.00  ", - "pHPrevBal": 30, - "pHPrevBalOutput": "30.00  ", - "pHTotCharges": 46, - "pHTotChargesOutput": "46.00  ", - "pHTotCredits": -30, - "pHTotCreditsOutput": "30.00- ", - "pHNewBalance": 46, - "pHNewBalanceOutput": "46.00  ", - "pHSpecialNotes": null, - "pHroParaCdes": "254050556065708085", - "pHNumOfLines": 7, - "pHDfnNumber": 0, - "pHCernerStatementNumber": 1005154223, - "pHCernerPatientId": "1005154223", - "pHCernerAccountNumber": "1005154223", - "pHIcnNumber": "1012845638V677813", - "pHAccountNumber": 0, - "pHLargeFontIndcator": 0, - "details": [ - { - "pDDatePosted": "03092020", - "pDDatePostedOutput": "03/09/2020", - "pDTransDesc": "OUTPATIENT CARE(NSC) VISIT DATE: 01/14/2020", - "pDTransDescOutput": "OUTPATIENT CARE VISIT DATE: 01/14/2020", - "pDTransAmt": 15, - "pDTransAmtOutput": "15.00  ", - "pDRefNo": "516-K00R4FL" - }, - { - "pDDatePosted": "03092020", - "pDDatePostedOutput": "03/09/2020", - "pDTransDesc": "OUTPATIENT CARE(NSC)", - "pDTransDescOutput": "OUTPATIENT CARE", - "pDTransAmt": -15, - "pDTransAmtOutput": "15.00- ", - "pDRefNo": "516-K00R4FL" - }, - { - "pDDatePosted": "03242020", - "pDDatePostedOutput": "03/24/2020", - "pDTransDesc": "COPAY RX:100020337B FD:01/23/2020", - "pDTransDescOutput": "COPAY RX#100020337B FILL DATE: 01/23/2020", - "pDTransAmt": 5, - "pDTransAmtOutput": "5.00  ", - "pDRefNo": "516-K00RSNZ" - }, - { - "pDDatePosted": null, - "pDDatePostedOutput": "", - "pDTransDesc": "DRUG:LISINOPRIL 5MG TAB DAYS:30 QTY:30", - "pDTransDescOutput": "   DRUG:LISINOPRIL 5MG TAB DAYS:30 QTY:30", - "pDTransAmt": 0, - "pDTransAmtOutput": ".00  ", - "pDRefNo": null - }, - { - "pDDatePosted": null, - "pDDatePostedOutput": "", - "pDTransDesc": "PHY:SANTOS,LOUISE CHG:$5.00", - "pDTransDescOutput": "   PHY:SANTOS,LOUISE CHG:$5.00", - "pDTransAmt": 0, - "pDTransAmtOutput": ".00  ", - "pDRefNo": null - }, - { - "pDDatePosted": "03242020", - "pDDatePostedOutput": "03/24/2020", - "pDTransDesc": "RX CO-PAYMENT/NSC VET", - "pDTransDescOutput": "PAYMENT POSTED ON 03/24/2020", - "pDTransAmt": -5, - "pDTransAmtOutput": "5.00- ", - "pDRefNo": "516-K00RSNZ" - }, - { - "pDDatePosted": "04032020", - "pDDatePostedOutput": "04/03/2020", - "pDTransDesc": "COPAY RX:100030241 FD:03/30/2020", - "pDTransDescOutput": "COPAY RX#100030241 FILL DATE: 03/30/2020", - "pDTransAmt": 15, - "pDTransAmtOutput": "15.00  ", - "pDRefNo": "516-K00S829" - }, - { - "pDDatePosted": null, - "pDDatePostedOutput": "", - "pDTransDesc": "DRUG:ATENOLOL 25MG TAB DAYS:90 QTY:90", - "pDTransDescOutput": "   DRUG:ATENOLOL 25MG TAB DAYS:90 QTY:90", - "pDTransAmt": 0, - "pDTransAmtOutput": ".00  ", - "pDRefNo": null - }, - { - "pDDatePosted": null, - "pDDatePostedOutput": "", - "pDTransDesc": "PHY:GUTHRIE,BROOKE L CHG:$15.00", - "pDTransDescOutput": "   PHY:GUTHRIE,BROOKE L CHG:$15.00", - "pDTransAmt": 0, - "pDTransAmtOutput": ".00  ", - "pDRefNo": null - }, - { - "pDDatePosted": "04272020", - "pDDatePostedOutput": "04/27/2020", - "pDTransDesc": "COPAY RX:100020336 FD:04/23/2020", - "pDTransDescOutput": "COPAY RX#100020336 FILL DATE: 04/23/2020", - "pDTransAmt": 15, - "pDTransAmtOutput": "15.00  ", - "pDRefNo": "516-K00SZBK" - }, - { - "pDDatePosted": null, - "pDDatePostedOutput": "", - "pDTransDesc": "DRUG:AMLODIPINE BESYLATE 10MG TAB DAYS:90", - "pDTransDescOutput": "   DRUG:AMLODIPINE BESYLATE 10MG TAB DAYS:90", - "pDTransAmt": 0, - "pDTransAmtOutput": ".00  ", - "pDRefNo": null - }, - { - "pDDatePosted": null, - "pDDatePostedOutput": "", - "pDTransDesc": "QTY:90 PHY:GUTHRIE,BROOKE L CHG:$15.00", - "pDTransDescOutput": "   QTY:90 PHY:GUTHRIE,BROOKE L CHG:$15.00", - "pDTransAmt": 0, - "pDTransAmtOutput": ".00  ", - "pDRefNo": null - }, - { - "pDDatePosted": "04282020", - "pDDatePostedOutput": "04/28/2020", - "pDTransDesc": "COPAY RX:100011847 FD:04/23/2020", - "pDTransDescOutput": "COPAY RX#100011847 FILL DATE: 04/23/2020", - "pDTransAmt": 8, - "pDTransAmtOutput": "8.00  ", - "pDRefNo": "516-K00SZBK" - }, - { - "pDDatePosted": null, - "pDDatePostedOutput": "", - "pDTransDesc": "DRUG:MICONAZOLE NITRATE 2% TOP TINCTURE DAYS:30", - "pDTransDescOutput": "   DRUG:MICONAZOLE NITRATE 2% TOP TINCTURE DAYS:30", - "pDTransAmt": 0, - "pDTransAmtOutput": ".00  ", - "pDRefNo": null - }, - { - "pDDatePosted": null, - "pDDatePostedOutput": "", - "pDTransDesc": "QTY:60 PHY:GUTHRIE,BROOKE L CHG:$8.00", - "pDTransDescOutput": "   QTY:60 PHY:GUTHRIE,BROOKE L CHG:$8.00", - "pDTransAmt": 0, - "pDTransAmtOutput": ".00  ", - "pDRefNo": null - }, - { - "pDDatePosted": "05262020", - "pDDatePostedOutput": "05/26/2020", - "pDTransDesc": "OUTPATIENT CARE(NSC) VISIT DATE: 04/15/2020", - "pDTransDescOutput": "OUTPATIENT CARE VISIT DATE: 04/15/2020", - "pDTransAmt": 50, - "pDTransAmtOutput": "50.00  ", - "pDRefNo": "516-K00TXGK" - }, - { - "pDDatePosted": "05262020", - "pDDatePostedOutput": "05/26/2020", - "pDTransDesc": "OUTPATIENT CARE(NSC)", - "pDTransDescOutput": "OUTPATIENT CARE", - "pDTransAmt": -50, - "pDTransAmtOutput": "50.00- ", - "pDRefNo": "516-K00TXGK" - }, - { - "pDDatePosted": "06302020", - "pDDatePostedOutput": "06/30/2020", - "pDTransDesc": "COPAY RX:100030241 FD:06/30/2020", - "pDTransDescOutput": "COPAY RX#100030241 FILL DATE: 06/30/2020", - "pDTransAmt": 15, - "pDTransAmtOutput": "15.00  ", - "pDRefNo": "516-K00UY3W" - }, - { - "pDDatePosted": null, - "pDDatePostedOutput": "", - "pDTransDesc": "DRUG:ATENOLOL 25MG TAB DAYS:90 QTY:90", - "pDTransDescOutput": "   DRUG:ATENOLOL 25MG TAB DAYS:90 QTY:90", - "pDTransAmt": 0, - "pDTransAmtOutput": ".00  ", - "pDRefNo": null - }, - { - "pDDatePosted": null, - "pDDatePostedOutput": "", - "pDTransDesc": "PHY:GUTHRIE,BROOKE L CHG:$15.00", - "pDTransDescOutput": "   PHY:GUTHRIE,BROOKE L CHG:$15.00", - "pDTransAmt": 0, - "pDTransAmtOutput": ".00  ", - "pDRefNo": null - }, - { - "pDDatePosted": "07092020", - "pDDatePostedOutput": "07/09/2020", - "pDTransDesc": "OUTPATIENT CARE(NSC) VISIT DATE: 06/08/2020", - "pDTransDescOutput": "OUTPATIENT CARE VISIT DATE: 06/08/2020", - "pDTransAmt": 50, - "pDTransAmtOutput": "50.00  ", - "pDRefNo": "516-K00V8T8" - }, - { - "pDDatePosted": "07092020", - "pDDatePostedOutput": "07/09/2020", - "pDTransDesc": "OUTPATIENT CARE(NSC)", - "pDTransDescOutput": "OUTPATIENT CARE", - "pDTransAmt": -50, - "pDTransAmtOutput": "50.00- ", - "pDRefNo": "516-K00V8T8" - }, - { - "pDDatePosted": "07092020", - "pDDatePostedOutput": "07/09/2020", - "pDTransDesc": "COMMENT: K00ULWR PD $50.00 DOS 060820", - "pDTransDescOutput": "   COMMENT: K00ULWR PD $50.00 DOS 060820", - "pDTransAmt": 0, - "pDTransAmtOutput": ".00  ", - "pDRefNo": "516-K00V8T8" - }, - { - "pDDatePosted": "08132020", - "pDDatePostedOutput": "08/13/2020", - "pDTransDesc": "COPAY RX:100020336 FD:08/11/2020", - "pDTransDescOutput": "COPAY RX#100020336 FILL DATE: 08/11/2020", - "pDTransAmt": 15, - "pDTransAmtOutput": "15.00  ", - "pDRefNo": "516-K00WDZQ" - }, - { - "pDDatePosted": null, - "pDDatePostedOutput": "", - "pDTransDesc": "DRUG:AMLODIPINE BESYLATE 10MG TAB DAYS:90", - "pDTransDescOutput": "   DRUG:AMLODIPINE BESYLATE 10MG TAB DAYS:90", - "pDTransAmt": 0, - "pDTransAmtOutput": ".00  ", - "pDRefNo": null - }, - { - "pDDatePosted": null, - "pDDatePostedOutput": "", - "pDTransDesc": "QTY:90 PHY:GUTHRIE,BROOKE L CHG:$15.00", - "pDTransDescOutput": "   QTY:90 PHY:GUTHRIE,BROOKE L CHG:$15.00", - "pDTransAmt": 0, - "pDTransAmtOutput": ".00  ", - "pDRefNo": null - }, - { - "pDDatePosted": "09222020", - "pDDatePostedOutput": "09/22/2020", - "pDTransDesc": "OUTPATIENT CARE(NSC) VISIT DATE: 08/20/2020", - "pDTransDescOutput": "OUTPATIENT CARE VISIT DATE: 08/20/2020", - "pDTransAmt": 50, - "pDTransAmtOutput": "50.00  ", - "pDRefNo": "516-K00XUY2" - }, - { - "pDDatePosted": "09222020", - "pDDatePostedOutput": "09/22/2020", - "pDTransDesc": "OUTPATIENT CARE(NSC)", - "pDTransDescOutput": "OUTPATIENT CARE", - "pDTransAmt": -50, - "pDTransAmtOutput": "50.00- ", - "pDRefNo": "516-K00XUY2" - }, - { - "pDDatePosted": "09222020", - "pDDatePostedOutput": "09/22/2020", - "pDTransDesc": "COMMENT: K00X41A PD $50.00 DOS 082020", - "pDTransDescOutput": "   COMMENT: K00X41A PD $50.00 DOS 082020", - "pDTransAmt": 0, - "pDTransAmtOutput": ".00  ", - "pDRefNo": "516-K00XUY2" - }, - { - "pDDatePosted": "10072020", - "pDDatePostedOutput": "10/07/2020", - "pDTransDesc": "COPAY RX:100030241 FD:10/05/2020", - "pDTransDescOutput": "COPAY RX#100030241 FILL DATE: 10/05/2020", - "pDTransAmt": 15, - "pDTransAmtOutput": "15.00  ", - "pDRefNo": "516-K10J56V" - }, - { - "pDDatePosted": null, - "pDDatePostedOutput": "", - "pDTransDesc": "DRUG:ATENOLOL 25MG TAB DAYS:90 QTY:90", - "pDTransDescOutput": "   DRUG:ATENOLOL 25MG TAB DAYS:90 QTY:90", - "pDTransAmt": 0, - "pDTransAmtOutput": ".00  ", - "pDRefNo": null - }, - { - "pDDatePosted": null, - "pDDatePostedOutput": "", - "pDTransDesc": "PHY:GUTHRIE,BROOKE L CHG:$15.00", - "pDTransDescOutput": "   PHY:GUTHRIE,BROOKE L CHG:$15.00", - "pDTransAmt": 0, - "pDTransAmtOutput": ".00  ", - "pDRefNo": null - }, - { - "pDDatePosted": "10292020", - "pDDatePostedOutput": "10/29/2020", - "pDTransDesc": "COPAY RX:100045030 FD:10/27/2020", - "pDTransDescOutput": "COPAY RX#100045030 FILL DATE: 10/27/2020", - "pDTransAmt": 24, - "pDTransAmtOutput": "24.00  ", - "pDRefNo": "516-K10J56V" - }, - { - "pDDatePosted": null, - "pDDatePostedOutput": "", - "pDTransDesc": "DRUG:NIACIN (SLO-NIACIN) 250MG TAB,SA DAYS:90", - "pDTransDescOutput": "   DRUG:NIACIN (SLO-NIACIN) 250MG TAB,SA DAYS:90", - "pDTransAmt": 0, - "pDTransAmtOutput": ".00  ", - "pDRefNo": null - }, - { - "pDDatePosted": null, - "pDDatePostedOutput": "", - "pDTransDesc": "QTY:90 PHY:VELAZQUEZ SANCHEZ,VANESSA", - "pDTransDescOutput": "   QTY:90 PHY:VELAZQUEZ SANCHEZ,VANESSA", - "pDTransAmt": 0, - "pDTransAmtOutput": ".00  ", - "pDRefNo": null - }, - { - "pDDatePosted": null, - "pDDatePostedOutput": "", - "pDTransDesc": "CHG:$24.00", - "pDTransDescOutput": "   CHG:$24.00", - "pDTransAmt": 0, - "pDTransAmtOutput": ".00  ", - "pDRefNo": null - }, - { - "pDDatePosted": "10292020", - "pDDatePostedOutput": "10/29/2020", - "pDTransDesc": "COPAY RX:100045028 FD:10/27/2020", - "pDTransDescOutput": "COPAY RX#100045028 FILL DATE: 10/27/2020", - "pDTransAmt": 8, - "pDTransAmtOutput": "8.00  ", - "pDRefNo": "516-K10J56V" - }, - { - "pDDatePosted": null, - "pDDatePostedOutput": "", - "pDTransDesc": "DRUG:CARBAMIDE PEROXIDE 6.5% OTIC SOLN DAYS:14", - "pDTransDescOutput": "   DRUG:CARBAMIDE PEROXIDE 6.5% OTIC SOLN DAYS:14", - "pDTransAmt": 0, - "pDTransAmtOutput": ".00  ", - "pDRefNo": null - }, - { - "pDDatePosted": null, - "pDDatePostedOutput": "", - "pDTransDesc": "QTY:45 PHY:VELAZQUEZ SANCHEZ,VANESSA CHG:$8.00", - "pDTransDescOutput": "   QTY:45 PHY:VELAZQUEZ SANCHEZ,VANESSA CHG:$8.00", - "pDTransAmt": 0, - "pDTransAmtOutput": ".00  ", - "pDRefNo": null - }, - { - "pDDatePosted": "10292020", - "pDDatePostedOutput": "10/29/2020", - "pDTransDesc": "COPAY RX:100045029 FD:10/27/2020", - "pDTransDescOutput": "COPAY RX#100045029 FILL DATE: 10/27/2020", - "pDTransAmt": 8, - "pDTransAmtOutput": "8.00  ", - "pDRefNo": "516-K10J56V" - }, - { - "pDDatePosted": null, - "pDDatePostedOutput": "", - "pDTransDesc": "DRUG:MICONAZOLE NITRATE 2% TOP TINCTURE DAYS:30", - "pDTransDescOutput": "   DRUG:MICONAZOLE NITRATE 2% TOP TINCTURE DAYS:30", - "pDTransAmt": 0, - "pDTransAmtOutput": ".00  ", - "pDRefNo": null - }, - { - "pDDatePosted": null, - "pDDatePostedOutput": "", - "pDTransDesc": "QTY:90 PHY:VELAZQUEZ SANCHEZ,VANESSA CHG:$8.00", - "pDTransDescOutput": "   QTY:90 PHY:VELAZQUEZ SANCHEZ,VANESSA CHG:$8.00", - "pDTransAmt": 0, - "pDTransAmtOutput": ".00  ", - "pDRefNo": null - }, - { - "pDDatePosted": "11192020", - "pDDatePostedOutput": "11/19/2020", - "pDTransDesc": "PAYMENT (Int:0.12 Adm:1.64)", - "pDTransDescOutput": "PAYMENT POSTED ON 11/19/2020", - "pDTransAmt": -16.76, - "pDTransAmtOutput": "16.76- ", - "pDRefNo": "516-K00JZPJ" - }, - { - "pDDatePosted": "11192020", - "pDDatePostedOutput": "11/19/2020", - "pDTransDesc": "PAYMENT (Int:0.26 Adm:0.00)", - "pDTransDescOutput": "PAYMENT POSTED ON 11/19/2020", - "pDTransAmt": -15.26, - "pDTransAmtOutput": "15.26- ", - "pDRefNo": "516-K00N8XA" - }, - { - "pDDatePosted": "11192020", - "pDDatePostedOutput": "11/19/2020", - "pDTransDesc": "PAYMENT", - "pDTransDescOutput": "PAYMENT POSTED ON 11/19/2020", - "pDTransAmt": -15, - "pDTransAmtOutput": "15.00- ", - "pDRefNo": "516-K00QKJJ" - }, - { - "pDDatePosted": "11192020", - "pDDatePostedOutput": "11/19/2020", - "pDTransDesc": "PAYMENT", - "pDTransDescOutput": "PAYMENT POSTED ON 11/19/2020", - "pDTransAmt": -15, - "pDTransAmtOutput": "15.00- ", - "pDRefNo": "516-K00S829" - }, - { - "pDDatePosted": "11192020", - "pDDatePostedOutput": "11/19/2020", - "pDTransDesc": "PAYMENT", - "pDTransDescOutput": "PAYMENT POSTED ON 11/19/2020", - "pDTransAmt": -23, - "pDTransAmtOutput": "23.00- ", - "pDRefNo": "516-K00SZBK" - }, - { - "pDDatePosted": "11192020", - "pDDatePostedOutput": "11/19/2020", - "pDTransDesc": "PAYMENT", - "pDTransDescOutput": "PAYMENT POSTED ON 11/19/2020", - "pDTransAmt": -15, - "pDTransAmtOutput": "15.00- ", - "pDRefNo": "516-K00UY3W" - }, - { - "pDDatePosted": "11192020", - "pDDatePostedOutput": "11/19/2020", - "pDTransDesc": "PAYMENT", - "pDTransDescOutput": "PAYMENT POSTED ON 11/19/2020", - "pDTransAmt": -15, - "pDTransAmtOutput": "15.00- ", - "pDRefNo": "516-K00WDZQ" - }, - { - "pDDatePosted": "11192020", - "pDDatePostedOutput": "11/19/2020", - "pDTransDesc": "PAYMENT", - "pDTransDescOutput": "PAYMENT POSTED ON 11/19/2020", - "pDTransAmt": -55, - "pDTransAmtOutput": "55.00- ", - "pDRefNo": "516-K10J56V" - }, - { - "pDDatePosted": "11232020", - "pDDatePostedOutput": "11/23/2020", - "pDTransDesc": "OUTPATIENT CARE(NSC) VISIT DATE: 10/27/2020", - "pDTransDescOutput": "OUTPATIENT CARE VISIT DATE: 10/27/2020", - "pDTransAmt": 15, - "pDTransAmtOutput": "15.00  ", - "pDRefNo": "516-K10LD3I" - }, - { - "pDDatePosted": "11232020", - "pDDatePostedOutput": "11/23/2020", - "pDTransDesc": "OUTPATIENT CARE(NSC)", - "pDTransDescOutput": "OUTPATIENT CARE", - "pDTransAmt": -15, - "pDTransAmtOutput": "15.00- ", - "pDRefNo": "516-K10LD3I" - }, - { - "pDDatePosted": "11232020", - "pDDatePostedOutput": "11/23/2020", - "pDTransDesc": "COMMENT: K10KM1P PD $15.00 DOS:10/27/20", - "pDTransDescOutput": "   COMMENT: K10KM1P PD $15.00 DOS:10/27/20", - "pDTransAmt": 0, - "pDTransAmtOutput": ".00  ", - "pDRefNo": "516-K10LD3I" - }, - { - "pDDatePosted": "12012020", - "pDDatePostedOutput": "12/01/2020", - "pDTransDesc": "COPAY RX:100046632 FD:11/18/2020", - "pDTransDescOutput": "COPAY RX#100046632 FILL DATE: 11/18/2020", - "pDTransAmt": 15, - "pDTransAmtOutput": "15.00  ", - "pDRefNo": "516-K10LT59" - }, - { - "pDDatePosted": null, - "pDDatePostedOutput": "", - "pDTransDesc": "DRUG:AMLODIPINE BESYLATE 10MG TAB DAYS:90", - "pDTransDescOutput": "   DRUG:AMLODIPINE BESYLATE 10MG TAB DAYS:90", - "pDTransAmt": 0, - "pDTransAmtOutput": ".00  ", - "pDRefNo": null - }, - { - "pDDatePosted": null, - "pDDatePostedOutput": "", - "pDTransDesc": "QTY:90 PHY:VELAZQUEZ SANCHEZ,VANESSA", - "pDTransDescOutput": "   QTY:90 PHY:VELAZQUEZ SANCHEZ,VANESSA", - "pDTransAmt": 0, - "pDTransAmtOutput": ".00  ", - "pDRefNo": null - }, - { - "pDDatePosted": null, - "pDDatePostedOutput": "", - "pDTransDesc": "CHG:$15.00", - "pDTransDescOutput": "   CHG:$15.00", - "pDTransAmt": 0, - "pDTransAmtOutput": ".00  ", - "pDRefNo": null - }, - { - "pDDatePosted": "12162020", - "pDDatePostedOutput": "12/16/2020", - "pDTransDesc": "COPAY RX:100030241A FD:12/12/2020", - "pDTransDescOutput": "COPAY RX#100030241A FILL DATE: 12/12/2020", - "pDTransAmt": 15, - "pDTransAmtOutput": "15.00  ", - "pDRefNo": "516-K10MUDV" - }, - { - "pDDatePosted": null, - "pDDatePostedOutput": "", - "pDTransDesc": "DRUG:ATENOLOL 25MG TAB DAYS:90 QTY:90", - "pDTransDescOutput": "   DRUG:ATENOLOL 25MG TAB DAYS:90 QTY:90", - "pDTransAmt": 0, - "pDTransAmtOutput": ".00  ", - "pDRefNo": null - }, - { - "pDDatePosted": null, - "pDDatePostedOutput": "", - "pDTransDesc": "PHY:VELAZQUEZ SANCHEZ,VANESSA CHG:$15.00", - "pDTransDescOutput": "   PHY:VELAZQUEZ SANCHEZ,VANESSA CHG:$15.00", - "pDTransAmt": 0, - "pDTransAmtOutput": ".00  ", - "pDRefNo": null - }, - { - "pDDatePosted": "12212020", - "pDDatePostedOutput": "12/21/2020", - "pDTransDesc": "OUTPATIENT CARE(NSC) VISIT DATE: 11/13/2020", - "pDTransDescOutput": "OUTPATIENT CARE VISIT DATE: 11/13/2020", - "pDTransAmt": 15, - "pDTransAmtOutput": "15.00  ", - "pDRefNo": "516-K10N4AR" - }, - { - "pDDatePosted": "12212020", - "pDDatePostedOutput": "12/21/2020", - "pDTransDesc": "OUTPATIENT CARE(NSC)", - "pDTransDescOutput": "OUTPATIENT CARE", - "pDTransAmt": -15, - "pDTransAmtOutput": "15.00- ", - "pDRefNo": "516-K10N4AR" - }, - { - "pDDatePosted": null, - "pDDatePostedOutput": "", - "pDTransDesc": "INTEREST/ADM. CHARGE (Int:0.32 Adm:1.64 Other:0.00", - "pDTransDescOutput": "INTEREST/ADM. CHARGE (Int:0.32 Adm:1.64 Other:0.00", - "pDTransAmt": 1.96, - "pDTransAmtOutput": "1.96  ", - "pDRefNo": null - } - ], - "station": { - "facilitYNum": "649", - "visNNum": "22", - "facilitYDesc": "PRESCOTT VA MEDICAL CENTER (649)", - "cyclENum": "016", - "remiTToFlag": "L", - "maiLInsertFlag": "0", - "staTAddress1": "500 N US HIGHWAY 89", - "staTAddress2": "AGENT CASHIER (04C)", - "staTAddress3": null, - "city": "PRESCOTT", - "state": "AZ", - "ziPCde": "863135001", - "ziPCdeOutput": "86313-5001", - "baRCde": "*863135001003*", - "teLNumFlag": "S", - "teLNum": "1-866-802-6819", - "teLNum2": null, - "contacTInfo": null, - "dM2TelNum": null, - "contacTInfo2": null, - "toPTelNum": null, - "lbXFedexAddress1": null, - "lbXFedexAddress2": null, - "lbXFedexAddress3": null, - "lbXFedexCity": null, - "lbXFedexState": null, - "lbXFedexZipCde": null, - "lbXFedexBarCde": null, - "lbXFedexContact": null, - "lbXFedexContactTelNum": null, - "facilityName": "Ralph H. Johnson Department of Veterans Affairs Medical Center" - }, - "debtType": "COPAY", - "resolutionOption": "waiver", - "resolutionWaiverCheck": true - } - ], - "debt": { - "currentAr": 0, - "debtHistory": [ + { + "veteran_gross_salary": "0", + "deductions": [ { - "date": "" + "name": "Federal tax", + "amount": "0" + }, + { + "name": "Allotment", + "amount": "0" + }, + { + "name": "FICA (Social Security and Medicare)", + "amount": "0" } ], - "deductionCode": "", - "originalAr": 0 - }, - "currEmployment": [ - { - "veteranGrossSalary": "0", - "deductions": [ - { - "name": "Federal tax", - "amount": "0" - }, - { - "name": "State tax", - "amount": "0" - }, - { - "name": "Pension", - "amount": "0" - }, - { - "name": "Health insurance", - "amount": "0" - } - ], - "type": "Full time", - "from": "2017-1-XX", - "to": "", - "isCurrent": true, - "employerName": "Veteran Current One" - }, - { - "veteranGrossSalary": "0", - "deductions": [ - { - "name": "Federal tax", - "amount": "0" - }, - { - "name": "Allotment", - "amount": "0" - }, - { - "name": "FICA (Social Security and Medicare)", - "amount": "0" - } - ], - "type": "Part time", - "from": "2019-7-XX", - "to": "", - "isCurrent": true, - "employerName": "Veteran Current Two" - } - ], - "spCurrEmployment": [ - { - "spouseGrossSalary": "4000.45", - "deductions": [ - { - "name": "Federal tax", - "amount": "325.54" - }, - { - "name": "Health insurance", - "amount": "250.34" - }, - { - "name": "Garnishment", - "amount": "150" - } - ], - "type": "Full time", - "from": "2018-6-XX", - "to": "", - "isCurrent": true, - "employerName": "Spouse Current" - } - ], - "financialOverview": {}, - "availableOptions": {}, - "income": [ - { - "veteranOrSpouse": "VETERAN", - "compensationAndPension": "3261.1", - "education": "50" - } - ] - } - -} + "type": "Part time", + "from": "2019-7-XX", + "to": "", + "is_current": true, + "employer_name": "Veteran Current Two" + } + ], + "sp_curr_employment": [ + { + "spouse_gross_salary": "4000.45", + "deductions": [ + { + "name": "Federal tax", + "amount": "325.54" + }, + { + "name": "Health insurance", + "amount": "250.34" + }, + { + "name": "Garnishment", + "amount": "150" + } + ], + "type": "Full time", + "from": "2018-6-XX", + "to": "", + "is_current": true, + "employer_name": "Spouse Current" + } + ], + "financial_overview": {}, + "available_options": {}, + "income": [ + { + "veteran_or_spouse": "VETERAN", + "compensation_and_pension": "3261.1", + "education": "50" + } + ] +} \ No newline at end of file diff --git a/modules/debts_api/spec/fixtures/pre_submission_fsr/non_enhanced_fsr_expenses.json b/modules/debts_api/spec/fixtures/pre_submission_fsr/non_enhanced_fsr_expenses.json index 3d24761e3e7..828cf2d1acd 100644 --- a/modules/debts_api/spec/fixtures/pre_submission_fsr/non_enhanced_fsr_expenses.json +++ b/modules/debts_api/spec/fixtures/pre_submission_fsr/non_enhanced_fsr_expenses.json @@ -1,21 +1,21 @@ -{ - "view:enhancedFinancialStatusReport": false, +{ + "view:enhanced_financial_status_report": false, "expenses": { - "rentOrMortgage": "1200.25", + "rent_or_mortgage": "1200.25", "food": "4000.38", - "creditCardBills": [ + "credit_card_bills": [ { "purpose": "Credit card payment", - "creditorName": "", - "originalAmount": "", - "unpaidBalance": "300000", - "amountDueMonthly": "10000", - "dateStarted": "", - "amountPastDue": "7000" + "creditor_name": "", + "original_amount": "", + "unpaid_balance": "300000", + "amount_due_monthly": "10000", + "date_started": "", + "amount_past_due": "7000" } ] }, - "otherExpenses": [ + "other_expenses": [ { "name": "Pool service", "amount": "200" @@ -29,38 +29,38 @@ "amount": "300" } ], - "installmentContracts": [ + "installment_contracts": [ { "purpose": "Credit card payments", - "creditorName": "Creditor One", - "originalAmount": "50000.54", - "unpaidBalance": "15000.56", - "amountDueMonthly": "800.10", - "dateStarted": "2017-03-XX", - "amountPastDue": "125.43" + "creditor_name": "Creditor One", + "original_amount": "50000.54", + "unpaid_balance": "15000.56", + "amount_due_monthly": "800.10", + "date_started": "2017_03_xx", + "amount_past_due": "125.43" }, { "purpose": "Car payment/lease", - "creditorName": "Creditor Two", - "originalAmount": "100000.43", - "unpaidBalance": "50000.26", - "amountDueMonthly": "1200.54", - "dateStarted": "2019-05-XX", - "amountPastDue": "0" + "creditor_name": "Creditor Two", + "original_amount": "100000.43", + "unpaid_balance": "50000.26", + "amount_due_monthly": "1200.54", + "date_started": "2019_05_xx", + "amount_past_due": "0" } ], - "utilityRecords": [ + "utility_records": [ { "name": "Electricity", - "monthlyUtilityAmount": "402.35" + "monthly_utility_amount": "402.35" }, { "name": "Gas", - "monthlyUtilityAmount": "85.16" + "monthly_utility_amount": "85.16" }, { "name": "Cable", - "monthlyUtilityAmount": "175.47" + "monthly_utility_amount": "175.47" } ] } \ No newline at end of file diff --git a/modules/debts_api/spec/lib/debt_api/v0/fsr_form_transform/asset_calculator_spec.rb b/modules/debts_api/spec/lib/debt_api/v0/fsr_form_transform/asset_calculator_spec.rb index c32d40346f1..d60aa9bc916 100644 --- a/modules/debts_api/spec/lib/debt_api/v0/fsr_form_transform/asset_calculator_spec.rb +++ b/modules/debts_api/spec/lib/debt_api/v0/fsr_form_transform/asset_calculator_spec.rb @@ -13,7 +13,7 @@ end def calculate_total_assets - calculations_controller = described_class.new(maximal_fsr_form_data['data']) + calculations_controller = described_class.new(maximal_fsr_form_data) @total_assets = calculations_controller.get_total_assets end diff --git a/modules/debts_api/spec/lib/debt_api/v0/fsr_form_transform/expense_calculator_spec.rb b/modules/debts_api/spec/lib/debt_api/v0/fsr_form_transform/expense_calculator_spec.rb index 616251e53dd..1c0fa6c610e 100644 --- a/modules/debts_api/spec/lib/debt_api/v0/fsr_form_transform/expense_calculator_spec.rb +++ b/modules/debts_api/spec/lib/debt_api/v0/fsr_form_transform/expense_calculator_spec.rb @@ -3,7 +3,7 @@ require 'rails_helper' require 'debts_api/v0/fsr_form_transform/expense_calculator' -RSpec.describe DebtsApi::V0::FsrFormTransform::ExpenceCalculator, type: :service do +RSpec.describe DebtsApi::V0::FsrFormTransform::ExpenseCalculator, type: :service do describe '#get_monthly_expenses' do let(:enhanced_expenses) do get_fixture_absolute('modules/debts_api/spec/fixtures/pre_submission_fsr/enhanced_fsr_expenses') diff --git a/modules/debts_api/spec/lib/debt_api/v0/fsr_form_transform/income_calculator_spec.rb b/modules/debts_api/spec/lib/debt_api/v0/fsr_form_transform/income_calculator_spec.rb index e4ece18eb4a..7cc9bb3d267 100644 --- a/modules/debts_api/spec/lib/debt_api/v0/fsr_form_transform/income_calculator_spec.rb +++ b/modules/debts_api/spec/lib/debt_api/v0/fsr_form_transform/income_calculator_spec.rb @@ -13,7 +13,7 @@ end def populate_monthly_income - calculations_controller = described_class.new(maximal_fsr_form_data['data']) + calculations_controller = described_class.new(maximal_fsr_form_data) @monthly_income = calculations_controller.get_monthly_income end diff --git a/modules/debts_api/spec/request/debts_api/v0/financial_status_reports_calculations_controller_spec.rb b/modules/debts_api/spec/request/debts_api/v0/financial_status_reports_calculations_controller_spec.rb index d4366e9e4bd..5680d75993d 100644 --- a/modules/debts_api/spec/request/debts_api/v0/financial_status_reports_calculations_controller_spec.rb +++ b/modules/debts_api/spec/request/debts_api/v0/financial_status_reports_calculations_controller_spec.rb @@ -16,6 +16,18 @@ let(:enhanced_expenses) do get_fixture_absolute('modules/debts_api/spec/fixtures/pre_submission_fsr/enhanced_fsr_expenses') end + let(:andrew_expenses) do + get_fixture_absolute('modules/debts_api/spec/fixtures/pre_submission_fsr/andrew_fsr_expenses') + end + let(:andrew_two) do + get_fixture_absolute('modules/debts_api/spec/fixtures/pre_submission_fsr/andrew_fsr_2') + end + let(:andrew_three) do + get_fixture_absolute('modules/debts_api/spec/fixtures/pre_submission_fsr/andrew_fsr_3') + end + let(:andrew_to_the_max) do + get_fixture_absolute('modules/debts_api/spec/fixtures/pre_submission_fsr/andrew_maximal') + end let(:old_expenses) do get_fixture_absolute('modules/debts_api/spec/fixtures/pre_submission_fsr/non_enhanced_fsr_expenses') end @@ -31,6 +43,29 @@ expect(response).to have_http_status(:ok) end end + + context 'with andrew fsr form data' do + it 'returns monthly income' do + post('/debts_api/v0/calculate_monthly_income', params: andrew_expenses.to_h, as: :json) + expect(response).to have_http_status(:ok) + end + + it 'behaves like the FE' do + post('/debts_api/v0/calculate_monthly_income', params: andrew_two.to_h, as: :json) + expect(response).to have_http_status(:ok) + + vet_other_income = JSON.parse(response.body)['vetIncome']['otherIncome'] + expect(vet_other_income['name']).to eq('Social Security') + expect(vet_other_income['amount']).to eq(500) + + spouse_other_income = JSON.parse(response.body)['spIncome']['otherIncome'] + expect(spouse_other_income['name']).to eq('Disability Compensation, Education, Caretaker income') + expect(spouse_other_income['amount']).to eq(600) + + expect(JSON.parse(response.body)['spIncome']['totalMonthlyNetIncome']).to eq(1600) + expect(JSON.parse(response.body)['totalMonthlyNetIncome']).to eq(3100) + end + end end describe '#total_assets' do @@ -40,6 +75,20 @@ expect(response).to have_http_status(:ok) end end + + context 'with andrew fsr form data' do + it 'calculates and returns total asset value' do + post('/debts_api/v0/calculate_total_assets', params: andrew_expenses.to_h, as: :json) + expect(response).to have_http_status(:ok) + end + + it 'behaves like FE' do + post('/debts_api/v0/calculate_total_assets', params: andrew_three.to_h, as: :json) + expect(response).to have_http_status(:ok) + body = JSON.parse(response.body) + expect(body).to eq({ 'calculatedTotalAssets' => 2780.35 }) + end + end end describe '#all_expenses' do @@ -48,6 +97,11 @@ post('/debts_api/v0/calculate_all_expenses', params: enhanced_expenses.to_h, as: :json) expect(response).to have_http_status(:ok) end + + it 'takes andrews params' do + post('/debts_api/v0/calculate_all_expenses', params: andrew_expenses.to_h, as: :json) + expect(response).to have_http_status(:ok) + end end context 'with old form params' do @@ -63,6 +117,8 @@ it 'returns all expenses' do post('/debts_api/v0/calculate_monthly_expenses', params: enhanced_expenses.to_h, as: :json) expect(response).to have_http_status(:ok) + body = JSON.parse(response.body) + expect(body).to eq({ 'calculatedMonthlyExpenses' => 19_603.44 }) end end From 46d4b6601c20e75a50c3b2c2f37e7097658fc1ab Mon Sep 17 00:00:00 2001 From: AJ Magdub Date: Tue, 16 Apr 2024 10:22:04 -0600 Subject: [PATCH 45/74] test(vaos): stub out jwts from vcr cassettes (#16352) va.gov-team#79383 --- .../vaos/appointment_requests/get_request_with_id.yml | 2 +- .../vaos/appointment_requests/get_requests.yml | 4 ++-- .../appointment_requests/get_requests_with_params.yml | 10 +++++----- .../vaos/appointment_requests/post_request.yml | 2 +- .../vaos/appointment_requests/post_request_CC.yml | 2 +- .../vaos/appointment_requests/put_request.yml | 2 +- .../vaos/appointments/get_appointments.yml | 2 +- .../get_appointments_200_partial_error.yml | 2 +- .../vaos/appointments/get_appointments_500.yml | 4 ++-- .../vaos/appointments/get_appointments_empty.yml | 4 ++-- .../vaos/appointments/get_appointments_map_error.yml | 2 +- .../vaos/appointments/get_cc_appointments.yml | 2 +- .../vaos/appointments/get_cc_appointments_500.yml | 4 ++-- .../vaos/appointments/get_cc_appointments_empty.yml | 4 ++-- .../vaos/appointments/post_appointment.yml | 2 +- .../vaos/appointments/post_appointment_400.yml | 2 +- .../vaos/appointments/post_appointment_409.yml | 2 +- .../vaos/appointments/put_cancel_appointment.yml | 2 +- .../vaos/appointments/put_cancel_appointment_409.yml | 2 +- .../vaos/appointments/show_appointment_404.yml | 2 +- .../vaos/appointments/show_appointment_500.yml | 4 ++-- .../vaos/appointments/show_appointment_with_dash.yml | 2 +- .../vaos/cc_eligibility/get_eligibility_400.yml | 2 +- .../vaos/cc_eligibility/get_eligibility_false.yml | 2 +- .../vaos/cc_eligibility/get_eligibility_true.yml | 2 +- .../vaos/cc_supported_sites/get_no_sites.yml | 4 ++-- .../vaos/cc_supported_sites/get_one_site.yml | 2 +- .../vcr_cassettes/vaos/fhir/appointment/search_200.yml | 2 +- .../vaos/fhir/appointment/search_no_records.yml | 2 +- .../vcr_cassettes/vaos/fhir/get_conformance.yml | 4 ++-- .../vcr_cassettes/vaos/fhir/get_organization.yml | 4 ++-- .../vcr_cassettes/vaos/fhir/patient/search_200.yml | 2 +- .../vcr_cassettes/vaos/fhir/patient/search_404.yml | 2 +- .../vcr_cassettes/vaos/fhir/patient/search_500.yml | 2 +- .../vcr_cassettes/vaos/fhir/read_organization_200.yml | 4 ++-- .../vcr_cassettes/vaos/fhir/read_organization_404.yml | 4 ++-- .../vcr_cassettes/vaos/fhir/read_organization_500.yml | 4 ++-- .../vaos/fhir/search_organization_200.yml | 4 ++-- .../fhir/search_organization_200_no_query_string.yml | 6 +++--- .../vaos/fhir/search_organization_404.yml | 4 ++-- .../vaos/fhir/slot/search_200_no_slots_found.yml | 2 +- .../vaos/fhir/slot/search_200_slots_found.yml | 2 +- .../vcr_cassettes/vaos/fhir/slot/search_500.yml | 2 +- .../vcr_cassettes/vaos/messages/get_messages_500.yml | 4 ++-- .../vcr_cassettes/vaos/messages/post_message.yml | 2 +- .../vcr_cassettes/vaos/messages/post_message_error.yml | 2 +- .../vaos/messages/post_message_error_400.yml | 2 +- .../vcr_cassettes/vaos/preferences/get_preferences.yml | 4 ++-- .../vcr_cassettes/vaos/preferences/put_preferences.yml | 2 +- .../vcr_cassettes/vaos/systems/get_cancel_reasons.yml | 4 ++-- .../vaos/systems/get_cancel_reasons_500.yml | 4 ++-- .../get_direct_booking_eligibility_criteria_by_id.yml | 2 +- ...ct_booking_eligibility_criteria_by_parent_sites.yml | 2 +- ...rect_booking_eligibility_criteria_by_site_codes.yml | 2 +- .../vcr_cassettes/vaos/systems/get_facilities.yml | 4 ++-- .../vcr_cassettes/vaos/systems/get_facilities_500.yml | 4 ++-- .../systems/get_facilities_limits_for_multiple.yml | 2 +- .../systems/get_facilities_limits_for_multiple_500.yml | 6 +++--- .../vaos/systems/get_facilities_multiple.yml | 4 ++-- .../vaos/systems/get_facility_appointments.yml | 4 ++-- .../systems/get_facility_available_appointments.yml | 4 ++-- .../vaos/systems/get_facility_clinics.yml | 4 ++-- .../vaos/systems/get_facility_clinics_500.yml | 4 ++-- .../vcr_cassettes/vaos/systems/get_facility_limits.yml | 4 ++-- .../vaos/systems/get_facility_limits_500.yml | 4 ++-- .../vcr_cassettes/vaos/systems/get_facility_visits.yml | 4 ++-- .../vaos/systems/get_facility_visits_500.yml | 4 ++-- .../vaos/systems/get_facility_visits_request.yml | 4 ++-- .../vcr_cassettes/vaos/systems/get_institutions.yml | 4 ++-- .../vaos/systems/get_institutions_single.yml | 4 ++-- .../vaos/systems/get_request_eligibility_criteria.yml | 4 ++-- .../systems/get_request_eligibility_criteria_by_id.yml | 4 ++-- ...et_request_eligibility_criteria_by_parent_sites.yml | 4 ++-- .../get_request_eligibility_criteria_by_site_codes.yml | 4 ++-- .../get_request_eligibility_criteria_site_codes.yml | 6 +++--- .../vaos/systems/get_system_facilities.yml | 4 ++-- .../vaos/systems/get_system_facilities_500.yml | 4 ++-- .../systems/get_system_facilities_express_care.yml | 4 ++-- .../vaos/systems/get_system_facilities_noparent.yml | 4 ++-- .../vcr_cassettes/vaos/systems/get_system_pact.yml | 4 ++-- .../vcr_cassettes/vaos/systems/get_system_pact_500.yml | 4 ++-- .../support/vcr_cassettes/vaos/systems/get_systems.yml | 4 ++-- .../vcr_cassettes/vaos/systems/get_systems_403.yml | 4 ++-- .../vcr_cassettes/vaos/systems/get_systems_420.yml | 4 ++-- .../vcr_cassettes/vaos/systems/get_systems_500.yml | 4 ++-- .../vaos/v2/appointments/cancel_appointment_400.yml | 2 +- .../v2/appointments/cancel_appointment_vpg_400.yml | 2 +- .../vaos/v2/appointments/cancel_appointments_200.yml | 6 +++--- .../v2/appointments/cancel_appointments_vpg_200.yml | 2 +- .../vaos/v2/appointments/get_appointment_200.yml | 2 +- .../get_appointment_200_JACQUELINE_M_BOOKED.yml | 2 +- ...tment_200_JACQUELINE_M_PROPOSED_12082022_backup.yml | 6 +++--- .../appointments/get_appointment_200_JUDY_BOOKED.yml | 8 ++++---- .../appointments/get_appointment_200_cc_proposed.yml | 2 +- .../vaos/v2/appointments/get_appointments_200.yml | 2 +- .../v2/appointments/get_appointments_200_12082022.yml | 6 +++--- .../appointments/get_appointments_200_cc_proposed.yml | 2 +- ...pointments_200_with_mobile_facility_service_500.yml | 8 ++++---- .../vaos/v2/appointments/get_appointments_400.yml | 6 +++--- .../vaos/v2/appointments/get_appointments_401.yml | 6 +++--- .../vaos/v2/appointments/get_appointments_500.yml | 4 ++-- .../appointments/get_appointments_multi_status_200.yml | 2 +- .../vaos/v2/appointments/post_appointments_400.yml | 2 +- .../vaos/v2/appointments/post_appointments_500.yml | 4 ++-- .../vaos/v2/appointments/post_appointments_cc_200.yml | 6 +++--- .../appointments/post_appointments_cc_200_2222022.yml | 2 +- .../appointments/post_appointments_cc_200_2252022.yml | 2 +- .../appointments/post_appointments_cc_200_2282022.yml | 2 +- .../v2/appointments/post_appointments_cc_200_back.yml | 2 +- .../post_appointments_cc_200_with_provider.yml | 2 +- .../post_appointments_va_booked_200_JM_should_fail.yml | 4 ++-- .../get_facilities_200_with_children.yml | 4 ++-- .../v2/mobile_facility_service/get_facility_200.yml | 2 +- .../v2/mobile_facility_service/get_facility_400.yml | 2 +- .../v2/mobile_facility_service/get_facility_500.yml | 4 ++-- ..._facilities_with_children_schedulable_false_200.yml | 2 +- .../get_scheduling_configurations_500.yml | 4 ++-- .../get_scheduling_configurations_cc_200.yml | 2 +- .../mobile_ppms_service/get_provider_200_12082022.yml | 4 ++-- .../get_patient_appointment_metadata_500_vaos.yml | 4 ++-- .../get_patient_appointment_metadata_500_vpg.yml | 4 ++-- .../vaos/v2/systems/get_facilities_500.yml | 4 ++-- .../vaos/v2/systems/get_facility_clinics_200.yml | 4 ++-- 123 files changed, 208 insertions(+), 208 deletions(-) diff --git a/spec/support/vcr_cassettes/vaos/appointment_requests/get_request_with_id.yml b/spec/support/vcr_cassettes/vaos/appointment_requests/get_request_with_id.yml index 10e7fd9df0c..3c0768b67f7 100644 --- a/spec/support/vcr_cassettes/vaos/appointment_requests/get_request_with_id.yml +++ b/spec/support/vcr_cassettes/vaos/appointment_requests/get_request_with_id.yml @@ -16,7 +16,7 @@ http_interactions: Referer: - https://review-instance.va.gov X-Vamf-Jwt: - - eyJhbGciOiJSUzUxMiJ9.eyJsYXN0TmFtZSI6Ik1vcnJpc29uIiwic3ViIjoiMTAxMjg0NTMzMVYxNTMwNDMiLCJhdXRoZW50aWNhdGVkIjp0cnVlLCJhdXRoZW50aWNhdGlvbkF1dGhvcml0eSI6Imdvdi52YS52YW9zIiwiaWRUeXBlIjoiSUNOIiwiZ2VuZGVyIjoiRkVNQUxFIiwiaXNzIjoiZ292LnZhLnZhbWYudXNlcnNlcnZpY2UudjIiLCJ2YW1mLmF1dGgucmVzb3VyY2VzIjpbIl4uKihcLyk_c2l0ZVtzXT9cLyhkZm4tKT85ODRcL3BhdGllbnRbc10_XC81NTIxNjEwNTBcL2FwcG9pbnRtZW50cyhcLy4qKT8kIiwiXi4qKFwvKT9zaXRlW3NdP1wvKGRmbi0pPzk4M1wvcGF0aWVudFtzXT9cLzcyMTY2OTFcL2FwcG9pbnRtZW50cyhcLy4qKT8kIiwiXi4qKFwvKT9wYXRpZW50W3NdP1wvKElDTlwvKT8xMDEyODQ1MzMxVjE1MzA0MyhcLy4qKT8kIl0sImRhdGVPZkJpcnRoIjoiMTk1MzA0MDEiLCJ2ZXJzaW9uIjoyLjEsImVkaXBpZCI6IjEyNTk4OTc5NzgiLCJ2aXN0YUlkcyI6W3sicGF0aWVudElkIjoiNTUyMTYxMDUwIiwic2l0ZUlkIjoiOTg0In0seyJwYXRpZW50SWQiOiI3MjE2NjkxIiwic2l0ZUlkIjoiOTgzIn1dLCJzc24iOiI3OTYwNjE5NzYiLCJmaXJzdE5hbWUiOiJKdWR5Iiwic3RhZmZEaXNjbGFpbWVyQWNjZXB0ZWQiOnRydWUsIm5iZiI6MTYxMTA4ODYyNCwic3N0IjoxNjExMDg4ODA0LCJwYXRpZW50Ijp7ImZpcnN0TmFtZSI6Ikp1ZHkiLCJsYXN0TmFtZSI6Ik1vcnJpc29uIiwiZ2VuZGVyIjoiRkVNQUxFIiwiaWNuIjoiMTAxMjg0NTMzMVYxNTMwNDMiLCJkb2IiOiIxOTUzLTA0LTAxIiwiZGF0ZU9mQmlydGgiOiIxOTUzLTA0LTAxIiwic3NuIjoiNzk2MDYxOTc2In0sImRvYiI6IjE5NTMwNDAxIiwidmFtZi5hdXRoLnJvbGVzIjpbInZldGVyYW4iXSwicmlnaHRPZkFjY2Vzc0FjY2VwdGVkIjp0cnVlLCJleHAiOjE2MTEwODk3MDQsImp0aSI6ImIyMjBkNTVhLTJlZGQtNDI4MS04ODBkLThmMTc1MGE3ZWM5ZSIsImxvYSI6Mn0.Yje2jYpVo2xU7-IgtW8BumqFY-A114-vzYLXo7S5wrWstvH3ju-LsYKj-Bxl9DELyQnHELGQYwktJ5Xlu-yF14Qp_JOHbMsFalm83dcjvYGrrR50B6qowdF2pF9wYGtuwD2DNXHK7CzqmblWCMGDL9JhY4aTIlpu4FSNHbVM2B0BQreU7brs5iN03BfadL2enPLiVpdSNBi_kUwGxG0m9sCgXa7aIcyp4Std6kSMXzFUIPQOwjv0OZFcucVLdufGa56Hi9dZXtrf3l91Rr1qKLeNh4NnSltuIyYKGWUx9bAOX1_1KdNyo1iZSjT63B3QyV-QkbgdyxsqttP2MvXEnw + - stubbed_token X-Request-Id: - "" Accept-Encoding: diff --git a/spec/support/vcr_cassettes/vaos/appointment_requests/get_requests.yml b/spec/support/vcr_cassettes/vaos/appointment_requests/get_requests.yml index 769c3c95fd4..e6adbe6f31a 100644 --- a/spec/support/vcr_cassettes/vaos/appointment_requests/get_requests.yml +++ b/spec/support/vcr_cassettes/vaos/appointment_requests/get_requests.yml @@ -51,9 +51,9 @@ http_interactions: Access-Control-Max-Age: - '3600' Set-Cookie: - - TS016f4012=01c16e2d81fc226234f653b401a6d3c45964b178c3dca337d48dc27850ee4b2500802d8cd5ce3022f84792af5d23119520ca71bbc596b1ad67dc95ab16a1a86b35c68d151ea4d6e53a92650a851039167e75ca477a; + - TS016f4012=stubbed_cookie; Max-Age=900; Path=/ - - vamfjwtv3=eyJ6aXAiOiJERUYiLCJjdHkiOiJKV1QiLCJlbmMiOiJBMjU2Q0JDLUhTNTEyIiwiYWxnIjoiUlNBLU9BRVAtMjU2In0.ZyMpgyWmTxwJ4xf7e9aF8vSHP9YEZwRrI9sIRVX5x_tztvCzp4TDNj0yZ33GwHlXgDRFDIWh9qNZAq6d7ECDnI9hzZk-3Q-GM69bkUcdLRrYE4UX4i8HQawxXfC05lVHnqNZo81n4-laN91S6_In613ZcAQ4y4V-734nxqXFH9mYJUlf1MI3ixIPQ9G_0liQyvk0bZ2eE6GGGyDqt7mOvw_SGR3D3xgjB_csivbhkgY8qTOTTHCkRqYG6Ehpj9k2kiS_HD3XBVbyKTv3Oa7DtbnJ6HbFP7LUh-4pTATSBxT9IjyKtfCEHV9k0ZwMZGrnvJHmGaE3EcBq1qjeqdtdcw.aaLqA_CnlF_lo6pn2zINXw.Nn_C0mbkeOeXwxdkw_6h81GtmH0ykuMIKPeUUW4Z_yEmfBgTi6Ber9OUnv8OSsNVA8KUwsP8kgGB6Mh8xnvSVuA2jmn8YeG1dojV4Mhi8bGj4F0qKYTaCGorCEqpN8cu2wzupCuM4FYT3mXhHao1h_-Qc6_tRiDpbq572MngKJG8KHS7RYkMUo9RCRTuwSHQXr7XFN9Y0uToKGrY_r8a3LUr6PV8N5iFWunWF1G8_d6QbMFo-EY54cd9VPdJqydOtvTStyRbVjfq6Ud9GyzblgO22-jedghx0EOLOxjcIOVCEdJNnAnfokl50K53dW7ogK0Uj6ljH7_XzHyjhfDGBE_Xm_r2c9LYPX8_jp1bO2AZYllJGupAbJ4mIGCEG1zxUBNDaKX_T5rV5G5vxTGqlLw-9h6Il6rcqScrrfVciK46fnHZWfOZadevMNqO6yafMlUOQqnL4HodZRy4soy_KKlO4lsMX6LM1mVJM0SNU3YZUO0KuhCSTz8cMnuoek26OTurc6_x2ZrMMLS_GLh-m8pdjbvsjhbjw2n-yBQrKvHf1jl1cvUQSG8pHCFOjni2coUmmbTy0omzt29A1-NkOwbcIw7H2cgnosYzdpkgOvOMJgYAz-_PHYba1aDF8SNZpTl49TrIJXp01mVWwr-5buDmCbebuk1beqwb1-3FQI0.Owtu7sXRP0m4qVdPQ0qMZJKr2mVrSUrtpGpH9hvqjAM; + - vamfjwtv3=stubbed_token; path=/;max-age=900; HttpOnly - vamftimeoutv1=1567617431; path=/ body: diff --git a/spec/support/vcr_cassettes/vaos/appointment_requests/get_requests_with_params.yml b/spec/support/vcr_cassettes/vaos/appointment_requests/get_requests_with_params.yml index 32501423e2b..770410ae9bf 100644 --- a/spec/support/vcr_cassettes/vaos/appointment_requests/get_requests_with_params.yml +++ b/spec/support/vcr_cassettes/vaos/appointment_requests/get_requests_with_params.yml @@ -51,9 +51,9 @@ http_interactions: Access-Control-Max-Age: - '3600' Set-Cookie: - - TS016f4012=01c16e2d81fc226234f653b401a6d3c45964b178c3dca337d48dc27850ee4b2500802d8cd5ce3022f84792af5d23119520ca71bbc596b1ad67dc95ab16a1a86b35c68d151ea4d6e53a92650a851039167e75ca477a; + - TS016f4012=stubbed_cookie; Max-Age=900; Path=/ - - vamfjwtv3=eyJ6aXAiOiJERUYiLCJjdHkiOiJKV1QiLCJlbmMiOiJBMjU2Q0JDLUhTNTEyIiwiYWxnIjoiUlNBLU9BRVAtMjU2In0.ZyMpgyWmTxwJ4xf7e9aF8vSHP9YEZwRrI9sIRVX5x_tztvCzp4TDNj0yZ33GwHlXgDRFDIWh9qNZAq6d7ECDnI9hzZk-3Q-GM69bkUcdLRrYE4UX4i8HQawxXfC05lVHnqNZo81n4-laN91S6_In613ZcAQ4y4V-734nxqXFH9mYJUlf1MI3ixIPQ9G_0liQyvk0bZ2eE6GGGyDqt7mOvw_SGR3D3xgjB_csivbhkgY8qTOTTHCkRqYG6Ehpj9k2kiS_HD3XBVbyKTv3Oa7DtbnJ6HbFP7LUh-4pTATSBxT9IjyKtfCEHV9k0ZwMZGrnvJHmGaE3EcBq1qjeqdtdcw.aaLqA_CnlF_lo6pn2zINXw.Nn_C0mbkeOeXwxdkw_6h81GtmH0ykuMIKPeUUW4Z_yEmfBgTi6Ber9OUnv8OSsNVA8KUwsP8kgGB6Mh8xnvSVuA2jmn8YeG1dojV4Mhi8bGj4F0qKYTaCGorCEqpN8cu2wzupCuM4FYT3mXhHao1h_-Qc6_tRiDpbq572MngKJG8KHS7RYkMUo9RCRTuwSHQXr7XFN9Y0uToKGrY_r8a3LUr6PV8N5iFWunWF1G8_d6QbMFo-EY54cd9VPdJqydOtvTStyRbVjfq6Ud9GyzblgO22-jedghx0EOLOxjcIOVCEdJNnAnfokl50K53dW7ogK0Uj6ljH7_XzHyjhfDGBE_Xm_r2c9LYPX8_jp1bO2AZYllJGupAbJ4mIGCEG1zxUBNDaKX_T5rV5G5vxTGqlLw-9h6Il6rcqScrrfVciK46fnHZWfOZadevMNqO6yafMlUOQqnL4HodZRy4soy_KKlO4lsMX6LM1mVJM0SNU3YZUO0KuhCSTz8cMnuoek26OTurc6_x2ZrMMLS_GLh-m8pdjbvsjhbjw2n-yBQrKvHf1jl1cvUQSG8pHCFOjni2coUmmbTy0omzt29A1-NkOwbcIw7H2cgnosYzdpkgOvOMJgYAz-_PHYba1aDF8SNZpTl49TrIJXp01mVWwr-5buDmCbebuk1beqwb1-3FQI0.Owtu7sXRP0m4qVdPQ0qMZJKr2mVrSUrtpGpH9hvqjAM; + - vamfjwtv3=stubbed_token; path=/;max-age=900; HttpOnly - vamftimeoutv1=1567617431; path=/ body: @@ -241,7 +241,7 @@ http_interactions: uri: https://internal-dsva-vagov-staging-fwdproxy-1821450725.us-gov-west-1.elb.amazonaws.com:4463/users/v2/session?processRules=true body: encoding: US-ASCII - string: eyJhbGciOiJSUzUxMiJ9.eyJhdXRoZW50aWNhdGVkIjp0cnVlLCJzdWIiOiIxMDAwMTIzNDU2VjEyMzQ1NiIsImlkVHlwZSI6IklDTiIsImlzcyI6Imdvdi52YS52YW9zIiwiZmlyc3ROYW1lIjoiQmVubmllIiwibGFzdE5hbWUiOiJTY2hhZWZlciIsImF1dGhlbnRpY2F0aW9uQXV0aG9yaXR5IjoiZ292LnZhLmlhbS5zc29lLnYxIiwianRpIjoiMmE0ZmVlYzEtZjI2Yi00ZGRmLWE1MGEtMzVkMzkwMzQwYjhmIiwibmJmIjoxNjExMDc0OTYxLCJleHAiOjE2MTEwNzU5MjEsInNzdCI6MTYxMTA3NTAxMSwidmVyc2lvbiI6Mi4xLCJnZW5kZXIiOiJGRU1BTEUiLCJkb2IiOiIxOTQxMDMwNiIsImRhdGVPZkJpcnRoIjoiMTk0MTAzMDYiLCJlZGlwaWQiOiI2NzQ4NTcwNDk2Iiwic3NuIjoiMDEyNzk1OTk1In0.VmhibNJxd903cvoFCdmWo3qM2f30VErJHxpdbMjMBRO9DMpKGzW0PBr67dd17Av9Iri-Ft334_80elGt2iBaOoc_bK7ceD5_frWcEKmkmxHDUmKstnW_zvImiy7kI7RbxMGSfoRvkUkmw1svDKnFokRfIeK_rgzcdKC5pKYab0N66zhs53_egbcm2TQfERpF_heXfXjwCVNg8Rcs8qM51q7TBQ-MeYeSw2lsAiRPdzj_V0y0hooZSd27UjfghSlcc2KyCwQlK_6rCVYsVCwBP0sqyGyK7TJ9cWM1LLessi0OULlqFQKBDRDcSKXFrkbNHsS2LROw-mIxxl3Owmqx7dJ6jwuvr4i9O1IP9O3c3oz8wj8Gkhnv4WbtLYbK28VOmG4aKd31jIAR51orIBURDDkvs9Qp80j3ZqRvSan-XPZJC4aiM434eaMAN1HYB5EHMbV7xJZQHUoqh5waqpebS579aoPSASpkH4jNiGKjiShQTSY21Y_rnI1cF7zInUMWk6yZFQJsRw1cMg8HNzcOyLBm_bZg4O0lGEYR9mw1VStf9x8krJPdGAlVhvJ1_5NoUxmOS7-xlajzpF922P2DXD48vnsBlL8hZgRmOP6xbVsGPdpCG8O_4k39wQh_e0yf4fI5FvG0jf8ikTG0h3k55eV5nQhxHeArg3i9EZYuiI0 + string: stubbed_token headers: Accept: - text/plain @@ -288,7 +288,7 @@ http_interactions: - max-age=63072000; includeSubDomains; preload body: encoding: UTF-8 - string: eyJhbGciOiJSUzUxMiJ9.eyJsYXN0TmFtZSI6IlNjaGFlZmVyIiwic3ViIjoiMTAwMDEyMzQ1NlYxMjM0NTYiLCJhdXRoZW50aWNhdGVkIjp0cnVlLCJhdXRoZW50aWNhdGlvbkF1dGhvcml0eSI6Imdvdi52YS52YW9zIiwiaWRUeXBlIjoiSUNOIiwiZ2VuZGVyIjoiRkVNQUxFIiwiaXNzIjoiZ292LnZhLnZhbWYudXNlcnNlcnZpY2UudjIiLCJkYXRlT2ZCaXJ0aCI6IjE5NDEwMzA2IiwidmVyc2lvbiI6Mi4xLCJlZGlwaWQiOiI2NzQ4NTcwNDk2Iiwic3NuIjoiMDEyNzk1OTk1IiwiZmlyc3ROYW1lIjoiQmVubmllIiwibmJmIjoxNjExMDc0ODQxLCJzc3QiOjE2MTEwNzUwMjEsImRvYiI6IjE5NDEwMzA2IiwicGF0aWVudCI6eyJmaXJzdE5hbWUiOiJCZW5uaWUiLCJsYXN0TmFtZSI6IlNjaGFlZmVyIiwiZ2VuZGVyIjoiRkVNQUxFIiwiaWNuIjoiMTAwMDEyMzQ1NlYxMjM0NTYiLCJkb2IiOiIxOTQxLTAzLTA2IiwiZGF0ZU9mQmlydGgiOiIxOTQxLTAzLTA2Iiwic3NuIjoiMDEyNzk1OTk1In0sInZhbWYuYXV0aC5yb2xlcyI6WyJ2ZXRlcmFuIl0sImV4cCI6MTYxMTA3NTkyMSwianRpIjoiMmE0ZmVlYzEtZjI2Yi00ZGRmLWE1MGEtMzVkMzkwMzQwYjhmIiwibG9hIjoyfQ.CHnNg422D87rf0ow3ZphdUHRVUIbq7K9TKNigChZ6wCvakvi_Oxzi5TwH4ebvJGLSuoSZ9_PJFPtz-eh9CCf7j_KCHEdEYwNILzeczrHq0GrIDAfoqlwZc8_4b10UAsMsIFsQhAn3uwBqJi3G9kIzY1fpkYgHHaPlpeiquGG84gw6VLCgYiKFm5PuvcLK6NNNdDKuZMuSiCqnVt3T_reg9Pri7YK4UUCbUy1IovCOH8bXKSht7nGLa0e3CN48jLNoHHbVZJ8j_8uuVr3aZKsNi5ltnAjMULx9KSy5_cKIJWB5Rbid1WeeMS5y1j4CCEeOlrVqwbGBC143rGcK0Odsg + string: stubbed_token recorded_at: Tue, 19 Jan 2021 16:50:21 GMT - request: method: get @@ -306,7 +306,7 @@ http_interactions: Referer: - https://review-instance.va.gov X-Vamf-Jwt: - - eyJhbGciOiJSUzUxMiJ9.eyJsYXN0TmFtZSI6IlNjaGFlZmVyIiwic3ViIjoiMTAwMDEyMzQ1NlYxMjM0NTYiLCJhdXRoZW50aWNhdGVkIjp0cnVlLCJhdXRoZW50aWNhdGlvbkF1dGhvcml0eSI6Imdvdi52YS52YW9zIiwiaWRUeXBlIjoiSUNOIiwiZ2VuZGVyIjoiRkVNQUxFIiwiaXNzIjoiZ292LnZhLnZhbWYudXNlcnNlcnZpY2UudjIiLCJkYXRlT2ZCaXJ0aCI6IjE5NDEwMzA2IiwidmVyc2lvbiI6Mi4xLCJlZGlwaWQiOiI2NzQ4NTcwNDk2Iiwic3NuIjoiMDEyNzk1OTk1IiwiZmlyc3ROYW1lIjoiQmVubmllIiwibmJmIjoxNjExMDc0ODQxLCJzc3QiOjE2MTEwNzUwMjEsImRvYiI6IjE5NDEwMzA2IiwicGF0aWVudCI6eyJmaXJzdE5hbWUiOiJCZW5uaWUiLCJsYXN0TmFtZSI6IlNjaGFlZmVyIiwiZ2VuZGVyIjoiRkVNQUxFIiwiaWNuIjoiMTAwMDEyMzQ1NlYxMjM0NTYiLCJkb2IiOiIxOTQxLTAzLTA2IiwiZGF0ZU9mQmlydGgiOiIxOTQxLTAzLTA2Iiwic3NuIjoiMDEyNzk1OTk1In0sInZhbWYuYXV0aC5yb2xlcyI6WyJ2ZXRlcmFuIl0sImV4cCI6MTYxMTA3NTkyMSwianRpIjoiMmE0ZmVlYzEtZjI2Yi00ZGRmLWE1MGEtMzVkMzkwMzQwYjhmIiwibG9hIjoyfQ.CHnNg422D87rf0ow3ZphdUHRVUIbq7K9TKNigChZ6wCvakvi_Oxzi5TwH4ebvJGLSuoSZ9_PJFPtz-eh9CCf7j_KCHEdEYwNILzeczrHq0GrIDAfoqlwZc8_4b10UAsMsIFsQhAn3uwBqJi3G9kIzY1fpkYgHHaPlpeiquGG84gw6VLCgYiKFm5PuvcLK6NNNdDKuZMuSiCqnVt3T_reg9Pri7YK4UUCbUy1IovCOH8bXKSht7nGLa0e3CN48jLNoHHbVZJ8j_8uuVr3aZKsNi5ltnAjMULx9KSy5_cKIJWB5Rbid1WeeMS5y1j4CCEeOlrVqwbGBC143rGcK0Odsg + - stubbed_token X-Request-Id: - '' Accept-Encoding: diff --git a/spec/support/vcr_cassettes/vaos/appointment_requests/post_request.yml b/spec/support/vcr_cassettes/vaos/appointment_requests/post_request.yml index 43900b6e5b1..6bff68dd5ca 100644 --- a/spec/support/vcr_cassettes/vaos/appointment_requests/post_request.yml +++ b/spec/support/vcr_cassettes/vaos/appointment_requests/post_request.yml @@ -22,7 +22,7 @@ http_interactions: Referer: - https://api.va.gov X-Vamf-Jwt: - - eyJhbGciOiJSUzUxMiJ9.eyJsYXN0TmFtZSI6Ik1vcnJpc29uIiwic3ViIjoiMTAxMjg0NTMzMVYxNTMwNDMiLCJhdXRoZW50aWNhdGVkIjp0cnVlLCJhdXRoZW50aWNhdGlvbkF1dGhvcml0eSI6Imdvdi52YS52YW9zIiwiaWRUeXBlIjoiSUNOIiwiZ2VuZGVyIjoiRkVNQUxFIiwiaXNzIjoiZ292LnZhLnZhbWYudXNlcnNlcnZpY2UudjEiLCJ2YW1mLmF1dGgucmVzb3VyY2VzIjpbIl4uKihcLyk_c2l0ZVtzXT9cLyhkZm4tKT85ODRcL3BhdGllbnRbc10_XC81NTIxNjEwNTBcL2FwcG9pbnRtZW50cyhcLy4qKT8kIiwiXi4qKFwvKT9zaXRlW3NdP1wvKGRmbi0pPzk4M1wvcGF0aWVudFtzXT9cLzcyMTY2OTFcL2FwcG9pbnRtZW50cyhcLy4qKT8kIiwiXi4qKFwvKT9wYXRpZW50W3NdP1wvKElDTlwvKT8xMDEyODQ1MzMxVjE1MzA0MyhcLy4qKT8kIl0sImRhdGVPZkJpcnRoIjoiMTk1My0wNC0wMSIsInZlcnNpb24iOjIuMSwiZWRpcGlkIjoiMTI1OTg5Nzk3OCIsInZpc3RhSWRzIjpbeyJwYXRpZW50SWQiOiI1NTIxNjEwNTAiLCJzaXRlSWQiOiI5ODQifSx7InBhdGllbnRJZCI6IjcyMTY2OTEiLCJzaXRlSWQiOiI5ODMifV0sInNzbiI6Ijc5NjA2MTk3NiIsImZpcnN0TmFtZSI6Ikp1ZHkiLCJzdGFmZkRpc2NsYWltZXJBY2NlcHRlZCI6dHJ1ZSwibmJmIjoxNTc0NDE5ODA2LCJzc3QiOjE1NzQ0MTk5ODUsInBhdGllbnQiOnsiZmlyc3ROYW1lIjoiSnVkeSIsImxhc3ROYW1lIjoiTW9ycmlzb24iLCJnZW5kZXIiOiJGRU1BTEUiLCJpY24iOiIxMDEyODQ1MzMxVjE1MzA0MyIsImRvYiI6IjE5NTMtMDQtMDEiLCJkYXRlT2ZCaXJ0aCI6IjE5NTMtMDQtMDEiLCJzc24iOiI3OTYwNjE5NzYifSwiZG9iIjoiMTk1My0wNC0wMSIsInZhbWYuYXV0aC5yb2xlcyI6WyJ2ZXRlcmFuIl0sInJpZ2h0T2ZBY2Nlc3NBY2NlcHRlZCI6dHJ1ZSwiZXhwIjoxNTc0NDIwODg2LCJqdGkiOiJjMjU4ZGEyMy0yNzA4LTQxODgtYTZlMS1hODBkYTVkOGQzZTciLCJsb2EiOjJ9.DIekozxQ9DUTmoTRKt9TDT6fGWe5fur-82Yp6FYuQJSwgddUy-4xN_1V39JLr_epvSpyf00Y42tlmD7ZGhffU6FSFaqVboV7w1a8M-PQeSgbWPKMVvIeyWqU1tm2E78w9Yp-yVo3jD-5M1kWgr-M-UVTUdOssRcTeCreiodkRqf3TU_uPjhHlVGQzxNDUq2hpIoPJ1xf0mKUfKcR2RZypQGPVEem1cc-fbLIRtMFatfrECvlqk83revr5CSveskojzNx2hkjOmDlysmltmtcIXGSE5XY4riST03pHX3jwMgdjtrc-ymPT2fSuiwEfAQJPB8I6OQtljMiUEyta1vEtA + - stubbed_token Accept-Encoding: - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 response: diff --git a/spec/support/vcr_cassettes/vaos/appointment_requests/post_request_CC.yml b/spec/support/vcr_cassettes/vaos/appointment_requests/post_request_CC.yml index be28bc3b5b2..91722bbbfec 100644 --- a/spec/support/vcr_cassettes/vaos/appointment_requests/post_request_CC.yml +++ b/spec/support/vcr_cassettes/vaos/appointment_requests/post_request_CC.yml @@ -30,7 +30,7 @@ http_interactions: Referer: - https://api.va.gov X-Vamf-Jwt: - - eyJhbGciOiJSUzUxMiJ9.eyJsYXN0TmFtZSI6Ik1vcnJpc29uIiwic3ViIjoiMTAxMjg0NTMzMVYxNTMwNDMiLCJhdXRoZW50aWNhdGVkIjp0cnVlLCJhdXRoZW50aWNhdGlvbkF1dGhvcml0eSI6Imdvdi52YS52YW9zIiwiaWRUeXBlIjoiSUNOIiwiZ2VuZGVyIjoiRkVNQUxFIiwiaXNzIjoiZ292LnZhLnZhbWYudXNlcnNlcnZpY2UudjEiLCJ2YW1mLmF1dGgucmVzb3VyY2VzIjpbIl4uKihcLyk_c2l0ZVtzXT9cLyhkZm4tKT85ODRcL3BhdGllbnRbc10_XC81NTIxNjEwNTBcL2FwcG9pbnRtZW50cyhcLy4qKT8kIiwiXi4qKFwvKT9zaXRlW3NdP1wvKGRmbi0pPzk4M1wvcGF0aWVudFtzXT9cLzcyMTY2OTFcL2FwcG9pbnRtZW50cyhcLy4qKT8kIiwiXi4qKFwvKT9wYXRpZW50W3NdP1wvKElDTlwvKT8xMDEyODQ1MzMxVjE1MzA0MyhcLy4qKT8kIl0sImRhdGVPZkJpcnRoIjoiMTk1My0wNC0wMSIsInZlcnNpb24iOjIuMSwiZWRpcGlkIjoiMTI1OTg5Nzk3OCIsInZpc3RhSWRzIjpbeyJwYXRpZW50SWQiOiI1NTIxNjEwNTAiLCJzaXRlSWQiOiI5ODQifSx7InBhdGllbnRJZCI6IjcyMTY2OTEiLCJzaXRlSWQiOiI5ODMifV0sInNzbiI6Ijc5NjA2MTk3NiIsImZpcnN0TmFtZSI6Ikp1ZHkiLCJzdGFmZkRpc2NsYWltZXJBY2NlcHRlZCI6dHJ1ZSwibmJmIjoxNTc4MzQzNzM5LCJzc3QiOjE1NzgzNDM5MTksInBhdGllbnQiOnsiZmlyc3ROYW1lIjoiSnVkeSIsImxhc3ROYW1lIjoiTW9ycmlzb24iLCJnZW5kZXIiOiJGRU1BTEUiLCJpY24iOiIxMDEyODQ1MzMxVjE1MzA0MyIsImRvYiI6IjE5NTMtMDQtMDEiLCJkYXRlT2ZCaXJ0aCI6IjE5NTMtMDQtMDEiLCJzc24iOiI3OTYwNjE5NzYifSwiZG9iIjoiMTk1My0wNC0wMSIsInZhbWYuYXV0aC5yb2xlcyI6WyJ2ZXRlcmFuIl0sInJpZ2h0T2ZBY2Nlc3NBY2NlcHRlZCI6dHJ1ZSwiZXhwIjoxNTc4MzQ0ODE5LCJqdGkiOiIxMTM2YmM5MS04ZGJiLTQ2M2MtYTI0My1hODljMjY0MzFiYzEiLCJsb2EiOjJ9.wyflmdHokZROTjHhtmCVtVC3mdFNP6Sax4_RjlLTQIHDSWsBS8_vHmb8CQVFXUlVrgYZRl7OCn-_ex-fET8oENSm1TkjGa4eBgpAMaKEt6I7g5_-mFRQMdObPc43e90IR-edLZAtoLy7kH6jWYqKv4Pi5HUJxS6eU2VxfYGj-TYVLfFhDOOKvPgbLtNO_BN-ek6QhK341quUHLXTe0bitHDctYBkTXOrKup3RicRyAZKmfLskniA5pXzm-UUMaW7_DEhkjo6I9c5wmRfSZxrrFEpn_xyTjrGeKKA75mxpKfWGM5iwablOWQ6-4NUapJ_36yoQQU6m1tDVkOF3hGBRg + - stubbed_token Accept-Encoding: - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 response: diff --git a/spec/support/vcr_cassettes/vaos/appointment_requests/put_request.yml b/spec/support/vcr_cassettes/vaos/appointment_requests/put_request.yml index e62a8210940..f672e7fd675 100644 --- a/spec/support/vcr_cassettes/vaos/appointment_requests/put_request.yml +++ b/spec/support/vcr_cassettes/vaos/appointment_requests/put_request.yml @@ -22,7 +22,7 @@ http_interactions: Referer: - https://api.va.gov X-Vamf-Jwt: - - eyJhbGciOiJSUzUxMiJ9.eyJsYXN0TmFtZSI6Ik1vcnJpc29uIiwic3ViIjoiMTAxMjg0NTMzMVYxNTMwNDMiLCJhdXRoZW50aWNhdGVkIjp0cnVlLCJhdXRoZW50aWNhdGlvbkF1dGhvcml0eSI6Imdvdi52YS52YW9zIiwiaWRUeXBlIjoiSUNOIiwiZ2VuZGVyIjoiRkVNQUxFIiwiaXNzIjoiZ292LnZhLnZhbWYudXNlcnNlcnZpY2UudjEiLCJ2YW1mLmF1dGgucmVzb3VyY2VzIjpbIl4uKihcLyk_c2l0ZVtzXT9cLyhkZm4tKT85ODRcL3BhdGllbnRbc10_XC81NTIxNjEwNTBcL2FwcG9pbnRtZW50cyhcLy4qKT8kIiwiXi4qKFwvKT9zaXRlW3NdP1wvKGRmbi0pPzk4M1wvcGF0aWVudFtzXT9cLzcyMTY2OTFcL2FwcG9pbnRtZW50cyhcLy4qKT8kIiwiXi4qKFwvKT9wYXRpZW50W3NdP1wvKElDTlwvKT8xMDEyODQ1MzMxVjE1MzA0MyhcLy4qKT8kIl0sImRhdGVPZkJpcnRoIjoiMTk1My0wNC0wMSIsInZlcnNpb24iOjIuMSwiZWRpcGlkIjoiMTI1OTg5Nzk3OCIsInZpc3RhSWRzIjpbeyJwYXRpZW50SWQiOiI1NTIxNjEwNTAiLCJzaXRlSWQiOiI5ODQifSx7InBhdGllbnRJZCI6IjcyMTY2OTEiLCJzaXRlSWQiOiI5ODMifV0sInNzbiI6Ijc5NjA2MTk3NiIsImZpcnN0TmFtZSI6Ikp1ZHkiLCJzdGFmZkRpc2NsYWltZXJBY2NlcHRlZCI6dHJ1ZSwibmJmIjoxNTc0NDI5MDk4LCJzc3QiOjE1NzQ0MjkyNzgsInBhdGllbnQiOnsiZmlyc3ROYW1lIjoiSnVkeSIsImxhc3ROYW1lIjoiTW9ycmlzb24iLCJnZW5kZXIiOiJGRU1BTEUiLCJpY24iOiIxMDEyODQ1MzMxVjE1MzA0MyIsImRvYiI6IjE5NTMtMDQtMDEiLCJkYXRlT2ZCaXJ0aCI6IjE5NTMtMDQtMDEiLCJzc24iOiI3OTYwNjE5NzYifSwiZG9iIjoiMTk1My0wNC0wMSIsInZhbWYuYXV0aC5yb2xlcyI6WyJ2ZXRlcmFuIl0sInJpZ2h0T2ZBY2Nlc3NBY2NlcHRlZCI6dHJ1ZSwiZXhwIjoxNTc0NDMwMTc4LCJqdGkiOiI0ZWQ5MzJlMi1hNzVmLTQ2ZjEtYjBhOS0xYWE0OTMwYjFmZDUiLCJsb2EiOjJ9.n_YSkFVvTLblCngHr4_G2tECDnRtefEOFJD-ZO76-Vq8SdU9XLBFzbNDl1g0WT_S-plIkDOHIraL49dTHaLm3ay_OdFqeKBNzZmBlUhy2IGftBbQKOo3KNo1nhwJZeCQC8g-e_5wfYQM55fxkeEdAc6rfqYtb-zqIZ4ZRnzhaIwBIhrozFkEihHWN3NrCOF7UWGXXugaV1jqtbgLfGCySoFoDU7tgsh2_c6JSQGLjDqQ0w92L9q-asf85gto6LH3IRI67FfwL4ysnxN-kNTo2-mPF0UwHU4r3A01nbK0fohny-d8TLnrqovvw_mZf4WEn4AsvTSmWAhYMqGJfNuryw + - stubbed_token Accept-Encoding: - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 response: diff --git a/spec/support/vcr_cassettes/vaos/appointments/get_appointments.yml b/spec/support/vcr_cassettes/vaos/appointments/get_appointments.yml index ca8fa47376e..da0b0f2f2df 100644 --- a/spec/support/vcr_cassettes/vaos/appointments/get_appointments.yml +++ b/spec/support/vcr_cassettes/vaos/appointments/get_appointments.yml @@ -16,7 +16,7 @@ http_interactions: Referer: - https://review-instance.va.gov X-Vamf-Jwt: - - eyJhbGciOiJSUzUxMiJ9.eyJsYXN0TmFtZSI6Ik1vcnJpc29uIiwic3ViIjoiMTAxMjg0NTMzMVYxNTMwNDMiLCJhdXRoZW50aWNhdGVkIjp0cnVlLCJhdXRoZW50aWNhdGlvbkF1dGhvcml0eSI6Imdvdi52YS52YW9zIiwiaWRUeXBlIjoiSUNOIiwiZ2VuZGVyIjoiRkVNQUxFIiwiaXNzIjoiZ292LnZhLnZhbWYudXNlcnNlcnZpY2UudjIiLCJ2YW1mLmF1dGgucmVzb3VyY2VzIjpbIl4uKihcLyk_c2l0ZVtzXT9cLyhkZm4tKT85ODRcL3BhdGllbnRbc10_XC81NTIxNjEwNTBcL2FwcG9pbnRtZW50cyhcLy4qKT8kIiwiXi4qKFwvKT9zaXRlW3NdP1wvKGRmbi0pPzk4M1wvcGF0aWVudFtzXT9cLzcyMTY2OTFcL2FwcG9pbnRtZW50cyhcLy4qKT8kIiwiXi4qKFwvKT9wYXRpZW50W3NdP1wvKElDTlwvKT8xMDEyODQ1MzMxVjE1MzA0MyhcLy4qKT8kIl0sImRhdGVPZkJpcnRoIjoiMTk1MzA0MDEiLCJ2ZXJzaW9uIjoyLjEsImVkaXBpZCI6IjEyNTk4OTc5NzgiLCJ2aXN0YUlkcyI6W3sicGF0aWVudElkIjoiNTUyMTYxMDUwIiwic2l0ZUlkIjoiOTg0In0seyJwYXRpZW50SWQiOiI3MjE2NjkxIiwic2l0ZUlkIjoiOTgzIn1dLCJzc24iOiI3OTYwNjE5NzYiLCJmaXJzdE5hbWUiOiJKdWR5Iiwic3RhZmZEaXNjbGFpbWVyQWNjZXB0ZWQiOnRydWUsIm5iZiI6MTYxMDA1MzYxNSwic3N0IjoxNjEwMDUzNzk1LCJwYXRpZW50Ijp7ImZpcnN0TmFtZSI6Ikp1ZHkiLCJsYXN0TmFtZSI6Ik1vcnJpc29uIiwiZ2VuZGVyIjoiRkVNQUxFIiwiaWNuIjoiMTAxMjg0NTMzMVYxNTMwNDMiLCJkb2IiOiIxOTUzLTA0LTAxIiwiZGF0ZU9mQmlydGgiOiIxOTUzLTA0LTAxIiwic3NuIjoiNzk2MDYxOTc2In0sImRvYiI6IjE5NTMwNDAxIiwidmFtZi5hdXRoLnJvbGVzIjpbInZldGVyYW4iXSwicmlnaHRPZkFjY2Vzc0FjY2VwdGVkIjp0cnVlLCJleHAiOjE2MTAwNTQ2OTUsImp0aSI6ImQzN2E2MjE4LTc5ZjYtNGE3YS1hOWRkLTZjYWFmOWVjYzM4MyIsImxvYSI6Mn0.vbxXGsc1H8dIZJGrvgX8B30lepT20Q17c8K1Ck43TdfC9UtpvcBMAbOnpULUAklITLUt1GSXDej9r0uUbRZkaUexr4yQl6U1JLn30TYV6z4h7uCKf54ghBVJ1OxNvBe7QZOZgqLPbBqco-f3JNIqpW9EQtpE3ASxUiZoac5GNaazziRWUTw1loQQwWCSgbG3f-opnggBZS6-ewkDR6C5WBSAqF1hYWoTOBaCaTs2qEqf5l5NsvlmBTYwxHPOrT2gs2dzeguibNXY9DdOmrvo02FGD3pba8lsC58MUmPG_ybCxcy5bLijdItqbySDbDg4JZwRmo1Mo383Lu9BLYJVvQ + - stubbed_token X-Request-Id: - '' Accept-Encoding: diff --git a/spec/support/vcr_cassettes/vaos/appointments/get_appointments_200_partial_error.yml b/spec/support/vcr_cassettes/vaos/appointments/get_appointments_200_partial_error.yml index 62d398cbb5f..8a4a629c325 100644 --- a/spec/support/vcr_cassettes/vaos/appointments/get_appointments_200_partial_error.yml +++ b/spec/support/vcr_cassettes/vaos/appointments/get_appointments_200_partial_error.yml @@ -16,7 +16,7 @@ http_interactions: Referer: - https://review-instance.va.gov X-Vamf-Jwt: - - eyJhbGciOiJSUzUxMiJ9.eyJsYXN0TmFtZSI6Ik1vcnJpc29uIiwic3ViIjoiMTAxMjg0NTMzMVYxNTMwNDMiLCJhdXRoZW50aWNhdGVkIjp0cnVlLCJhdXRoZW50aWNhdGlvbkF1dGhvcml0eSI6Imdvdi52YS52YW9zIiwiaWRUeXBlIjoiSUNOIiwiZ2VuZGVyIjoiRkVNQUxFIiwiaXNzIjoiZ292LnZhLnZhbWYudXNlcnNlcnZpY2UudjIiLCJ2YW1mLmF1dGgucmVzb3VyY2VzIjpbIl4uKihcLyk_c2l0ZVtzXT9cLyhkZm4tKT85ODRcL3BhdGllbnRbc10_XC81NTIxNjEwNTBcL2FwcG9pbnRtZW50cyhcLy4qKT8kIiwiXi4qKFwvKT9zaXRlW3NdP1wvKGRmbi0pPzk4M1wvcGF0aWVudFtzXT9cLzcyMTY2OTFcL2FwcG9pbnRtZW50cyhcLy4qKT8kIiwiXi4qKFwvKT9wYXRpZW50W3NdP1wvKElDTlwvKT8xMDEyODQ1MzMxVjE1MzA0MyhcLy4qKT8kIl0sImRhdGVPZkJpcnRoIjoiMTk1MzA0MDEiLCJ2ZXJzaW9uIjoyLjEsImVkaXBpZCI6IjEyNTk4OTc5NzgiLCJ2aXN0YUlkcyI6W3sicGF0aWVudElkIjoiNTUyMTYxMDUwIiwic2l0ZUlkIjoiOTg0In0seyJwYXRpZW50SWQiOiI3MjE2NjkxIiwic2l0ZUlkIjoiOTgzIn1dLCJzc24iOiI3OTYwNjE5NzYiLCJmaXJzdE5hbWUiOiJKdWR5Iiwic3RhZmZEaXNjbGFpbWVyQWNjZXB0ZWQiOnRydWUsIm5iZiI6MTYxMDA1MzYxNSwic3N0IjoxNjEwMDUzNzk1LCJwYXRpZW50Ijp7ImZpcnN0TmFtZSI6Ikp1ZHkiLCJsYXN0TmFtZSI6Ik1vcnJpc29uIiwiZ2VuZGVyIjoiRkVNQUxFIiwiaWNuIjoiMTAxMjg0NTMzMVYxNTMwNDMiLCJkb2IiOiIxOTUzLTA0LTAxIiwiZGF0ZU9mQmlydGgiOiIxOTUzLTA0LTAxIiwic3NuIjoiNzk2MDYxOTc2In0sImRvYiI6IjE5NTMwNDAxIiwidmFtZi5hdXRoLnJvbGVzIjpbInZldGVyYW4iXSwicmlnaHRPZkFjY2Vzc0FjY2VwdGVkIjp0cnVlLCJleHAiOjE2MTAwNTQ2OTUsImp0aSI6ImQzN2E2MjE4LTc5ZjYtNGE3YS1hOWRkLTZjYWFmOWVjYzM4MyIsImxvYSI6Mn0.vbxXGsc1H8dIZJGrvgX8B30lepT20Q17c8K1Ck43TdfC9UtpvcBMAbOnpULUAklITLUt1GSXDej9r0uUbRZkaUexr4yQl6U1JLn30TYV6z4h7uCKf54ghBVJ1OxNvBe7QZOZgqLPbBqco-f3JNIqpW9EQtpE3ASxUiZoac5GNaazziRWUTw1loQQwWCSgbG3f-opnggBZS6-ewkDR6C5WBSAqF1hYWoTOBaCaTs2qEqf5l5NsvlmBTYwxHPOrT2gs2dzeguibNXY9DdOmrvo02FGD3pba8lsC58MUmPG_ybCxcy5bLijdItqbySDbDg4JZwRmo1Mo383Lu9BLYJVvQ + - stubbed_token X-Request-Id: - '' Accept-Encoding: diff --git a/spec/support/vcr_cassettes/vaos/appointments/get_appointments_500.yml b/spec/support/vcr_cassettes/vaos/appointments/get_appointments_500.yml index 5b6b6f574a5..b7676991bd4 100644 --- a/spec/support/vcr_cassettes/vaos/appointments/get_appointments_500.yml +++ b/spec/support/vcr_cassettes/vaos/appointments/get_appointments_500.yml @@ -51,9 +51,9 @@ http_interactions: Access-Control-Max-Age: - '3600' Set-Cookie: - - TS016f4012=01c16e2d81fc226234f653b401a6d3c45964b178c3dca337d48dc27850ee4b2500802d8cd5ce3022f84792af5d23119520ca71bbc596b1ad67dc95ab16a1a86b35c68d151ea4d6e53a92650a851039167e75ca477a; + - TS016f4012=stubbed_cookie; Max-Age=900; Path=/ - - vamfjwtv3=eyJ6aXAiOiJERUYiLCJjdHkiOiJKV1QiLCJlbmMiOiJBMjU2Q0JDLUhTNTEyIiwiYWxnIjoiUlNBLU9BRVAtMjU2In0.ZyMpgyWmTxwJ4xf7e9aF8vSHP9YEZwRrI9sIRVX5x_tztvCzp4TDNj0yZ33GwHlXgDRFDIWh9qNZAq6d7ECDnI9hzZk-3Q-GM69bkUcdLRrYE4UX4i8HQawxXfC05lVHnqNZo81n4-laN91S6_In613ZcAQ4y4V-734nxqXFH9mYJUlf1MI3ixIPQ9G_0liQyvk0bZ2eE6GGGyDqt7mOvw_SGR3D3xgjB_csivbhkgY8qTOTTHCkRqYG6Ehpj9k2kiS_HD3XBVbyKTv3Oa7DtbnJ6HbFP7LUh-4pTATSBxT9IjyKtfCEHV9k0ZwMZGrnvJHmGaE3EcBq1qjeqdtdcw.aaLqA_CnlF_lo6pn2zINXw.Nn_C0mbkeOeXwxdkw_6h81GtmH0ykuMIKPeUUW4Z_yEmfBgTi6Ber9OUnv8OSsNVA8KUwsP8kgGB6Mh8xnvSVuA2jmn8YeG1dojV4Mhi8bGj4F0qKYTaCGorCEqpN8cu2wzupCuM4FYT3mXhHao1h_-Qc6_tRiDpbq572MngKJG8KHS7RYkMUo9RCRTuwSHQXr7XFN9Y0uToKGrY_r8a3LUr6PV8N5iFWunWF1G8_d6QbMFo-EY54cd9VPdJqydOtvTStyRbVjfq6Ud9GyzblgO22-jedghx0EOLOxjcIOVCEdJNnAnfokl50K53dW7ogK0Uj6ljH7_XzHyjhfDGBE_Xm_r2c9LYPX8_jp1bO2AZYllJGupAbJ4mIGCEG1zxUBNDaKX_T5rV5G5vxTGqlLw-9h6Il6rcqScrrfVciK46fnHZWfOZadevMNqO6yafMlUOQqnL4HodZRy4soy_KKlO4lsMX6LM1mVJM0SNU3YZUO0KuhCSTz8cMnuoek26OTurc6_x2ZrMMLS_GLh-m8pdjbvsjhbjw2n-yBQrKvHf1jl1cvUQSG8pHCFOjni2coUmmbTy0omzt29A1-NkOwbcIw7H2cgnosYzdpkgOvOMJgYAz-_PHYba1aDF8SNZpTl49TrIJXp01mVWwr-5buDmCbebuk1beqwb1-3FQI0.Owtu7sXRP0m4qVdPQ0qMZJKr2mVrSUrtpGpH9hvqjAM; + - vamfjwtv3=stubbed_token; path=/;max-age=900; HttpOnly - vamftimeoutv1=1567617431; path=/ body: diff --git a/spec/support/vcr_cassettes/vaos/appointments/get_appointments_empty.yml b/spec/support/vcr_cassettes/vaos/appointments/get_appointments_empty.yml index c4efea0ea12..d4fff173794 100644 --- a/spec/support/vcr_cassettes/vaos/appointments/get_appointments_empty.yml +++ b/spec/support/vcr_cassettes/vaos/appointments/get_appointments_empty.yml @@ -51,9 +51,9 @@ http_interactions: Access-Control-Max-Age: - '3600' Set-Cookie: - - TS016f4012=01c16e2d81fc226234f653b401a6d3c45964b178c3dca337d48dc27850ee4b2500802d8cd5ce3022f84792af5d23119520ca71bbc596b1ad67dc95ab16a1a86b35c68d151ea4d6e53a92650a851039167e75ca477a; + - TS016f4012=stubbed_cookie; Max-Age=900; Path=/ - - vamfjwtv3=eyJ6aXAiOiJERUYiLCJjdHkiOiJKV1QiLCJlbmMiOiJBMjU2Q0JDLUhTNTEyIiwiYWxnIjoiUlNBLU9BRVAtMjU2In0.ZyMpgyWmTxwJ4xf7e9aF8vSHP9YEZwRrI9sIRVX5x_tztvCzp4TDNj0yZ33GwHlXgDRFDIWh9qNZAq6d7ECDnI9hzZk-3Q-GM69bkUcdLRrYE4UX4i8HQawxXfC05lVHnqNZo81n4-laN91S6_In613ZcAQ4y4V-734nxqXFH9mYJUlf1MI3ixIPQ9G_0liQyvk0bZ2eE6GGGyDqt7mOvw_SGR3D3xgjB_csivbhkgY8qTOTTHCkRqYG6Ehpj9k2kiS_HD3XBVbyKTv3Oa7DtbnJ6HbFP7LUh-4pTATSBxT9IjyKtfCEHV9k0ZwMZGrnvJHmGaE3EcBq1qjeqdtdcw.aaLqA_CnlF_lo6pn2zINXw.Nn_C0mbkeOeXwxdkw_6h81GtmH0ykuMIKPeUUW4Z_yEmfBgTi6Ber9OUnv8OSsNVA8KUwsP8kgGB6Mh8xnvSVuA2jmn8YeG1dojV4Mhi8bGj4F0qKYTaCGorCEqpN8cu2wzupCuM4FYT3mXhHao1h_-Qc6_tRiDpbq572MngKJG8KHS7RYkMUo9RCRTuwSHQXr7XFN9Y0uToKGrY_r8a3LUr6PV8N5iFWunWF1G8_d6QbMFo-EY54cd9VPdJqydOtvTStyRbVjfq6Ud9GyzblgO22-jedghx0EOLOxjcIOVCEdJNnAnfokl50K53dW7ogK0Uj6ljH7_XzHyjhfDGBE_Xm_r2c9LYPX8_jp1bO2AZYllJGupAbJ4mIGCEG1zxUBNDaKX_T5rV5G5vxTGqlLw-9h6Il6rcqScrrfVciK46fnHZWfOZadevMNqO6yafMlUOQqnL4HodZRy4soy_KKlO4lsMX6LM1mVJM0SNU3YZUO0KuhCSTz8cMnuoek26OTurc6_x2ZrMMLS_GLh-m8pdjbvsjhbjw2n-yBQrKvHf1jl1cvUQSG8pHCFOjni2coUmmbTy0omzt29A1-NkOwbcIw7H2cgnosYzdpkgOvOMJgYAz-_PHYba1aDF8SNZpTl49TrIJXp01mVWwr-5buDmCbebuk1beqwb1-3FQI0.Owtu7sXRP0m4qVdPQ0qMZJKr2mVrSUrtpGpH9hvqjAM; + - vamfjwtv3=stubbed_token; path=/;max-age=900; HttpOnly - vamftimeoutv1=1567617431; path=/ body: diff --git a/spec/support/vcr_cassettes/vaos/appointments/get_appointments_map_error.yml b/spec/support/vcr_cassettes/vaos/appointments/get_appointments_map_error.yml index da430f50eac..e6f7e0be769 100644 --- a/spec/support/vcr_cassettes/vaos/appointments/get_appointments_map_error.yml +++ b/spec/support/vcr_cassettes/vaos/appointments/get_appointments_map_error.yml @@ -16,7 +16,7 @@ http_interactions: Referer: - https://review-instance.va.gov X-Vamf-Jwt: - - eyJhbGciOiJSUzUxMiJ9.eyJsYXN0TmFtZSI6Ik1vcnJpc29uIiwic3ViIjoiMTAxMjg0NTMzMVYxNTMwNDMiLCJhdXRoZW50aWNhdGVkIjp0cnVlLCJhdXRoZW50aWNhdGlvbkF1dGhvcml0eSI6Imdvdi52YS52YW9zIiwiaWRUeXBlIjoiSUNOIiwiZ2VuZGVyIjoiRkVNQUxFIiwiaXNzIjoiZ292LnZhLnZhbWYudXNlcnNlcnZpY2UudjIiLCJ2YW1mLmF1dGgucmVzb3VyY2VzIjpbIl4uKihcLyk_c2l0ZVtzXT9cLyhkZm4tKT85ODRcL3BhdGllbnRbc10_XC81NTIxNjEwNTBcL2FwcG9pbnRtZW50cyhcLy4qKT8kIiwiXi4qKFwvKT9zaXRlW3NdP1wvKGRmbi0pPzk4M1wvcGF0aWVudFtzXT9cLzcyMTY2OTFcL2FwcG9pbnRtZW50cyhcLy4qKT8kIiwiXi4qKFwvKT9wYXRpZW50W3NdP1wvKElDTlwvKT8xMDEyODQ1MzMxVjE1MzA0MyhcLy4qKT8kIl0sImRhdGVPZkJpcnRoIjoiMTk1MzA0MDEiLCJ2ZXJzaW9uIjoyLjEsImVkaXBpZCI6IjEyNTk4OTc5NzgiLCJ2aXN0YUlkcyI6W3sicGF0aWVudElkIjoiNTUyMTYxMDUwIiwic2l0ZUlkIjoiOTg0In0seyJwYXRpZW50SWQiOiI3MjE2NjkxIiwic2l0ZUlkIjoiOTgzIn1dLCJzc24iOiI3OTYwNjE5NzYiLCJmaXJzdE5hbWUiOiJKdWR5Iiwic3RhZmZEaXNjbGFpbWVyQWNjZXB0ZWQiOnRydWUsIm5iZiI6MTYxMDA2MDAwMywic3N0IjoxNjEwMDYwMTgyLCJwYXRpZW50Ijp7ImZpcnN0TmFtZSI6Ikp1ZHkiLCJsYXN0TmFtZSI6Ik1vcnJpc29uIiwiZ2VuZGVyIjoiRkVNQUxFIiwiaWNuIjoiMTAxMjg0NTMzMVYxNTMwNDMiLCJkb2IiOiIxOTUzLTA0LTAxIiwiZGF0ZU9mQmlydGgiOiIxOTUzLTA0LTAxIiwic3NuIjoiNzk2MDYxOTc2In0sImRvYiI6IjE5NTMwNDAxIiwidmFtZi5hdXRoLnJvbGVzIjpbInZldGVyYW4iXSwicmlnaHRPZkFjY2Vzc0FjY2VwdGVkIjp0cnVlLCJleHAiOjE2MTAwNjEwODMsImp0aSI6IjNiODVmYmJlLTUxMmMtNGIwNy1iYzQ5LTNhYzFlNjY4OTA4OSIsImxvYSI6Mn0.OS8kIzEITq2E5cpp_D3mdCV5sIsKBt_-6qItxvP9N2FOeqOxMphjfHYiVCyh_mqZHIe1oMJ3DuwQrcyfMbjI-_y7bU4T6nXY26n14ne7c40cIx7BbHyEhvjntpIjwYJGXnzc977vl-zatZnU9NRybi4UnepynKtwucYN72hKVYl5rp08msCkTi0P4o-vFnKdYaQ8VQjhNEmUQiVGip4bwXSoVyiJZ-kaaBXgesTBvVGQyokRGXNB29AZUb4Vt8IoZQ-R2Bw4SoXfMT19zJYoP4WwLTbm26o_RrJ7UUPU3fcHyGISoXL6lR6Ws-onIAvtHOVVK-V9YadqXtjAPp97jQ + - stubbed_token X-Request-Id: - de89da5f-1c2c-4980-b956-3fe9a4fa82ce Accept-Encoding: diff --git a/spec/support/vcr_cassettes/vaos/appointments/get_cc_appointments.yml b/spec/support/vcr_cassettes/vaos/appointments/get_cc_appointments.yml index ef022989b59..0fc88f1107d 100644 --- a/spec/support/vcr_cassettes/vaos/appointments/get_cc_appointments.yml +++ b/spec/support/vcr_cassettes/vaos/appointments/get_cc_appointments.yml @@ -16,7 +16,7 @@ http_interactions: Referer: - https://review-instance.va.gov X-Vamf-Jwt: - - eyJhbGciOiJSUzUxMiJ9.eyJsYXN0TmFtZSI6Ik1vcnJpc29uIiwic3ViIjoiMTAxMjg0NTMzMVYxNTMwNDMiLCJhdXRoZW50aWNhdGVkIjp0cnVlLCJhdXRoZW50aWNhdGlvbkF1dGhvcml0eSI6Imdvdi52YS52YW9zIiwiaWRUeXBlIjoiSUNOIiwiZ2VuZGVyIjoiRkVNQUxFIiwiaXNzIjoiZ292LnZhLnZhbWYudXNlcnNlcnZpY2UudjEiLCJ2YW1mLmF1dGgucmVzb3VyY2VzIjpbIl4uKihcLyk_c2l0ZVtzXT9cLyhkZm4tKT85ODRcL3BhdGllbnRbc10_XC81NTIxNjEwNTBcL2FwcG9pbnRtZW50cyhcLy4qKT8kIiwiXi4qKFwvKT9zaXRlW3NdP1wvKGRmbi0pPzk4M1wvcGF0aWVudFtzXT9cLzcyMTY2OTFcL2FwcG9pbnRtZW50cyhcLy4qKT8kIiwiXi4qKFwvKT9wYXRpZW50W3NdP1wvKElDTlwvKT8xMDEyODQ1MzMxVjE1MzA0MyhcLy4qKT8kIl0sImRhdGVPZkJpcnRoIjoiMTk1MzA0MDEiLCJ2ZXJzaW9uIjoyLjEsImVkaXBpZCI6IjEyNTk4OTc5NzgiLCJ2aXN0YUlkcyI6W3sicGF0aWVudElkIjoiNTUyMTYxMDUwIiwic2l0ZUlkIjoiOTg0In0seyJwYXRpZW50SWQiOiI3MjE2NjkxIiwic2l0ZUlkIjoiOTgzIn1dLCJzc24iOiI3OTYwNjE5NzYiLCJmaXJzdE5hbWUiOiJKdWR5Iiwic3RhZmZEaXNjbGFpbWVyQWNjZXB0ZWQiOnRydWUsIm5iZiI6MTU5MTEyNDk2NCwic3N0IjoxNTkxMTI1MTQ0LCJwYXRpZW50Ijp7ImZpcnN0TmFtZSI6Ikp1ZHkiLCJsYXN0TmFtZSI6Ik1vcnJpc29uIiwiZ2VuZGVyIjoiRkVNQUxFIiwiaWNuIjoiMTAxMjg0NTMzMVYxNTMwNDMiLCJkb2IiOiIxOTUzLTA0LTAxIiwiZGF0ZU9mQmlydGgiOiIxOTUzLTA0LTAxIiwic3NuIjoiNzk2MDYxOTc2In0sImRvYiI6IjE5NTMwNDAxIiwidmFtZi5hdXRoLnJvbGVzIjpbInZldGVyYW4iXSwicmlnaHRPZkFjY2Vzc0FjY2VwdGVkIjp0cnVlLCJleHAiOjE1OTExMjYwNDQsImp0aSI6ImM1NTBkNjM2LTQwZjAtNDg4MS1iODg3LTI1NmMwOGY2ZDBhYSIsImxvYSI6Mn0.YaA21JD_cSenhDUZxahJdu-O09IYbhmx3KEQb9V_AxiTp1pvZzxrnUX8YW-NifUwOXQ07kgf7U71hqSkErrW1eZYf5XOpSfl_W6G-So-qUCtXmPpCaRefWZLmZbx0qnKPpCsytPN0AHRcDac3lNPnBeDKciZBFtdbz7cHRsraKWVxpfkpv8BBbppCYF-mLT76OfcskzD6GJo6Wh-J6tBjhTBMuB2rHRibrdLsBVyTNOaYOHhLuVLPiRes3BHbshGFS81TNMO_bK4GuGODwe7rn_5SnF0Tx-ASeOag9oYPMmNG2knDsoTwPXMAIGanZBRMZ3Etc33ZxKaAizmfvrTag + - stubbed_token X-Request-Id: - c78ffef0-8930-41f8-8065-75e6a53c0870 Accept-Encoding: diff --git a/spec/support/vcr_cassettes/vaos/appointments/get_cc_appointments_500.yml b/spec/support/vcr_cassettes/vaos/appointments/get_cc_appointments_500.yml index b625e40f252..f1dc22c378f 100644 --- a/spec/support/vcr_cassettes/vaos/appointments/get_cc_appointments_500.yml +++ b/spec/support/vcr_cassettes/vaos/appointments/get_cc_appointments_500.yml @@ -51,9 +51,9 @@ http_interactions: Access-Control-Max-Age: - '3600' Set-Cookie: - - TS016f4012=01c16e2d81fc226234f653b401a6d3c45964b178c3dca337d48dc27850ee4b2500802d8cd5ce3022f84792af5d23119520ca71bbc596b1ad67dc95ab16a1a86b35c68d151ea4d6e53a92650a851039167e75ca477a; + - TS016f4012=stubbed_cookie; Max-Age=900; Path=/ - - vamfjwtv3=eyJ6aXAiOiJERUYiLCJjdHkiOiJKV1QiLCJlbmMiOiJBMjU2Q0JDLUhTNTEyIiwiYWxnIjoiUlNBLU9BRVAtMjU2In0.ZyMpgyWmTxwJ4xf7e9aF8vSHP9YEZwRrI9sIRVX5x_tztvCzp4TDNj0yZ33GwHlXgDRFDIWh9qNZAq6d7ECDnI9hzZk-3Q-GM69bkUcdLRrYE4UX4i8HQawxXfC05lVHnqNZo81n4-laN91S6_In613ZcAQ4y4V-734nxqXFH9mYJUlf1MI3ixIPQ9G_0liQyvk0bZ2eE6GGGyDqt7mOvw_SGR3D3xgjB_csivbhkgY8qTOTTHCkRqYG6Ehpj9k2kiS_HD3XBVbyKTv3Oa7DtbnJ6HbFP7LUh-4pTATSBxT9IjyKtfCEHV9k0ZwMZGrnvJHmGaE3EcBq1qjeqdtdcw.aaLqA_CnlF_lo6pn2zINXw.Nn_C0mbkeOeXwxdkw_6h81GtmH0ykuMIKPeUUW4Z_yEmfBgTi6Ber9OUnv8OSsNVA8KUwsP8kgGB6Mh8xnvSVuA2jmn8YeG1dojV4Mhi8bGj4F0qKYTaCGorCEqpN8cu2wzupCuM4FYT3mXhHao1h_-Qc6_tRiDpbq572MngKJG8KHS7RYkMUo9RCRTuwSHQXr7XFN9Y0uToKGrY_r8a3LUr6PV8N5iFWunWF1G8_d6QbMFo-EY54cd9VPdJqydOtvTStyRbVjfq6Ud9GyzblgO22-jedghx0EOLOxjcIOVCEdJNnAnfokl50K53dW7ogK0Uj6ljH7_XzHyjhfDGBE_Xm_r2c9LYPX8_jp1bO2AZYllJGupAbJ4mIGCEG1zxUBNDaKX_T5rV5G5vxTGqlLw-9h6Il6rcqScrrfVciK46fnHZWfOZadevMNqO6yafMlUOQqnL4HodZRy4soy_KKlO4lsMX6LM1mVJM0SNU3YZUO0KuhCSTz8cMnuoek26OTurc6_x2ZrMMLS_GLh-m8pdjbvsjhbjw2n-yBQrKvHf1jl1cvUQSG8pHCFOjni2coUmmbTy0omzt29A1-NkOwbcIw7H2cgnosYzdpkgOvOMJgYAz-_PHYba1aDF8SNZpTl49TrIJXp01mVWwr-5buDmCbebuk1beqwb1-3FQI0.Owtu7sXRP0m4qVdPQ0qMZJKr2mVrSUrtpGpH9hvqjAM; + - vamfjwtv3=stubbed_token; path=/;max-age=900; HttpOnly - vamftimeoutv1=1567617431; path=/ body: diff --git a/spec/support/vcr_cassettes/vaos/appointments/get_cc_appointments_empty.yml b/spec/support/vcr_cassettes/vaos/appointments/get_cc_appointments_empty.yml index 3894c705d01..502e0e55b64 100644 --- a/spec/support/vcr_cassettes/vaos/appointments/get_cc_appointments_empty.yml +++ b/spec/support/vcr_cassettes/vaos/appointments/get_cc_appointments_empty.yml @@ -51,9 +51,9 @@ http_interactions: Access-Control-Max-Age: - '3600' Set-Cookie: - - TS016f4012=01c16e2d81fc226234f653b401a6d3c45964b178c3dca337d48dc27850ee4b2500802d8cd5ce3022f84792af5d23119520ca71bbc596b1ad67dc95ab16a1a86b35c68d151ea4d6e53a92650a851039167e75ca477a; + - TS016f4012=stubbed_cookie; Max-Age=900; Path=/ - - vamfjwtv3=eyJ6aXAiOiJERUYiLCJjdHkiOiJKV1QiLCJlbmMiOiJBMjU2Q0JDLUhTNTEyIiwiYWxnIjoiUlNBLU9BRVAtMjU2In0.ZyMpgyWmTxwJ4xf7e9aF8vSHP9YEZwRrI9sIRVX5x_tztvCzp4TDNj0yZ33GwHlXgDRFDIWh9qNZAq6d7ECDnI9hzZk-3Q-GM69bkUcdLRrYE4UX4i8HQawxXfC05lVHnqNZo81n4-laN91S6_In613ZcAQ4y4V-734nxqXFH9mYJUlf1MI3ixIPQ9G_0liQyvk0bZ2eE6GGGyDqt7mOvw_SGR3D3xgjB_csivbhkgY8qTOTTHCkRqYG6Ehpj9k2kiS_HD3XBVbyKTv3Oa7DtbnJ6HbFP7LUh-4pTATSBxT9IjyKtfCEHV9k0ZwMZGrnvJHmGaE3EcBq1qjeqdtdcw.aaLqA_CnlF_lo6pn2zINXw.Nn_C0mbkeOeXwxdkw_6h81GtmH0ykuMIKPeUUW4Z_yEmfBgTi6Ber9OUnv8OSsNVA8KUwsP8kgGB6Mh8xnvSVuA2jmn8YeG1dojV4Mhi8bGj4F0qKYTaCGorCEqpN8cu2wzupCuM4FYT3mXhHao1h_-Qc6_tRiDpbq572MngKJG8KHS7RYkMUo9RCRTuwSHQXr7XFN9Y0uToKGrY_r8a3LUr6PV8N5iFWunWF1G8_d6QbMFo-EY54cd9VPdJqydOtvTStyRbVjfq6Ud9GyzblgO22-jedghx0EOLOxjcIOVCEdJNnAnfokl50K53dW7ogK0Uj6ljH7_XzHyjhfDGBE_Xm_r2c9LYPX8_jp1bO2AZYllJGupAbJ4mIGCEG1zxUBNDaKX_T5rV5G5vxTGqlLw-9h6Il6rcqScrrfVciK46fnHZWfOZadevMNqO6yafMlUOQqnL4HodZRy4soy_KKlO4lsMX6LM1mVJM0SNU3YZUO0KuhCSTz8cMnuoek26OTurc6_x2ZrMMLS_GLh-m8pdjbvsjhbjw2n-yBQrKvHf1jl1cvUQSG8pHCFOjni2coUmmbTy0omzt29A1-NkOwbcIw7H2cgnosYzdpkgOvOMJgYAz-_PHYba1aDF8SNZpTl49TrIJXp01mVWwr-5buDmCbebuk1beqwb1-3FQI0.Owtu7sXRP0m4qVdPQ0qMZJKr2mVrSUrtpGpH9hvqjAM; + - vamfjwtv3=stubbed_token; path=/;max-age=900; HttpOnly - vamftimeoutv1=1567617431; path=/ body: diff --git a/spec/support/vcr_cassettes/vaos/appointments/post_appointment.yml b/spec/support/vcr_cassettes/vaos/appointments/post_appointment.yml index 2005df96dff..2dc078420b7 100644 --- a/spec/support/vcr_cassettes/vaos/appointments/post_appointment.yml +++ b/spec/support/vcr_cassettes/vaos/appointments/post_appointment.yml @@ -22,7 +22,7 @@ http_interactions: Referer: - https://api.va.gov X-Vamf-Jwt: - - eyJhbGciOiJSUzUxMiJ9.eyJsYXN0TmFtZSI6Ik1vcnJpc29uIiwic3ViIjoiMTAxMjg0NTMzMVYxNTMwNDMiLCJhdXRoZW50aWNhdGVkIjp0cnVlLCJhdXRoZW50aWNhdGlvbkF1dGhvcml0eSI6Imdvdi52YS52YW9zIiwiaWRUeXBlIjoiSUNOIiwiZ2VuZGVyIjoiRkVNQUxFIiwiaXNzIjoiZ292LnZhLnZhbWYudXNlcnNlcnZpY2UudjEiLCJ2YW1mLmF1dGgucmVzb3VyY2VzIjpbIl4uKihcLyk_c2l0ZVtzXT9cLyhkZm4tKT85ODRcL3BhdGllbnRbc10_XC81NTIxNjEwNTBcL2FwcG9pbnRtZW50cyhcLy4qKT8kIiwiXi4qKFwvKT9zaXRlW3NdP1wvKGRmbi0pPzk4M1wvcGF0aWVudFtzXT9cLzcyMTY2OTFcL2FwcG9pbnRtZW50cyhcLy4qKT8kIiwiXi4qKFwvKT9wYXRpZW50W3NdP1wvKElDTlwvKT8xMDEyODQ1MzMxVjE1MzA0MyhcLy4qKT8kIl0sImRhdGVPZkJpcnRoIjoiMTk1My0wNC0wMSIsInZlcnNpb24iOjIuMSwiZWRpcGlkIjoiMTI1OTg5Nzk3OCIsInZpc3RhSWRzIjpbeyJwYXRpZW50SWQiOiI1NTIxNjEwNTAiLCJzaXRlSWQiOiI5ODQifSx7InBhdGllbnRJZCI6IjcyMTY2OTEiLCJzaXRlSWQiOiI5ODMifV0sInNzbiI6Ijc5NjA2MTk3NiIsImZpcnN0TmFtZSI6Ikp1ZHkiLCJzdGFmZkRpc2NsYWltZXJBY2NlcHRlZCI6dHJ1ZSwibmJmIjoxNTc5MDMwNDc5LCJzc3QiOjE1NzkwMzA2NTgsInBhdGllbnQiOnsiZmlyc3ROYW1lIjoiSnVkeSIsImxhc3ROYW1lIjoiTW9ycmlzb24iLCJnZW5kZXIiOiJGRU1BTEUiLCJpY24iOiIxMDEyODQ1MzMxVjE1MzA0MyIsImRvYiI6IjE5NTMtMDQtMDEiLCJkYXRlT2ZCaXJ0aCI6IjE5NTMtMDQtMDEiLCJzc24iOiI3OTYwNjE5NzYifSwiZG9iIjoiMTk1My0wNC0wMSIsInZhbWYuYXV0aC5yb2xlcyI6WyJ2ZXRlcmFuIl0sInJpZ2h0T2ZBY2Nlc3NBY2NlcHRlZCI6dHJ1ZSwiZXhwIjoxNTc5MDMxNTU5LCJqdGkiOiJiNDFlZTI0Ny0xNDFjLTRiNzgtYjA4Yi03ZjYxZGJlZDAzMzEiLCJsb2EiOjJ9.ETTEws7jL2r8BiTBQm1CaPuPmU-A9t8fUe6PNzag_Am4T_EpJUveFj5UiDEjn6gUg7IV-Q1J4f5g3mxvyNRxs0JzOKvNLs74mh_D8fpHH3l4qLwcyHEa54TDFW4yqVK4G_GFYaO6U84Zx2yHfMYSizIg5PSCpLId60ZrpIUFJFf9aKA2Zq30qVQk9CMyhkiPqog0NiTg4cDyhrq---kKxZRZxApEFkp7ZkY4cAq8XkhsYXiu4QktCw9AGQLo6kjEUC0lgrPUbfRDqraZ2XG8UsZPRqM70w14wzlsuD6K60xsK7WGMJKX1BCPqajVQ38TmP_hFpPCvaiurOW6YuxoaQ + - stubbed_token Accept-Encoding: - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 response: diff --git a/spec/support/vcr_cassettes/vaos/appointments/post_appointment_400.yml b/spec/support/vcr_cassettes/vaos/appointments/post_appointment_400.yml index 0e2115bfd89..16e8c620539 100644 --- a/spec/support/vcr_cassettes/vaos/appointments/post_appointment_400.yml +++ b/spec/support/vcr_cassettes/vaos/appointments/post_appointment_400.yml @@ -22,7 +22,7 @@ http_interactions: Referer: - https://api.va.gov X-Vamf-Jwt: - - eyJhbGciOiJSUzUxMiJ9.eyJsYXN0TmFtZSI6Ik1vcnJpc29uIiwic3ViIjoiMTAxMjg0NTMzMVYxNTMwNDMiLCJhdXRoZW50aWNhdGVkIjp0cnVlLCJhdXRoZW50aWNhdGlvbkF1dGhvcml0eSI6Imdvdi52YS52YW9zIiwiaWRUeXBlIjoiSUNOIiwiZ2VuZGVyIjoiRkVNQUxFIiwiaXNzIjoiZ292LnZhLnZhbWYudXNlcnNlcnZpY2UudjEiLCJ2YW1mLmF1dGgucmVzb3VyY2VzIjpbIl4uKihcLyk_c2l0ZVtzXT9cLyhkZm4tKT85ODRcL3BhdGllbnRbc10_XC81NTIxNjEwNTBcL2FwcG9pbnRtZW50cyhcLy4qKT8kIiwiXi4qKFwvKT9zaXRlW3NdP1wvKGRmbi0pPzk4M1wvcGF0aWVudFtzXT9cLzcyMTY2OTFcL2FwcG9pbnRtZW50cyhcLy4qKT8kIiwiXi4qKFwvKT9wYXRpZW50W3NdP1wvKElDTlwvKT8xMDEyODQ1MzMxVjE1MzA0MyhcLy4qKT8kIl0sImRhdGVPZkJpcnRoIjoiMTk1My0wNC0wMSIsInZlcnNpb24iOjIuMSwiZWRpcGlkIjoiMTI1OTg5Nzk3OCIsInZpc3RhSWRzIjpbeyJwYXRpZW50SWQiOiI1NTIxNjEwNTAiLCJzaXRlSWQiOiI5ODQifSx7InBhdGllbnRJZCI6IjcyMTY2OTEiLCJzaXRlSWQiOiI5ODMifV0sInNzbiI6Ijc5NjA2MTk3NiIsImZpcnN0TmFtZSI6Ikp1ZHkiLCJzdGFmZkRpc2NsYWltZXJBY2NlcHRlZCI6dHJ1ZSwibmJmIjoxNTc5MDMwMzk0LCJzc3QiOjE1NzkwMzA1NzMsInBhdGllbnQiOnsiZmlyc3ROYW1lIjoiSnVkeSIsImxhc3ROYW1lIjoiTW9ycmlzb24iLCJnZW5kZXIiOiJGRU1BTEUiLCJpY24iOiIxMDEyODQ1MzMxVjE1MzA0MyIsImRvYiI6IjE5NTMtMDQtMDEiLCJkYXRlT2ZCaXJ0aCI6IjE5NTMtMDQtMDEiLCJzc24iOiI3OTYwNjE5NzYifSwiZG9iIjoiMTk1My0wNC0wMSIsInZhbWYuYXV0aC5yb2xlcyI6WyJ2ZXRlcmFuIl0sInJpZ2h0T2ZBY2Nlc3NBY2NlcHRlZCI6dHJ1ZSwiZXhwIjoxNTc5MDMxNDc0LCJqdGkiOiIxNGE5NTVkZi1jZmQ1LTRiY2MtYTEwMi00YjQ0MTMwMDVlNzYiLCJsb2EiOjJ9.ibFZqltCKkylUGpeu54bJwjlFurqJqCgy0Cslx7zm1Rifc2N1MhTQzzEVPK_QHVTjMphgviDc1se-1XVmCUW4pDJ_YJk0YEdaQvYrYRUqYN4VRWNUQpunSBcWxx3UXa46QWPJQNBWmCa1mwHn1MRQNRdmGvJxODIOXaq9aoboZHJIsZLrf5YD6i3fMbahSsbGLA9c2ZwzeAn4-6ybwATe81NKRsrqe-txMV8X91n24KJx5CKAL1C-HV4ili47JJZD1sESTByM09iTBkLc5MHOLXd0t_-DlLocJDe1l4O0GMysMQJI4EirvK_rUuHeIkxB0nAfkvyEnllKswwS4TvLA + - stubbed_token Accept-Encoding: - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 response: diff --git a/spec/support/vcr_cassettes/vaos/appointments/post_appointment_409.yml b/spec/support/vcr_cassettes/vaos/appointments/post_appointment_409.yml index 8a5814e1200..2d0f4d28d3a 100644 --- a/spec/support/vcr_cassettes/vaos/appointments/post_appointment_409.yml +++ b/spec/support/vcr_cassettes/vaos/appointments/post_appointment_409.yml @@ -22,7 +22,7 @@ http_interactions: Referer: - https://api.va.gov X-Vamf-Jwt: - - eyJhbGciOiJSUzUxMiJ9.eyJsYXN0TmFtZSI6Ik1vcnJpc29uIiwic3ViIjoiMTAxMjg0NTMzMVYxNTMwNDMiLCJhdXRoZW50aWNhdGVkIjp0cnVlLCJhdXRoZW50aWNhdGlvbkF1dGhvcml0eSI6Imdvdi52YS52YW9zIiwiaWRUeXBlIjoiSUNOIiwiZ2VuZGVyIjoiRkVNQUxFIiwiaXNzIjoiZ292LnZhLnZhbWYudXNlcnNlcnZpY2UudjEiLCJ2YW1mLmF1dGgucmVzb3VyY2VzIjpbIl4uKihcLyk_c2l0ZVtzXT9cLyhkZm4tKT85ODRcL3BhdGllbnRbc10_XC81NTIxNjEwNTBcL2FwcG9pbnRtZW50cyhcLy4qKT8kIiwiXi4qKFwvKT9zaXRlW3NdP1wvKGRmbi0pPzk4M1wvcGF0aWVudFtzXT9cLzcyMTY2OTFcL2FwcG9pbnRtZW50cyhcLy4qKT8kIiwiXi4qKFwvKT9wYXRpZW50W3NdP1wvKElDTlwvKT8xMDEyODQ1MzMxVjE1MzA0MyhcLy4qKT8kIl0sImRhdGVPZkJpcnRoIjoiMTk1My0wNC0wMSIsInZlcnNpb24iOjIuMSwiZWRpcGlkIjoiMTI1OTg5Nzk3OCIsInZpc3RhSWRzIjpbeyJwYXRpZW50SWQiOiI1NTIxNjEwNTAiLCJzaXRlSWQiOiI5ODQifSx7InBhdGllbnRJZCI6IjcyMTY2OTEiLCJzaXRlSWQiOiI5ODMifV0sInNzbiI6Ijc5NjA2MTk3NiIsImZpcnN0TmFtZSI6Ikp1ZHkiLCJzdGFmZkRpc2NsYWltZXJBY2NlcHRlZCI6dHJ1ZSwibmJmIjoxNTc5MDMwMzk0LCJzc3QiOjE1NzkwMzA1NzMsInBhdGllbnQiOnsiZmlyc3ROYW1lIjoiSnVkeSIsImxhc3ROYW1lIjoiTW9ycmlzb24iLCJnZW5kZXIiOiJGRU1BTEUiLCJpY24iOiIxMDEyODQ1MzMxVjE1MzA0MyIsImRvYiI6IjE5NTMtMDQtMDEiLCJkYXRlT2ZCaXJ0aCI6IjE5NTMtMDQtMDEiLCJzc24iOiI3OTYwNjE5NzYifSwiZG9iIjoiMTk1My0wNC0wMSIsInZhbWYuYXV0aC5yb2xlcyI6WyJ2ZXRlcmFuIl0sInJpZ2h0T2ZBY2Nlc3NBY2NlcHRlZCI6dHJ1ZSwiZXhwIjoxNTc5MDMxNDc0LCJqdGkiOiIxNGE5NTVkZi1jZmQ1LTRiY2MtYTEwMi00YjQ0MTMwMDVlNzYiLCJsb2EiOjJ9.ibFZqltCKkylUGpeu54bJwjlFurqJqCgy0Cslx7zm1Rifc2N1MhTQzzEVPK_QHVTjMphgviDc1se-1XVmCUW4pDJ_YJk0YEdaQvYrYRUqYN4VRWNUQpunSBcWxx3UXa46QWPJQNBWmCa1mwHn1MRQNRdmGvJxODIOXaq9aoboZHJIsZLrf5YD6i3fMbahSsbGLA9c2ZwzeAn4-6ybwATe81NKRsrqe-txMV8X91n24KJx5CKAL1C-HV4ili47JJZD1sESTByM09iTBkLc5MHOLXd0t_-DlLocJDe1l4O0GMysMQJI4EirvK_rUuHeIkxB0nAfkvyEnllKswwS4TvLA + - stubbed_token Accept-Encoding: - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 response: diff --git a/spec/support/vcr_cassettes/vaos/appointments/put_cancel_appointment.yml b/spec/support/vcr_cassettes/vaos/appointments/put_cancel_appointment.yml index bd4ae2eac6d..b3f53aa1ab1 100644 --- a/spec/support/vcr_cassettes/vaos/appointments/put_cancel_appointment.yml +++ b/spec/support/vcr_cassettes/vaos/appointments/put_cancel_appointment.yml @@ -17,7 +17,7 @@ http_interactions: Referer: - https://api.va.gov X-Vamf-Jwt: - - eyJhbGciOiJSUzUxMiJ9.eyJsYXN0TmFtZSI6Ik1PUlJJU09OIiwic3ViIjoiMTAxMjg0NTMzMVYxNTMwNDMiLCJhdXRoZW50aWNhdGVkIjp0cnVlLCJhdXRoZW50aWNhdGlvbkF1dGhvcml0eSI6Imdvdi52YS52YW9zIiwiaWRUeXBlIjoiSUNOIiwiaXNzIjoiZ292LnZhLnZhbWYudXNlcnNlcnZpY2UudjEiLCJ2YW1mLmF1dGgucmVzb3VyY2VzIjpbIl4uKihcLyk_c2l0ZVtzXT9cLyhkZm4tKT85ODRcL3BhdGllbnRbc10_XC81NTIxNjEwNTBcL2FwcG9pbnRtZW50cyhcLy4qKT8kIiwiXi4qKFwvKT9zaXRlW3NdP1wvKGRmbi0pPzk4M1wvcGF0aWVudFtzXT9cLzcyMTY2OTFcL2FwcG9pbnRtZW50cyhcLy4qKT8kIiwiXi4qKFwvKT9wYXRpZW50W3NdP1wvKElDTlwvKT8xMDEyODQ1MzMxVjE1MzA0MyhcLy4qKT8kIl0sInZlcnNpb24iOjIuMSwidmlzdGFJZHMiOlt7InBhdGllbnRJZCI6IjU1MjE2MTA1MCIsInNpdGVJZCI6Ijk4NCJ9LHsicGF0aWVudElkIjoiNzIxNjY5MSIsInNpdGVJZCI6Ijk4MyJ9XSwiZmlyc3ROYW1lIjoiSlVEWSIsInN0YWZmRGlzY2xhaW1lckFjY2VwdGVkIjp0cnVlLCJuYmYiOjE1NzM4NDEyMTYsInNzdCI6MTU3Mzg0MTM5NiwicGF0aWVudCI6eyJmaXJzdE5hbWUiOiJKVURZIiwibGFzdE5hbWUiOiJNT1JSSVNPTiIsImljbiI6IjEwMTI4NDUzMzFWMTUzMDQzIn0sInVzZXJUeXBlIjoiVkVURVJBTiIsInZhbWYuYXV0aC5yb2xlcyI6WyJ2ZXRlcmFuIl0sInJpZ2h0T2ZBY2Nlc3NBY2NlcHRlZCI6dHJ1ZSwiZXhwIjoxNTczODQyMjk2LCJqdGkiOiIwYmI5ZTFjYi1hNDg1LTQ0YTgtOGI1NS02OTQ2Yjk5YzU4MTgiLCJsb2EiOjJ9.S6f-KCgADErhYVhcOcpa1K1Bm8oe7LpKbi09VehNp5KvA57Eg7Z-B3m3LDnvUnWkAg1Da8h3JVph4h4H5oSlALURuKB5FeQOXiARkfrHpIq0nuHWBQbeaIOqsHiAswT4U1xGPQk0Q2zmsumJXviBl1ffoLJXQih6UQy1do1MMBskCL1YcJzaO6MaYl5kuDKdo3wtXg9xMYd0MEBSeyKEynvdXcH80BIFdz6gMQZt4DXRM4iCPldW9DRbEp0mOIV7vdXFx_8q0atILAABes891HOygXsBPAGvL7sDTw8PMD04Yz__2NKefRBXOmtjGj28D9Yv6PEKcP3TYrt29-FO9A + - stubbed_token Accept-Encoding: - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 response: diff --git a/spec/support/vcr_cassettes/vaos/appointments/put_cancel_appointment_409.yml b/spec/support/vcr_cassettes/vaos/appointments/put_cancel_appointment_409.yml index 6b99191d31b..9e2391d44fa 100644 --- a/spec/support/vcr_cassettes/vaos/appointments/put_cancel_appointment_409.yml +++ b/spec/support/vcr_cassettes/vaos/appointments/put_cancel_appointment_409.yml @@ -16,7 +16,7 @@ http_interactions: Referer: - https://api.va.gov X-Vamf-Jwt: - - eyJhbGciOiJSUzUxMiJ9.eyJsYXN0TmFtZSI6Ik1PUlJJU09OIiwic3ViIjoiMTAxMjg0NTMzMVYxNTMwNDMiLCJhdXRoZW50aWNhdGVkIjp0cnVlLCJhdXRoZW50aWNhdGlvbkF1dGhvcml0eSI6Imdvdi52YS52YW9zIiwiaWRUeXBlIjoiSUNOIiwiaXNzIjoiZ292LnZhLnZhbWYudXNlcnNlcnZpY2UudjEiLCJ2YW1mLmF1dGgucmVzb3VyY2VzIjpbIl4uKihcLyk_c2l0ZVtzXT9cLyhkZm4tKT85ODRcL3BhdGllbnRbc10_XC81NTIxNjEwNTBcL2FwcG9pbnRtZW50cyhcLy4qKT8kIiwiXi4qKFwvKT9zaXRlW3NdP1wvKGRmbi0pPzk4M1wvcGF0aWVudFtzXT9cLzcyMTY2OTFcL2FwcG9pbnRtZW50cyhcLy4qKT8kIiwiXi4qKFwvKT9wYXRpZW50W3NdP1wvKElDTlwvKT8xMDEyODQ1MzMxVjE1MzA0MyhcLy4qKT8kIl0sInZlcnNpb24iOjIuMSwidmlzdGFJZHMiOlt7InBhdGllbnRJZCI6IjU1MjE2MTA1MCIsInNpdGVJZCI6Ijk4NCJ9LHsicGF0aWVudElkIjoiNzIxNjY5MSIsInNpdGVJZCI6Ijk4MyJ9XSwiZmlyc3ROYW1lIjoiSlVEWSIsInN0YWZmRGlzY2xhaW1lckFjY2VwdGVkIjp0cnVlLCJuYmYiOjE1NzM4MTc2MjEsInNzdCI6MTU3MzgxNzgwMSwicGF0aWVudCI6eyJmaXJzdE5hbWUiOiJKVURZIiwibGFzdE5hbWUiOiJNT1JSSVNPTiIsImljbiI6IjEwMTI4NDUzMzFWMTUzMDQzIn0sInVzZXJUeXBlIjoiVkVURVJBTiIsInZhbWYuYXV0aC5yb2xlcyI6WyJ2ZXRlcmFuIl0sInJpZ2h0T2ZBY2Nlc3NBY2NlcHRlZCI6dHJ1ZSwiZXhwIjoxNTczODE4NzAxLCJqdGkiOiI2ZWFlMGEzZC01NTdhLTQ3MDItODU3YS1hM2JhOTgyMjcwNDMiLCJsb2EiOjJ9.TVTk4BDBUDWSPeJMJ_1o1NUDYq366QDEKrROPTM09_fVqbfzlSxbQr4mpNFjUrCYGxPYw_dNiznwtDz4JIFrMWCugmdM3IunF1bFlTOFiKhaY55Sri7lo_o7biJMSDJW7VOCQdhvU-cluD1ttLV324HdBAJXVlGkqGy2F0xwVYHh9mRzuOQJun9e2d9qDkIDOIqtp5OxXlxTaBm6sD3IfW7EkTa89fxMPkrWpqYR7CPNU8cN6vxnxKsP4vD5EsiIoGBbTBUHUJ23GXS4cr8E9MsrvEfKF8IbbsiuJmhDc_ght9fx5E2t_I0tPDhkg_47dyMlUy5WxAQKWuWPOC5AOA + - stubbed_token Accept-Encoding: - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 response: diff --git a/spec/support/vcr_cassettes/vaos/appointments/show_appointment_404.yml b/spec/support/vcr_cassettes/vaos/appointments/show_appointment_404.yml index bbca812cd95..3e4ffd0a033 100644 --- a/spec/support/vcr_cassettes/vaos/appointments/show_appointment_404.yml +++ b/spec/support/vcr_cassettes/vaos/appointments/show_appointment_404.yml @@ -16,7 +16,7 @@ http_interactions: Referer: - https://review-instance.va.gov X-Vamf-Jwt: - - eyJhbGciOiJSUzUxMiJ9.eyJsYXN0TmFtZSI6Ik1vcnJpc29uIiwic3ViIjoiMTAxMjg0NTMzMVYxNTMwNDMiLCJhdXRoZW50aWNhdGVkIjp0cnVlLCJhdXRoZW50aWNhdGlvbkF1dGhvcml0eSI6Imdvdi52YS52YW9zIiwiaWRUeXBlIjoiSUNOIiwiZ2VuZGVyIjoiRkVNQUxFIiwiaXNzIjoiZ292LnZhLnZhbWYudXNlcnNlcnZpY2UudjIiLCJ2YW1mLmF1dGgucmVzb3VyY2VzIjpbIl4uKihcLyk_c2l0ZVtzXT9cLyhkZm4tKT85ODRcL3BhdGllbnRbc10_XC81NTIxNjEwNTBcL2FwcG9pbnRtZW50cyhcLy4qKT8kIiwiXi4qKFwvKT9zaXRlW3NdP1wvKGRmbi0pPzk4M1wvcGF0aWVudFtzXT9cLzcyMTY2OTFcL2FwcG9pbnRtZW50cyhcLy4qKT8kIiwiXi4qKFwvKT9wYXRpZW50W3NdP1wvKElDTlwvKT8xMDEyODQ1MzMxVjE1MzA0MyhcLy4qKT8kIl0sImRhdGVPZkJpcnRoIjoiMTk1MzA0MDEiLCJ2ZXJzaW9uIjoyLjEsImVkaXBpZCI6IjEyNTk4OTc5NzgiLCJ2aXN0YUlkcyI6W3sicGF0aWVudElkIjoiNTUyMTYxMDUwIiwic2l0ZUlkIjoiOTg0In0seyJwYXRpZW50SWQiOiI3MjE2NjkxIiwic2l0ZUlkIjoiOTgzIn1dLCJzc24iOiI3OTYwNjE5NzYiLCJmaXJzdE5hbWUiOiJKdWR5Iiwic3RhZmZEaXNjbGFpbWVyQWNjZXB0ZWQiOnRydWUsIm5iZiI6MTYxMDU2MDAxOCwic3N0IjoxNjEwNTYwMTk3LCJwYXRpZW50Ijp7ImZpcnN0TmFtZSI6Ikp1ZHkiLCJsYXN0TmFtZSI6Ik1vcnJpc29uIiwiZ2VuZGVyIjoiRkVNQUxFIiwiaWNuIjoiMTAxMjg0NTMzMVYxNTMwNDMiLCJkb2IiOiIxOTUzLTA0LTAxIiwiZGF0ZU9mQmlydGgiOiIxOTUzLTA0LTAxIiwic3NuIjoiNzk2MDYxOTc2In0sImRvYiI6IjE5NTMwNDAxIiwidmFtZi5hdXRoLnJvbGVzIjpbInZldGVyYW4iXSwicmlnaHRPZkFjY2Vzc0FjY2VwdGVkIjp0cnVlLCJleHAiOjE2MTA1NjEwOTgsImp0aSI6IjJhNjljMGU2LWI4OWMtNDk0Yi1hNWVkLTBhZDFjZGI5ZDQ4NyIsImxvYSI6Mn0.Py-VjsAxsd6-jejAe729Q6udo21OYWw7BonYYH96sxnNHdqxh9y9h-pys8sCJ4AQ8W6qggTj7iLkWiOtiJMHA7jM9xdICKzZUdiUdFxmpR_a3D-0CIRZV3AAPyXkf0GWKvh-GJ87cgLz_Vq1QnRVEj4X2EnRp6YCnhZsizQGj5BuhukB3UgrvlPU-MlMKnOPrpn_Xpk_T8L1QzzPbIftDoNs6p7AShkR7j4MOdpWvGNCF14UM-Rn3sehnGOgKN0xYgvFd4_9oibPMvI2Q5rIQWwyf6p9youa_23IzbZ5s3r4oUza9bUDHzW35co-c3gX-7IhI8tQ9gxK9ZqoNSabpA + - stubbed_token X-Request-Id: - '' Accept-Encoding: diff --git a/spec/support/vcr_cassettes/vaos/appointments/show_appointment_500.yml b/spec/support/vcr_cassettes/vaos/appointments/show_appointment_500.yml index 2b27d155dcc..d4bf477e6e5 100644 --- a/spec/support/vcr_cassettes/vaos/appointments/show_appointment_500.yml +++ b/spec/support/vcr_cassettes/vaos/appointments/show_appointment_500.yml @@ -51,9 +51,9 @@ http_interactions: Access-Control-Max-Age: - '3600' Set-Cookie: - - TS016f4012=01c16e2d81fc226234f653b401a6d3c45964b178c3dca337d48dc27850ee4b2500802d8cd5ce3022f84792af5d23119520ca71bbc596b1ad67dc95ab16a1a86b35c68d151ea4d6e53a92650a851039167e75ca477a; + - TS016f4012=stubbed_cookie; Max-Age=900; Path=/ - - vamfjwtv3=eyJ6aXAiOiJERUYiLCJjdHkiOiJKV1QiLCJlbmMiOiJBMjU2Q0JDLUhTNTEyIiwiYWxnIjoiUlNBLU9BRVAtMjU2In0.ZyMpgyWmTxwJ4xf7e9aF8vSHP9YEZwRrI9sIRVX5x_tztvCzp4TDNj0yZ33GwHlXgDRFDIWh9qNZAq6d7ECDnI9hzZk-3Q-GM69bkUcdLRrYE4UX4i8HQawxXfC05lVHnqNZo81n4-laN91S6_In613ZcAQ4y4V-734nxqXFH9mYJUlf1MI3ixIPQ9G_0liQyvk0bZ2eE6GGGyDqt7mOvw_SGR3D3xgjB_csivbhkgY8qTOTTHCkRqYG6Ehpj9k2kiS_HD3XBVbyKTv3Oa7DtbnJ6HbFP7LUh-4pTATSBxT9IjyKtfCEHV9k0ZwMZGrnvJHmGaE3EcBq1qjeqdtdcw.aaLqA_CnlF_lo6pn2zINXw.Nn_C0mbkeOeXwxdkw_6h81GtmH0ykuMIKPeUUW4Z_yEmfBgTi6Ber9OUnv8OSsNVA8KUwsP8kgGB6Mh8xnvSVuA2jmn8YeG1dojV4Mhi8bGj4F0qKYTaCGorCEqpN8cu2wzupCuM4FYT3mXhHao1h_-Qc6_tRiDpbq572MngKJG8KHS7RYkMUo9RCRTuwSHQXr7XFN9Y0uToKGrY_r8a3LUr6PV8N5iFWunWF1G8_d6QbMFo-EY54cd9VPdJqydOtvTStyRbVjfq6Ud9GyzblgO22-jedghx0EOLOxjcIOVCEdJNnAnfokl50K53dW7ogK0Uj6ljH7_XzHyjhfDGBE_Xm_r2c9LYPX8_jp1bO2AZYllJGupAbJ4mIGCEG1zxUBNDaKX_T5rV5G5vxTGqlLw-9h6Il6rcqScrrfVciK46fnHZWfOZadevMNqO6yafMlUOQqnL4HodZRy4soy_KKlO4lsMX6LM1mVJM0SNU3YZUO0KuhCSTz8cMnuoek26OTurc6_x2ZrMMLS_GLh-m8pdjbvsjhbjw2n-yBQrKvHf1jl1cvUQSG8pHCFOjni2coUmmbTy0omzt29A1-NkOwbcIw7H2cgnosYzdpkgOvOMJgYAz-_PHYba1aDF8SNZpTl49TrIJXp01mVWwr-5buDmCbebuk1beqwb1-3FQI0.Owtu7sXRP0m4qVdPQ0qMZJKr2mVrSUrtpGpH9hvqjAM; + - vamfjwtv3=stubbed_token; path=/;max-age=900; HttpOnly - vamftimeoutv1=1567617431; path=/ body: diff --git a/spec/support/vcr_cassettes/vaos/appointments/show_appointment_with_dash.yml b/spec/support/vcr_cassettes/vaos/appointments/show_appointment_with_dash.yml index 2ddc1513716..3f4bc01c782 100644 --- a/spec/support/vcr_cassettes/vaos/appointments/show_appointment_with_dash.yml +++ b/spec/support/vcr_cassettes/vaos/appointments/show_appointment_with_dash.yml @@ -16,7 +16,7 @@ http_interactions: Referer: - https://api.va.gov X-Vamf-Jwt: - - eyJhbGciOiJSUzUxMiJ9.eyJsYXN0TmFtZSI6Ik1vcnJpc29uIiwic3ViIjoiMTAxMjg0NTMzMVYxNTMwNDMiLCJhdXRoZW50aWNhdGVkIjp0cnVlLCJhdXRoZW50aWNhdGlvbkF1dGhvcml0eSI6Imdvdi52YS52YW9zIiwiaWRUeXBlIjoiSUNOIiwiZ2VuZGVyIjoiRkVNQUxFIiwiaXNzIjoiZ292LnZhLnZhbWYudXNlcnNlcnZpY2UudjIiLCJ2YW1mLmF1dGgucmVzb3VyY2VzIjpbIl4uKihcLyk_c2l0ZVtzXT9cLyhkZm4tKT85ODRcL3BhdGllbnRbc10_XC81NTIxNjEwNTBcL2FwcG9pbnRtZW50cyhcLy4qKT8kIiwiXi4qKFwvKT9zaXRlW3NdP1wvKGRmbi0pPzk4M1wvcGF0aWVudFtzXT9cLzcyMTY2OTFcL2FwcG9pbnRtZW50cyhcLy4qKT8kIiwiXi4qKFwvKT9wYXRpZW50W3NdP1wvKElDTlwvKT8xMDEyODQ1MzMxVjE1MzA0MyhcLy4qKT8kIl0sImRhdGVPZkJpcnRoIjoiMTk1MzA0MDEiLCJ2ZXJzaW9uIjoyLjEsImVkaXBpZCI6IjEyNTk4OTc5NzgiLCJ2aXN0YUlkcyI6W3sicGF0aWVudElkIjoiNTUyMTYxMDUwIiwic2l0ZUlkIjoiOTg0In0seyJwYXRpZW50SWQiOiI3MjE2NjkxIiwic2l0ZUlkIjoiOTgzIn1dLCJzc24iOiI3OTYwNjE5NzYiLCJmaXJzdE5hbWUiOiJKdWR5Iiwic3RhZmZEaXNjbGFpbWVyQWNjZXB0ZWQiOnRydWUsIm5iZiI6MTYxMDY0NzQxOCwic3N0IjoxNjEwNjQ3NTk4LCJwYXRpZW50Ijp7ImZpcnN0TmFtZSI6Ikp1ZHkiLCJsYXN0TmFtZSI6Ik1vcnJpc29uIiwiZ2VuZGVyIjoiRkVNQUxFIiwiaWNuIjoiMTAxMjg0NTMzMVYxNTMwNDMiLCJkb2IiOiIxOTUzLTA0LTAxIiwiZGF0ZU9mQmlydGgiOiIxOTUzLTA0LTAxIiwic3NuIjoiNzk2MDYxOTc2In0sImRvYiI6IjE5NTMwNDAxIiwidmFtZi5hdXRoLnJvbGVzIjpbInZldGVyYW4iXSwicmlnaHRPZkFjY2Vzc0FjY2VwdGVkIjp0cnVlLCJleHAiOjE2MTA2NDg0OTgsImp0aSI6ImJkNjA2YzcxLWNmODgtNDdhMi1hNWY3LTFiY2I2NjVmMmI1OCIsImxvYSI6Mn0.HqQTeWy8Fd63QvvoR5KvP4QIRSNLqelTTaVzETUU36vGbjuJTVFgr7cdVaQ1XPDzGiJwxXKTWq_kMwzP7h9rEKODbciP1Wl72yj3J3p8spsSg81Slr6Xnrsi_fK4_I2GTUxAjCt50CFCDOOH7pPE6DpCf9_2nAUFQnYL4YBOrzFxuQ2yqGiUovKckVGp-j4ZFM1rWIEPwDCGsDd69YJlMi1qhooGTIxozXzm2PxApiSWVwp3CzD1PQOMpejfS6j3l6AR6SRhhZOP-9EssoRSBmwP7t8HjacGq08He5ba3C8AD1NGruhzAtO1_y93Ty1myv-M4BVp0Mszmzw7W9js0Q + - stubbed_token X-Request-Id: - "" Accept-Encoding: diff --git a/spec/support/vcr_cassettes/vaos/cc_eligibility/get_eligibility_400.yml b/spec/support/vcr_cassettes/vaos/cc_eligibility/get_eligibility_400.yml index ec54ab310ef..173f8e8aa97 100644 --- a/spec/support/vcr_cassettes/vaos/cc_eligibility/get_eligibility_400.yml +++ b/spec/support/vcr_cassettes/vaos/cc_eligibility/get_eligibility_400.yml @@ -16,7 +16,7 @@ http_interactions: Referer: - https://api.va.gov X-Vamf-Jwt: - - eyJhbGciOiJSUzUxMiJ9.eyJsYXN0TmFtZSI6Ik1vcnJpc29uIiwic3ViIjoiMTAxMjg0NTMzMVYxNTMwNDMiLCJhdXRoZW50aWNhdGVkIjp0cnVlLCJhdXRoZW50aWNhdGlvbkF1dGhvcml0eSI6Imdvdi52YS52YW9zIiwiaWRUeXBlIjoiSUNOIiwiZ2VuZGVyIjoiRkVNQUxFIiwiaXNzIjoiZ292LnZhLnZhbWYudXNlcnNlcnZpY2UudjEiLCJ2YW1mLmF1dGgucmVzb3VyY2VzIjpbIl4uKihcLyk_c2l0ZVtzXT9cLyhkZm4tKT85ODRcL3BhdGllbnRbc10_XC81NTIxNjEwNTBcL2FwcG9pbnRtZW50cyhcLy4qKT8kIiwiXi4qKFwvKT9zaXRlW3NdP1wvKGRmbi0pPzk4M1wvcGF0aWVudFtzXT9cLzcyMTY2OTFcL2FwcG9pbnRtZW50cyhcLy4qKT8kIiwiXi4qKFwvKT9wYXRpZW50W3NdP1wvKElDTlwvKT8xMDEyODQ1MzMxVjE1MzA0MyhcLy4qKT8kIl0sImRhdGVPZkJpcnRoIjoiMTk1My0wNC0wMSIsInZlcnNpb24iOjIuMSwiZWRpcGlkIjoiMTI1OTg5Nzk3OCIsInZpc3RhSWRzIjpbeyJwYXRpZW50SWQiOiI1NTIxNjEwNTAiLCJzaXRlSWQiOiI5ODQifSx7InBhdGllbnRJZCI6IjcyMTY2OTEiLCJzaXRlSWQiOiI5ODMifV0sInNzbiI6Ijc5NjA2MTk3NiIsImZpcnN0TmFtZSI6Ikp1ZHkiLCJzdGFmZkRpc2NsYWltZXJBY2NlcHRlZCI6dHJ1ZSwibmJmIjoxNTc2MjI4NjA1LCJzc3QiOjE1NzYyMjg3ODQsInBhdGllbnQiOnsiZmlyc3ROYW1lIjoiSnVkeSIsImxhc3ROYW1lIjoiTW9ycmlzb24iLCJnZW5kZXIiOiJGRU1BTEUiLCJpY24iOiIxMDEyODQ1MzMxVjE1MzA0MyIsImRvYiI6IjE5NTMtMDQtMDEiLCJkYXRlT2ZCaXJ0aCI6IjE5NTMtMDQtMDEiLCJzc24iOiI3OTYwNjE5NzYifSwiZG9iIjoiMTk1My0wNC0wMSIsInZhbWYuYXV0aC5yb2xlcyI6WyJ2ZXRlcmFuIl0sInJpZ2h0T2ZBY2Nlc3NBY2NlcHRlZCI6dHJ1ZSwiZXhwIjoxNTc2MjI5Njg1LCJqdGkiOiI1MjdmYmViZC04ZTc2LTRiZDgtODI4YS1jNWVlNGFkY2ZkZDMiLCJsb2EiOjJ9.cTMeNagVeuQn5fJEzdYnJWUt8yGA8juLhWy4niHo6ccmkz1xK_cDGFRmGsNys2h-d1hPY1A946AaCCEGZ5ety6Zl22YA_q5JRX9n86716cIQGFccpqVdejhUeWfwKjRczWThc0UjeJ-8NSP7pDrLAF_Apdyi9wwILdQ8FI8Te5-Ad-cF9cxaYStqLv_b6IQ2Rlzqmiyr1FL9foXrAf91KKxC1QrGp6z6RN6CWOsMvkYcszfS3_aMJQiHw4kCtBi1K_IexOAYbeelWgJ5l8pBmE-YQXsfr31zYnxAwrKSb6RFNB08RqVC0Tseo-93DMfdt9eB-2LsJT2OxLG92BbQng + - stubbed_token Accept-Encoding: - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 response: diff --git a/spec/support/vcr_cassettes/vaos/cc_eligibility/get_eligibility_false.yml b/spec/support/vcr_cassettes/vaos/cc_eligibility/get_eligibility_false.yml index b758adc1a96..35057b7c8d6 100644 --- a/spec/support/vcr_cassettes/vaos/cc_eligibility/get_eligibility_false.yml +++ b/spec/support/vcr_cassettes/vaos/cc_eligibility/get_eligibility_false.yml @@ -16,7 +16,7 @@ http_interactions: Referer: - https://api.va.gov X-Vamf-Jwt: - - eyJhbGciOiJSUzUxMiJ9.eyJsYXN0TmFtZSI6Ik1vcnJpc29uIiwic3ViIjoiMTAxMjg0NTMzMVYxNTMwNDMiLCJhdXRoZW50aWNhdGVkIjp0cnVlLCJhdXRoZW50aWNhdGlvbkF1dGhvcml0eSI6Imdvdi52YS52YW9zIiwiaWRUeXBlIjoiSUNOIiwiZ2VuZGVyIjoiRkVNQUxFIiwiaXNzIjoiZ292LnZhLnZhbWYudXNlcnNlcnZpY2UudjEiLCJ2YW1mLmF1dGgucmVzb3VyY2VzIjpbIl4uKihcLyk_c2l0ZVtzXT9cLyhkZm4tKT85ODRcL3BhdGllbnRbc10_XC81NTIxNjEwNTBcL2FwcG9pbnRtZW50cyhcLy4qKT8kIiwiXi4qKFwvKT9zaXRlW3NdP1wvKGRmbi0pPzk4M1wvcGF0aWVudFtzXT9cLzcyMTY2OTFcL2FwcG9pbnRtZW50cyhcLy4qKT8kIiwiXi4qKFwvKT9wYXRpZW50W3NdP1wvKElDTlwvKT8xMDEyODQ1MzMxVjE1MzA0MyhcLy4qKT8kIl0sImRhdGVPZkJpcnRoIjoiMTk1My0wNC0wMSIsInZlcnNpb24iOjIuMSwiZWRpcGlkIjoiMTI1OTg5Nzk3OCIsInZpc3RhSWRzIjpbeyJwYXRpZW50SWQiOiI1NTIxNjEwNTAiLCJzaXRlSWQiOiI5ODQifSx7InBhdGllbnRJZCI6IjcyMTY2OTEiLCJzaXRlSWQiOiI5ODMifV0sInNzbiI6Ijc5NjA2MTk3NiIsImZpcnN0TmFtZSI6Ikp1ZHkiLCJzdGFmZkRpc2NsYWltZXJBY2NlcHRlZCI6dHJ1ZSwibmJmIjoxNTc2MjI4NTkzLCJzc3QiOjE1NzYyMjg3NzMsInBhdGllbnQiOnsiZmlyc3ROYW1lIjoiSnVkeSIsImxhc3ROYW1lIjoiTW9ycmlzb24iLCJnZW5kZXIiOiJGRU1BTEUiLCJpY24iOiIxMDEyODQ1MzMxVjE1MzA0MyIsImRvYiI6IjE5NTMtMDQtMDEiLCJkYXRlT2ZCaXJ0aCI6IjE5NTMtMDQtMDEiLCJzc24iOiI3OTYwNjE5NzYifSwiZG9iIjoiMTk1My0wNC0wMSIsInZhbWYuYXV0aC5yb2xlcyI6WyJ2ZXRlcmFuIl0sInJpZ2h0T2ZBY2Nlc3NBY2NlcHRlZCI6dHJ1ZSwiZXhwIjoxNTc2MjI5NjczLCJqdGkiOiIxZTliNjYyYy0xODZhLTQzMTUtOTBkMS1kZWFlYjc3N2NmNTIiLCJsb2EiOjJ9.DFUuPfwoWLxfefV7ugclh97RwX7XAqz8JXtUEmd5cdg5gvEanUmbF7I6fzFDOlNJQzqKRqcw9bqhq4OMILZcauUg91GSMXnUfkqOfEvG-za-3agAjSmrfXGuESbnNi-6ViGmzaYfF742gHQwRYyvBeZF_Xd5ZeIyy1OrBynVeMTOUYmFlR64hjTfCyUJedS8XthDG0GMknlWPhaA4xr50-hM6IfX5zokCBs4-ZdwGYPiHUkVFZQsCzrhVkftKiOs8IjE6-M193dlRkp-2ZRCywZDOSX8zkJ-7YygTCEvoBm4YAdc9ugsjl4HV1-zlcX62EPi-c_v_iQQBB0P89tqtQ + - stubbed_token Accept-Encoding: - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 response: diff --git a/spec/support/vcr_cassettes/vaos/cc_eligibility/get_eligibility_true.yml b/spec/support/vcr_cassettes/vaos/cc_eligibility/get_eligibility_true.yml index 5d3dd23b2cb..a6b9cc05c7b 100644 --- a/spec/support/vcr_cassettes/vaos/cc_eligibility/get_eligibility_true.yml +++ b/spec/support/vcr_cassettes/vaos/cc_eligibility/get_eligibility_true.yml @@ -16,7 +16,7 @@ http_interactions: Referer: - https://api.va.gov X-Vamf-Jwt: - - eyJhbGciOiJSUzUxMiJ9.eyJsYXN0TmFtZSI6Ik1vcnJpc29uIiwic3ViIjoiMTAxMjg0NTMzMVYxNTMwNDMiLCJhdXRoZW50aWNhdGVkIjp0cnVlLCJhdXRoZW50aWNhdGlvbkF1dGhvcml0eSI6Imdvdi52YS52YW9zIiwiaWRUeXBlIjoiSUNOIiwiZ2VuZGVyIjoiRkVNQUxFIiwiaXNzIjoiZ292LnZhLnZhbWYudXNlcnNlcnZpY2UudjEiLCJ2YW1mLmF1dGgucmVzb3VyY2VzIjpbIl4uKihcLyk_c2l0ZVtzXT9cLyhkZm4tKT85ODRcL3BhdGllbnRbc10_XC81NTIxNjEwNTBcL2FwcG9pbnRtZW50cyhcLy4qKT8kIiwiXi4qKFwvKT9zaXRlW3NdP1wvKGRmbi0pPzk4M1wvcGF0aWVudFtzXT9cLzcyMTY2OTFcL2FwcG9pbnRtZW50cyhcLy4qKT8kIiwiXi4qKFwvKT9wYXRpZW50W3NdP1wvKElDTlwvKT8xMDEyODQ1MzMxVjE1MzA0MyhcLy4qKT8kIl0sImRhdGVPZkJpcnRoIjoiMTk1My0wNC0wMSIsInZlcnNpb24iOjIuMSwiZWRpcGlkIjoiMTI1OTg5Nzk3OCIsInZpc3RhSWRzIjpbeyJwYXRpZW50SWQiOiI1NTIxNjEwNTAiLCJzaXRlSWQiOiI5ODQifSx7InBhdGllbnRJZCI6IjcyMTY2OTEiLCJzaXRlSWQiOiI5ODMifV0sInNzbiI6Ijc5NjA2MTk3NiIsImZpcnN0TmFtZSI6Ikp1ZHkiLCJzdGFmZkRpc2NsYWltZXJBY2NlcHRlZCI6dHJ1ZSwibmJmIjoxNTc2MjI4NTY0LCJzc3QiOjE1NzYyMjg3NDQsInBhdGllbnQiOnsiZmlyc3ROYW1lIjoiSnVkeSIsImxhc3ROYW1lIjoiTW9ycmlzb24iLCJnZW5kZXIiOiJGRU1BTEUiLCJpY24iOiIxMDEyODQ1MzMxVjE1MzA0MyIsImRvYiI6IjE5NTMtMDQtMDEiLCJkYXRlT2ZCaXJ0aCI6IjE5NTMtMDQtMDEiLCJzc24iOiI3OTYwNjE5NzYifSwiZG9iIjoiMTk1My0wNC0wMSIsInZhbWYuYXV0aC5yb2xlcyI6WyJ2ZXRlcmFuIl0sInJpZ2h0T2ZBY2Nlc3NBY2NlcHRlZCI6dHJ1ZSwiZXhwIjoxNTc2MjI5NjQ0LCJqdGkiOiI5NDUwNjAzOS1kM2ZhLTRhNGItOWFmZi05NzI2ZTUxOTZhOGYiLCJsb2EiOjJ9.wP5uqjIYQKN3ZQyVST53_g-QLZM-Sm-KR_esWSAEMx7MRtNEHvHzYw_2oIauLCjSK7nnktbohsvp8lFjs-dVQYWewT-ZWSTsXSN3T-Q7quzoKFsO7sFVL406SWxWZaAIrbof6KyQ-eiiJ5oD7WP4Y72VurRFGErnTJ5PBIuxikEWdtmx3p7ECez_CSWxwuiw-pOUM4JjCKqLmRjVD1foewRu1VWH9-wr91iiLd0jWen-q-2NKEqx_H3W3lIYxtWDMl1X1fsdSqb4hNrplMeonKea6-PlWJkSkn-u2BTM6TVPne0QXKfFcXv6Pc7EJ9aZx9_dJ7kKuzpbFaNWDChxFQ + - stubbed_token Accept-Encoding: - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 response: diff --git a/spec/support/vcr_cassettes/vaos/cc_supported_sites/get_no_sites.yml b/spec/support/vcr_cassettes/vaos/cc_supported_sites/get_no_sites.yml index 958668d9eec..e96168c3870 100644 --- a/spec/support/vcr_cassettes/vaos/cc_supported_sites/get_no_sites.yml +++ b/spec/support/vcr_cassettes/vaos/cc_supported_sites/get_no_sites.yml @@ -16,7 +16,7 @@ Referer: - https://api.va.gov X-Vamf-Jwt: - - eyJhbGciOiJSUzUxMiJ9.eyJsYXN0TmFtZSI6Ik1vcnJpc29uIiwic3ViIjoiMTAxMjg0NTMzMVYxNTMwNDMiLCJhdXRoZW50aWNhdGVkIjp0cnVlLCJhdXRoZW50aWNhdGlvbkF1dGhvcml0eSI6Imdvdi52YS52YW9zIiwiaWRUeXBlIjoiSUNOIiwiZ2VuZGVyIjoiRkVNQUxFIiwiaXNzIjoiZ292LnZhLnZhbWYudXNlcnNlcnZpY2UudjEiLCJ2YW1mLmF1dGgucmVzb3VyY2VzIjpbIl4uKihcLyk_c2l0ZVtzXT9cLyhkZm4tKT85ODRcL3BhdGllbnRbc10_XC81NTIxNjEwNTBcL2FwcG9pbnRtZW50cyhcLy4qKT8kIiwiXi4qKFwvKT9zaXRlW3NdP1wvKGRmbi0pPzk4M1wvcGF0aWVudFtzXT9cLzcyMTY2OTFcL2FwcG9pbnRtZW50cyhcLy4qKT8kIiwiXi4qKFwvKT9wYXRpZW50W3NdP1wvKElDTlwvKT8xMDEyODQ1MzMxVjE1MzA0MyhcLy4qKT8kIl0sImRhdGVPZkJpcnRoIjoiMTk1My0wNC0wMSIsInZlcnNpb24iOjIuMSwiZWRpcGlkIjoiMTI1OTg5Nzk3OCIsInZpc3RhSWRzIjpbeyJwYXRpZW50SWQiOiI1NTIxNjEwNTAiLCJzaXRlSWQiOiI5ODQifSx7InBhdGllbnRJZCI6IjcyMTY2OTEiLCJzaXRlSWQiOiI5ODMifV0sInNzbiI6Ijc5NjA2MTk3NiIsImZpcnN0TmFtZSI6Ikp1ZHkiLCJzdGFmZkRpc2NsYWltZXJBY2NlcHRlZCI6dHJ1ZSwibmJmIjoxNTc3MTQ1NDYzLCJzc3QiOjE1NzcxNDU2NDIsInBhdGllbnQiOnsiZmlyc3ROYW1lIjoiSnVkeSIsImxhc3ROYW1lIjoiTW9ycmlzb24iLCJnZW5kZXIiOiJGRU1BTEUiLCJpY24iOiIxMDEyODQ1MzMxVjE1MzA0MyIsImRvYiI6IjE5NTMtMDQtMDEiLCJkYXRlT2ZCaXJ0aCI6IjE5NTMtMDQtMDEiLCJzc24iOiI3OTYwNjE5NzYifSwiZG9iIjoiMTk1My0wNC0wMSIsInZhbWYuYXV0aC5yb2xlcyI6WyJ2ZXRlcmFuIl0sInJpZ2h0T2ZBY2Nlc3NBY2NlcHRlZCI6dHJ1ZSwiZXhwIjoxNTc3MTQ2NTQzLCJqdGkiOiI2NTE4MGQwZS1iMmJjLTRhOGUtYTFlOC03YTIzNmUzNDY2ZGQiLCJsb2EiOjJ9.MDgRaVnE3MQbsdL7WWKfJ80qbtRbMWLLIHhFXt95UfBhHsQ-0b3toxo_SvvZnhwXyfpnTDmEsXmyNeLBvGoiwq02VHlHnr96njcezUeoE5Dkxr8gpuNHOfNNALKwp1QLNn8u664-Ck9LnNsLMbcfyINE4xdrewinNd7V8P4UvV22dCzvn4EluCa8PHEn0-WynJH8laxyBdICHXoG6Y93BXbzT6dGiHx_h7OQmfY15kOOIMc0soeU2tEb-LEZC4ss0zoEnifWzVHbJvA6qxi_XZVGnscLjekQR7TMN5OyIzz1QmwwfHpvvFxQKgk98Ys4G9e-307JQSqqanPwVyV63A + - stubbed_token Accept-Encoding: - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 response: @@ -43,4 +43,4 @@ http_version: recorded_at: Tue, 24 Dec 2019 00:00:43 GMT recorded_with: VCR 5.0.0 - \ No newline at end of file + diff --git a/spec/support/vcr_cassettes/vaos/cc_supported_sites/get_one_site.yml b/spec/support/vcr_cassettes/vaos/cc_supported_sites/get_one_site.yml index 8c61dc8cab3..4a89840046d 100644 --- a/spec/support/vcr_cassettes/vaos/cc_supported_sites/get_one_site.yml +++ b/spec/support/vcr_cassettes/vaos/cc_supported_sites/get_one_site.yml @@ -16,7 +16,7 @@ http_interactions: Referer: - https://api.va.gov X-Vamf-Jwt: - - eyJhbGciOiJSUzUxMiJ9.eyJsYXN0TmFtZSI6Ik1vcnJpc29uIiwic3ViIjoiMTAxMjg0NTMzMVYxNTMwNDMiLCJhdXRoZW50aWNhdGVkIjp0cnVlLCJhdXRoZW50aWNhdGlvbkF1dGhvcml0eSI6Imdvdi52YS52YW9zIiwiaWRUeXBlIjoiSUNOIiwiZ2VuZGVyIjoiRkVNQUxFIiwiaXNzIjoiZ292LnZhLnZhbWYudXNlcnNlcnZpY2UudjEiLCJ2YW1mLmF1dGgucmVzb3VyY2VzIjpbIl4uKihcLyk_c2l0ZVtzXT9cLyhkZm4tKT85ODRcL3BhdGllbnRbc10_XC81NTIxNjEwNTBcL2FwcG9pbnRtZW50cyhcLy4qKT8kIiwiXi4qKFwvKT9zaXRlW3NdP1wvKGRmbi0pPzk4M1wvcGF0aWVudFtzXT9cLzcyMTY2OTFcL2FwcG9pbnRtZW50cyhcLy4qKT8kIiwiXi4qKFwvKT9wYXRpZW50W3NdP1wvKElDTlwvKT8xMDEyODQ1MzMxVjE1MzA0MyhcLy4qKT8kIl0sImRhdGVPZkJpcnRoIjoiMTk1My0wNC0wMSIsInZlcnNpb24iOjIuMSwiZWRpcGlkIjoiMTI1OTg5Nzk3OCIsInZpc3RhSWRzIjpbeyJwYXRpZW50SWQiOiI1NTIxNjEwNTAiLCJzaXRlSWQiOiI5ODQifSx7InBhdGllbnRJZCI6IjcyMTY2OTEiLCJzaXRlSWQiOiI5ODMifV0sInNzbiI6Ijc5NjA2MTk3NiIsImZpcnN0TmFtZSI6Ikp1ZHkiLCJzdGFmZkRpc2NsYWltZXJBY2NlcHRlZCI6dHJ1ZSwibmJmIjoxNTc3MTQ1NDYzLCJzc3QiOjE1NzcxNDU2NDIsInBhdGllbnQiOnsiZmlyc3ROYW1lIjoiSnVkeSIsImxhc3ROYW1lIjoiTW9ycmlzb24iLCJnZW5kZXIiOiJGRU1BTEUiLCJpY24iOiIxMDEyODQ1MzMxVjE1MzA0MyIsImRvYiI6IjE5NTMtMDQtMDEiLCJkYXRlT2ZCaXJ0aCI6IjE5NTMtMDQtMDEiLCJzc24iOiI3OTYwNjE5NzYifSwiZG9iIjoiMTk1My0wNC0wMSIsInZhbWYuYXV0aC5yb2xlcyI6WyJ2ZXRlcmFuIl0sInJpZ2h0T2ZBY2Nlc3NBY2NlcHRlZCI6dHJ1ZSwiZXhwIjoxNTc3MTQ2NTQzLCJqdGkiOiI2NTE4MGQwZS1iMmJjLTRhOGUtYTFlOC03YTIzNmUzNDY2ZGQiLCJsb2EiOjJ9.MDgRaVnE3MQbsdL7WWKfJ80qbtRbMWLLIHhFXt95UfBhHsQ-0b3toxo_SvvZnhwXyfpnTDmEsXmyNeLBvGoiwq02VHlHnr96njcezUeoE5Dkxr8gpuNHOfNNALKwp1QLNn8u664-Ck9LnNsLMbcfyINE4xdrewinNd7V8P4UvV22dCzvn4EluCa8PHEn0-WynJH8laxyBdICHXoG6Y93BXbzT6dGiHx_h7OQmfY15kOOIMc0soeU2tEb-LEZC4ss0zoEnifWzVHbJvA6qxi_XZVGnscLjekQR7TMN5OyIzz1QmwwfHpvvFxQKgk98Ys4G9e-307JQSqqanPwVyV63A + - stubbed_token Accept-Encoding: - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 response: diff --git a/spec/support/vcr_cassettes/vaos/fhir/appointment/search_200.yml b/spec/support/vcr_cassettes/vaos/fhir/appointment/search_200.yml index d3c8996785a..d61bfdc1983 100644 --- a/spec/support/vcr_cassettes/vaos/fhir/appointment/search_200.yml +++ b/spec/support/vcr_cassettes/vaos/fhir/appointment/search_200.yml @@ -16,7 +16,7 @@ http_interactions: Referer: - https://review-instance.va.gov X-VAMF-JWT: - - eyJhbGciOiJSUzUxMiJ9.eyJhdXRoZW50aWNhdGVkIjp0cnVlLCJzdWIiOiIxMDEyODQ1MzMxVjE1MzA0MyIsImF1dGhlbnRpY2F0aW9uQXV0aG9yaXR5IjoiZ292LnZhLnZhb3MiLCJpZFR5cGUiOiJJQ04iLCJpc3MiOiJnb3YudmEudmFtZi51c2Vyc2VydmljZS52MSIsInZhbWYuYXV0aC5yZXNvdXJjZXMiOlsiXi4qKFwvKT9zaXRlW3NdP1wvKGRmbi0pPzk4NFwvcGF0aWVudFtzXT9cLzU1MjE2MTA1MFwvYXBwb2ludG1lbnRzKFwvLiopPyQiLCJeLiooXC8pP3NpdGVbc10_XC8oZGZuLSk_OTgzXC9wYXRpZW50W3NdP1wvNzIxNjY5MVwvYXBwb2ludG1lbnRzKFwvLiopPyQiLCJeLiooXC8pP3BhdGllbnRbc10_XC8oSUNOXC8pPzEwMTI4NDUzMzFWMTUzMDQzKFwvLiopPyQiXSwidmVyc2lvbiI6Mi4xLCJ2aXN0YUlkcyI6W3sicGF0aWVudElkIjoiNTUyMTYxMDUwIiwic2l0ZUlkIjoiOTg0In0seyJwYXRpZW50SWQiOiI3MjE2NjkxIiwic2l0ZUlkIjoiOTgzIn1dLCJzdGFmZkRpc2NsYWltZXJBY2NlcHRlZCI6dHJ1ZSwibmJmIjoxNTkwMTg0OTIwLCJzc3QiOjE1OTAxODUxMDAsInBhdGllbnQiOnsiaWNuIjoiMTAxMjg0NTMzMVYxNTMwNDMifSwidmFtZi5hdXRoLnJvbGVzIjpbInZldGVyYW4iXSwicmlnaHRPZkFjY2Vzc0FjY2VwdGVkIjp0cnVlLCJleHAiOjE1OTAxODYwMDAsImp0aSI6ImNhMDFiMDcyLWI5ZDEtNDEyNS1hYjEwLTlkNmJkMTczMDYzNiIsImxvYSI6Mn0.fWrlU_0s_qY_-V1zAOu8UArFxBQgDxjp7TmhrRG8qmPDcQUinfYJPnjtag8zr25pm2XATucPF_OMvVQJupfoVpqyzYSSNX2Sh1gpoZRFKVVMxveCQU6FWxdC82IfPKqD571AeSgde8LoUqh0d6c0PVVUT9tX-hZGEhFFQWmcT8R64l8Csecx23NVzou_8aWJ8AkAeizRCW4S6zX4BaSKUIwgA0aOQM7_bjae-9_tknxEiOi1ioqcW71F73r4hjcKKaRVP8qaz3Eu_F3J7XPuCVaISBWkuq2z2eMRGUT4wGmS3mBBuEmC1GPsdfAcyc4vzAHz7QD5P3hMP_niX4xs8A + - stubbed_token X-Request-ID: - '' response: diff --git a/spec/support/vcr_cassettes/vaos/fhir/appointment/search_no_records.yml b/spec/support/vcr_cassettes/vaos/fhir/appointment/search_no_records.yml index d94f916c728..eeea35afd59 100644 --- a/spec/support/vcr_cassettes/vaos/fhir/appointment/search_no_records.yml +++ b/spec/support/vcr_cassettes/vaos/fhir/appointment/search_no_records.yml @@ -16,7 +16,7 @@ http_interactions: Referer: - https://review-instance.va.gov X-VAMF-JWT: - - eyJhbGciOiJSUzUxMiJ9.eyJhdXRoZW50aWNhdGVkIjp0cnVlLCJzdWIiOiIxMDEyODQ1MzMxVjE1MzA0MyIsImF1dGhlbnRpY2F0aW9uQXV0aG9yaXR5IjoiZ292LnZhLnZhb3MiLCJpZFR5cGUiOiJJQ04iLCJpc3MiOiJnb3YudmEudmFtZi51c2Vyc2VydmljZS52MSIsInZhbWYuYXV0aC5yZXNvdXJjZXMiOlsiXi4qKFwvKT9zaXRlW3NdP1wvKGRmbi0pPzk4NFwvcGF0aWVudFtzXT9cLzU1MjE2MTA1MFwvYXBwb2ludG1lbnRzKFwvLiopPyQiLCJeLiooXC8pP3NpdGVbc10_XC8oZGZuLSk_OTgzXC9wYXRpZW50W3NdP1wvNzIxNjY5MVwvYXBwb2ludG1lbnRzKFwvLiopPyQiLCJeLiooXC8pP3BhdGllbnRbc10_XC8oSUNOXC8pPzEwMTI4NDUzMzFWMTUzMDQzKFwvLiopPyQiXSwidmVyc2lvbiI6Mi4xLCJ2aXN0YUlkcyI6W3sicGF0aWVudElkIjoiNTUyMTYxMDUwIiwic2l0ZUlkIjoiOTg0In0seyJwYXRpZW50SWQiOiI3MjE2NjkxIiwic2l0ZUlkIjoiOTgzIn1dLCJzdGFmZkRpc2NsYWltZXJBY2NlcHRlZCI6dHJ1ZSwibmJmIjoxNTkwMTg0OTIwLCJzc3QiOjE1OTAxODUxMDAsInBhdGllbnQiOnsiaWNuIjoiMTAxMjg0NTMzMVYxNTMwNDMifSwidmFtZi5hdXRoLnJvbGVzIjpbInZldGVyYW4iXSwicmlnaHRPZkFjY2Vzc0FjY2VwdGVkIjp0cnVlLCJleHAiOjE1OTAxODYwMDAsImp0aSI6ImNhMDFiMDcyLWI5ZDEtNDEyNS1hYjEwLTlkNmJkMTczMDYzNiIsImxvYSI6Mn0.fWrlU_0s_qY_-V1zAOu8UArFxBQgDxjp7TmhrRG8qmPDcQUinfYJPnjtag8zr25pm2XATucPF_OMvVQJupfoVpqyzYSSNX2Sh1gpoZRFKVVMxveCQU6FWxdC82IfPKqD571AeSgde8LoUqh0d6c0PVVUT9tX-hZGEhFFQWmcT8R64l8Csecx23NVzou_8aWJ8AkAeizRCW4S6zX4BaSKUIwgA0aOQM7_bjae-9_tknxEiOi1ioqcW71F73r4hjcKKaRVP8qaz3Eu_F3J7XPuCVaISBWkuq2z2eMRGUT4wGmS3mBBuEmC1GPsdfAcyc4vzAHz7QD5P3hMP_niX4xs8A + - stubbed_token X-Request-ID: - '' response: diff --git a/spec/support/vcr_cassettes/vaos/fhir/get_conformance.yml b/spec/support/vcr_cassettes/vaos/fhir/get_conformance.yml index 4663f2625c0..c2ac42411ae 100644 --- a/spec/support/vcr_cassettes/vaos/fhir/get_conformance.yml +++ b/spec/support/vcr_cassettes/vaos/fhir/get_conformance.yml @@ -51,9 +51,9 @@ http_interactions: Access-Control-Max-Age: - '3600' Set-Cookie: - - TS016f4012=01c16e2d81fc226234f653b401a6d3c45964b178c3dca337d48dc27850ee4b2500802d8cd5ce3022f84792af5d23119520ca71bbc596b1ad67dc95ab16a1a86b35c68d151ea4d6e53a92650a851039167e75ca477a; + - TS016f4012=stubbed_cookie; Max-Age=900; Path=/ - - vamfjwtv3=eyJ6aXAiOiJERUYiLCJjdHkiOiJKV1QiLCJlbmMiOiJBMjU2Q0JDLUhTNTEyIiwiYWxnIjoiUlNBLU9BRVAtMjU2In0.ZyMpgyWmTxwJ4xf7e9aF8vSHP9YEZwRrI9sIRVX5x_tztvCzp4TDNj0yZ33GwHlXgDRFDIWh9qNZAq6d7ECDnI9hzZk-3Q-GM69bkUcdLRrYE4UX4i8HQawxXfC05lVHnqNZo81n4-laN91S6_In613ZcAQ4y4V-734nxqXFH9mYJUlf1MI3ixIPQ9G_0liQyvk0bZ2eE6GGGyDqt7mOvw_SGR3D3xgjB_csivbhkgY8qTOTTHCkRqYG6Ehpj9k2kiS_HD3XBVbyKTv3Oa7DtbnJ6HbFP7LUh-4pTATSBxT9IjyKtfCEHV9k0ZwMZGrnvJHmGaE3EcBq1qjeqdtdcw.aaLqA_CnlF_lo6pn2zINXw.Nn_C0mbkeOeXwxdkw_6h81GtmH0ykuMIKPeUUW4Z_yEmfBgTi6Ber9OUnv8OSsNVA8KUwsP8kgGB6Mh8xnvSVuA2jmn8YeG1dojV4Mhi8bGj4F0qKYTaCGorCEqpN8cu2wzupCuM4FYT3mXhHao1h_-Qc6_tRiDpbq572MngKJG8KHS7RYkMUo9RCRTuwSHQXr7XFN9Y0uToKGrY_r8a3LUr6PV8N5iFWunWF1G8_d6QbMFo-EY54cd9VPdJqydOtvTStyRbVjfq6Ud9GyzblgO22-jedghx0EOLOxjcIOVCEdJNnAnfokl50K53dW7ogK0Uj6ljH7_XzHyjhfDGBE_Xm_r2c9LYPX8_jp1bO2AZYllJGupAbJ4mIGCEG1zxUBNDaKX_T5rV5G5vxTGqlLw-9h6Il6rcqScrrfVciK46fnHZWfOZadevMNqO6yafMlUOQqnL4HodZRy4soy_KKlO4lsMX6LM1mVJM0SNU3YZUO0KuhCSTz8cMnuoek26OTurc6_x2ZrMMLS_GLh-m8pdjbvsjhbjw2n-yBQrKvHf1jl1cvUQSG8pHCFOjni2coUmmbTy0omzt29A1-NkOwbcIw7H2cgnosYzdpkgOvOMJgYAz-_PHYba1aDF8SNZpTl49TrIJXp01mVWwr-5buDmCbebuk1beqwb1-3FQI0.Owtu7sXRP0m4qVdPQ0qMZJKr2mVrSUrtpGpH9hvqjAM; + - vamfjwtv3=stubbed_token; path=/;max-age=900; HttpOnly - vamftimeoutv1=1567617431; path=/ body: diff --git a/spec/support/vcr_cassettes/vaos/fhir/get_organization.yml b/spec/support/vcr_cassettes/vaos/fhir/get_organization.yml index 6c53aa2fc26..41154d3cf78 100644 --- a/spec/support/vcr_cassettes/vaos/fhir/get_organization.yml +++ b/spec/support/vcr_cassettes/vaos/fhir/get_organization.yml @@ -37,9 +37,9 @@ http_interactions: Etag: - '"5e4d1f55-1493"' Set-Cookie: - - TS016f4012=01c8917e4814ddf255371554cd27d2a76f275d24ca38317c47ca7b133f12b567b8f6dfcd607fb7288dbd874b27ddad04f63606dbdfecde3921fa5bb6a26ee7ea46425acef36974d6ea77bf5c3b37bd1a84ed591ee8; + - TS016f4012=stubbed_cookie; Max-Age=900; Path=/ - - vamfjwtv3=eyJ6aXAiOiJERUYiLCJjdHkiOiJKV1QiLCJlbmMiOiJBMjU2Q0JDLUhTNTEyIiwiYWxnIjoiUlNBLU9BRVAtMjU2In0.fxkkVX09CuXJ3gJX5IuiQnCSQXatwJMHJg67vJw2m4_NMk3sv1s49_ED7Yfy2u-VDE6pKBABh4cC2K4d8S6liz7SwrqjGNE0Xf7t1eUM0axYKG3a2qnseWNO3ZIHv1pz60QZCDPP6av8fuk-e_mckJ8Ts0itegX3K7ranVF8LpAHPHPjNbUGRHpUuyzEye4MqEWz78u_j-oopgy-_HwyticAHFvfiPSmhPW5miawqjICecgViAnTwSXnRP0A_dGMncyCDp83_P6GH11H6eS6DkHhBOGIq8j7VqzjW09iyFMl7O0Q6lXE-tSTgYwBrqMyJqC7en9dVv_tdi6ltaUXRw.adexP0DzjpTWIP6nIT0BSA.Bc6ytehBQB1iJbbiFtOGxkLleRR4iD-1oncVF31R4FaNfjx0hCtjR20pGt6MlgNuqSMv-wmAokEzJK3MHx9L5xpL-f3bHciieOr4imuZrCjo59ZCajZAmbK2H5OVE4iCJv7xhzkuwEoaq0EuF0fPyJGzSora0yegTVoOwLXp1L_kfLTyW_or1qu-wtytBP2eOOLafWl9qSzQRZ6qmkKU3hPqQfOSdpyEb61ydO8LX_LNC7GSys-8XjUGTWhk_TOu3-ZuEvCMOcQYKZaWMBm5KoR3RMhst5ALuD04VnZjtQ7oZoSKwjKwxaAdthigGQt1bhJotiMN_6ESSloWJg1pzGIRFtttZNvYs2nFoXlU07c_EyQp3JcscVJ4greiRGu_SkzlQ1NkgrYbqGzu1zVCYk-WXIHWnYplmqtS88x5HvxEwi49Qy2jvf16v-QPsvYx6GAcblVs6EaOYF38rIlXtLAPA8DNBRhl2GeCU2jzxsn0oJGq2brrUcDGRzAKJcLE4aIDgiZ3tpLx2Clm07YVw4vLfHgVMKLyc0sfBIRk5R0X73f4ixby4sXSFYwXqAxqVLD7ihuweicYoiOoIpLuNJOV3WUbz2p3ZewoljrVxQg6OBpChzDsAgDCvOoBeCtghvN9IeqvK-mlkrwyDprPSnUWN0lp_i19Op80IFVQ_p1TiIADhxr0zfjLIXRR7Nha.P2I05meIABr5EIxFshqYmjXqPYpKS79eEuUo20TWS-w; + - vamfjwtv3=stubbed_token; path=/; HttpOnly - vamftimeoutv1=1589231290; path=/ body: diff --git a/spec/support/vcr_cassettes/vaos/fhir/patient/search_200.yml b/spec/support/vcr_cassettes/vaos/fhir/patient/search_200.yml index a91a3699254..c947828e64b 100644 --- a/spec/support/vcr_cassettes/vaos/fhir/patient/search_200.yml +++ b/spec/support/vcr_cassettes/vaos/fhir/patient/search_200.yml @@ -16,7 +16,7 @@ http_interactions: Referer: - https://review-instance.va.gov X-Vamf-Jwt: - - eyJhbGciOiJSUzUxMiJ9.eyJsYXN0TmFtZSI6IkNhcnRlciIsInN1YiI6IjEzNjY1OTU0NTc1OTk5NDYwIiwiYXV0aGVudGljYXRlZCI6dHJ1ZSwiYXV0aGVudGljYXRpb25BdXRob3JpdHkiOiJnb3YudmEudmFvcyIsImlkVHlwZSI6IklDTiIsImdlbmRlciI6Ik1BTEUiLCJpc3MiOiJnb3YudmEudmFtZi51c2Vyc2VydmljZS52MSIsImRhdGVPZkJpcnRoIjoiMTk1NDExMTUiLCJ2ZXJzaW9uIjoyLjEsImVkaXBpZCI6IjI1MzY2ODgyMDkiLCJzc24iOiIzNjgwNDMzMTIiLCJmaXJzdE5hbWUiOiJDaGkiLCJuYmYiOjE1OTQwNjg4NjYsInNzdCI6MTU5NDA2OTA0NSwiZG9iIjoiMTk1NDExMTUiLCJwYXRpZW50Ijp7ImZpcnN0TmFtZSI6IkNoaSIsImxhc3ROYW1lIjoiQ2FydGVyIiwiZ2VuZGVyIjoiTUFMRSIsImljbiI6IjEzNjY1OTU0NTc1OTk5NDYwIiwiZG9iIjoiMTk1NC0xMS0xNSIsImRhdGVPZkJpcnRoIjoiMTk1NC0xMS0xNSIsInNzbiI6IjM2ODA0MzMxMiJ9LCJ2YW1mLmF1dGgucm9sZXMiOlsidmV0ZXJhbiJdLCJleHAiOjE1OTQwNjk5NDYsImp0aSI6IjAxZTU4ZDBiLTNlZWUtNDQzMi04NmE4LWE4ODAzNWQ2MGE5ZCIsImxvYSI6Mn0.GdwyF-GpFQYbPiT_iS7sm7G3xTFt-J6nmDCLR7o9qBCbjf1hYVAe15H7TGFIQdt7S5nMJGEB-4m8AxuvZPmua_n--P2sdgCGXwWofLOLnfX4_Zt7-c5GZEWAXdrCSfVli2BrntlZPafU8h6ggDJUvpC1u_EFXaJUF1OT7BqrR8bZM4w--76DZhcA7UGrewMsnpQKD_gHJRuucJCzOP-_m11XsAuZ-3CdW8SKp_UtdiXzeDQqdB0OZLA8I5SE4569kMMBcJG-F0ViArjdSfjJ9UL54K5ydFt6e8G3GApNpM3jHAGG-Fjk4c6z1pS2OH2BOFaUErC4NN_SegXwv9u2cw + - stubbed_token X-Request-Id: - 4b0203dc-4ea5-4faf-8b0d-629b0e166be2 Accept-Encoding: diff --git a/spec/support/vcr_cassettes/vaos/fhir/patient/search_404.yml b/spec/support/vcr_cassettes/vaos/fhir/patient/search_404.yml index f8f6e777da5..7e2f1ea6470 100644 --- a/spec/support/vcr_cassettes/vaos/fhir/patient/search_404.yml +++ b/spec/support/vcr_cassettes/vaos/fhir/patient/search_404.yml @@ -16,7 +16,7 @@ http_interactions: Referer: - https://review-instance.va.gov X-Vamf-Jwt: - - eyJhbGciOiJSUzUxMiJ9.eyJsYXN0TmFtZSI6Ik1hbm4iLCJzdWIiOiIyMDY4MTczMTExOTM1NDkwMiIsImF1dGhlbnRpY2F0ZWQiOnRydWUsImF1dGhlbnRpY2F0aW9uQXV0aG9yaXR5IjoiZ292LnZhLnZhb3MiLCJpZFR5cGUiOiJJQ04iLCJnZW5kZXIiOiJNQUxFIiwiaXNzIjoiZ292LnZhLnZhbWYudXNlcnNlcnZpY2UudjEiLCJkYXRlT2ZCaXJ0aCI6IjE5NDIwNjA4IiwidmVyc2lvbiI6Mi4xLCJlZGlwaWQiOiI5NTc5ODk3NzE3Iiwic3NuIjoiNTMxODYyMTQyIiwiZmlyc3ROYW1lIjoiTW9ycmlzIiwibmJmIjoxNTk0MDcwNzU1LCJzc3QiOjE1OTQwNzA5MzQsImRvYiI6IjE5NDIwNjA4IiwicGF0aWVudCI6eyJmaXJzdE5hbWUiOiJNb3JyaXMiLCJsYXN0TmFtZSI6Ik1hbm4iLCJnZW5kZXIiOiJNQUxFIiwiaWNuIjoiMjA2ODE3MzExMTkzNTQ5MDIiLCJkb2IiOiIxOTQyLTA2LTA4IiwiZGF0ZU9mQmlydGgiOiIxOTQyLTA2LTA4Iiwic3NuIjoiNTMxODYyMTQyIn0sInZhbWYuYXV0aC5yb2xlcyI6WyJ2ZXRlcmFuIl0sImV4cCI6MTU5NDA3MTgzNSwianRpIjoiYjExODFhYmItZDhiNy00NDk3LWFmMmEtNTA0NWViYzcxNmFkIiwibG9hIjoyfQ.etTXKIxOMENl8AJKyWiqz2qTkHPPP3i8jQCamVxHRKIv85Y_MEQm8-Xn3hOzO4supkdPr0SnRP5Utjkrw1t1RlUi7DFG5rs2f09zlfla9v9_BhYIDKpF4pBMpCjU-e_b7eMaLa_c7hK0UA50Qr3Q3B0DdtzlFZLb1IJz-NrnSBZ6NGZWBA21cUj8fto50fHA255sYuuJAhwztTcR7eHfEviFKX5-BVvTzVDBiu8m36HUJnM3qXQY2nsujWZPnhyGV-GSbaoJx2wxZ8Z7TEtpceTWEGwWpTxQfwo1mCeVBTk5E6alF-NIYTGENgs3vNhcaOxy7X5ZaTQq1Jl6VM04tg + - stubbed_token X-Request-Id: - a637c420-45f1-40b7-9313-8ce79b1b36dc Accept-Encoding: diff --git a/spec/support/vcr_cassettes/vaos/fhir/patient/search_500.yml b/spec/support/vcr_cassettes/vaos/fhir/patient/search_500.yml index ae7f77497f3..eec81d9a8f7 100644 --- a/spec/support/vcr_cassettes/vaos/fhir/patient/search_500.yml +++ b/spec/support/vcr_cassettes/vaos/fhir/patient/search_500.yml @@ -16,7 +16,7 @@ http_interactions: Referer: - https://review-instance.va.gov X-Vamf-Jwt: - - eyJhbGciOiJSUzUxMiJ9.eyJsYXN0TmFtZSI6IkhlaWRlbnJlaWNoIiwic3ViIjoiNjMyMTk2Nzc2MjQyMTI0OTMiLCJhdXRoZW50aWNhdGVkIjp0cnVlLCJhdXRoZW50aWNhdGlvbkF1dGhvcml0eSI6Imdvdi52YS52YW9zIiwiaWRUeXBlIjoiSUNOIiwiZ2VuZGVyIjoiTUFMRSIsImlzcyI6Imdvdi52YS52YW1mLnVzZXJzZXJ2aWNlLnYxIiwiZGF0ZU9mQmlydGgiOiIxOTc1MTAyMSIsInZlcnNpb24iOjIuMSwiZWRpcGlkIjoiMjM0MTM0NzQyOSIsInNzbiI6IjQyNjEwMzU3NiIsImZpcnN0TmFtZSI6IkFobWVkIiwibmJmIjoxNTk0MDY5OTQyLCJzc3QiOjE1OTQwNzAxMjIsImRvYiI6IjE5NzUxMDIxIiwicGF0aWVudCI6eyJmaXJzdE5hbWUiOiJBaG1lZCIsImxhc3ROYW1lIjoiSGVpZGVucmVpY2giLCJnZW5kZXIiOiJNQUxFIiwiaWNuIjoiNjMyMTk2Nzc2MjQyMTI0OTMiLCJkb2IiOiIxOTc1LTEwLTIxIiwiZGF0ZU9mQmlydGgiOiIxOTc1LTEwLTIxIiwic3NuIjoiNDI2MTAzNTc2In0sInZhbWYuYXV0aC5yb2xlcyI6WyJ2ZXRlcmFuIl0sImV4cCI6MTU5NDA3MTAyMiwianRpIjoiOWMyZGFhNzAtMDZiMC00MzM1LTk1YmItNDM5ZWRlOTIwNDU1IiwibG9hIjoyfQ.odw3g_rKrjLPdcA4SY-MdrbffY-CH_m5bw5d9hhsomZdg7__-OH6kw5LJCRS45svi_wgYoEFT-DfXAJNuhwnbJhMXYq4wH7R0z5QGrx-m_-cdIqLN8YLqaUPoTt9sPuQzaVyTSpB2WA35pzOw_LTMaLilb2EDUDj0Mic8TlC692-rXqdv6iLj9wzw-hswkGMz6QwI3fQEmVSJc_4UEIwU5t-1bk9RY_mNzBlFYlt-GhNKTEj1jt0qtt8vRr0Lhp2fifl4mqg1QA5kW0xadAo7y7msHIEpTR8VTi31hfvI5Tgm27DXGsI6jAf2X5rvMJis5VVy1-jCcmfO0px40zvBg + - stubbed_token X-Request-Id: - 738bc292-3ad7-4787-90e5-255f0ea9f4b1 Accept-Encoding: diff --git a/spec/support/vcr_cassettes/vaos/fhir/read_organization_200.yml b/spec/support/vcr_cassettes/vaos/fhir/read_organization_200.yml index 4f1eb7cd1de..674537348c5 100644 --- a/spec/support/vcr_cassettes/vaos/fhir/read_organization_200.yml +++ b/spec/support/vcr_cassettes/vaos/fhir/read_organization_200.yml @@ -51,9 +51,9 @@ http_interactions: Access-Control-Max-Age: - '3600' Set-Cookie: - - TS016f4012=01c16e2d81fc226234f653b401a6d3c45964b178c3dca337d48dc27850ee4b2500802d8cd5ce3022f84792af5d23119520ca71bbc596b1ad67dc95ab16a1a86b35c68d151ea4d6e53a92650a851039167e75ca477a; + - TS016f4012=stubbed_cookie; Max-Age=900; Path=/ - - vamfjwtv3=eyJ6aXAiOiJERUYiLCJjdHkiOiJKV1QiLCJlbmMiOiJBMjU2Q0JDLUhTNTEyIiwiYWxnIjoiUlNBLU9BRVAtMjU2In0.ZyMpgyWmTxwJ4xf7e9aF8vSHP9YEZwRrI9sIRVX5x_tztvCzp4TDNj0yZ33GwHlXgDRFDIWh9qNZAq6d7ECDnI9hzZk-3Q-GM69bkUcdLRrYE4UX4i8HQawxXfC05lVHnqNZo81n4-laN91S6_In613ZcAQ4y4V-734nxqXFH9mYJUlf1MI3ixIPQ9G_0liQyvk0bZ2eE6GGGyDqt7mOvw_SGR3D3xgjB_csivbhkgY8qTOTTHCkRqYG6Ehpj9k2kiS_HD3XBVbyKTv3Oa7DtbnJ6HbFP7LUh-4pTATSBxT9IjyKtfCEHV9k0ZwMZGrnvJHmGaE3EcBq1qjeqdtdcw.aaLqA_CnlF_lo6pn2zINXw.Nn_C0mbkeOeXwxdkw_6h81GtmH0ykuMIKPeUUW4Z_yEmfBgTi6Ber9OUnv8OSsNVA8KUwsP8kgGB6Mh8xnvSVuA2jmn8YeG1dojV4Mhi8bGj4F0qKYTaCGorCEqpN8cu2wzupCuM4FYT3mXhHao1h_-Qc6_tRiDpbq572MngKJG8KHS7RYkMUo9RCRTuwSHQXr7XFN9Y0uToKGrY_r8a3LUr6PV8N5iFWunWF1G8_d6QbMFo-EY54cd9VPdJqydOtvTStyRbVjfq6Ud9GyzblgO22-jedghx0EOLOxjcIOVCEdJNnAnfokl50K53dW7ogK0Uj6ljH7_XzHyjhfDGBE_Xm_r2c9LYPX8_jp1bO2AZYllJGupAbJ4mIGCEG1zxUBNDaKX_T5rV5G5vxTGqlLw-9h6Il6rcqScrrfVciK46fnHZWfOZadevMNqO6yafMlUOQqnL4HodZRy4soy_KKlO4lsMX6LM1mVJM0SNU3YZUO0KuhCSTz8cMnuoek26OTurc6_x2ZrMMLS_GLh-m8pdjbvsjhbjw2n-yBQrKvHf1jl1cvUQSG8pHCFOjni2coUmmbTy0omzt29A1-NkOwbcIw7H2cgnosYzdpkgOvOMJgYAz-_PHYba1aDF8SNZpTl49TrIJXp01mVWwr-5buDmCbebuk1beqwb1-3FQI0.Owtu7sXRP0m4qVdPQ0qMZJKr2mVrSUrtpGpH9hvqjAM; + - vamfjwtv3=stubbed_token; path=/;max-age=900; HttpOnly - vamftimeoutv1=1567617431; path=/ body: diff --git a/spec/support/vcr_cassettes/vaos/fhir/read_organization_404.yml b/spec/support/vcr_cassettes/vaos/fhir/read_organization_404.yml index fc29b986831..6a6d2bdf9d2 100644 --- a/spec/support/vcr_cassettes/vaos/fhir/read_organization_404.yml +++ b/spec/support/vcr_cassettes/vaos/fhir/read_organization_404.yml @@ -51,9 +51,9 @@ http_interactions: Access-Control-Max-Age: - '3600' Set-Cookie: - - TS016f4012=01c16e2d81fc226234f653b401a6d3c45964b178c3dca337d48dc27850ee4b2500802d8cd5ce3022f84792af5d23119520ca71bbc596b1ad67dc95ab16a1a86b35c68d151ea4d6e53a92650a851039167e75ca477a; + - TS016f4012=stubbed_cookie; Max-Age=900; Path=/ - - vamfjwtv3=eyJ6aXAiOiJERUYiLCJjdHkiOiJKV1QiLCJlbmMiOiJBMjU2Q0JDLUhTNTEyIiwiYWxnIjoiUlNBLU9BRVAtMjU2In0.ZyMpgyWmTxwJ4xf7e9aF8vSHP9YEZwRrI9sIRVX5x_tztvCzp4TDNj0yZ33GwHlXgDRFDIWh9qNZAq6d7ECDnI9hzZk-3Q-GM69bkUcdLRrYE4UX4i8HQawxXfC05lVHnqNZo81n4-laN91S6_In613ZcAQ4y4V-734nxqXFH9mYJUlf1MI3ixIPQ9G_0liQyvk0bZ2eE6GGGyDqt7mOvw_SGR3D3xgjB_csivbhkgY8qTOTTHCkRqYG6Ehpj9k2kiS_HD3XBVbyKTv3Oa7DtbnJ6HbFP7LUh-4pTATSBxT9IjyKtfCEHV9k0ZwMZGrnvJHmGaE3EcBq1qjeqdtdcw.aaLqA_CnlF_lo6pn2zINXw.Nn_C0mbkeOeXwxdkw_6h81GtmH0ykuMIKPeUUW4Z_yEmfBgTi6Ber9OUnv8OSsNVA8KUwsP8kgGB6Mh8xnvSVuA2jmn8YeG1dojV4Mhi8bGj4F0qKYTaCGorCEqpN8cu2wzupCuM4FYT3mXhHao1h_-Qc6_tRiDpbq572MngKJG8KHS7RYkMUo9RCRTuwSHQXr7XFN9Y0uToKGrY_r8a3LUr6PV8N5iFWunWF1G8_d6QbMFo-EY54cd9VPdJqydOtvTStyRbVjfq6Ud9GyzblgO22-jedghx0EOLOxjcIOVCEdJNnAnfokl50K53dW7ogK0Uj6ljH7_XzHyjhfDGBE_Xm_r2c9LYPX8_jp1bO2AZYllJGupAbJ4mIGCEG1zxUBNDaKX_T5rV5G5vxTGqlLw-9h6Il6rcqScrrfVciK46fnHZWfOZadevMNqO6yafMlUOQqnL4HodZRy4soy_KKlO4lsMX6LM1mVJM0SNU3YZUO0KuhCSTz8cMnuoek26OTurc6_x2ZrMMLS_GLh-m8pdjbvsjhbjw2n-yBQrKvHf1jl1cvUQSG8pHCFOjni2coUmmbTy0omzt29A1-NkOwbcIw7H2cgnosYzdpkgOvOMJgYAz-_PHYba1aDF8SNZpTl49TrIJXp01mVWwr-5buDmCbebuk1beqwb1-3FQI0.Owtu7sXRP0m4qVdPQ0qMZJKr2mVrSUrtpGpH9hvqjAM; + - vamfjwtv3=stubbed_token; path=/;max-age=900; HttpOnly - vamftimeoutv1=1567617431; path=/ body: diff --git a/spec/support/vcr_cassettes/vaos/fhir/read_organization_500.yml b/spec/support/vcr_cassettes/vaos/fhir/read_organization_500.yml index 6a4b0a76c7d..21f61aa349e 100644 --- a/spec/support/vcr_cassettes/vaos/fhir/read_organization_500.yml +++ b/spec/support/vcr_cassettes/vaos/fhir/read_organization_500.yml @@ -51,9 +51,9 @@ http_interactions: Access-Control-Max-Age: - '3600' Set-Cookie: - - TS016f4012=01c16e2d81fc226234f653b401a6d3c45964b178c3dca337d48dc27850ee4b2500802d8cd5ce3022f84792af5d23119520ca71bbc596b1ad67dc95ab16a1a86b35c68d151ea4d6e53a92650a851039167e75ca477a; + - TS016f4012=stubbed_cookie; Max-Age=900; Path=/ - - vamfjwtv3=eyJ6aXAiOiJERUYiLCJjdHkiOiJKV1QiLCJlbmMiOiJBMjU2Q0JDLUhTNTEyIiwiYWxnIjoiUlNBLU9BRVAtMjU2In0.ZyMpgyWmTxwJ4xf7e9aF8vSHP9YEZwRrI9sIRVX5x_tztvCzp4TDNj0yZ33GwHlXgDRFDIWh9qNZAq6d7ECDnI9hzZk-3Q-GM69bkUcdLRrYE4UX4i8HQawxXfC05lVHnqNZo81n4-laN91S6_In613ZcAQ4y4V-734nxqXFH9mYJUlf1MI3ixIPQ9G_0liQyvk0bZ2eE6GGGyDqt7mOvw_SGR3D3xgjB_csivbhkgY8qTOTTHCkRqYG6Ehpj9k2kiS_HD3XBVbyKTv3Oa7DtbnJ6HbFP7LUh-4pTATSBxT9IjyKtfCEHV9k0ZwMZGrnvJHmGaE3EcBq1qjeqdtdcw.aaLqA_CnlF_lo6pn2zINXw.Nn_C0mbkeOeXwxdkw_6h81GtmH0ykuMIKPeUUW4Z_yEmfBgTi6Ber9OUnv8OSsNVA8KUwsP8kgGB6Mh8xnvSVuA2jmn8YeG1dojV4Mhi8bGj4F0qKYTaCGorCEqpN8cu2wzupCuM4FYT3mXhHao1h_-Qc6_tRiDpbq572MngKJG8KHS7RYkMUo9RCRTuwSHQXr7XFN9Y0uToKGrY_r8a3LUr6PV8N5iFWunWF1G8_d6QbMFo-EY54cd9VPdJqydOtvTStyRbVjfq6Ud9GyzblgO22-jedghx0EOLOxjcIOVCEdJNnAnfokl50K53dW7ogK0Uj6ljH7_XzHyjhfDGBE_Xm_r2c9LYPX8_jp1bO2AZYllJGupAbJ4mIGCEG1zxUBNDaKX_T5rV5G5vxTGqlLw-9h6Il6rcqScrrfVciK46fnHZWfOZadevMNqO6yafMlUOQqnL4HodZRy4soy_KKlO4lsMX6LM1mVJM0SNU3YZUO0KuhCSTz8cMnuoek26OTurc6_x2ZrMMLS_GLh-m8pdjbvsjhbjw2n-yBQrKvHf1jl1cvUQSG8pHCFOjni2coUmmbTy0omzt29A1-NkOwbcIw7H2cgnosYzdpkgOvOMJgYAz-_PHYba1aDF8SNZpTl49TrIJXp01mVWwr-5buDmCbebuk1beqwb1-3FQI0.Owtu7sXRP0m4qVdPQ0qMZJKr2mVrSUrtpGpH9hvqjAM; + - vamfjwtv3=stubbed_token; path=/;max-age=900; HttpOnly - vamftimeoutv1=1567617431; path=/ body: diff --git a/spec/support/vcr_cassettes/vaos/fhir/search_organization_200.yml b/spec/support/vcr_cassettes/vaos/fhir/search_organization_200.yml index b76f457fcde..f7304e58d91 100644 --- a/spec/support/vcr_cassettes/vaos/fhir/search_organization_200.yml +++ b/spec/support/vcr_cassettes/vaos/fhir/search_organization_200.yml @@ -57,9 +57,9 @@ http_interactions: Access-Control-Max-Age: - '3600' Set-Cookie: - - TS016f4012=01c16e2d81fc226234f653b401a6d3c45964b178c3dca337d48dc27850ee4b2500802d8cd5ce3022f84792af5d23119520ca71bbc596b1ad67dc95ab16a1a86b35c68d151ea4d6e53a92650a851039167e75ca477a; + - TS016f4012=stubbed_cookie; Max-Age=900; Path=/ - - vamfjwtv3=eyJ6aXAiOiJERUYiLCJjdHkiOiJKV1QiLCJlbmMiOiJBMjU2Q0JDLUhTNTEyIiwiYWxnIjoiUlNBLU9BRVAtMjU2In0.ZyMpgyWmTxwJ4xf7e9aF8vSHP9YEZwRrI9sIRVX5x_tztvCzp4TDNj0yZ33GwHlXgDRFDIWh9qNZAq6d7ECDnI9hzZk-3Q-GM69bkUcdLRrYE4UX4i8HQawxXfC05lVHnqNZo81n4-laN91S6_In613ZcAQ4y4V-734nxqXFH9mYJUlf1MI3ixIPQ9G_0liQyvk0bZ2eE6GGGyDqt7mOvw_SGR3D3xgjB_csivbhkgY8qTOTTHCkRqYG6Ehpj9k2kiS_HD3XBVbyKTv3Oa7DtbnJ6HbFP7LUh-4pTATSBxT9IjyKtfCEHV9k0ZwMZGrnvJHmGaE3EcBq1qjeqdtdcw.aaLqA_CnlF_lo6pn2zINXw.Nn_C0mbkeOeXwxdkw_6h81GtmH0ykuMIKPeUUW4Z_yEmfBgTi6Ber9OUnv8OSsNVA8KUwsP8kgGB6Mh8xnvSVuA2jmn8YeG1dojV4Mhi8bGj4F0qKYTaCGorCEqpN8cu2wzupCuM4FYT3mXhHao1h_-Qc6_tRiDpbq572MngKJG8KHS7RYkMUo9RCRTuwSHQXr7XFN9Y0uToKGrY_r8a3LUr6PV8N5iFWunWF1G8_d6QbMFo-EY54cd9VPdJqydOtvTStyRbVjfq6Ud9GyzblgO22-jedghx0EOLOxjcIOVCEdJNnAnfokl50K53dW7ogK0Uj6ljH7_XzHyjhfDGBE_Xm_r2c9LYPX8_jp1bO2AZYllJGupAbJ4mIGCEG1zxUBNDaKX_T5rV5G5vxTGqlLw-9h6Il6rcqScrrfVciK46fnHZWfOZadevMNqO6yafMlUOQqnL4HodZRy4soy_KKlO4lsMX6LM1mVJM0SNU3YZUO0KuhCSTz8cMnuoek26OTurc6_x2ZrMMLS_GLh-m8pdjbvsjhbjw2n-yBQrKvHf1jl1cvUQSG8pHCFOjni2coUmmbTy0omzt29A1-NkOwbcIw7H2cgnosYzdpkgOvOMJgYAz-_PHYba1aDF8SNZpTl49TrIJXp01mVWwr-5buDmCbebuk1beqwb1-3FQI0.Owtu7sXRP0m4qVdPQ0qMZJKr2mVrSUrtpGpH9hvqjAM; + - vamfjwtv3=stubbed_token; path=/;max-age=900; HttpOnly - vamftimeoutv1=1567617431; path=/ body: diff --git a/spec/support/vcr_cassettes/vaos/fhir/search_organization_200_no_query_string.yml b/spec/support/vcr_cassettes/vaos/fhir/search_organization_200_no_query_string.yml index 755f60680e9..e68cca6ffbe 100644 --- a/spec/support/vcr_cassettes/vaos/fhir/search_organization_200_no_query_string.yml +++ b/spec/support/vcr_cassettes/vaos/fhir/search_organization_200_no_query_string.yml @@ -57,9 +57,9 @@ http_interactions: Access-Control-Max-Age: - '3600' Set-Cookie: - - TS016f4012=01c16e2d81fc226234f653b401a6d3c45964b178c3dca337d48dc27850ee4b2500802d8cd5ce3022f84792af5d23119520ca71bbc596b1ad67dc95ab16a1a86b35c68d151ea4d6e53a92650a851039167e75ca477a; + - TS016f4012=stubbed_cookie; Max-Age=900; Path=/ - - vamfjwtv3=eyJ6aXAiOiJERUYiLCJjdHkiOiJKV1QiLCJlbmMiOiJBMjU2Q0JDLUhTNTEyIiwiYWxnIjoiUlNBLU9BRVAtMjU2In0.ZyMpgyWmTxwJ4xf7e9aF8vSHP9YEZwRrI9sIRVX5x_tztvCzp4TDNj0yZ33GwHlXgDRFDIWh9qNZAq6d7ECDnI9hzZk-3Q-GM69bkUcdLRrYE4UX4i8HQawxXfC05lVHnqNZo81n4-laN91S6_In613ZcAQ4y4V-734nxqXFH9mYJUlf1MI3ixIPQ9G_0liQyvk0bZ2eE6GGGyDqt7mOvw_SGR3D3xgjB_csivbhkgY8qTOTTHCkRqYG6Ehpj9k2kiS_HD3XBVbyKTv3Oa7DtbnJ6HbFP7LUh-4pTATSBxT9IjyKtfCEHV9k0ZwMZGrnvJHmGaE3EcBq1qjeqdtdcw.aaLqA_CnlF_lo6pn2zINXw.Nn_C0mbkeOeXwxdkw_6h81GtmH0ykuMIKPeUUW4Z_yEmfBgTi6Ber9OUnv8OSsNVA8KUwsP8kgGB6Mh8xnvSVuA2jmn8YeG1dojV4Mhi8bGj4F0qKYTaCGorCEqpN8cu2wzupCuM4FYT3mXhHao1h_-Qc6_tRiDpbq572MngKJG8KHS7RYkMUo9RCRTuwSHQXr7XFN9Y0uToKGrY_r8a3LUr6PV8N5iFWunWF1G8_d6QbMFo-EY54cd9VPdJqydOtvTStyRbVjfq6Ud9GyzblgO22-jedghx0EOLOxjcIOVCEdJNnAnfokl50K53dW7ogK0Uj6ljH7_XzHyjhfDGBE_Xm_r2c9LYPX8_jp1bO2AZYllJGupAbJ4mIGCEG1zxUBNDaKX_T5rV5G5vxTGqlLw-9h6Il6rcqScrrfVciK46fnHZWfOZadevMNqO6yafMlUOQqnL4HodZRy4soy_KKlO4lsMX6LM1mVJM0SNU3YZUO0KuhCSTz8cMnuoek26OTurc6_x2ZrMMLS_GLh-m8pdjbvsjhbjw2n-yBQrKvHf1jl1cvUQSG8pHCFOjni2coUmmbTy0omzt29A1-NkOwbcIw7H2cgnosYzdpkgOvOMJgYAz-_PHYba1aDF8SNZpTl49TrIJXp01mVWwr-5buDmCbebuk1beqwb1-3FQI0.Owtu7sXRP0m4qVdPQ0qMZJKr2mVrSUrtpGpH9hvqjAM; + - vamfjwtv3=stubbed_token; path=/;max-age=900; HttpOnly - vamftimeoutv1=1567617431; path=/ body: @@ -5726,7 +5726,7 @@ http_interactions: Referer: - https://review-instance.va.gov X-VAMF-JWT: - - eyJhbGciOiJSUzUxMiJ9.eyJhdXRoZW50aWNhdGVkIjp0cnVlLCJzdWIiOiIxMDEyODQ1MzMxVjE1MzA0MyIsImF1dGhlbnRpY2F0aW9uQXV0aG9yaXR5IjoiZ292LnZhLnZhb3MiLCJpZFR5cGUiOiJJQ04iLCJpc3MiOiJnb3YudmEudmFtZi51c2Vyc2VydmljZS52MSIsInZhbWYuYXV0aC5yZXNvdXJjZXMiOlsiXi4qKFwvKT9zaXRlW3NdP1wvKGRmbi0pPzk4NFwvcGF0aWVudFtzXT9cLzU1MjE2MTA1MFwvYXBwb2ludG1lbnRzKFwvLiopPyQiLCJeLiooXC8pP3NpdGVbc10_XC8oZGZuLSk_OTgzXC9wYXRpZW50W3NdP1wvNzIxNjY5MVwvYXBwb2ludG1lbnRzKFwvLiopPyQiLCJeLiooXC8pP3BhdGllbnRbc10_XC8oSUNOXC8pPzEwMTI4NDUzMzFWMTUzMDQzKFwvLiopPyQiXSwidmVyc2lvbiI6Mi4xLCJ2aXN0YUlkcyI6W3sicGF0aWVudElkIjoiNTUyMTYxMDUwIiwic2l0ZUlkIjoiOTg0In0seyJwYXRpZW50SWQiOiI3MjE2NjkxIiwic2l0ZUlkIjoiOTgzIn1dLCJzdGFmZkRpc2NsYWltZXJBY2NlcHRlZCI6dHJ1ZSwibmJmIjoxNTkwMDA4OTgwLCJzc3QiOjE1OTAwMDkxNjAsInBhdGllbnQiOnsiaWNuIjoiMTAxMjg0NTMzMVYxNTMwNDMifSwidmFtZi5hdXRoLnJvbGVzIjpbInZldGVyYW4iXSwicmlnaHRPZkFjY2Vzc0FjY2VwdGVkIjp0cnVlLCJleHAiOjE1OTAwMTAwNjAsImp0aSI6ImIxNjIxNWRhLWM2YWItNGUzMC04MDA3LWE4YTJmYzFiMDkyYyIsImxvYSI6Mn0.Q9A6u64aHTx3NYtngUtGFhuO4yU3Ff9oKApJd9aIgsXL8088ZMKnY7LWXeUMDnELjDO-xOqmeI6hU9EDRkXVgObyjVpiopaRf8uxtfvQCJdZuR_XIi5-ESR3_GhaRwdCrklDnQ58w-8IgLqCWw3wAR8s2-J6-fvPRVyYi6amvu-2NMvJoucb9nadXLBzDKN1yM8ABuQYG-UjZhv_xhWY4S6HWqg-k8mOKt2Y_EqlSVD6CLYJ-2_FN2x0b17sHY8IF3etIeWUjhkJX5IaSCObM4m_kTjrfbRSvpZJUdAVhg29JPBRTkMfwGx7r6WQ7_TuvDnSIrP2KG60mmbO23DimA + - stubbed_token X-Request-ID: - '' normalized_header_keys: diff --git a/spec/support/vcr_cassettes/vaos/fhir/search_organization_404.yml b/spec/support/vcr_cassettes/vaos/fhir/search_organization_404.yml index 0bcc2818266..bdc7bbddc5b 100644 --- a/spec/support/vcr_cassettes/vaos/fhir/search_organization_404.yml +++ b/spec/support/vcr_cassettes/vaos/fhir/search_organization_404.yml @@ -37,9 +37,9 @@ http_interactions: Etag: - '"5e4d1f55-1493"' Set-Cookie: - - TS016f4012=01c16e2d81cec6db2bc6962189502ce2a5bd1b10a6fb59f0cc2d7437ca1ef9fe830b4a7be999c5ac51c3d1add4c3e01709dc0f8735b965fba9d212999b5ca863de1d4d8c7ee4c693df4b0321b483d054be83eb1aab; + - TS016f4012=stubbed_cookie; Max-Age=900; Path=/ - - vamfjwtv3=eyJ6aXAiOiJERUYiLCJjdHkiOiJKV1QiLCJlbmMiOiJBMjU2Q0JDLUhTNTEyIiwiYWxnIjoiUlNBLU9BRVAtMjU2In0.g2NONJnkqu6aS-fAWlr3IqPC5zwfn6vrwKbYVTYWQFNB62JvpMEFEyndL8LGF7ijtCEo6eXhMLNKHBbWpZ9LdxOGOiH6phVEsdcq0RznaHsfZGb3xy11b3qA8GEtEE-pL_rTQFvqMcjZdBzat4deZx8Ug2WK-ojg2DX_8NsWRXiiADSx7jDjupNQnAM7P_rMwWg6eeC7o_ZWQmH_I0_ioAPc4sQXAtskKf253b6l4squm9krSebOu2qcEyr0jzh-OaZvzoSSgN7_hUmUtN47vdRowqGNfmPSnE73N3c4m7HZA_Dunv6ugmPvBa8-Lt3BIG_i1yWgisUCFruPXo0JFQ.M12qV_FJmZJO6mQLtAyNlg.1HYVf-nG-aixFVdTXiruxMcz64igJFa34pEbzG5fog31iSvs3o-DZFdrf5Zh5AVLJ9Ei9zqIaywzyoB--mE_vS70ImUPRTfBdSb-z0vU9R5Jrg-Qfh2iBHyNFRZnyPce861nM2deqB5u8qxvplw4l2VBGbWyfOhDJc0UMTrRPnFGsGP-qlldOMz20rkvRRwBaT88J2bHWCGKcBTgyi56SsA05vEBI8NVntGdl7XGQkxjJiaSUuB17bt-haNag0qh1xW6_fIFsMArAXw_sRak2gLc9bQXiAuQUwpG_xPaignSUvEyULUPWodIEewnvHl3DK2y3tQYmfSy_UlXe6j7Yojz3Nx9iKltujv90OkTlCe9me3DtBlmwA0ynrJ5asf-cNU85gMLJZUtrMdxCeM4verfY8NV7GC1XgugGhFzrXTy3_sTjN9bh_OM58UxXL4Rj7w7rhq0nxOFBhg32x3dtKSxcpLGZw5_GQc38ZwbLKbZS5OipYj610L1-cx_uZDnMw_XEdPNKkuoXQXOS3iBl5W8ZRYylk-QWOuwqTXEE2l9oPCJTMOMpP3dKvn2c0etvuIwugKQakMy9fSTtJwAIyxFZsZEtDxCy7QCVjD3r27IYwAyW_7tx0OjAqnfG2RP_zEU-dEefU7Z2udwR4CXn9ejFQkySC6spgAqZvgjWbfDrihKpN1rxHO5do1eU9QImnjjWJLzivu2bO1F7uLReA.olMr8ZDZLIeWlYHQJ1BxKNMzK4rVljHld-e8geVEsdE; + - vamfjwtv3=stubbed_token; path=/; HttpOnly - vamftimeoutv1=1589862134; path=/ body: diff --git a/spec/support/vcr_cassettes/vaos/fhir/slot/search_200_no_slots_found.yml b/spec/support/vcr_cassettes/vaos/fhir/slot/search_200_no_slots_found.yml index d1463422f78..bdb39d54392 100644 --- a/spec/support/vcr_cassettes/vaos/fhir/slot/search_200_no_slots_found.yml +++ b/spec/support/vcr_cassettes/vaos/fhir/slot/search_200_no_slots_found.yml @@ -16,7 +16,7 @@ http_interactions: Referer: - https://review-instance.va.gov X-Vamf-Jwt: - - eyJhbGciOiJSUzUxMiJ9.eyJsYXN0TmFtZSI6IkNhcnRlciIsInN1YiI6IjEzNjY1OTU0NTc1OTk5NDYwIiwiYXV0aGVudGljYXRlZCI6dHJ1ZSwiYXV0aGVudGljYXRpb25BdXRob3JpdHkiOiJnb3YudmEudmFvcyIsImlkVHlwZSI6IklDTiIsImdlbmRlciI6Ik1BTEUiLCJpc3MiOiJnb3YudmEudmFtZi51c2Vyc2VydmljZS52MSIsImRhdGVPZkJpcnRoIjoiMTk1NDExMTUiLCJ2ZXJzaW9uIjoyLjEsImVkaXBpZCI6IjI1MzY2ODgyMDkiLCJzc24iOiIzNjgwNDMzMTIiLCJmaXJzdE5hbWUiOiJDaGkiLCJuYmYiOjE1OTQwNjg4NjYsInNzdCI6MTU5NDA2OTA0NSwiZG9iIjoiMTk1NDExMTUiLCJwYXRpZW50Ijp7ImZpcnN0TmFtZSI6IkNoaSIsImxhc3ROYW1lIjoiQ2FydGVyIiwiZ2VuZGVyIjoiTUFMRSIsImljbiI6IjEzNjY1OTU0NTc1OTk5NDYwIiwiZG9iIjoiMTk1NC0xMS0xNSIsImRhdGVPZkJpcnRoIjoiMTk1NC0xMS0xNSIsInNzbiI6IjM2ODA0MzMxMiJ9LCJ2YW1mLmF1dGgucm9sZXMiOlsidmV0ZXJhbiJdLCJleHAiOjE1OTQwNjk5NDYsImp0aSI6IjAxZTU4ZDBiLTNlZWUtNDQzMi04NmE4LWE4ODAzNWQ2MGE5ZCIsImxvYSI6Mn0.GdwyF-GpFQYbPiT_iS7sm7G3xTFt-J6nmDCLR7o9qBCbjf1hYVAe15H7TGFIQdt7S5nMJGEB-4m8AxuvZPmua_n--P2sdgCGXwWofLOLnfX4_Zt7-c5GZEWAXdrCSfVli2BrntlZPafU8h6ggDJUvpC1u_EFXaJUF1OT7BqrR8bZM4w--76DZhcA7UGrewMsnpQKD_gHJRuucJCzOP-_m11XsAuZ-3CdW8SKp_UtdiXzeDQqdB0OZLA8I5SE4569kMMBcJG-F0ViArjdSfjJ9UL54K5ydFt6e8G3GApNpM3jHAGG-Fjk4c6z1pS2OH2BOFaUErC4NN_SegXwv9u2cw + - stubbed_token X-Request-Id: - 4b0203dc-4ea5-4faf-8b0d-629b0e166be2 Accept-Encoding: diff --git a/spec/support/vcr_cassettes/vaos/fhir/slot/search_200_slots_found.yml b/spec/support/vcr_cassettes/vaos/fhir/slot/search_200_slots_found.yml index 25c53762edf..8d53d71ba60 100644 --- a/spec/support/vcr_cassettes/vaos/fhir/slot/search_200_slots_found.yml +++ b/spec/support/vcr_cassettes/vaos/fhir/slot/search_200_slots_found.yml @@ -16,7 +16,7 @@ http_interactions: Referer: - https://review-instance.va.gov X-Vamf-Jwt: - - eyJhbGciOiJSUzUxMiJ9.eyJsYXN0TmFtZSI6IkNhcnRlciIsInN1YiI6IjEzNjY1OTU0NTc1OTk5NDYwIiwiYXV0aGVudGljYXRlZCI6dHJ1ZSwiYXV0aGVudGljYXRpb25BdXRob3JpdHkiOiJnb3YudmEudmFvcyIsImlkVHlwZSI6IklDTiIsImdlbmRlciI6Ik1BTEUiLCJpc3MiOiJnb3YudmEudmFtZi51c2Vyc2VydmljZS52MSIsImRhdGVPZkJpcnRoIjoiMTk1NDExMTUiLCJ2ZXJzaW9uIjoyLjEsImVkaXBpZCI6IjI1MzY2ODgyMDkiLCJzc24iOiIzNjgwNDMzMTIiLCJmaXJzdE5hbWUiOiJDaGkiLCJuYmYiOjE1OTQwNjg4NjYsInNzdCI6MTU5NDA2OTA0NSwiZG9iIjoiMTk1NDExMTUiLCJwYXRpZW50Ijp7ImZpcnN0TmFtZSI6IkNoaSIsImxhc3ROYW1lIjoiQ2FydGVyIiwiZ2VuZGVyIjoiTUFMRSIsImljbiI6IjEzNjY1OTU0NTc1OTk5NDYwIiwiZG9iIjoiMTk1NC0xMS0xNSIsImRhdGVPZkJpcnRoIjoiMTk1NC0xMS0xNSIsInNzbiI6IjM2ODA0MzMxMiJ9LCJ2YW1mLmF1dGgucm9sZXMiOlsidmV0ZXJhbiJdLCJleHAiOjE1OTQwNjk5NDYsImp0aSI6IjAxZTU4ZDBiLTNlZWUtNDQzMi04NmE4LWE4ODAzNWQ2MGE5ZCIsImxvYSI6Mn0.GdwyF-GpFQYbPiT_iS7sm7G3xTFt-J6nmDCLR7o9qBCbjf1hYVAe15H7TGFIQdt7S5nMJGEB-4m8AxuvZPmua_n--P2sdgCGXwWofLOLnfX4_Zt7-c5GZEWAXdrCSfVli2BrntlZPafU8h6ggDJUvpC1u_EFXaJUF1OT7BqrR8bZM4w--76DZhcA7UGrewMsnpQKD_gHJRuucJCzOP-_m11XsAuZ-3CdW8SKp_UtdiXzeDQqdB0OZLA8I5SE4569kMMBcJG-F0ViArjdSfjJ9UL54K5ydFt6e8G3GApNpM3jHAGG-Fjk4c6z1pS2OH2BOFaUErC4NN_SegXwv9u2cw + - stubbed_token X-Request-Id: - 4b0203dc-4ea5-4faf-8b0d-629b0e166be2 Accept-Encoding: diff --git a/spec/support/vcr_cassettes/vaos/fhir/slot/search_500.yml b/spec/support/vcr_cassettes/vaos/fhir/slot/search_500.yml index ebdb8057866..5f53e848298 100644 --- a/spec/support/vcr_cassettes/vaos/fhir/slot/search_500.yml +++ b/spec/support/vcr_cassettes/vaos/fhir/slot/search_500.yml @@ -16,7 +16,7 @@ http_interactions: Referer: - https://review-instance.va.gov X-Vamf-Jwt: - - eyJhbGciOiJSUzUxMiJ9.eyJsYXN0TmFtZSI6IkhlaWRlbnJlaWNoIiwic3ViIjoiNjMyMTk2Nzc2MjQyMTI0OTMiLCJhdXRoZW50aWNhdGVkIjp0cnVlLCJhdXRoZW50aWNhdGlvbkF1dGhvcml0eSI6Imdvdi52YS52YW9zIiwiaWRUeXBlIjoiSUNOIiwiZ2VuZGVyIjoiTUFMRSIsImlzcyI6Imdvdi52YS52YW1mLnVzZXJzZXJ2aWNlLnYxIiwiZGF0ZU9mQmlydGgiOiIxOTc1MTAyMSIsInZlcnNpb24iOjIuMSwiZWRpcGlkIjoiMjM0MTM0NzQyOSIsInNzbiI6IjQyNjEwMzU3NiIsImZpcnN0TmFtZSI6IkFobWVkIiwibmJmIjoxNTk0MDY5OTQyLCJzc3QiOjE1OTQwNzAxMjIsImRvYiI6IjE5NzUxMDIxIiwicGF0aWVudCI6eyJmaXJzdE5hbWUiOiJBaG1lZCIsImxhc3ROYW1lIjoiSGVpZGVucmVpY2giLCJnZW5kZXIiOiJNQUxFIiwiaWNuIjoiNjMyMTk2Nzc2MjQyMTI0OTMiLCJkb2IiOiIxOTc1LTEwLTIxIiwiZGF0ZU9mQmlydGgiOiIxOTc1LTEwLTIxIiwic3NuIjoiNDI2MTAzNTc2In0sInZhbWYuYXV0aC5yb2xlcyI6WyJ2ZXRlcmFuIl0sImV4cCI6MTU5NDA3MTAyMiwianRpIjoiOWMyZGFhNzAtMDZiMC00MzM1LTk1YmItNDM5ZWRlOTIwNDU1IiwibG9hIjoyfQ.odw3g_rKrjLPdcA4SY-MdrbffY-CH_m5bw5d9hhsomZdg7__-OH6kw5LJCRS45svi_wgYoEFT-DfXAJNuhwnbJhMXYq4wH7R0z5QGrx-m_-cdIqLN8YLqaUPoTt9sPuQzaVyTSpB2WA35pzOw_LTMaLilb2EDUDj0Mic8TlC692-rXqdv6iLj9wzw-hswkGMz6QwI3fQEmVSJc_4UEIwU5t-1bk9RY_mNzBlFYlt-GhNKTEj1jt0qtt8vRr0Lhp2fifl4mqg1QA5kW0xadAo7y7msHIEpTR8VTi31hfvI5Tgm27DXGsI6jAf2X5rvMJis5VVy1-jCcmfO0px40zvBg + - stubbed_token X-Request-Id: - 738bc292-3ad7-4787-90e5-255f0ea9f4b1 Accept-Encoding: diff --git a/spec/support/vcr_cassettes/vaos/messages/get_messages_500.yml b/spec/support/vcr_cassettes/vaos/messages/get_messages_500.yml index 31074957945..957fd223cfa 100644 --- a/spec/support/vcr_cassettes/vaos/messages/get_messages_500.yml +++ b/spec/support/vcr_cassettes/vaos/messages/get_messages_500.yml @@ -51,9 +51,9 @@ http_interactions: Access-Control-Max-Age: - '3600' Set-Cookie: - - TS016f4012=01c16e2d81fc226234f653b401a6d3c45964b178c3dca337d48dc27850ee4b2500802d8cd5ce3022f84792af5d23119520ca71bbc596b1ad67dc95ab16a1a86b35c68d151ea4d6e53a92650a851039167e75ca477a; + - TS016f4012=stubbed_cookie; Max-Age=900; Path=/ - - vamfjwtv3=eyJ6aXAiOiJERUYiLCJjdHkiOiJKV1QiLCJlbmMiOiJBMjU2Q0JDLUhTNTEyIiwiYWxnIjoiUlNBLU9BRVAtMjU2In0.ZyMpgyWmTxwJ4xf7e9aF8vSHP9YEZwRrI9sIRVX5x_tztvCzp4TDNj0yZ33GwHlXgDRFDIWh9qNZAq6d7ECDnI9hzZk-3Q-GM69bkUcdLRrYE4UX4i8HQawxXfC05lVHnqNZo81n4-laN91S6_In613ZcAQ4y4V-734nxqXFH9mYJUlf1MI3ixIPQ9G_0liQyvk0bZ2eE6GGGyDqt7mOvw_SGR3D3xgjB_csivbhkgY8qTOTTHCkRqYG6Ehpj9k2kiS_HD3XBVbyKTv3Oa7DtbnJ6HbFP7LUh-4pTATSBxT9IjyKtfCEHV9k0ZwMZGrnvJHmGaE3EcBq1qjeqdtdcw.aaLqA_CnlF_lo6pn2zINXw.Nn_C0mbkeOeXwxdkw_6h81GtmH0ykuMIKPeUUW4Z_yEmfBgTi6Ber9OUnv8OSsNVA8KUwsP8kgGB6Mh8xnvSVuA2jmn8YeG1dojV4Mhi8bGj4F0qKYTaCGorCEqpN8cu2wzupCuM4FYT3mXhHao1h_-Qc6_tRiDpbq572MngKJG8KHS7RYkMUo9RCRTuwSHQXr7XFN9Y0uToKGrY_r8a3LUr6PV8N5iFWunWF1G8_d6QbMFo-EY54cd9VPdJqydOtvTStyRbVjfq6Ud9GyzblgO22-jedghx0EOLOxjcIOVCEdJNnAnfokl50K53dW7ogK0Uj6ljH7_XzHyjhfDGBE_Xm_r2c9LYPX8_jp1bO2AZYllJGupAbJ4mIGCEG1zxUBNDaKX_T5rV5G5vxTGqlLw-9h6Il6rcqScrrfVciK46fnHZWfOZadevMNqO6yafMlUOQqnL4HodZRy4soy_KKlO4lsMX6LM1mVJM0SNU3YZUO0KuhCSTz8cMnuoek26OTurc6_x2ZrMMLS_GLh-m8pdjbvsjhbjw2n-yBQrKvHf1jl1cvUQSG8pHCFOjni2coUmmbTy0omzt29A1-NkOwbcIw7H2cgnosYzdpkgOvOMJgYAz-_PHYba1aDF8SNZpTl49TrIJXp01mVWwr-5buDmCbebuk1beqwb1-3FQI0.Owtu7sXRP0m4qVdPQ0qMZJKr2mVrSUrtpGpH9hvqjAM; + - vamfjwtv3=stubbed_token; path=/;max-age=900; HttpOnly - vamftimeoutv1=1567617431; path=/ body: diff --git a/spec/support/vcr_cassettes/vaos/messages/post_message.yml b/spec/support/vcr_cassettes/vaos/messages/post_message.yml index 7a335c6923a..25beba2913f 100644 --- a/spec/support/vcr_cassettes/vaos/messages/post_message.yml +++ b/spec/support/vcr_cassettes/vaos/messages/post_message.yml @@ -16,7 +16,7 @@ http_interactions: Referer: - https://api.va.gov X-Vamf-Jwt: - - eyJhbGciOiJSUzUxMiJ9.eyJsYXN0TmFtZSI6Ik1vcnJpc29uIiwic3ViIjoiMTAxMjg0NTMzMVYxNTMwNDMiLCJhdXRoZW50aWNhdGVkIjp0cnVlLCJhdXRoZW50aWNhdGlvbkF1dGhvcml0eSI6Imdvdi52YS52YW9zIiwiaWRUeXBlIjoiSUNOIiwiZ2VuZGVyIjoiRkVNQUxFIiwiaXNzIjoiZ292LnZhLnZhbWYudXNlcnNlcnZpY2UudjEiLCJ2YW1mLmF1dGgucmVzb3VyY2VzIjpbIl4uKihcLyk_c2l0ZVtzXT9cLyhkZm4tKT85ODRcL3BhdGllbnRbc10_XC81NTIxNjEwNTBcL2FwcG9pbnRtZW50cyhcLy4qKT8kIiwiXi4qKFwvKT9zaXRlW3NdP1wvKGRmbi0pPzk4M1wvcGF0aWVudFtzXT9cLzcyMTY2OTFcL2FwcG9pbnRtZW50cyhcLy4qKT8kIiwiXi4qKFwvKT9wYXRpZW50W3NdP1wvKElDTlwvKT8xMDEyODQ1MzMxVjE1MzA0MyhcLy4qKT8kIl0sImRhdGVPZkJpcnRoIjoiMTk1My0wNC0wMSIsInZlcnNpb24iOjIuMSwiZWRpcGlkIjoiMTI1OTg5Nzk3OCIsInZpc3RhSWRzIjpbeyJwYXRpZW50SWQiOiI1NTIxNjEwNTAiLCJzaXRlSWQiOiI5ODQifSx7InBhdGllbnRJZCI6IjcyMTY2OTEiLCJzaXRlSWQiOiI5ODMifV0sInNzbiI6Ijc5NjA2MTk3NiIsImZpcnN0TmFtZSI6Ikp1ZHkiLCJzdGFmZkRpc2NsYWltZXJBY2NlcHRlZCI6dHJ1ZSwibmJmIjoxNTc2MDk2NjI0LCJzc3QiOjE1NzYwOTY4MDMsInBhdGllbnQiOnsiZmlyc3ROYW1lIjoiSnVkeSIsImxhc3ROYW1lIjoiTW9ycmlzb24iLCJnZW5kZXIiOiJGRU1BTEUiLCJpY24iOiIxMDEyODQ1MzMxVjE1MzA0MyIsImRvYiI6IjE5NTMtMDQtMDEiLCJkYXRlT2ZCaXJ0aCI6IjE5NTMtMDQtMDEiLCJzc24iOiI3OTYwNjE5NzYifSwiZG9iIjoiMTk1My0wNC0wMSIsInZhbWYuYXV0aC5yb2xlcyI6WyJ2ZXRlcmFuIl0sInJpZ2h0T2ZBY2Nlc3NBY2NlcHRlZCI6dHJ1ZSwiZXhwIjoxNTc2MDk3NzA0LCJqdGkiOiJlMTYwYzBmMS05OWQwLTRjODktODc2Mi1lZmZiM2NkNTNiYjkiLCJsb2EiOjJ9.Dt01kfAMRVEEJzFlCzW-ewZSpygJnF7gCVWlNqbiJJt8Gzv-k_G3YlheNrw2sLjo8slKpC7D3fibiktTsweIV4ndkkMqKj8dm72yPcxDs1_gkB_QObQy9QHlBPQvBLA-YT2n_Hwp8eU_NIZCCyNqt5iMZi9txL2ctk926spG81SMBQ37hHdybswzqosfI_LFFfYqBycpkveLccorXYf7BBRLZHllKEkO0R7nyD-0AnmpR3qAqw8SFgWVEhQl7-mPYYpADDVJfB5bVAUuOBvtobS8Q830XMLL1KkniqKbUHqM83elIn7ufQww-qIk-6FyHPxfy-n_INwuqfQXGMG6GA + - stubbed_token Accept-Encoding: - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 response: diff --git a/spec/support/vcr_cassettes/vaos/messages/post_message_error.yml b/spec/support/vcr_cassettes/vaos/messages/post_message_error.yml index 427ca1be3cb..e665a2002ed 100644 --- a/spec/support/vcr_cassettes/vaos/messages/post_message_error.yml +++ b/spec/support/vcr_cassettes/vaos/messages/post_message_error.yml @@ -16,7 +16,7 @@ http_interactions: Referer: - https://api.va.gov X-Vamf-Jwt: - - eyJhbGciOiJSUzUxMiJ9.eyJsYXN0TmFtZSI6Ik1vcnJpc29uIiwic3ViIjoiMTAxMjg0NTMzMVYxNTMwNDMiLCJhdXRoZW50aWNhdGVkIjp0cnVlLCJhdXRoZW50aWNhdGlvbkF1dGhvcml0eSI6Imdvdi52YS52YW9zIiwiaWRUeXBlIjoiSUNOIiwiZ2VuZGVyIjoiRkVNQUxFIiwiaXNzIjoiZ292LnZhLnZhbWYudXNlcnNlcnZpY2UudjEiLCJ2YW1mLmF1dGgucmVzb3VyY2VzIjpbIl4uKihcLyk_c2l0ZVtzXT9cLyhkZm4tKT85ODRcL3BhdGllbnRbc10_XC81NTIxNjEwNTBcL2FwcG9pbnRtZW50cyhcLy4qKT8kIiwiXi4qKFwvKT9zaXRlW3NdP1wvKGRmbi0pPzk4M1wvcGF0aWVudFtzXT9cLzcyMTY2OTFcL2FwcG9pbnRtZW50cyhcLy4qKT8kIiwiXi4qKFwvKT9wYXRpZW50W3NdP1wvKElDTlwvKT8xMDEyODQ1MzMxVjE1MzA0MyhcLy4qKT8kIl0sImRhdGVPZkJpcnRoIjoiMTk1My0wNC0wMSIsInZlcnNpb24iOjIuMSwiZWRpcGlkIjoiMTI1OTg5Nzk3OCIsInZpc3RhSWRzIjpbeyJwYXRpZW50SWQiOiI1NTIxNjEwNTAiLCJzaXRlSWQiOiI5ODQifSx7InBhdGllbnRJZCI6IjcyMTY2OTEiLCJzaXRlSWQiOiI5ODMifV0sInNzbiI6Ijc5NjA2MTk3NiIsImZpcnN0TmFtZSI6Ikp1ZHkiLCJzdGFmZkRpc2NsYWltZXJBY2NlcHRlZCI6dHJ1ZSwibmJmIjoxNTc1OTE1MzUzLCJzc3QiOjE1NzU5MTU1MzIsInBhdGllbnQiOnsiZmlyc3ROYW1lIjoiSnVkeSIsImxhc3ROYW1lIjoiTW9ycmlzb24iLCJnZW5kZXIiOiJGRU1BTEUiLCJpY24iOiIxMDEyODQ1MzMxVjE1MzA0MyIsImRvYiI6IjE5NTMtMDQtMDEiLCJkYXRlT2ZCaXJ0aCI6IjE5NTMtMDQtMDEiLCJzc24iOiI3OTYwNjE5NzYifSwiZG9iIjoiMTk1My0wNC0wMSIsInZhbWYuYXV0aC5yb2xlcyI6WyJ2ZXRlcmFuIl0sInJpZ2h0T2ZBY2Nlc3NBY2NlcHRlZCI6dHJ1ZSwiZXhwIjoxNTc1OTE2NDMzLCJqdGkiOiJhMjFjMGJkNC1lNTViLTQ0ZmUtOWM2Ni1kMjA2MDk4ZDMxYzYiLCJsb2EiOjJ9.LEVJZAc9iHxR-50ClGj2D0sR7KXXHxSrQwrgmqnes9qKovY2IalCOjA20YGK4GK0anvAhyhyyNKRj948TJ59hFWBgZOEl9fvBMcG5ATBf50vmz0a9pMa3GzV304Gkx4XLPpqAZ_CZN3kEcaMJCXykfh4_CbkunK0S55n_YrAo906klYpwrokOcc2nppg3o5RZexJxWfdR46mRiS4X8KpjihvUfeudS0xWk11F85unQDmMc55TpnwmP8gA9mUbgTkBL-jopodtWaK5cvw2Gf4Bgkf5prnRG90O-0c7IGokoTBuKNwEt03MhUiVDGgUZru7Y_5DZH_BnpMk6zAe9Vn-Q + - stubbed_token Accept-Encoding: - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 response: diff --git a/spec/support/vcr_cassettes/vaos/messages/post_message_error_400.yml b/spec/support/vcr_cassettes/vaos/messages/post_message_error_400.yml index b0871c5998b..0041044ea0f 100644 --- a/spec/support/vcr_cassettes/vaos/messages/post_message_error_400.yml +++ b/spec/support/vcr_cassettes/vaos/messages/post_message_error_400.yml @@ -16,7 +16,7 @@ http_interactions: Referer: - https://api.va.gov X-Vamf-Jwt: - - eyJhbGciOiJSUzUxMiJ9.eyJsYXN0TmFtZSI6Ik1vcnJpc29uIiwic3ViIjoiMTAxMjg0NTMzMVYxNTMwNDMiLCJhdXRoZW50aWNhdGVkIjp0cnVlLCJhdXRoZW50aWNhdGlvbkF1dGhvcml0eSI6Imdvdi52YS52YW9zIiwiaWRUeXBlIjoiSUNOIiwiZ2VuZGVyIjoiRkVNQUxFIiwiaXNzIjoiZ292LnZhLnZhbWYudXNlcnNlcnZpY2UudjEiLCJ2YW1mLmF1dGgucmVzb3VyY2VzIjpbIl4uKihcLyk_c2l0ZVtzXT9cLyhkZm4tKT85ODRcL3BhdGllbnRbc10_XC81NTIxNjEwNTBcL2FwcG9pbnRtZW50cyhcLy4qKT8kIiwiXi4qKFwvKT9zaXRlW3NdP1wvKGRmbi0pPzk4M1wvcGF0aWVudFtzXT9cLzcyMTY2OTFcL2FwcG9pbnRtZW50cyhcLy4qKT8kIiwiXi4qKFwvKT9wYXRpZW50W3NdP1wvKElDTlwvKT8xMDEyODQ1MzMxVjE1MzA0MyhcLy4qKT8kIl0sImRhdGVPZkJpcnRoIjoiMTk1My0wNC0wMSIsInZlcnNpb24iOjIuMSwiZWRpcGlkIjoiMTI1OTg5Nzk3OCIsInZpc3RhSWRzIjpbeyJwYXRpZW50SWQiOiI1NTIxNjEwNTAiLCJzaXRlSWQiOiI5ODQifSx7InBhdGllbnRJZCI6IjcyMTY2OTEiLCJzaXRlSWQiOiI5ODMifV0sInNzbiI6Ijc5NjA2MTk3NiIsImZpcnN0TmFtZSI6Ikp1ZHkiLCJzdGFmZkRpc2NsYWltZXJBY2NlcHRlZCI6dHJ1ZSwibmJmIjoxNTc2MDk2NzE1LCJzc3QiOjE1NzYwOTY4OTUsInBhdGllbnQiOnsiZmlyc3ROYW1lIjoiSnVkeSIsImxhc3ROYW1lIjoiTW9ycmlzb24iLCJnZW5kZXIiOiJGRU1BTEUiLCJpY24iOiIxMDEyODQ1MzMxVjE1MzA0MyIsImRvYiI6IjE5NTMtMDQtMDEiLCJkYXRlT2ZCaXJ0aCI6IjE5NTMtMDQtMDEiLCJzc24iOiI3OTYwNjE5NzYifSwiZG9iIjoiMTk1My0wNC0wMSIsInZhbWYuYXV0aC5yb2xlcyI6WyJ2ZXRlcmFuIl0sInJpZ2h0T2ZBY2Nlc3NBY2NlcHRlZCI6dHJ1ZSwiZXhwIjoxNTc2MDk3Nzk1LCJqdGkiOiIxNWY3MzdmYi03YWNmLTQwNTUtYjExYi05ZTc2YTNiYzU2MDAiLCJsb2EiOjJ9.ir58j5McQ2-qZT7v3xrCEWYqyNCWBLvQS_JnDMAkQEt-8-2NSc1WDzTB8gZ0dd10zpUTL9jkk9sl9bO6e2tfmHuoZXwSC7BlLtrKNRnvwce_1nNZI6YCgC1Tsl8hkieH785H4KOS-dPcfUefK4WiM1E75cBnTq3KeaJIxnj1JsrjONzkDstS1I8MOBto-OyRP3p6ASfKpBxhxxCXB3i0CpZ1zI51Af30pgzB04bpzGcw2mPU7IaiRiA-nUdl7oSYQQ0JZIKrTo_uMO9NEOQtFGaJCVIzqcFmDQAN0jkzPocs_c-Zjip5asgEXqmCsKpUHNERwEtArr8haKicoNFWsA + - stubbed_token Accept-Encoding: - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 response: diff --git a/spec/support/vcr_cassettes/vaos/preferences/get_preferences.yml b/spec/support/vcr_cassettes/vaos/preferences/get_preferences.yml index f4620208c7a..385055fc04e 100644 --- a/spec/support/vcr_cassettes/vaos/preferences/get_preferences.yml +++ b/spec/support/vcr_cassettes/vaos/preferences/get_preferences.yml @@ -51,9 +51,9 @@ http_interactions: Access-Control-Max-Age: - '3600' Set-Cookie: - - TS016f4012=01c16e2d81fc226234f653b401a6d3c45964b178c3dca337d48dc27850ee4b2500802d8cd5ce3022f84792af5d23119520ca71bbc596b1ad67dc95ab16a1a86b35c68d151ea4d6e53a92650a851039167e75ca477a; + - TS016f4012=stubbed_cookie; Max-Age=900; Path=/ - - vamfjwtv3=eyJ6aXAiOiJERUYiLCJjdHkiOiJKV1QiLCJlbmMiOiJBMjU2Q0JDLUhTNTEyIiwiYWxnIjoiUlNBLU9BRVAtMjU2In0.ZyMpgyWmTxwJ4xf7e9aF8vSHP9YEZwRrI9sIRVX5x_tztvCzp4TDNj0yZ33GwHlXgDRFDIWh9qNZAq6d7ECDnI9hzZk-3Q-GM69bkUcdLRrYE4UX4i8HQawxXfC05lVHnqNZo81n4-laN91S6_In613ZcAQ4y4V-734nxqXFH9mYJUlf1MI3ixIPQ9G_0liQyvk0bZ2eE6GGGyDqt7mOvw_SGR3D3xgjB_csivbhkgY8qTOTTHCkRqYG6Ehpj9k2kiS_HD3XBVbyKTv3Oa7DtbnJ6HbFP7LUh-4pTATSBxT9IjyKtfCEHV9k0ZwMZGrnvJHmGaE3EcBq1qjeqdtdcw.aaLqA_CnlF_lo6pn2zINXw.Nn_C0mbkeOeXwxdkw_6h81GtmH0ykuMIKPeUUW4Z_yEmfBgTi6Ber9OUnv8OSsNVA8KUwsP8kgGB6Mh8xnvSVuA2jmn8YeG1dojV4Mhi8bGj4F0qKYTaCGorCEqpN8cu2wzupCuM4FYT3mXhHao1h_-Qc6_tRiDpbq572MngKJG8KHS7RYkMUo9RCRTuwSHQXr7XFN9Y0uToKGrY_r8a3LUr6PV8N5iFWunWF1G8_d6QbMFo-EY54cd9VPdJqydOtvTStyRbVjfq6Ud9GyzblgO22-jedghx0EOLOxjcIOVCEdJNnAnfokl50K53dW7ogK0Uj6ljH7_XzHyjhfDGBE_Xm_r2c9LYPX8_jp1bO2AZYllJGupAbJ4mIGCEG1zxUBNDaKX_T5rV5G5vxTGqlLw-9h6Il6rcqScrrfVciK46fnHZWfOZadevMNqO6yafMlUOQqnL4HodZRy4soy_KKlO4lsMX6LM1mVJM0SNU3YZUO0KuhCSTz8cMnuoek26OTurc6_x2ZrMMLS_GLh-m8pdjbvsjhbjw2n-yBQrKvHf1jl1cvUQSG8pHCFOjni2coUmmbTy0omzt29A1-NkOwbcIw7H2cgnosYzdpkgOvOMJgYAz-_PHYba1aDF8SNZpTl49TrIJXp01mVWwr-5buDmCbebuk1beqwb1-3FQI0.Owtu7sXRP0m4qVdPQ0qMZJKr2mVrSUrtpGpH9hvqjAM; + - vamfjwtv3=stubbed_token; path=/;max-age=900; HttpOnly - vamftimeoutv1=1567617431; path=/ body: diff --git a/spec/support/vcr_cassettes/vaos/preferences/put_preferences.yml b/spec/support/vcr_cassettes/vaos/preferences/put_preferences.yml index 9d314652732..de8f9ab3995 100644 --- a/spec/support/vcr_cassettes/vaos/preferences/put_preferences.yml +++ b/spec/support/vcr_cassettes/vaos/preferences/put_preferences.yml @@ -16,7 +16,7 @@ http_interactions: Referer: - https://api.va.gov X-Vamf-Jwt: - - eyJhbGciOiJSUzUxMiJ9.eyJsYXN0TmFtZSI6Ik1vcnJpc29uIiwic3ViIjoiMTAxMjg0NTMzMVYxNTMwNDMiLCJhdXRoZW50aWNhdGVkIjp0cnVlLCJhdXRoZW50aWNhdGlvbkF1dGhvcml0eSI6Imdvdi52YS52YW9zIiwiaWRUeXBlIjoiSUNOIiwiZ2VuZGVyIjoiRkVNQUxFIiwiaXNzIjoiZ292LnZhLnZhbWYudXNlcnNlcnZpY2UudjEiLCJ2YW1mLmF1dGgucmVzb3VyY2VzIjpbIl4uKihcLyk_c2l0ZVtzXT9cLyhkZm4tKT85ODRcL3BhdGllbnRbc10_XC81NTIxNjEwNTBcL2FwcG9pbnRtZW50cyhcLy4qKT8kIiwiXi4qKFwvKT9zaXRlW3NdP1wvKGRmbi0pPzk4M1wvcGF0aWVudFtzXT9cLzcyMTY2OTFcL2FwcG9pbnRtZW50cyhcLy4qKT8kIiwiXi4qKFwvKT9wYXRpZW50W3NdP1wvKElDTlwvKT8xMDEyODQ1MzMxVjE1MzA0MyhcLy4qKT8kIl0sImRhdGVPZkJpcnRoIjoiMTk1My0wNC0wMSIsInZlcnNpb24iOjIuMSwiZWRpcGlkIjoiMTI1OTg5Nzk3OCIsInZpc3RhSWRzIjpbeyJwYXRpZW50SWQiOiI1NTIxNjEwNTAiLCJzaXRlSWQiOiI5ODQifSx7InBhdGllbnRJZCI6IjcyMTY2OTEiLCJzaXRlSWQiOiI5ODMifV0sInNzbiI6Ijc5NjA2MTk3NiIsImZpcnN0TmFtZSI6Ikp1ZHkiLCJzdGFmZkRpc2NsYWltZXJBY2NlcHRlZCI6dHJ1ZSwibmJmIjoxNTc2Njk2OTQyLCJzc3QiOjE1NzY2OTcxMjIsInBhdGllbnQiOnsiZmlyc3ROYW1lIjoiSnVkeSIsImxhc3ROYW1lIjoiTW9ycmlzb24iLCJnZW5kZXIiOiJGRU1BTEUiLCJpY24iOiIxMDEyODQ1MzMxVjE1MzA0MyIsImRvYiI6IjE5NTMtMDQtMDEiLCJkYXRlT2ZCaXJ0aCI6IjE5NTMtMDQtMDEiLCJzc24iOiI3OTYwNjE5NzYifSwiZG9iIjoiMTk1My0wNC0wMSIsInZhbWYuYXV0aC5yb2xlcyI6WyJ2ZXRlcmFuIl0sInJpZ2h0T2ZBY2Nlc3NBY2NlcHRlZCI6dHJ1ZSwiZXhwIjoxNTc2Njk4MDIyLCJqdGkiOiIwMjM3YzdjMC0xNzE5LTRmY2QtYjhmNi0yMzA2YzQwOWFiNWMiLCJsb2EiOjJ9.VcFIigpFgZi4yFm4aCJLdyZnFKxql-AiAiA4ocLLT2B_OtB4uKbbTXNdrVtULleK-j7XrLsxZYHa2BLUALP96QAUwDTOiX2618m8vZo0oLghOfB0NjTGqt3LPFl7EVSB7X3rv-0s2SpKvugen_GFPxMyvNROsHBrYYzOJUTORgaYNb1fl28GZO1KIxZGxbukpElvgaX2R8SasTLqXEDx3nv_OuZI2CISf4pcooZQJARQK5hsCtr44t4izU0l-LVYhLNbPN2M03mH6JZ6hmvxxEzmAx9Oivus-jwQ8Pd_FNHJwvLgCeIQzBpFBjMEjrdvY02VUqJ6AI6BnjD1Q3Y2kw + - stubbed_token Accept-Encoding: - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 response: diff --git a/spec/support/vcr_cassettes/vaos/systems/get_cancel_reasons.yml b/spec/support/vcr_cassettes/vaos/systems/get_cancel_reasons.yml index 7c99f961e54..ed5aac2e6cf 100644 --- a/spec/support/vcr_cassettes/vaos/systems/get_cancel_reasons.yml +++ b/spec/support/vcr_cassettes/vaos/systems/get_cancel_reasons.yml @@ -51,9 +51,9 @@ http_interactions: Access-Control-Max-Age: - '3600' Set-Cookie: - - TS016f4012=01c16e2d81fc226234f653b401a6d3c45964b178c3dca337d48dc27850ee4b2500802d8cd5ce3022f84792af5d23119520ca71bbc596b1ad67dc95ab16a1a86b35c68d151ea4d6e53a92650a851039167e75ca477a; + - TS016f4012=stubbed_cookie; Max-Age=900; Path=/ - - vamfjwtv3=eyJ6aXAiOiJERUYiLCJjdHkiOiJKV1QiLCJlbmMiOiJBMjU2Q0JDLUhTNTEyIiwiYWxnIjoiUlNBLU9BRVAtMjU2In0.ZyMpgyWmTxwJ4xf7e9aF8vSHP9YEZwRrI9sIRVX5x_tztvCzp4TDNj0yZ33GwHlXgDRFDIWh9qNZAq6d7ECDnI9hzZk-3Q-GM69bkUcdLRrYE4UX4i8HQawxXfC05lVHnqNZo81n4-laN91S6_In613ZcAQ4y4V-734nxqXFH9mYJUlf1MI3ixIPQ9G_0liQyvk0bZ2eE6GGGyDqt7mOvw_SGR3D3xgjB_csivbhkgY8qTOTTHCkRqYG6Ehpj9k2kiS_HD3XBVbyKTv3Oa7DtbnJ6HbFP7LUh-4pTATSBxT9IjyKtfCEHV9k0ZwMZGrnvJHmGaE3EcBq1qjeqdtdcw.aaLqA_CnlF_lo6pn2zINXw.Nn_C0mbkeOeXwxdkw_6h81GtmH0ykuMIKPeUUW4Z_yEmfBgTi6Ber9OUnv8OSsNVA8KUwsP8kgGB6Mh8xnvSVuA2jmn8YeG1dojV4Mhi8bGj4F0qKYTaCGorCEqpN8cu2wzupCuM4FYT3mXhHao1h_-Qc6_tRiDpbq572MngKJG8KHS7RYkMUo9RCRTuwSHQXr7XFN9Y0uToKGrY_r8a3LUr6PV8N5iFWunWF1G8_d6QbMFo-EY54cd9VPdJqydOtvTStyRbVjfq6Ud9GyzblgO22-jedghx0EOLOxjcIOVCEdJNnAnfokl50K53dW7ogK0Uj6ljH7_XzHyjhfDGBE_Xm_r2c9LYPX8_jp1bO2AZYllJGupAbJ4mIGCEG1zxUBNDaKX_T5rV5G5vxTGqlLw-9h6Il6rcqScrrfVciK46fnHZWfOZadevMNqO6yafMlUOQqnL4HodZRy4soy_KKlO4lsMX6LM1mVJM0SNU3YZUO0KuhCSTz8cMnuoek26OTurc6_x2ZrMMLS_GLh-m8pdjbvsjhbjw2n-yBQrKvHf1jl1cvUQSG8pHCFOjni2coUmmbTy0omzt29A1-NkOwbcIw7H2cgnosYzdpkgOvOMJgYAz-_PHYba1aDF8SNZpTl49TrIJXp01mVWwr-5buDmCbebuk1beqwb1-3FQI0.Owtu7sXRP0m4qVdPQ0qMZJKr2mVrSUrtpGpH9hvqjAM; + - vamfjwtv3=stubbed_token; path=/;max-age=900; HttpOnly - vamftimeoutv1=1567617431; path=/ body: diff --git a/spec/support/vcr_cassettes/vaos/systems/get_cancel_reasons_500.yml b/spec/support/vcr_cassettes/vaos/systems/get_cancel_reasons_500.yml index 543c479c451..134ebd85bd5 100644 --- a/spec/support/vcr_cassettes/vaos/systems/get_cancel_reasons_500.yml +++ b/spec/support/vcr_cassettes/vaos/systems/get_cancel_reasons_500.yml @@ -51,9 +51,9 @@ http_interactions: Access-Control-Max-Age: - '3600' Set-Cookie: - - TS016f4012=01c16e2d81fc226234f653b401a6d3c45964b178c3dca337d48dc27850ee4b2500802d8cd5ce3022f84792af5d23119520ca71bbc596b1ad67dc95ab16a1a86b35c68d151ea4d6e53a92650a851039167e75ca477a; + - TS016f4012=stubbed_cookie; Max-Age=900; Path=/ - - vamfjwtv3=eyJ6aXAiOiJERUYiLCJjdHkiOiJKV1QiLCJlbmMiOiJBMjU2Q0JDLUhTNTEyIiwiYWxnIjoiUlNBLU9BRVAtMjU2In0.ZyMpgyWmTxwJ4xf7e9aF8vSHP9YEZwRrI9sIRVX5x_tztvCzp4TDNj0yZ33GwHlXgDRFDIWh9qNZAq6d7ECDnI9hzZk-3Q-GM69bkUcdLRrYE4UX4i8HQawxXfC05lVHnqNZo81n4-laN91S6_In613ZcAQ4y4V-734nxqXFH9mYJUlf1MI3ixIPQ9G_0liQyvk0bZ2eE6GGGyDqt7mOvw_SGR3D3xgjB_csivbhkgY8qTOTTHCkRqYG6Ehpj9k2kiS_HD3XBVbyKTv3Oa7DtbnJ6HbFP7LUh-4pTATSBxT9IjyKtfCEHV9k0ZwMZGrnvJHmGaE3EcBq1qjeqdtdcw.aaLqA_CnlF_lo6pn2zINXw.Nn_C0mbkeOeXwxdkw_6h81GtmH0ykuMIKPeUUW4Z_yEmfBgTi6Ber9OUnv8OSsNVA8KUwsP8kgGB6Mh8xnvSVuA2jmn8YeG1dojV4Mhi8bGj4F0qKYTaCGorCEqpN8cu2wzupCuM4FYT3mXhHao1h_-Qc6_tRiDpbq572MngKJG8KHS7RYkMUo9RCRTuwSHQXr7XFN9Y0uToKGrY_r8a3LUr6PV8N5iFWunWF1G8_d6QbMFo-EY54cd9VPdJqydOtvTStyRbVjfq6Ud9GyzblgO22-jedghx0EOLOxjcIOVCEdJNnAnfokl50K53dW7ogK0Uj6ljH7_XzHyjhfDGBE_Xm_r2c9LYPX8_jp1bO2AZYllJGupAbJ4mIGCEG1zxUBNDaKX_T5rV5G5vxTGqlLw-9h6Il6rcqScrrfVciK46fnHZWfOZadevMNqO6yafMlUOQqnL4HodZRy4soy_KKlO4lsMX6LM1mVJM0SNU3YZUO0KuhCSTz8cMnuoek26OTurc6_x2ZrMMLS_GLh-m8pdjbvsjhbjw2n-yBQrKvHf1jl1cvUQSG8pHCFOjni2coUmmbTy0omzt29A1-NkOwbcIw7H2cgnosYzdpkgOvOMJgYAz-_PHYba1aDF8SNZpTl49TrIJXp01mVWwr-5buDmCbebuk1beqwb1-3FQI0.Owtu7sXRP0m4qVdPQ0qMZJKr2mVrSUrtpGpH9hvqjAM; + - vamfjwtv3=stubbed_token; path=/;max-age=900; HttpOnly - vamftimeoutv1=1567617431; path=/ body: diff --git a/spec/support/vcr_cassettes/vaos/systems/get_direct_booking_eligibility_criteria_by_id.yml b/spec/support/vcr_cassettes/vaos/systems/get_direct_booking_eligibility_criteria_by_id.yml index 4b191e01674..3f71f0a5880 100644 --- a/spec/support/vcr_cassettes/vaos/systems/get_direct_booking_eligibility_criteria_by_id.yml +++ b/spec/support/vcr_cassettes/vaos/systems/get_direct_booking_eligibility_criteria_by_id.yml @@ -16,7 +16,7 @@ http_interactions: Referer: - https://review-instance.va.gov X-Vamf-Jwt: - - eyJhbGciOiJSUzUxMiJ9.eyJsYXN0TmFtZSI6IkxhbmciLCJzdWIiOiI0NTY1NDkxMjU2OTY3MTUzNCIsImF1dGhlbnRpY2F0ZWQiOnRydWUsImF1dGhlbnRpY2F0aW9uQXV0aG9yaXR5IjoiZ292LnZhLnZhb3MiLCJpZFR5cGUiOiJJQ04iLCJnZW5kZXIiOiJNQUxFIiwiaXNzIjoiZ292LnZhLnZhbWYudXNlcnNlcnZpY2UudjEiLCJkYXRlT2ZCaXJ0aCI6IjE5NjAxMjIwIiwidmVyc2lvbiI6Mi4xLCJlZGlwaWQiOiI3OTk1NjkzNjY0Iiwic3NuIjoiNDQ4NTA2MzU0IiwiZmlyc3ROYW1lIjoiTWlubmllIiwibmJmIjoxNjAxNDkxODMzLCJzc3QiOjE2MDE0OTIwMTMsImRvYiI6IjE5NjAxMjIwIiwicGF0aWVudCI6eyJmaXJzdE5hbWUiOiJNaW5uaWUiLCJsYXN0TmFtZSI6IkxhbmciLCJnZW5kZXIiOiJNQUxFIiwiaWNuIjoiNDU2NTQ5MTI1Njk2NzE1MzQiLCJkb2IiOiIxOTYwLTEyLTIwIiwiZGF0ZU9mQmlydGgiOiIxOTYwLTEyLTIwIiwic3NuIjoiNDQ4NTA2MzU0In0sInZhbWYuYXV0aC5yb2xlcyI6WyJ2ZXRlcmFuIl0sImV4cCI6MTYwMTQ5MjkxMywianRpIjoiY2ZjZTMwOTgtOGZkNi00MjZkLWFjMTEtYjY4YjFkYTNjOTEzIiwibG9hIjoyfQ.Dy85otbdWu4ELQ0831QPDdhn0KZFUW0ge3_V0UpeY1YuxVMj7k4K2deiZQYhx3y0O-ouHkLL2x2zrFJg9_vhrqkUc_ga5xhffY-ha_Vlvgpd5lrBwSbGbSREFqmqJTBCSW6Lvigt6-uSoy7M7OofmapBW4SyM7R6kaw2YEctwFFX3t8oC3UCNr3s1TFiNuXLDrH7lAr3tyof5cPvYu_35vyig-UV5K-8UZBXD2G-B2AZ5D9ekvNgQJHZ4s2k9YG4LLgiJ0gwVKLj_b7z0EZZ_1bBXPMEj0FDQmo0vtz3RqYnBiSI-6IkX24DcXvatyVN0tTXiwFzXxyFBN5-HT8k0w + - stubbed_token X-Request-Id: - 67a2a84b-1833-4239-9dd5-c0e6e6c48f0a Accept-Encoding: diff --git a/spec/support/vcr_cassettes/vaos/systems/get_direct_booking_eligibility_criteria_by_parent_sites.yml b/spec/support/vcr_cassettes/vaos/systems/get_direct_booking_eligibility_criteria_by_parent_sites.yml index f987925482a..49bb8a94cee 100644 --- a/spec/support/vcr_cassettes/vaos/systems/get_direct_booking_eligibility_criteria_by_parent_sites.yml +++ b/spec/support/vcr_cassettes/vaos/systems/get_direct_booking_eligibility_criteria_by_parent_sites.yml @@ -16,7 +16,7 @@ http_interactions: Referer: - https://review-instance.va.gov X-Vamf-Jwt: - - eyJhbGciOiJSUzUxMiJ9.eyJsYXN0TmFtZSI6IkdvcmN6YW55Iiwic3ViIjoiMjkzMDg1NjQ4MTI2MDExNTciLCJhdXRoZW50aWNhdGVkIjp0cnVlLCJhdXRoZW50aWNhdGlvbkF1dGhvcml0eSI6Imdvdi52YS52YW9zIiwiaWRUeXBlIjoiSUNOIiwiZ2VuZGVyIjoiTUFMRSIsImlzcyI6Imdvdi52YS52YW1mLnVzZXJzZXJ2aWNlLnYxIiwiZGF0ZU9mQmlydGgiOiIxOTgyMTIyNiIsInZlcnNpb24iOjIuMSwiZWRpcGlkIjoiNTk4MDYxNjc3NSIsInNzbiI6IjI0MzAyODM3NCIsImZpcnN0TmFtZSI6IlN1ZWFubiIsIm5iZiI6MTYwMTQ5MTgzMSwic3N0IjoxNjAxNDkyMDExLCJkb2IiOiIxOTgyMTIyNiIsInBhdGllbnQiOnsiZmlyc3ROYW1lIjoiU3VlYW5uIiwibGFzdE5hbWUiOiJHb3JjemFueSIsImdlbmRlciI6Ik1BTEUiLCJpY24iOiIyOTMwODU2NDgxMjYwMTE1NyIsImRvYiI6IjE5ODItMTItMjYiLCJkYXRlT2ZCaXJ0aCI6IjE5ODItMTItMjYiLCJzc24iOiIyNDMwMjgzNzQifSwidmFtZi5hdXRoLnJvbGVzIjpbInZldGVyYW4iXSwiZXhwIjoxNjAxNDkyOTExLCJqdGkiOiJhOTQwMzA1Yy02OTEwLTQyYTYtYTIyOC01NTQ1MTVlOGE4NDQiLCJsb2EiOjJ9.Bo6VpA1gb47sKxstRSNE4qQhrp5kxvKCRnf6uBJRScPZq1I8jyFXf5H_CGBxBP8LfdhDauSjN43rMSW92UErv3Z3y7v8pqQQaLO-z8sLCen3QOtGFBUY5m4JPcYf11d2Gpb-QbUU_KKIfMg76KlFLsY34ns2jlCSAKIXbxjvmHncZY5cSEu3EMfdcbyap2I3UijR_JyG5g23uJQQO8hqUjOUz9w0BfP7IpYp3FRWvv9117Hn9YA5wkpXK1uNV--4h4Zl4eNojt2Zo5arhHQ2rayBObkJIcRStcVg3OqiyLIahfRoLeM8Iw3Rd3H73yzzs9JlMZO30ppTHTbncFL_wA + - stubbed_token X-Request-Id: - 340eedb4-803c-4fcc-a9f8-972229519a2b Accept-Encoding: diff --git a/spec/support/vcr_cassettes/vaos/systems/get_direct_booking_eligibility_criteria_by_site_codes.yml b/spec/support/vcr_cassettes/vaos/systems/get_direct_booking_eligibility_criteria_by_site_codes.yml index 59f514185ee..f2c522aa12e 100644 --- a/spec/support/vcr_cassettes/vaos/systems/get_direct_booking_eligibility_criteria_by_site_codes.yml +++ b/spec/support/vcr_cassettes/vaos/systems/get_direct_booking_eligibility_criteria_by_site_codes.yml @@ -16,7 +16,7 @@ http_interactions: Referer: - https://review-instance.va.gov X-Vamf-Jwt: - - eyJhbGciOiJSUzUxMiJ9.eyJsYXN0TmFtZSI6IlN0cmVpY2giLCJzdWIiOiIxMjExNzc3NDE4MTQxNTk0MiIsImF1dGhlbnRpY2F0ZWQiOnRydWUsImF1dGhlbnRpY2F0aW9uQXV0aG9yaXR5IjoiZ292LnZhLnZhb3MiLCJpZFR5cGUiOiJJQ04iLCJnZW5kZXIiOiJGRU1BTEUiLCJpc3MiOiJnb3YudmEudmFtZi51c2Vyc2VydmljZS52MSIsImRhdGVPZkJpcnRoIjoiMTk4NTEwMjUiLCJ2ZXJzaW9uIjoyLjEsImVkaXBpZCI6Ijk4MDYwNTI5MDMiLCJzc24iOiI3ODE2OTM4MzUiLCJmaXJzdE5hbWUiOiJTY2FybGV0dCIsIm5iZiI6MTYwMTQ5MTgzMiwic3N0IjoxNjAxNDkyMDEyLCJkb2IiOiIxOTg1MTAyNSIsInBhdGllbnQiOnsiZmlyc3ROYW1lIjoiU2NhcmxldHQiLCJsYXN0TmFtZSI6IlN0cmVpY2giLCJnZW5kZXIiOiJGRU1BTEUiLCJpY24iOiIxMjExNzc3NDE4MTQxNTk0MiIsImRvYiI6IjE5ODUtMTAtMjUiLCJkYXRlT2ZCaXJ0aCI6IjE5ODUtMTAtMjUiLCJzc24iOiI3ODE2OTM4MzUifSwidmFtZi5hdXRoLnJvbGVzIjpbInZldGVyYW4iXSwiZXhwIjoxNjAxNDkyOTEyLCJqdGkiOiI3ZTk1YzIwNy0zZjRiLTQyNGEtYmE2NC0yNDdlODlkZTE1NjMiLCJsb2EiOjJ9.WP9MpyEfGr9OxszLEV-Jw45aoNLy5u5XwobETS7Xj8216tftAiFN7YAdw4C04yDiyLqP5AkYKNjwZEetinC6zrufRJJncZOXDRDYWulOfA0zc10FMGkvsMHmP2lDN8RzWNhh4ZpFDy4BN9gU2zATF3lpyeY01Pcb9u_JBCxul96Y1rGU-HsVoDTffLReeZjZJJeJdqGhkWr2kVbnsHmGA3fSbGTtyQfQzitU-TD5OOd2b-VLBoD867b-0_T1Arj3oVd-iEJ2nZhqWjASlkoHaSlTWcyvf8WZDIRs3FCQbSq7KcL5mOseaZQ3ljydJYB_OqXkJaBX98xpgitQRwsFSw + - stubbed_token X-Request-Id: - fd9d6754-31a6-4f5f-a88d-fed655fbb7c3 Accept-Encoding: diff --git a/spec/support/vcr_cassettes/vaos/systems/get_facilities.yml b/spec/support/vcr_cassettes/vaos/systems/get_facilities.yml index 8c492bc70bb..784d28137d0 100644 --- a/spec/support/vcr_cassettes/vaos/systems/get_facilities.yml +++ b/spec/support/vcr_cassettes/vaos/systems/get_facilities.yml @@ -51,9 +51,9 @@ http_interactions: Access-Control-Max-Age: - '3600' Set-Cookie: - - TS016f4012=01c16e2d81fc226234f653b401a6d3c45964b178c3dca337d48dc27850ee4b2500802d8cd5ce3022f84792af5d23119520ca71bbc596b1ad67dc95ab16a1a86b35c68d151ea4d6e53a92650a851039167e75ca477a; + - TS016f4012=stubbed_cookie; Max-Age=900; Path=/ - - vamfjwtv3=eyJ6aXAiOiJERUYiLCJjdHkiOiJKV1QiLCJlbmMiOiJBMjU2Q0JDLUhTNTEyIiwiYWxnIjoiUlNBLU9BRVAtMjU2In0.ZyMpgyWmTxwJ4xf7e9aF8vSHP9YEZwRrI9sIRVX5x_tztvCzp4TDNj0yZ33GwHlXgDRFDIWh9qNZAq6d7ECDnI9hzZk-3Q-GM69bkUcdLRrYE4UX4i8HQawxXfC05lVHnqNZo81n4-laN91S6_In613ZcAQ4y4V-734nxqXFH9mYJUlf1MI3ixIPQ9G_0liQyvk0bZ2eE6GGGyDqt7mOvw_SGR3D3xgjB_csivbhkgY8qTOTTHCkRqYG6Ehpj9k2kiS_HD3XBVbyKTv3Oa7DtbnJ6HbFP7LUh-4pTATSBxT9IjyKtfCEHV9k0ZwMZGrnvJHmGaE3EcBq1qjeqdtdcw.aaLqA_CnlF_lo6pn2zINXw.Nn_C0mbkeOeXwxdkw_6h81GtmH0ykuMIKPeUUW4Z_yEmfBgTi6Ber9OUnv8OSsNVA8KUwsP8kgGB6Mh8xnvSVuA2jmn8YeG1dojV4Mhi8bGj4F0qKYTaCGorCEqpN8cu2wzupCuM4FYT3mXhHao1h_-Qc6_tRiDpbq572MngKJG8KHS7RYkMUo9RCRTuwSHQXr7XFN9Y0uToKGrY_r8a3LUr6PV8N5iFWunWF1G8_d6QbMFo-EY54cd9VPdJqydOtvTStyRbVjfq6Ud9GyzblgO22-jedghx0EOLOxjcIOVCEdJNnAnfokl50K53dW7ogK0Uj6ljH7_XzHyjhfDGBE_Xm_r2c9LYPX8_jp1bO2AZYllJGupAbJ4mIGCEG1zxUBNDaKX_T5rV5G5vxTGqlLw-9h6Il6rcqScrrfVciK46fnHZWfOZadevMNqO6yafMlUOQqnL4HodZRy4soy_KKlO4lsMX6LM1mVJM0SNU3YZUO0KuhCSTz8cMnuoek26OTurc6_x2ZrMMLS_GLh-m8pdjbvsjhbjw2n-yBQrKvHf1jl1cvUQSG8pHCFOjni2coUmmbTy0omzt29A1-NkOwbcIw7H2cgnosYzdpkgOvOMJgYAz-_PHYba1aDF8SNZpTl49TrIJXp01mVWwr-5buDmCbebuk1beqwb1-3FQI0.Owtu7sXRP0m4qVdPQ0qMZJKr2mVrSUrtpGpH9hvqjAM; + - vamfjwtv3=stubbed_token; path=/;max-age=900; HttpOnly - vamftimeoutv1=1567617431; path=/ body: diff --git a/spec/support/vcr_cassettes/vaos/systems/get_facilities_500.yml b/spec/support/vcr_cassettes/vaos/systems/get_facilities_500.yml index 1ce8b243498..b91f4339738 100644 --- a/spec/support/vcr_cassettes/vaos/systems/get_facilities_500.yml +++ b/spec/support/vcr_cassettes/vaos/systems/get_facilities_500.yml @@ -51,9 +51,9 @@ http_interactions: Access-Control-Max-Age: - '3600' Set-Cookie: - - TS016f4012=01c16e2d81fc226234f653b401a6d3c45964b178c3dca337d48dc27850ee4b2500802d8cd5ce3022f84792af5d23119520ca71bbc596b1ad67dc95ab16a1a86b35c68d151ea4d6e53a92650a851039167e75ca477a; + - TS016f4012=stubbed_token; Max-Age=900; Path=/ - - vamfjwtv3=eyJ6aXAiOiJERUYiLCJjdHkiOiJKV1QiLCJlbmMiOiJBMjU2Q0JDLUhTNTEyIiwiYWxnIjoiUlNBLU9BRVAtMjU2In0.ZyMpgyWmTxwJ4xf7e9aF8vSHP9YEZwRrI9sIRVX5x_tztvCzp4TDNj0yZ33GwHlXgDRFDIWh9qNZAq6d7ECDnI9hzZk-3Q-GM69bkUcdLRrYE4UX4i8HQawxXfC05lVHnqNZo81n4-laN91S6_In613ZcAQ4y4V-734nxqXFH9mYJUlf1MI3ixIPQ9G_0liQyvk0bZ2eE6GGGyDqt7mOvw_SGR3D3xgjB_csivbhkgY8qTOTTHCkRqYG6Ehpj9k2kiS_HD3XBVbyKTv3Oa7DtbnJ6HbFP7LUh-4pTATSBxT9IjyKtfCEHV9k0ZwMZGrnvJHmGaE3EcBq1qjeqdtdcw.aaLqA_CnlF_lo6pn2zINXw.Nn_C0mbkeOeXwxdkw_6h81GtmH0ykuMIKPeUUW4Z_yEmfBgTi6Ber9OUnv8OSsNVA8KUwsP8kgGB6Mh8xnvSVuA2jmn8YeG1dojV4Mhi8bGj4F0qKYTaCGorCEqpN8cu2wzupCuM4FYT3mXhHao1h_-Qc6_tRiDpbq572MngKJG8KHS7RYkMUo9RCRTuwSHQXr7XFN9Y0uToKGrY_r8a3LUr6PV8N5iFWunWF1G8_d6QbMFo-EY54cd9VPdJqydOtvTStyRbVjfq6Ud9GyzblgO22-jedghx0EOLOxjcIOVCEdJNnAnfokl50K53dW7ogK0Uj6ljH7_XzHyjhfDGBE_Xm_r2c9LYPX8_jp1bO2AZYllJGupAbJ4mIGCEG1zxUBNDaKX_T5rV5G5vxTGqlLw-9h6Il6rcqScrrfVciK46fnHZWfOZadevMNqO6yafMlUOQqnL4HodZRy4soy_KKlO4lsMX6LM1mVJM0SNU3YZUO0KuhCSTz8cMnuoek26OTurc6_x2ZrMMLS_GLh-m8pdjbvsjhbjw2n-yBQrKvHf1jl1cvUQSG8pHCFOjni2coUmmbTy0omzt29A1-NkOwbcIw7H2cgnosYzdpkgOvOMJgYAz-_PHYba1aDF8SNZpTl49TrIJXp01mVWwr-5buDmCbebuk1beqwb1-3FQI0.Owtu7sXRP0m4qVdPQ0qMZJKr2mVrSUrtpGpH9hvqjAM; + - vamfjwtv3=stubbed_token; path=/;max-age=900; HttpOnly - vamftimeoutv1=1567617431; path=/ body: diff --git a/spec/support/vcr_cassettes/vaos/systems/get_facilities_limits_for_multiple.yml b/spec/support/vcr_cassettes/vaos/systems/get_facilities_limits_for_multiple.yml index f731cf43b2e..c50155db15c 100644 --- a/spec/support/vcr_cassettes/vaos/systems/get_facilities_limits_for_multiple.yml +++ b/spec/support/vcr_cassettes/vaos/systems/get_facilities_limits_for_multiple.yml @@ -16,7 +16,7 @@ http_interactions: Referer: - https://review-instance.va.gov X-Vamf-Jwt: - - eyJhbGciOiJSUzUxMiJ9.eyJsYXN0TmFtZSI6Ik1vcnJpc29uIiwic3ViIjoiMTAxMjg0NTMzMVYxNTMwNDMiLCJhdXRoZW50aWNhdGVkIjp0cnVlLCJhdXRoZW50aWNhdGlvbkF1dGhvcml0eSI6Imdvdi52YS52YW9zIiwiaWRUeXBlIjoiSUNOIiwiZ2VuZGVyIjoiRkVNQUxFIiwiaXNzIjoiZ292LnZhLnZhbWYudXNlcnNlcnZpY2UudjIiLCJ2YW1mLmF1dGgucmVzb3VyY2VzIjpbIl4uKihcLyk_c2l0ZVtzXT9cLyhkZm4tKT85ODRcL3BhdGllbnRbc10_XC81NTIxNjEwNTBcL2FwcG9pbnRtZW50cyhcLy4qKT8kIiwiXi4qKFwvKT9zaXRlW3NdP1wvKGRmbi0pPzk4M1wvcGF0aWVudFtzXT9cLzcyMTY2OTFcL2FwcG9pbnRtZW50cyhcLy4qKT8kIiwiXi4qKFwvKT9wYXRpZW50W3NdP1wvKElDTlwvKT8xMDEyODQ1MzMxVjE1MzA0MyhcLy4qKT8kIl0sImRhdGVPZkJpcnRoIjoiMTk1MzA0MDEiLCJ2ZXJzaW9uIjoyLjEsImVkaXBpZCI6IjEyNTk4OTc5NzgiLCJ2aXN0YUlkcyI6W3sicGF0aWVudElkIjoiNTUyMTYxMDUwIiwic2l0ZUlkIjoiOTg0In0seyJwYXRpZW50SWQiOiI3MjE2NjkxIiwic2l0ZUlkIjoiOTgzIn1dLCJzc24iOiI3OTYwNjE5NzYiLCJmaXJzdE5hbWUiOiJKdWR5Iiwic3RhZmZEaXNjbGFpbWVyQWNjZXB0ZWQiOnRydWUsIm5iZiI6MTYxMTMzOTQyMiwic3N0IjoxNjExMzM5NjAxLCJwYXRpZW50Ijp7ImZpcnN0TmFtZSI6Ikp1ZHkiLCJsYXN0TmFtZSI6Ik1vcnJpc29uIiwiZ2VuZGVyIjoiRkVNQUxFIiwiaWNuIjoiMTAxMjg0NTMzMVYxNTMwNDMiLCJkb2IiOiIxOTUzLTA0LTAxIiwiZGF0ZU9mQmlydGgiOiIxOTUzLTA0LTAxIiwic3NuIjoiNzk2MDYxOTc2In0sImRvYiI6IjE5NTMwNDAxIiwidmFtZi5hdXRoLnJvbGVzIjpbInZldGVyYW4iXSwicmlnaHRPZkFjY2Vzc0FjY2VwdGVkIjp0cnVlLCJleHAiOjE2MTEzNDA1MDIsImp0aSI6ImJkYTIxNTE1LWY0YmItNGI1MS05YzA4LWQ1OTgzN2E2N2UxNSIsImxvYSI6Mn0.ZoIX-5AiaXUneYgV3p6S4gXMah5udsq-m6x8Ms2yxjMtzifPMkkuiKYGWvYS4powiB3RefK1yDqwfZTAZh_TjzpET4XhSDFtImUCORUyPQU_RUcudcmXAtDbp4CQghfjImp5oXX4omWrnQSxQ9u5FUpCP788U-FwC8JUuITlK9nrogUpDkIdOoJzemdQB-4ejNo80n7GQpHbOM48WzMEBHtU7rm4B8tWaIOnr4180jQzGRL0LaWJkhxWuXzPIEFPoYK1Rc_uuzXO0_s4JwVO1j-0moKHsPljtMNpz3TJa4guzjHYgGMHeGhmFgVNAMLO9WGNByQva7pFT_aStwQj8A + - stubbed_token X-Request-Id: - '' Accept-Encoding: diff --git a/spec/support/vcr_cassettes/vaos/systems/get_facilities_limits_for_multiple_500.yml b/spec/support/vcr_cassettes/vaos/systems/get_facilities_limits_for_multiple_500.yml index b243a8346a8..68aa2e51019 100644 --- a/spec/support/vcr_cassettes/vaos/systems/get_facilities_limits_for_multiple_500.yml +++ b/spec/support/vcr_cassettes/vaos/systems/get_facilities_limits_for_multiple_500.yml @@ -16,7 +16,7 @@ http_interactions: Referer: - https://review-instance.va.gov X-Vamf-Jwt: - - eyJhbGciOiJSUzUxMiJ9.eyJsYXN0TmFtZSI6Ik1vcnJpc29uIiwic3ViIjoiMTAxMjg0NTMzMVYxNTMwNDMiLCJhdXRoZW50aWNhdGVkIjp0cnVlLCJhdXRoZW50aWNhdGlvbkF1dGhvcml0eSI6Imdvdi52YS52YW9zIiwiaWRUeXBlIjoiSUNOIiwiZ2VuZGVyIjoiRkVNQUxFIiwiaXNzIjoiZ292LnZhLnZhbWYudXNlcnNlcnZpY2UudjIiLCJ2YW1mLmF1dGgucmVzb3VyY2VzIjpbIl4uKihcLyk_c2l0ZVtzXT9cLyhkZm4tKT85ODRcL3BhdGllbnRbc10_XC81NTIxNjEwNTBcL2FwcG9pbnRtZW50cyhcLy4qKT8kIiwiXi4qKFwvKT9zaXRlW3NdP1wvKGRmbi0pPzk4M1wvcGF0aWVudFtzXT9cLzcyMTY2OTFcL2FwcG9pbnRtZW50cyhcLy4qKT8kIiwiXi4qKFwvKT9wYXRpZW50W3NdP1wvKElDTlwvKT8xMDEyODQ1MzMxVjE1MzA0MyhcLy4qKT8kIl0sImRhdGVPZkJpcnRoIjoiMTk1MzA0MDEiLCJ2ZXJzaW9uIjoyLjEsImVkaXBpZCI6IjEyNTk4OTc5NzgiLCJ2aXN0YUlkcyI6W3sicGF0aWVudElkIjoiNTUyMTYxMDUwIiwic2l0ZUlkIjoiOTg0In0seyJwYXRpZW50SWQiOiI3MjE2NjkxIiwic2l0ZUlkIjoiOTgzIn1dLCJzc24iOiI3OTYwNjE5NzYiLCJmaXJzdE5hbWUiOiJKdWR5Iiwic3RhZmZEaXNjbGFpbWVyQWNjZXB0ZWQiOnRydWUsIm5iZiI6MTYxMTMzOTQyMiwic3N0IjoxNjExMzM5NjAxLCJwYXRpZW50Ijp7ImZpcnN0TmFtZSI6Ikp1ZHkiLCJsYXN0TmFtZSI6Ik1vcnJpc29uIiwiZ2VuZGVyIjoiRkVNQUxFIiwiaWNuIjoiMTAxMjg0NTMzMVYxNTMwNDMiLCJkb2IiOiIxOTUzLTA0LTAxIiwiZGF0ZU9mQmlydGgiOiIxOTUzLTA0LTAxIiwic3NuIjoiNzk2MDYxOTc2In0sImRvYiI6IjE5NTMwNDAxIiwidmFtZi5hdXRoLnJvbGVzIjpbInZldGVyYW4iXSwicmlnaHRPZkFjY2Vzc0FjY2VwdGVkIjp0cnVlLCJleHAiOjE2MTEzNDA1MDIsImp0aSI6ImJkYTIxNTE1LWY0YmItNGI1MS05YzA4LWQ1OTgzN2E2N2UxNSIsImxvYSI6Mn0.ZoIX-5AiaXUneYgV3p6S4gXMah5udsq-m6x8Ms2yxjMtzifPMkkuiKYGWvYS4powiB3RefK1yDqwfZTAZh_TjzpET4XhSDFtImUCORUyPQU_RUcudcmXAtDbp4CQghfjImp5oXX4omWrnQSxQ9u5FUpCP788U-FwC8JUuITlK9nrogUpDkIdOoJzemdQB-4ejNo80n7GQpHbOM48WzMEBHtU7rm4B8tWaIOnr4180jQzGRL0LaWJkhxWuXzPIEFPoYK1Rc_uuzXO0_s4JwVO1j-0moKHsPljtMNpz3TJa4guzjHYgGMHeGhmFgVNAMLO9WGNByQva7pFT_aStwQj8A + - stubbed_token X-Request-Id: - '' Accept-Encoding: @@ -57,9 +57,9 @@ http_interactions: Access-Control-Max-Age: - '3600' Set-Cookie: - - TS016f4012=01c16e2d81fc226234f653b401a6d3c45964b178c3dca337d48dc27850ee4b2500802d8cd5ce3022f84792af5d23119520ca71bbc596b1ad67dc95ab16a1a86b35c68d151ea4d6e53a92650a851039167e75ca477a; + - TS016f4012=stubbed_token; Max-Age=900; Path=/ - - vamfjwtv3=eyJ6aXAiOiJERUYiLCJjdHkiOiJKV1QiLCJlbmMiOiJBMjU2Q0JDLUhTNTEyIiwiYWxnIjoiUlNBLU9BRVAtMjU2In0.ZyMpgyWmTxwJ4xf7e9aF8vSHP9YEZwRrI9sIRVX5x_tztvCzp4TDNj0yZ33GwHlXgDRFDIWh9qNZAq6d7ECDnI9hzZk-3Q-GM69bkUcdLRrYE4UX4i8HQawxXfC05lVHnqNZo81n4-laN91S6_In613ZcAQ4y4V-734nxqXFH9mYJUlf1MI3ixIPQ9G_0liQyvk0bZ2eE6GGGyDqt7mOvw_SGR3D3xgjB_csivbhkgY8qTOTTHCkRqYG6Ehpj9k2kiS_HD3XBVbyKTv3Oa7DtbnJ6HbFP7LUh-4pTATSBxT9IjyKtfCEHV9k0ZwMZGrnvJHmGaE3EcBq1qjeqdtdcw.aaLqA_CnlF_lo6pn2zINXw.Nn_C0mbkeOeXwxdkw_6h81GtmH0ykuMIKPeUUW4Z_yEmfBgTi6Ber9OUnv8OSsNVA8KUwsP8kgGB6Mh8xnvSVuA2jmn8YeG1dojV4Mhi8bGj4F0qKYTaCGorCEqpN8cu2wzupCuM4FYT3mXhHao1h_-Qc6_tRiDpbq572MngKJG8KHS7RYkMUo9RCRTuwSHQXr7XFN9Y0uToKGrY_r8a3LUr6PV8N5iFWunWF1G8_d6QbMFo-EY54cd9VPdJqydOtvTStyRbVjfq6Ud9GyzblgO22-jedghx0EOLOxjcIOVCEdJNnAnfokl50K53dW7ogK0Uj6ljH7_XzHyjhfDGBE_Xm_r2c9LYPX8_jp1bO2AZYllJGupAbJ4mIGCEG1zxUBNDaKX_T5rV5G5vxTGqlLw-9h6Il6rcqScrrfVciK46fnHZWfOZadevMNqO6yafMlUOQqnL4HodZRy4soy_KKlO4lsMX6LM1mVJM0SNU3YZUO0KuhCSTz8cMnuoek26OTurc6_x2ZrMMLS_GLh-m8pdjbvsjhbjw2n-yBQrKvHf1jl1cvUQSG8pHCFOjni2coUmmbTy0omzt29A1-NkOwbcIw7H2cgnosYzdpkgOvOMJgYAz-_PHYba1aDF8SNZpTl49TrIJXp01mVWwr-5buDmCbebuk1beqwb1-3FQI0.Owtu7sXRP0m4qVdPQ0qMZJKr2mVrSUrtpGpH9hvqjAM; + - vamfjwtv3=stubbed_token; path=/;max-age=900; HttpOnly - vamftimeoutv1=1567617431; path=/ body: diff --git a/spec/support/vcr_cassettes/vaos/systems/get_facilities_multiple.yml b/spec/support/vcr_cassettes/vaos/systems/get_facilities_multiple.yml index cc48abe5808..9d0fa4a6d0d 100644 --- a/spec/support/vcr_cassettes/vaos/systems/get_facilities_multiple.yml +++ b/spec/support/vcr_cassettes/vaos/systems/get_facilities_multiple.yml @@ -51,9 +51,9 @@ http_interactions: Access-Control-Max-Age: - '3600' Set-Cookie: - - TS016f4012=01c16e2d81fc226234f653b401a6d3c45964b178c3dca337d48dc27850ee4b2500802d8cd5ce3022f84792af5d23119520ca71bbc596b1ad67dc95ab16a1a86b35c68d151ea4d6e53a92650a851039167e75ca477a; + - TS016f4012=stubbed_cookie; Max-Age=900; Path=/ - - vamfjwtv3=eyJ6aXAiOiJERUYiLCJjdHkiOiJKV1QiLCJlbmMiOiJBMjU2Q0JDLUhTNTEyIiwiYWxnIjoiUlNBLU9BRVAtMjU2In0.ZyMpgyWmTxwJ4xf7e9aF8vSHP9YEZwRrI9sIRVX5x_tztvCzp4TDNj0yZ33GwHlXgDRFDIWh9qNZAq6d7ECDnI9hzZk-3Q-GM69bkUcdLRrYE4UX4i8HQawxXfC05lVHnqNZo81n4-laN91S6_In613ZcAQ4y4V-734nxqXFH9mYJUlf1MI3ixIPQ9G_0liQyvk0bZ2eE6GGGyDqt7mOvw_SGR3D3xgjB_csivbhkgY8qTOTTHCkRqYG6Ehpj9k2kiS_HD3XBVbyKTv3Oa7DtbnJ6HbFP7LUh-4pTATSBxT9IjyKtfCEHV9k0ZwMZGrnvJHmGaE3EcBq1qjeqdtdcw.aaLqA_CnlF_lo6pn2zINXw.Nn_C0mbkeOeXwxdkw_6h81GtmH0ykuMIKPeUUW4Z_yEmfBgTi6Ber9OUnv8OSsNVA8KUwsP8kgGB6Mh8xnvSVuA2jmn8YeG1dojV4Mhi8bGj4F0qKYTaCGorCEqpN8cu2wzupCuM4FYT3mXhHao1h_-Qc6_tRiDpbq572MngKJG8KHS7RYkMUo9RCRTuwSHQXr7XFN9Y0uToKGrY_r8a3LUr6PV8N5iFWunWF1G8_d6QbMFo-EY54cd9VPdJqydOtvTStyRbVjfq6Ud9GyzblgO22-jedghx0EOLOxjcIOVCEdJNnAnfokl50K53dW7ogK0Uj6ljH7_XzHyjhfDGBE_Xm_r2c9LYPX8_jp1bO2AZYllJGupAbJ4mIGCEG1zxUBNDaKX_T5rV5G5vxTGqlLw-9h6Il6rcqScrrfVciK46fnHZWfOZadevMNqO6yafMlUOQqnL4HodZRy4soy_KKlO4lsMX6LM1mVJM0SNU3YZUO0KuhCSTz8cMnuoek26OTurc6_x2ZrMMLS_GLh-m8pdjbvsjhbjw2n-yBQrKvHf1jl1cvUQSG8pHCFOjni2coUmmbTy0omzt29A1-NkOwbcIw7H2cgnosYzdpkgOvOMJgYAz-_PHYba1aDF8SNZpTl49TrIJXp01mVWwr-5buDmCbebuk1beqwb1-3FQI0.Owtu7sXRP0m4qVdPQ0qMZJKr2mVrSUrtpGpH9hvqjAM; + - vamfjwtv3=stubbed_token; path=/;max-age=900; HttpOnly - vamftimeoutv1=1567617431; path=/ body: diff --git a/spec/support/vcr_cassettes/vaos/systems/get_facility_appointments.yml b/spec/support/vcr_cassettes/vaos/systems/get_facility_appointments.yml index d016bad29c7..a116fbe2356 100644 --- a/spec/support/vcr_cassettes/vaos/systems/get_facility_appointments.yml +++ b/spec/support/vcr_cassettes/vaos/systems/get_facility_appointments.yml @@ -35,9 +35,9 @@ http_interactions: Content-Language: - en Set-Cookie: - - TS016f4012=01c16e2d813665d6b7b52c9b82cb875e280bb55b57d365e783be7d813ed7044ade530309df15415554ea08b2be7ff4337f7775870d05f71a80764c0d85d9021f5124dc69486334bad6f392e0636860c4c3bf4f2997; + - TS016f4012=stubbed_cookie; Max-Age=900; Path=/ - - vamfjwtv3=eyJ6aXAiOiJERUYiLCJjdHkiOiJKV1QiLCJlbmMiOiJBMjU2Q0JDLUhTNTEyIiwiYWxnIjoiUlNBLU9BRVAtMjU2In0.IDIsg6YXvCqF_04fm0qBmUWsbGYB-8b6gt0YVD531Ol9ngq8Nwdpx4EdtZ93L2O1GCd63tsW0dhVhMGTqqwkExbERoYKCPCuY4NiSlYHaTVyq69CnVZm8nr24N-wGVCcC11ggaTQF083MRdKOYkrI77r8t5ssCRIEZWNvwjL79XT60OLUNT4Im_oqkaWpJl-YswrmF3woGdnTuVYs0wwgOIF8cgogKsC6dvZIXouCdYNG6G0UY7QMiX1cqSmiaDqnRFdDtdm3U-CiU6kS-k3rizueS6jPo_jgsHNrw8wpsk3T-lMYE8yYfzKnpdJ0_qwDKshVRQf6s41alhKd-YShg.HI2lCtBwH9aCG3Axuq0VnQ.vJr4t3D3HmzOXAwSPW6XauU1e4jlcuGRjFANhIGwxwUK_HqDp-Fc74TJaxW4SgWWBhhA3FM_2XOt6KCujcmZa-n0p9J6NAoi64tJfQpcMx418tmeYqpPdFoVUe3h_zU4nBy_lJbWTBMkIG6dJaNsDYhUlbxnVPgGMh3UFndVH6gd2s2F3JuMZMOhaymO387LgK-pHhr92ONRipw5QS5f1soOic1izmw90GJkIxy06N-HQUcgk_7abUkyLP065gU-8e9DbPvIAQub1Ob2kujiK0yf4bYrmR9LIQC3jGcmZ4VbcwSJnAqZTNLpAweZrmx6MwebpDWBAl8QDelLtC5AeQ9khkpcANkPuHA-4eHIKXJYJlbD80guWljKQUwC9iIGKOyQ5UrCXxwQLVytjfk0LBBD-62ZygnNLQ595qLi9O43sSnTdKPgoVtTux9g_cupE7WT5e4KzWy21KfbPeYKwQhQbH7FsW-cA6CPWg0y9KcJ-QtAuMmsyrQ9P3c3S9zvQZYdHl9gbvlxbN3Zp5KrgcCcddBG5VpGNxn8DKTr_4z0_POKKhlCI_T-lywzVVT5y3Zoxux4TwB-EqDIXn8ZJMzmHRWr8kvOQT_XXEccqVtA2hC77VVlHRLCTdS6fLEgSzVaY526kAgnRpUiQq6_ZJ-VsDnJzG0w50b6m6uU2qKZHEfuZx_UlSPiUoyrUbnp.TyjgC5z1s2wke5scZpVbMDseIj_BNGAlqK8Vfvasv74; + - vamfjwtv3=stubbed_token; path=/;max-age=900; HttpOnly - vamftimeoutv1=1574727411; path=/ body: diff --git a/spec/support/vcr_cassettes/vaos/systems/get_facility_available_appointments.yml b/spec/support/vcr_cassettes/vaos/systems/get_facility_available_appointments.yml index cce687bbff0..918a8c35f12 100644 --- a/spec/support/vcr_cassettes/vaos/systems/get_facility_available_appointments.yml +++ b/spec/support/vcr_cassettes/vaos/systems/get_facility_available_appointments.yml @@ -51,9 +51,9 @@ http_interactions: Access-Control-Max-Age: - '3600' Set-Cookie: - - TS016f4012=01c16e2d81fc226234f653b401a6d3c45964b178c3dca337d48dc27850ee4b2500802d8cd5ce3022f84792af5d23119520ca71bbc596b1ad67dc95ab16a1a86b35c68d151ea4d6e53a92650a851039167e75ca477a; + - TS016f4012=stubbed_cookie; Max-Age=900; Path=/ - - vamfjwtv3=eyJ6aXAiOiJERUYiLCJjdHkiOiJKV1QiLCJlbmMiOiJBMjU2Q0JDLUhTNTEyIiwiYWxnIjoiUlNBLU9BRVAtMjU2In0.ZyMpgyWmTxwJ4xf7e9aF8vSHP9YEZwRrI9sIRVX5x_tztvCzp4TDNj0yZ33GwHlXgDRFDIWh9qNZAq6d7ECDnI9hzZk-3Q-GM69bkUcdLRrYE4UX4i8HQawxXfC05lVHnqNZo81n4-laN91S6_In613ZcAQ4y4V-734nxqXFH9mYJUlf1MI3ixIPQ9G_0liQyvk0bZ2eE6GGGyDqt7mOvw_SGR3D3xgjB_csivbhkgY8qTOTTHCkRqYG6Ehpj9k2kiS_HD3XBVbyKTv3Oa7DtbnJ6HbFP7LUh-4pTATSBxT9IjyKtfCEHV9k0ZwMZGrnvJHmGaE3EcBq1qjeqdtdcw.aaLqA_CnlF_lo6pn2zINXw.Nn_C0mbkeOeXwxdkw_6h81GtmH0ykuMIKPeUUW4Z_yEmfBgTi6Ber9OUnv8OSsNVA8KUwsP8kgGB6Mh8xnvSVuA2jmn8YeG1dojV4Mhi8bGj4F0qKYTaCGorCEqpN8cu2wzupCuM4FYT3mXhHao1h_-Qc6_tRiDpbq572MngKJG8KHS7RYkMUo9RCRTuwSHQXr7XFN9Y0uToKGrY_r8a3LUr6PV8N5iFWunWF1G8_d6QbMFo-EY54cd9VPdJqydOtvTStyRbVjfq6Ud9GyzblgO22-jedghx0EOLOxjcIOVCEdJNnAnfokl50K53dW7ogK0Uj6ljH7_XzHyjhfDGBE_Xm_r2c9LYPX8_jp1bO2AZYllJGupAbJ4mIGCEG1zxUBNDaKX_T5rV5G5vxTGqlLw-9h6Il6rcqScrrfVciK46fnHZWfOZadevMNqO6yafMlUOQqnL4HodZRy4soy_KKlO4lsMX6LM1mVJM0SNU3YZUO0KuhCSTz8cMnuoek26OTurc6_x2ZrMMLS_GLh-m8pdjbvsjhbjw2n-yBQrKvHf1jl1cvUQSG8pHCFOjni2coUmmbTy0omzt29A1-NkOwbcIw7H2cgnosYzdpkgOvOMJgYAz-_PHYba1aDF8SNZpTl49TrIJXp01mVWwr-5buDmCbebuk1beqwb1-3FQI0.Owtu7sXRP0m4qVdPQ0qMZJKr2mVrSUrtpGpH9hvqjAM; + - vamfjwtv3=stubbed_token; path=/;max-age=900; HttpOnly - vamftimeoutv1=1567617431; path=/ body: diff --git a/spec/support/vcr_cassettes/vaos/systems/get_facility_clinics.yml b/spec/support/vcr_cassettes/vaos/systems/get_facility_clinics.yml index 6709d1b3fd2..3b3da1a4920 100644 --- a/spec/support/vcr_cassettes/vaos/systems/get_facility_clinics.yml +++ b/spec/support/vcr_cassettes/vaos/systems/get_facility_clinics.yml @@ -51,9 +51,9 @@ http_interactions: Access-Control-Max-Age: - '3600' Set-Cookie: - - TS016f4012=01c16e2d81fc226234f653b401a6d3c45964b178c3dca337d48dc27850ee4b2500802d8cd5ce3022f84792af5d23119520ca71bbc596b1ad67dc95ab16a1a86b35c68d151ea4d6e53a92650a851039167e75ca477a; + - TS016f4012=stubbed_cookie; Max-Age=900; Path=/ - - vamfjwtv3=eyJ6aXAiOiJERUYiLCJjdHkiOiJKV1QiLCJlbmMiOiJBMjU2Q0JDLUhTNTEyIiwiYWxnIjoiUlNBLU9BRVAtMjU2In0.ZyMpgyWmTxwJ4xf7e9aF8vSHP9YEZwRrI9sIRVX5x_tztvCzp4TDNj0yZ33GwHlXgDRFDIWh9qNZAq6d7ECDnI9hzZk-3Q-GM69bkUcdLRrYE4UX4i8HQawxXfC05lVHnqNZo81n4-laN91S6_In613ZcAQ4y4V-734nxqXFH9mYJUlf1MI3ixIPQ9G_0liQyvk0bZ2eE6GGGyDqt7mOvw_SGR3D3xgjB_csivbhkgY8qTOTTHCkRqYG6Ehpj9k2kiS_HD3XBVbyKTv3Oa7DtbnJ6HbFP7LUh-4pTATSBxT9IjyKtfCEHV9k0ZwMZGrnvJHmGaE3EcBq1qjeqdtdcw.aaLqA_CnlF_lo6pn2zINXw.Nn_C0mbkeOeXwxdkw_6h81GtmH0ykuMIKPeUUW4Z_yEmfBgTi6Ber9OUnv8OSsNVA8KUwsP8kgGB6Mh8xnvSVuA2jmn8YeG1dojV4Mhi8bGj4F0qKYTaCGorCEqpN8cu2wzupCuM4FYT3mXhHao1h_-Qc6_tRiDpbq572MngKJG8KHS7RYkMUo9RCRTuwSHQXr7XFN9Y0uToKGrY_r8a3LUr6PV8N5iFWunWF1G8_d6QbMFo-EY54cd9VPdJqydOtvTStyRbVjfq6Ud9GyzblgO22-jedghx0EOLOxjcIOVCEdJNnAnfokl50K53dW7ogK0Uj6ljH7_XzHyjhfDGBE_Xm_r2c9LYPX8_jp1bO2AZYllJGupAbJ4mIGCEG1zxUBNDaKX_T5rV5G5vxTGqlLw-9h6Il6rcqScrrfVciK46fnHZWfOZadevMNqO6yafMlUOQqnL4HodZRy4soy_KKlO4lsMX6LM1mVJM0SNU3YZUO0KuhCSTz8cMnuoek26OTurc6_x2ZrMMLS_GLh-m8pdjbvsjhbjw2n-yBQrKvHf1jl1cvUQSG8pHCFOjni2coUmmbTy0omzt29A1-NkOwbcIw7H2cgnosYzdpkgOvOMJgYAz-_PHYba1aDF8SNZpTl49TrIJXp01mVWwr-5buDmCbebuk1beqwb1-3FQI0.Owtu7sXRP0m4qVdPQ0qMZJKr2mVrSUrtpGpH9hvqjAM; + - vamfjwtv3=stubbed_token; path=/;max-age=900; HttpOnly - vamftimeoutv1=1567617431; path=/ body: diff --git a/spec/support/vcr_cassettes/vaos/systems/get_facility_clinics_500.yml b/spec/support/vcr_cassettes/vaos/systems/get_facility_clinics_500.yml index d93d51bd987..2f42a9f653e 100644 --- a/spec/support/vcr_cassettes/vaos/systems/get_facility_clinics_500.yml +++ b/spec/support/vcr_cassettes/vaos/systems/get_facility_clinics_500.yml @@ -51,9 +51,9 @@ http_interactions: Access-Control-Max-Age: - '3600' Set-Cookie: - - TS016f4012=01c16e2d81fc226234f653b401a6d3c45964b178c3dca337d48dc27850ee4b2500802d8cd5ce3022f84792af5d23119520ca71bbc596b1ad67dc95ab16a1a86b35c68d151ea4d6e53a92650a851039167e75ca477a; + - TS016f4012=stubbed_cookie; Max-Age=900; Path=/ - - vamfjwtv3=eyJ6aXAiOiJERUYiLCJjdHkiOiJKV1QiLCJlbmMiOiJBMjU2Q0JDLUhTNTEyIiwiYWxnIjoiUlNBLU9BRVAtMjU2In0.ZyMpgyWmTxwJ4xf7e9aF8vSHP9YEZwRrI9sIRVX5x_tztvCzp4TDNj0yZ33GwHlXgDRFDIWh9qNZAq6d7ECDnI9hzZk-3Q-GM69bkUcdLRrYE4UX4i8HQawxXfC05lVHnqNZo81n4-laN91S6_In613ZcAQ4y4V-734nxqXFH9mYJUlf1MI3ixIPQ9G_0liQyvk0bZ2eE6GGGyDqt7mOvw_SGR3D3xgjB_csivbhkgY8qTOTTHCkRqYG6Ehpj9k2kiS_HD3XBVbyKTv3Oa7DtbnJ6HbFP7LUh-4pTATSBxT9IjyKtfCEHV9k0ZwMZGrnvJHmGaE3EcBq1qjeqdtdcw.aaLqA_CnlF_lo6pn2zINXw.Nn_C0mbkeOeXwxdkw_6h81GtmH0ykuMIKPeUUW4Z_yEmfBgTi6Ber9OUnv8OSsNVA8KUwsP8kgGB6Mh8xnvSVuA2jmn8YeG1dojV4Mhi8bGj4F0qKYTaCGorCEqpN8cu2wzupCuM4FYT3mXhHao1h_-Qc6_tRiDpbq572MngKJG8KHS7RYkMUo9RCRTuwSHQXr7XFN9Y0uToKGrY_r8a3LUr6PV8N5iFWunWF1G8_d6QbMFo-EY54cd9VPdJqydOtvTStyRbVjfq6Ud9GyzblgO22-jedghx0EOLOxjcIOVCEdJNnAnfokl50K53dW7ogK0Uj6ljH7_XzHyjhfDGBE_Xm_r2c9LYPX8_jp1bO2AZYllJGupAbJ4mIGCEG1zxUBNDaKX_T5rV5G5vxTGqlLw-9h6Il6rcqScrrfVciK46fnHZWfOZadevMNqO6yafMlUOQqnL4HodZRy4soy_KKlO4lsMX6LM1mVJM0SNU3YZUO0KuhCSTz8cMnuoek26OTurc6_x2ZrMMLS_GLh-m8pdjbvsjhbjw2n-yBQrKvHf1jl1cvUQSG8pHCFOjni2coUmmbTy0omzt29A1-NkOwbcIw7H2cgnosYzdpkgOvOMJgYAz-_PHYba1aDF8SNZpTl49TrIJXp01mVWwr-5buDmCbebuk1beqwb1-3FQI0.Owtu7sXRP0m4qVdPQ0qMZJKr2mVrSUrtpGpH9hvqjAM; + - vamfjwtv3=stubbed_token; path=/;max-age=900; HttpOnly - vamftimeoutv1=1567617431; path=/ body: diff --git a/spec/support/vcr_cassettes/vaos/systems/get_facility_limits.yml b/spec/support/vcr_cassettes/vaos/systems/get_facility_limits.yml index 846b57a9489..6d46dcd89dc 100644 --- a/spec/support/vcr_cassettes/vaos/systems/get_facility_limits.yml +++ b/spec/support/vcr_cassettes/vaos/systems/get_facility_limits.yml @@ -51,9 +51,9 @@ http_interactions: Access-Control-Max-Age: - '3600' Set-Cookie: - - TS016f4012=01c16e2d81fc226234f653b401a6d3c45964b178c3dca337d48dc27850ee4b2500802d8cd5ce3022f84792af5d23119520ca71bbc596b1ad67dc95ab16a1a86b35c68d151ea4d6e53a92650a851039167e75ca477a; + - TS016f4012=stubbed_cookie; Max-Age=900; Path=/ - - vamfjwtv3=eyJ6aXAiOiJERUYiLCJjdHkiOiJKV1QiLCJlbmMiOiJBMjU2Q0JDLUhTNTEyIiwiYWxnIjoiUlNBLU9BRVAtMjU2In0.ZyMpgyWmTxwJ4xf7e9aF8vSHP9YEZwRrI9sIRVX5x_tztvCzp4TDNj0yZ33GwHlXgDRFDIWh9qNZAq6d7ECDnI9hzZk-3Q-GM69bkUcdLRrYE4UX4i8HQawxXfC05lVHnqNZo81n4-laN91S6_In613ZcAQ4y4V-734nxqXFH9mYJUlf1MI3ixIPQ9G_0liQyvk0bZ2eE6GGGyDqt7mOvw_SGR3D3xgjB_csivbhkgY8qTOTTHCkRqYG6Ehpj9k2kiS_HD3XBVbyKTv3Oa7DtbnJ6HbFP7LUh-4pTATSBxT9IjyKtfCEHV9k0ZwMZGrnvJHmGaE3EcBq1qjeqdtdcw.aaLqA_CnlF_lo6pn2zINXw.Nn_C0mbkeOeXwxdkw_6h81GtmH0ykuMIKPeUUW4Z_yEmfBgTi6Ber9OUnv8OSsNVA8KUwsP8kgGB6Mh8xnvSVuA2jmn8YeG1dojV4Mhi8bGj4F0qKYTaCGorCEqpN8cu2wzupCuM4FYT3mXhHao1h_-Qc6_tRiDpbq572MngKJG8KHS7RYkMUo9RCRTuwSHQXr7XFN9Y0uToKGrY_r8a3LUr6PV8N5iFWunWF1G8_d6QbMFo-EY54cd9VPdJqydOtvTStyRbVjfq6Ud9GyzblgO22-jedghx0EOLOxjcIOVCEdJNnAnfokl50K53dW7ogK0Uj6ljH7_XzHyjhfDGBE_Xm_r2c9LYPX8_jp1bO2AZYllJGupAbJ4mIGCEG1zxUBNDaKX_T5rV5G5vxTGqlLw-9h6Il6rcqScrrfVciK46fnHZWfOZadevMNqO6yafMlUOQqnL4HodZRy4soy_KKlO4lsMX6LM1mVJM0SNU3YZUO0KuhCSTz8cMnuoek26OTurc6_x2ZrMMLS_GLh-m8pdjbvsjhbjw2n-yBQrKvHf1jl1cvUQSG8pHCFOjni2coUmmbTy0omzt29A1-NkOwbcIw7H2cgnosYzdpkgOvOMJgYAz-_PHYba1aDF8SNZpTl49TrIJXp01mVWwr-5buDmCbebuk1beqwb1-3FQI0.Owtu7sXRP0m4qVdPQ0qMZJKr2mVrSUrtpGpH9hvqjAM; + - vamfjwtv3=stubbed_token; path=/;max-age=900; HttpOnly - vamftimeoutv1=1567617431; path=/ body: diff --git a/spec/support/vcr_cassettes/vaos/systems/get_facility_limits_500.yml b/spec/support/vcr_cassettes/vaos/systems/get_facility_limits_500.yml index d670dfe7509..3430ffb5580 100644 --- a/spec/support/vcr_cassettes/vaos/systems/get_facility_limits_500.yml +++ b/spec/support/vcr_cassettes/vaos/systems/get_facility_limits_500.yml @@ -51,9 +51,9 @@ http_interactions: Access-Control-Max-Age: - '3600' Set-Cookie: - - TS016f4012=01c16e2d81fc226234f653b401a6d3c45964b178c3dca337d48dc27850ee4b2500802d8cd5ce3022f84792af5d23119520ca71bbc596b1ad67dc95ab16a1a86b35c68d151ea4d6e53a92650a851039167e75ca477a; + - TS016f4012=stubbed_cookie; Max-Age=900; Path=/ - - vamfjwtv3=eyJ6aXAiOiJERUYiLCJjdHkiOiJKV1QiLCJlbmMiOiJBMjU2Q0JDLUhTNTEyIiwiYWxnIjoiUlNBLU9BRVAtMjU2In0.ZyMpgyWmTxwJ4xf7e9aF8vSHP9YEZwRrI9sIRVX5x_tztvCzp4TDNj0yZ33GwHlXgDRFDIWh9qNZAq6d7ECDnI9hzZk-3Q-GM69bkUcdLRrYE4UX4i8HQawxXfC05lVHnqNZo81n4-laN91S6_In613ZcAQ4y4V-734nxqXFH9mYJUlf1MI3ixIPQ9G_0liQyvk0bZ2eE6GGGyDqt7mOvw_SGR3D3xgjB_csivbhkgY8qTOTTHCkRqYG6Ehpj9k2kiS_HD3XBVbyKTv3Oa7DtbnJ6HbFP7LUh-4pTATSBxT9IjyKtfCEHV9k0ZwMZGrnvJHmGaE3EcBq1qjeqdtdcw.aaLqA_CnlF_lo6pn2zINXw.Nn_C0mbkeOeXwxdkw_6h81GtmH0ykuMIKPeUUW4Z_yEmfBgTi6Ber9OUnv8OSsNVA8KUwsP8kgGB6Mh8xnvSVuA2jmn8YeG1dojV4Mhi8bGj4F0qKYTaCGorCEqpN8cu2wzupCuM4FYT3mXhHao1h_-Qc6_tRiDpbq572MngKJG8KHS7RYkMUo9RCRTuwSHQXr7XFN9Y0uToKGrY_r8a3LUr6PV8N5iFWunWF1G8_d6QbMFo-EY54cd9VPdJqydOtvTStyRbVjfq6Ud9GyzblgO22-jedghx0EOLOxjcIOVCEdJNnAnfokl50K53dW7ogK0Uj6ljH7_XzHyjhfDGBE_Xm_r2c9LYPX8_jp1bO2AZYllJGupAbJ4mIGCEG1zxUBNDaKX_T5rV5G5vxTGqlLw-9h6Il6rcqScrrfVciK46fnHZWfOZadevMNqO6yafMlUOQqnL4HodZRy4soy_KKlO4lsMX6LM1mVJM0SNU3YZUO0KuhCSTz8cMnuoek26OTurc6_x2ZrMMLS_GLh-m8pdjbvsjhbjw2n-yBQrKvHf1jl1cvUQSG8pHCFOjni2coUmmbTy0omzt29A1-NkOwbcIw7H2cgnosYzdpkgOvOMJgYAz-_PHYba1aDF8SNZpTl49TrIJXp01mVWwr-5buDmCbebuk1beqwb1-3FQI0.Owtu7sXRP0m4qVdPQ0qMZJKr2mVrSUrtpGpH9hvqjAM; + - vamfjwtv3=stubbed_token; path=/;max-age=900; HttpOnly - vamftimeoutv1=1567617431; path=/ body: diff --git a/spec/support/vcr_cassettes/vaos/systems/get_facility_visits.yml b/spec/support/vcr_cassettes/vaos/systems/get_facility_visits.yml index 2b155e3a0df..bec9da7f84f 100644 --- a/spec/support/vcr_cassettes/vaos/systems/get_facility_visits.yml +++ b/spec/support/vcr_cassettes/vaos/systems/get_facility_visits.yml @@ -51,9 +51,9 @@ http_interactions: Access-Control-Max-Age: - '3600' Set-Cookie: - - TS016f4012=01c16e2d81fc226234f653b401a6d3c45964b178c3dca337d48dc27850ee4b2500802d8cd5ce3022f84792af5d23119520ca71bbc596b1ad67dc95ab16a1a86b35c68d151ea4d6e53a92650a851039167e75ca477a; + - TS016f4012=stubbed_cookie; Max-Age=900; Path=/ - - vamfjwtv3=eyJ6aXAiOiJERUYiLCJjdHkiOiJKV1QiLCJlbmMiOiJBMjU2Q0JDLUhTNTEyIiwiYWxnIjoiUlNBLU9BRVAtMjU2In0.ZyMpgyWmTxwJ4xf7e9aF8vSHP9YEZwRrI9sIRVX5x_tztvCzp4TDNj0yZ33GwHlXgDRFDIWh9qNZAq6d7ECDnI9hzZk-3Q-GM69bkUcdLRrYE4UX4i8HQawxXfC05lVHnqNZo81n4-laN91S6_In613ZcAQ4y4V-734nxqXFH9mYJUlf1MI3ixIPQ9G_0liQyvk0bZ2eE6GGGyDqt7mOvw_SGR3D3xgjB_csivbhkgY8qTOTTHCkRqYG6Ehpj9k2kiS_HD3XBVbyKTv3Oa7DtbnJ6HbFP7LUh-4pTATSBxT9IjyKtfCEHV9k0ZwMZGrnvJHmGaE3EcBq1qjeqdtdcw.aaLqA_CnlF_lo6pn2zINXw.Nn_C0mbkeOeXwxdkw_6h81GtmH0ykuMIKPeUUW4Z_yEmfBgTi6Ber9OUnv8OSsNVA8KUwsP8kgGB6Mh8xnvSVuA2jmn8YeG1dojV4Mhi8bGj4F0qKYTaCGorCEqpN8cu2wzupCuM4FYT3mXhHao1h_-Qc6_tRiDpbq572MngKJG8KHS7RYkMUo9RCRTuwSHQXr7XFN9Y0uToKGrY_r8a3LUr6PV8N5iFWunWF1G8_d6QbMFo-EY54cd9VPdJqydOtvTStyRbVjfq6Ud9GyzblgO22-jedghx0EOLOxjcIOVCEdJNnAnfokl50K53dW7ogK0Uj6ljH7_XzHyjhfDGBE_Xm_r2c9LYPX8_jp1bO2AZYllJGupAbJ4mIGCEG1zxUBNDaKX_T5rV5G5vxTGqlLw-9h6Il6rcqScrrfVciK46fnHZWfOZadevMNqO6yafMlUOQqnL4HodZRy4soy_KKlO4lsMX6LM1mVJM0SNU3YZUO0KuhCSTz8cMnuoek26OTurc6_x2ZrMMLS_GLh-m8pdjbvsjhbjw2n-yBQrKvHf1jl1cvUQSG8pHCFOjni2coUmmbTy0omzt29A1-NkOwbcIw7H2cgnosYzdpkgOvOMJgYAz-_PHYba1aDF8SNZpTl49TrIJXp01mVWwr-5buDmCbebuk1beqwb1-3FQI0.Owtu7sXRP0m4qVdPQ0qMZJKr2mVrSUrtpGpH9hvqjAM; + - vamfjwtv3=stubbed_token; path=/;max-age=900; HttpOnly - vamftimeoutv1=1567617431; path=/ body: diff --git a/spec/support/vcr_cassettes/vaos/systems/get_facility_visits_500.yml b/spec/support/vcr_cassettes/vaos/systems/get_facility_visits_500.yml index ea10b3a59f9..2ab19cc6ba0 100644 --- a/spec/support/vcr_cassettes/vaos/systems/get_facility_visits_500.yml +++ b/spec/support/vcr_cassettes/vaos/systems/get_facility_visits_500.yml @@ -51,9 +51,9 @@ http_interactions: Access-Control-Max-Age: - '3600' Set-Cookie: - - TS016f4012=01c16e2d81fc226234f653b401a6d3c45964b178c3dca337d48dc27850ee4b2500802d8cd5ce3022f84792af5d23119520ca71bbc596b1ad67dc95ab16a1a86b35c68d151ea4d6e53a92650a851039167e75ca477a; + - TS016f4012=stubbed_cookie; Max-Age=900; Path=/ - - vamfjwtv3=eyJ6aXAiOiJERUYiLCJjdHkiOiJKV1QiLCJlbmMiOiJBMjU2Q0JDLUhTNTEyIiwiYWxnIjoiUlNBLU9BRVAtMjU2In0.ZyMpgyWmTxwJ4xf7e9aF8vSHP9YEZwRrI9sIRVX5x_tztvCzp4TDNj0yZ33GwHlXgDRFDIWh9qNZAq6d7ECDnI9hzZk-3Q-GM69bkUcdLRrYE4UX4i8HQawxXfC05lVHnqNZo81n4-laN91S6_In613ZcAQ4y4V-734nxqXFH9mYJUlf1MI3ixIPQ9G_0liQyvk0bZ2eE6GGGyDqt7mOvw_SGR3D3xgjB_csivbhkgY8qTOTTHCkRqYG6Ehpj9k2kiS_HD3XBVbyKTv3Oa7DtbnJ6HbFP7LUh-4pTATSBxT9IjyKtfCEHV9k0ZwMZGrnvJHmGaE3EcBq1qjeqdtdcw.aaLqA_CnlF_lo6pn2zINXw.Nn_C0mbkeOeXwxdkw_6h81GtmH0ykuMIKPeUUW4Z_yEmfBgTi6Ber9OUnv8OSsNVA8KUwsP8kgGB6Mh8xnvSVuA2jmn8YeG1dojV4Mhi8bGj4F0qKYTaCGorCEqpN8cu2wzupCuM4FYT3mXhHao1h_-Qc6_tRiDpbq572MngKJG8KHS7RYkMUo9RCRTuwSHQXr7XFN9Y0uToKGrY_r8a3LUr6PV8N5iFWunWF1G8_d6QbMFo-EY54cd9VPdJqydOtvTStyRbVjfq6Ud9GyzblgO22-jedghx0EOLOxjcIOVCEdJNnAnfokl50K53dW7ogK0Uj6ljH7_XzHyjhfDGBE_Xm_r2c9LYPX8_jp1bO2AZYllJGupAbJ4mIGCEG1zxUBNDaKX_T5rV5G5vxTGqlLw-9h6Il6rcqScrrfVciK46fnHZWfOZadevMNqO6yafMlUOQqnL4HodZRy4soy_KKlO4lsMX6LM1mVJM0SNU3YZUO0KuhCSTz8cMnuoek26OTurc6_x2ZrMMLS_GLh-m8pdjbvsjhbjw2n-yBQrKvHf1jl1cvUQSG8pHCFOjni2coUmmbTy0omzt29A1-NkOwbcIw7H2cgnosYzdpkgOvOMJgYAz-_PHYba1aDF8SNZpTl49TrIJXp01mVWwr-5buDmCbebuk1beqwb1-3FQI0.Owtu7sXRP0m4qVdPQ0qMZJKr2mVrSUrtpGpH9hvqjAM; + - vamfjwtv3=stubbed_token; path=/;max-age=900; HttpOnly - vamftimeoutv1=1567617431; path=/ body: diff --git a/spec/support/vcr_cassettes/vaos/systems/get_facility_visits_request.yml b/spec/support/vcr_cassettes/vaos/systems/get_facility_visits_request.yml index e48f02cda48..20ad6e7b5e7 100644 --- a/spec/support/vcr_cassettes/vaos/systems/get_facility_visits_request.yml +++ b/spec/support/vcr_cassettes/vaos/systems/get_facility_visits_request.yml @@ -51,9 +51,9 @@ http_interactions: Access-Control-Max-Age: - '3600' Set-Cookie: - - TS016f4012=01c16e2d81fc226234f653b401a6d3c45964b178c3dca337d48dc27850ee4b2500802d8cd5ce3022f84792af5d23119520ca71bbc596b1ad67dc95ab16a1a86b35c68d151ea4d6e53a92650a851039167e75ca477a; + - TS016f4012=stubbed_cookie; Max-Age=900; Path=/ - - vamfjwtv3=eyJ6aXAiOiJERUYiLCJjdHkiOiJKV1QiLCJlbmMiOiJBMjU2Q0JDLUhTNTEyIiwiYWxnIjoiUlNBLU9BRVAtMjU2In0.ZyMpgyWmTxwJ4xf7e9aF8vSHP9YEZwRrI9sIRVX5x_tztvCzp4TDNj0yZ33GwHlXgDRFDIWh9qNZAq6d7ECDnI9hzZk-3Q-GM69bkUcdLRrYE4UX4i8HQawxXfC05lVHnqNZo81n4-laN91S6_In613ZcAQ4y4V-734nxqXFH9mYJUlf1MI3ixIPQ9G_0liQyvk0bZ2eE6GGGyDqt7mOvw_SGR3D3xgjB_csivbhkgY8qTOTTHCkRqYG6Ehpj9k2kiS_HD3XBVbyKTv3Oa7DtbnJ6HbFP7LUh-4pTATSBxT9IjyKtfCEHV9k0ZwMZGrnvJHmGaE3EcBq1qjeqdtdcw.aaLqA_CnlF_lo6pn2zINXw.Nn_C0mbkeOeXwxdkw_6h81GtmH0ykuMIKPeUUW4Z_yEmfBgTi6Ber9OUnv8OSsNVA8KUwsP8kgGB6Mh8xnvSVuA2jmn8YeG1dojV4Mhi8bGj4F0qKYTaCGorCEqpN8cu2wzupCuM4FYT3mXhHao1h_-Qc6_tRiDpbq572MngKJG8KHS7RYkMUo9RCRTuwSHQXr7XFN9Y0uToKGrY_r8a3LUr6PV8N5iFWunWF1G8_d6QbMFo-EY54cd9VPdJqydOtvTStyRbVjfq6Ud9GyzblgO22-jedghx0EOLOxjcIOVCEdJNnAnfokl50K53dW7ogK0Uj6ljH7_XzHyjhfDGBE_Xm_r2c9LYPX8_jp1bO2AZYllJGupAbJ4mIGCEG1zxUBNDaKX_T5rV5G5vxTGqlLw-9h6Il6rcqScrrfVciK46fnHZWfOZadevMNqO6yafMlUOQqnL4HodZRy4soy_KKlO4lsMX6LM1mVJM0SNU3YZUO0KuhCSTz8cMnuoek26OTurc6_x2ZrMMLS_GLh-m8pdjbvsjhbjw2n-yBQrKvHf1jl1cvUQSG8pHCFOjni2coUmmbTy0omzt29A1-NkOwbcIw7H2cgnosYzdpkgOvOMJgYAz-_PHYba1aDF8SNZpTl49TrIJXp01mVWwr-5buDmCbebuk1beqwb1-3FQI0.Owtu7sXRP0m4qVdPQ0qMZJKr2mVrSUrtpGpH9hvqjAM; + - vamfjwtv3=stubbed_token; path=/;max-age=900; HttpOnly - vamftimeoutv1=1567617431; path=/ body: diff --git a/spec/support/vcr_cassettes/vaos/systems/get_institutions.yml b/spec/support/vcr_cassettes/vaos/systems/get_institutions.yml index e672574b634..8b6606024d7 100644 --- a/spec/support/vcr_cassettes/vaos/systems/get_institutions.yml +++ b/spec/support/vcr_cassettes/vaos/systems/get_institutions.yml @@ -51,9 +51,9 @@ http_interactions: Access-Control-Max-Age: - '3600' Set-Cookie: - - TS016f4012=01c16e2d81fc226234f653b401a6d3c45964b178c3dca337d48dc27850ee4b2500802d8cd5ce3022f84792af5d23119520ca71bbc596b1ad67dc95ab16a1a86b35c68d151ea4d6e53a92650a851039167e75ca477a; + - TS016f4012=stubbed_cookie; Max-Age=900; Path=/ - - vamfjwtv3=eyJ6aXAiOiJERUYiLCJjdHkiOiJKV1QiLCJlbmMiOiJBMjU2Q0JDLUhTNTEyIiwiYWxnIjoiUlNBLU9BRVAtMjU2In0.ZyMpgyWmTxwJ4xf7e9aF8vSHP9YEZwRrI9sIRVX5x_tztvCzp4TDNj0yZ33GwHlXgDRFDIWh9qNZAq6d7ECDnI9hzZk-3Q-GM69bkUcdLRrYE4UX4i8HQawxXfC05lVHnqNZo81n4-laN91S6_In613ZcAQ4y4V-734nxqXFH9mYJUlf1MI3ixIPQ9G_0liQyvk0bZ2eE6GGGyDqt7mOvw_SGR3D3xgjB_csivbhkgY8qTOTTHCkRqYG6Ehpj9k2kiS_HD3XBVbyKTv3Oa7DtbnJ6HbFP7LUh-4pTATSBxT9IjyKtfCEHV9k0ZwMZGrnvJHmGaE3EcBq1qjeqdtdcw.aaLqA_CnlF_lo6pn2zINXw.Nn_C0mbkeOeXwxdkw_6h81GtmH0ykuMIKPeUUW4Z_yEmfBgTi6Ber9OUnv8OSsNVA8KUwsP8kgGB6Mh8xnvSVuA2jmn8YeG1dojV4Mhi8bGj4F0qKYTaCGorCEqpN8cu2wzupCuM4FYT3mXhHao1h_-Qc6_tRiDpbq572MngKJG8KHS7RYkMUo9RCRTuwSHQXr7XFN9Y0uToKGrY_r8a3LUr6PV8N5iFWunWF1G8_d6QbMFo-EY54cd9VPdJqydOtvTStyRbVjfq6Ud9GyzblgO22-jedghx0EOLOxjcIOVCEdJNnAnfokl50K53dW7ogK0Uj6ljH7_XzHyjhfDGBE_Xm_r2c9LYPX8_jp1bO2AZYllJGupAbJ4mIGCEG1zxUBNDaKX_T5rV5G5vxTGqlLw-9h6Il6rcqScrrfVciK46fnHZWfOZadevMNqO6yafMlUOQqnL4HodZRy4soy_KKlO4lsMX6LM1mVJM0SNU3YZUO0KuhCSTz8cMnuoek26OTurc6_x2ZrMMLS_GLh-m8pdjbvsjhbjw2n-yBQrKvHf1jl1cvUQSG8pHCFOjni2coUmmbTy0omzt29A1-NkOwbcIw7H2cgnosYzdpkgOvOMJgYAz-_PHYba1aDF8SNZpTl49TrIJXp01mVWwr-5buDmCbebuk1beqwb1-3FQI0.Owtu7sXRP0m4qVdPQ0qMZJKr2mVrSUrtpGpH9hvqjAM; + - vamfjwtv3=stubbed_token; path=/;max-age=900; HttpOnly - vamftimeoutv1=1567617431; path=/ body: diff --git a/spec/support/vcr_cassettes/vaos/systems/get_institutions_single.yml b/spec/support/vcr_cassettes/vaos/systems/get_institutions_single.yml index f90a26636bb..402ce8fc6f6 100644 --- a/spec/support/vcr_cassettes/vaos/systems/get_institutions_single.yml +++ b/spec/support/vcr_cassettes/vaos/systems/get_institutions_single.yml @@ -51,9 +51,9 @@ http_interactions: Access-Control-Max-Age: - '3600' Set-Cookie: - - TS016f4012=01c16e2d81fc226234f653b401a6d3c45964b178c3dca337d48dc27850ee4b2500802d8cd5ce3022f84792af5d23119520ca71bbc596b1ad67dc95ab16a1a86b35c68d151ea4d6e53a92650a851039167e75ca477a; + - TS016f4012=stubbed_cookie; Max-Age=900; Path=/ - - vamfjwtv3=eyJ6aXAiOiJERUYiLCJjdHkiOiJKV1QiLCJlbmMiOiJBMjU2Q0JDLUhTNTEyIiwiYWxnIjoiUlNBLU9BRVAtMjU2In0.ZyMpgyWmTxwJ4xf7e9aF8vSHP9YEZwRrI9sIRVX5x_tztvCzp4TDNj0yZ33GwHlXgDRFDIWh9qNZAq6d7ECDnI9hzZk-3Q-GM69bkUcdLRrYE4UX4i8HQawxXfC05lVHnqNZo81n4-laN91S6_In613ZcAQ4y4V-734nxqXFH9mYJUlf1MI3ixIPQ9G_0liQyvk0bZ2eE6GGGyDqt7mOvw_SGR3D3xgjB_csivbhkgY8qTOTTHCkRqYG6Ehpj9k2kiS_HD3XBVbyKTv3Oa7DtbnJ6HbFP7LUh-4pTATSBxT9IjyKtfCEHV9k0ZwMZGrnvJHmGaE3EcBq1qjeqdtdcw.aaLqA_CnlF_lo6pn2zINXw.Nn_C0mbkeOeXwxdkw_6h81GtmH0ykuMIKPeUUW4Z_yEmfBgTi6Ber9OUnv8OSsNVA8KUwsP8kgGB6Mh8xnvSVuA2jmn8YeG1dojV4Mhi8bGj4F0qKYTaCGorCEqpN8cu2wzupCuM4FYT3mXhHao1h_-Qc6_tRiDpbq572MngKJG8KHS7RYkMUo9RCRTuwSHQXr7XFN9Y0uToKGrY_r8a3LUr6PV8N5iFWunWF1G8_d6QbMFo-EY54cd9VPdJqydOtvTStyRbVjfq6Ud9GyzblgO22-jedghx0EOLOxjcIOVCEdJNnAnfokl50K53dW7ogK0Uj6ljH7_XzHyjhfDGBE_Xm_r2c9LYPX8_jp1bO2AZYllJGupAbJ4mIGCEG1zxUBNDaKX_T5rV5G5vxTGqlLw-9h6Il6rcqScrrfVciK46fnHZWfOZadevMNqO6yafMlUOQqnL4HodZRy4soy_KKlO4lsMX6LM1mVJM0SNU3YZUO0KuhCSTz8cMnuoek26OTurc6_x2ZrMMLS_GLh-m8pdjbvsjhbjw2n-yBQrKvHf1jl1cvUQSG8pHCFOjni2coUmmbTy0omzt29A1-NkOwbcIw7H2cgnosYzdpkgOvOMJgYAz-_PHYba1aDF8SNZpTl49TrIJXp01mVWwr-5buDmCbebuk1beqwb1-3FQI0.Owtu7sXRP0m4qVdPQ0qMZJKr2mVrSUrtpGpH9hvqjAM; + - vamfjwtv3=stubbed_token; path=/;max-age=900; HttpOnly - vamftimeoutv1=1567617431; path=/ body: diff --git a/spec/support/vcr_cassettes/vaos/systems/get_request_eligibility_criteria.yml b/spec/support/vcr_cassettes/vaos/systems/get_request_eligibility_criteria.yml index 97929b5a572..01c2ac1d8c9 100644 --- a/spec/support/vcr_cassettes/vaos/systems/get_request_eligibility_criteria.yml +++ b/spec/support/vcr_cassettes/vaos/systems/get_request_eligibility_criteria.yml @@ -49,9 +49,9 @@ http_interactions: Access-Control-Max-Age: - '3600' Set-Cookie: - - TS016f4012=01c8917e4861286e09c908dfe4aee4d331fa0769152749f6463c707cc973c5d16306ee396d3994e80f60261c9a816362dd1cefd539321e139931e195b18df6a404a461983a2a841de7bc82cb00f2149a5e758de92b; + - TS016f4012=stubbed_cookie; Max-Age=900; Path=/ - - vamfjwtv3=eyJ6aXAiOiJERUYiLCJjdHkiOiJKV1QiLCJlbmMiOiJBMjU2Q0JDLUhTNTEyIiwiYWxnIjoiUlNBLU9BRVAtMjU2In0.aeUft-1kD-cDkfhVvHVUJykf9NN7h76NoYdLBzdSN2W0201RFZRuGNmHhQxD7kGFK-IBkpQfldlym-hof96eQiKL2AyCs7ne_MjQemITJ-LYUYfzTyK9e2e62RDa-tn4JkQ2pgdTslyEU-436_CWnnNNkOfbLFiD6ZlrQy9SN5x4PgjU73l_4UZLAz-DxdlSgdNi0-2TXcswIX-_bpC0tlC6MGrdQFcEf_EyVIdf13C2n3r24bmAc4Q72qRJlH4y1ZKgHtlOzJpBFJYRhEUpMyunD0LgNXniuzPa1GCCvJv0Vkt7Lcxjorj1Cj_ArLFjFXiZpExZqI3hw-rlghRYmg.ldm9-5mhDZCuSxWnO21prw.TBJXLFEg7ljBSZVNKDJdZkMfU0a_9D0CACW29QK9x5JNd3OTbftbON5A0Xg-_kMPGKx-VXUOLeTppcNs7mNec8aRA8tt5tVaM51cDZKqrSduFI587hrPeLYO-qjF82RnKhv_LIHgI_jGVUovrxHnFsL8IxpRznpeTZJ4uq8TV2Cwe7OSLVbJEr9x520-7xoQ1Tp2DMA8QLzgiQ4kCkdR434r0xv-Z5gCzH8t5JJnpJ9s2CSvZWS1JhjXjk2qx3beu1c0rv6kzgcl6qHTv7ULFnS-uFOTTC5Gy1iojyADstNBnqjWpys1BGtEZPdtQ-uG0-JnwrMP0g-DL0ofF4OZMYoan6g8sL4lxJHzsOo-BLkXTOMLC7CzEnz6X64M3Egnhl1_gD0-_CR9Twc24VB8nVKVPWhcUmjEVOhVLF9y31Y6DjopC39AV9VysTqQVwqnza9ntdBuV8mtFdfytHdPsTfvsIcl1mkKBc_Xt3VvRBxytnrR0S_KakwaZVn99abw1vji-91n6gf_EkzFnQasm_2rCBAAUDQzqdO2XNzxHHEIX92r5kokiSSDDchjh7lRNwZ1GxifDa5oI67l13GurX0OWHg0yY-0HOaF5vLQgrxgi-7OE3abxoA00vWyqnjB8paXxhkRDzljP3hr-VLbzk78Zr1HoaOVTTDe_ZBQostiB1ou4tSfyEUsLPbVp9lpDrA4Km7hhX3ifF4ip9fYQA.KJbXrfzkIXQFr6QjPgkMThMk8X50sVKzeSV2sV_aCUo; + - vamfjwtv3=stubbed_token; path=/; SameSite=Lax; HttpOnly - vamftimeoutv1=1609963304; SameSite=Lax; path=/ Strict-Transport-Security: diff --git a/spec/support/vcr_cassettes/vaos/systems/get_request_eligibility_criteria_by_id.yml b/spec/support/vcr_cassettes/vaos/systems/get_request_eligibility_criteria_by_id.yml index db45e96998d..f8586917fcb 100644 --- a/spec/support/vcr_cassettes/vaos/systems/get_request_eligibility_criteria_by_id.yml +++ b/spec/support/vcr_cassettes/vaos/systems/get_request_eligibility_criteria_by_id.yml @@ -57,9 +57,9 @@ http_interactions: Access-Control-Max-Age: - '3600' Set-Cookie: - - TS016f4012=01c16e2d81aff1b138869e1dfa809baf6a6d8feca6d93d2936a7820ea9378b3738fcbebd6ccecb04b9b68458a615dc913f47b15b08ea1ee06467a8425dd73bd9cd30eec6a453867e7da73c36eb969d3a1d982e8bd5; + - TS016f4012=stubbed_cookie; Max-Age=900; Path=/ - - vamfjwtv3=eyJ6aXAiOiJERUYiLCJjdHkiOiJKV1QiLCJlbmMiOiJBMjU2Q0JDLUhTNTEyIiwiYWxnIjoiUlNBLU9BRVAtMjU2In0.Sti2kwTctEdYamQ82tx2ZoYAMwy1xBDM2E3yzhfxtvdF8v9RmkTwMbn8gQLEOK8SVKhJCoTePT555xyQKfOmn5yNVev9nDOHfolv5X8c0hSHvw00BUA29SgB_5o4WU02voapRZubYQtD6UjgWkngH7gFEhaZyoCLcvQnKHZvbLoZDyMy2QlWAdVS7p36oaQudOcWucXq-6c0PKkTD582UlER6W64xfB3-YEyg88fioIpLj84E2_D6GFvBtB7UmbcooRebOWpU2ODD1JgFX4iLkxon_-aS9n60gDNQ4UlZRi__oDWYqN6UPWwr8IzCke4mbF5iedOiERYEFrWz5OU9A.RFA1zfiP8ibuMlJKj3B1Ig.m9nOzt-IOkSY7S9D_aiWwwzlOO5P-6hQMK3YJdr2bie0dO1aPVd--kiX4oHkhoU9AzGQ7V0TvEqcqStFJGdRSUbeQKx6h5fHgrppfxqDbw8m4JoTWiIeUom-VjBhuuQKNBydXAO7T4TDe7lkLJZR2d-EyXCgNZcbdruZvg3NBOiJFHRNO00wEC_7Cx4O8AIQyD1yGAlZw4LjIVdZ5DQI9EidBPt30Chsk_V7pFMBOwmQtG7GiqCh5v_NXz1ftuxgOpxqki_-2OWHnKGtKokJ9rVewbeYB-y4fR5PypZjUQF4Z2VglAU_LPCddKZdM8q-_yxpG-zv4jbGe8orgi7tfQRD7BnWPJsBeraeHFoTkV4NYnZ7fxV1MBc_B4Xnq6OVfRQkD8rJ3eFVzMcPTmE2bqdYwFLtqNCEfCalJwL8GjbrjIBjY9VeUVP5QzQu0e5PYO4qL7He4sdjLBENXuNS5S491uMi3yPqqmvvio4OeANuw3Tbjuyx73FmupR7UdJCn1hB73I-hkFL8ApNprWZINCxRLstb3IBBZDT45rEhXzsgYyijh3BMjuCXz229znqsKiVxA30zT6RC4lJbgJ2H1OAi5oDth7fF220Ni7eyTnSsSndfsPclEHpwOo3TPwshlpKhCX4cLj-0n3wTrPzlaoxppUHWLU8V6rU2LIGVMjG6mWPHaZmA6ghURMCg2jw8oTsrkochRdJrbwh49BJcg.Ti18PHPghdArKJyUnCBcxatwU7aWYBBo_gDnX9JFK1A; + - vamfjwtv3=stubbed_token; path=/; SameSite=Lax; HttpOnly - vamftimeoutv1=1595558082; SameSite=Lax; path=/ Strict-Transport-Security: diff --git a/spec/support/vcr_cassettes/vaos/systems/get_request_eligibility_criteria_by_parent_sites.yml b/spec/support/vcr_cassettes/vaos/systems/get_request_eligibility_criteria_by_parent_sites.yml index 220731e0197..657a130931f 100644 --- a/spec/support/vcr_cassettes/vaos/systems/get_request_eligibility_criteria_by_parent_sites.yml +++ b/spec/support/vcr_cassettes/vaos/systems/get_request_eligibility_criteria_by_parent_sites.yml @@ -55,9 +55,9 @@ http_interactions: Access-Control-Max-Age: - '3600' Set-Cookie: - - TS016f4012=01c8917e48d83866a64d9babbb6594695147745d88d7e0ffdd63065ddf02d5f4a7b0fefb24310eaf0f23067d8934d789e12f847f15e957827292075588b70a1dbdceade7e75e0ad96393c6ec4b61dc21a56d64222a; + - TS016f4012=stubbed_cookie; Max-Age=900; Path=/ - - vamfjwtv3=eyJ6aXAiOiJERUYiLCJjdHkiOiJKV1QiLCJlbmMiOiJBMjU2Q0JDLUhTNTEyIiwiYWxnIjoiUlNBLU9BRVAtMjU2In0.EEGQakcpbjpE-jZtLGBggasyR_rgsvXL0UZ7GlX4F8-VsHahYW5LXDZHmBvOWanJs57Miy0ZRVHxE8O6jIsNRffpNiYwHtSjZ7gZ4fQpL3oCk7znAs-cXW2sOFBTPUL_ED24_yFzMRA48lybAyV8bMi0Dqpb14pFRhWJv3wGuY43pW2-jYxaWymeTHuYoooabyr4gRy0j0dwXMYeFEgYHVYaAq3aLMZaUmSAM_M9JORMzz2WGQPWshPAOUsxiRKHPkrv-QKKv2XG2AH8q1ggnbPZMiSSf4nNjSs757uBZ-7NmPvF7xNVBdasLwCQ3QVqM-h-nRrvUqoMhRcjyUNGVw.7XXBWOuvl8GOm5L9hh3UhA.uQOx6nLoKUdlhvm-8k1EkB2UiE0RHJIfGZPmszgWOW6pt8xRqT0ATeWY1H6NDqfXJJzgH-daFgjUjBR1Mv4tcWiwKhWU_cOBv6TdHneoSq5o7-3cZIKkZkef-7CUnhmnhSoAT_FVMJtJ3WcF-6cHcWALYxAl1oGxg0kMhRfCrQqNZIWNqAXjrl1U7sL0vcD54ruOJ-FzvZ0YJgBqNMf9r0FcGTQUJwKA25SkSDh5gMTWAY9kSEPjOFh6lkHApcvKd0qW68X78m-zFd0n3Vy6OHPipar5sFKLRlkkoZvZ2Z6L8kvwDQU7h1WE7I0bsYW2eQFy9q7cKjc3r5pYkKK-5HYCCd59nEv3ntzEAlvht9v65n2ZNP1viRlY-qSuR0-tv--_cdstV9XxlXB-GD2I4tSeteLlng6sGRDbJqxidDjCQId3IbCT5UELalidp68W_09AAc-3tu0Vq01aTVjVJ6RjnGWbXjr-J5auxuREBGv7CiEMCj2uok9GucUCXXiUk_Oa7MfYWAV6F_B3SsBSWn76IJkAIaC836kLBiA9PKpDG8rVc0YNAT3kMlSecwYTwOBIvh_XKFY8t4chqdynMIGL7RJ9O48zO5bl-D7NMOJFxUzDGHXuhAzCMmtTjiN-NgmPxB3UNmw0vy58hj3np0MhMEN0PjhDZs_fCFk3VRVvuw5AM5clatL9p5Jv6XbvfszSAt5l_sZ41oqFuimgnw.VYRybgHrCZDIIddCpoY0cC6caf_xZ7wUbmeuALh3mq4; + - vamfjwtv3=stubbed_token; path=/; SameSite=Lax; HttpOnly - vamftimeoutv1=1595558792; SameSite=Lax; path=/ Strict-Transport-Security: diff --git a/spec/support/vcr_cassettes/vaos/systems/get_request_eligibility_criteria_by_site_codes.yml b/spec/support/vcr_cassettes/vaos/systems/get_request_eligibility_criteria_by_site_codes.yml index fd9f5945b59..8f9a22dc6b7 100644 --- a/spec/support/vcr_cassettes/vaos/systems/get_request_eligibility_criteria_by_site_codes.yml +++ b/spec/support/vcr_cassettes/vaos/systems/get_request_eligibility_criteria_by_site_codes.yml @@ -55,9 +55,9 @@ http_interactions: Access-Control-Max-Age: - '3600' Set-Cookie: - - TS016f4012=01c16e2d81c9d47e934f25408120fcb761652786995540983028f5a61b932a00cc72c1927b71a982a6be2c3bdef6431fa7f309d00a8beebec5464d011ed6fa25d3bfe226d9a5fcf0a4c3f24e515bfa42af5c40c6c4; + - TS016f4012=stubbed_cookie; Max-Age=900; Path=/ - - vamfjwtv3=eyJ6aXAiOiJERUYiLCJjdHkiOiJKV1QiLCJlbmMiOiJBMjU2Q0JDLUhTNTEyIiwiYWxnIjoiUlNBLU9BRVAtMjU2In0.dJdecHCv7zHdM3sNQc24Rx9t4R2ncem_4uQbt04fpsK_obhhkXwYenK_wqIArk271t-nytqnTEKyopkCzLuonlLSBss86xQWBCbHe9wUTnaMMbI7OXisiB1Y4khPpwHs79jOBp3w4gZVRErR6v2f6CloZ30-6ccpwR0gUHVWnnO9Cn8cf4_MLyW0kvV16CZbS1qczyaouOq_BO2VugnthFAZPS8G2IMxrWqpNOHoTY6_lz4FhAADcnSldD0AxGlSHwuhrjgTkpbz3Gp4Buw7aqiQ2sP4xXkyps73L8e_wkWqh4oA1C2aLN2zIvCPDF7CdqZifRUEgpcSLTpMSCzkdA.EVijdSPz6RBkKrMTPneTfw.96CBZDg_MLDBPt7EyVy1z8RH3DXNCngbyl9YUKkqMzptSVQCfLbhB_QjDkZ-L5-s54hUrExM1z7Y_1AypxRzoOzM6pN4hxNM4cQjZabhixFWHzM3KeTOPkPo2EuI_UM0g06TUfIeqvXNuQ80Fg73eFPqYeqM3DUh9X1PrkAWrOs1gDWuSeAYiQnDHR2jcUtdCWYNVXwGkZSxbGo9LzUstp4q5Gz2B_lpIP14BXqlPfwCdUNa4lCdsbGdSOUacKLsDTgVbOjbW6-Ed1Oy3f3H6DLJQTRIxv4ouPGOI7ZDCBYnxyId58B3B4dl6OUj45EJNKv2B2ijv06WdVWtt7p4QCrKivS1uwXeuBiNZ3VSQ8QA-Pr9mIynbs2_Cw3lNZUtFy9CDByRUiNkh_ZekU7_WsIDUDYD_c0o5Ly0FamEvGZ79tUTgxMaWjrUE1nIY09kbMIlVJwgo6RCO50se4qbi6CFb_fSCC86vQVMiLUIiz3odAPwIfIfWBe78m0oOm8-EKGalBhMLNgsnNHCjCZZZPAkTxt9XikrtbNNRoGoSE83SsyPld9_ZDiOwsIzu5qplPCvtG2gvDqLxwJCHBR6S1WyaMRhhA8vW-E3IlpU6eJlw6t-zoQBxU7JWSIkOnCaQRPtejAH3DV6u74oooQP1HC6rpBDtAcDvXaDvUsfi7M2SeQucIGPjsQSjVdKbiSzoHU1SXB1RtyV-iNUQNG6bA.8NUcax823R5ZJRFHHrPc8Vz5orIFyjB2nUgZcMZEWik; + - vamfjwtv3=stubbed_token; path=/; SameSite=Lax; HttpOnly - vamftimeoutv1=1595558170; SameSite=Lax; path=/ Strict-Transport-Security: diff --git a/spec/support/vcr_cassettes/vaos/systems/get_request_eligibility_criteria_site_codes.yml b/spec/support/vcr_cassettes/vaos/systems/get_request_eligibility_criteria_site_codes.yml index 1bd9db8a81c..bfcccad1f7b 100644 --- a/spec/support/vcr_cassettes/vaos/systems/get_request_eligibility_criteria_site_codes.yml +++ b/spec/support/vcr_cassettes/vaos/systems/get_request_eligibility_criteria_site_codes.yml @@ -55,9 +55,9 @@ http_interactions: Access-Control-Max-Age: - '3600' Set-Cookie: - - TS016f4012=01c16e2d81e3ccf2dfc2273aeeaa902ca87502f90180668f80415c70e6c4b4d716b0a491a06b396ddcd87dc709722b4c2bc952c25aaf16dd1dc4cc2b7519bc84260b728623985ac35b2da882b66b7f9046290955ec; + - TS016f4012=stubbed_cookie; Max-Age=900; Path=/ - - vamfjwtv3=eyJ6aXAiOiJERUYiLCJjdHkiOiJKV1QiLCJlbmMiOiJBMjU2Q0JDLUhTNTEyIiwiYWxnIjoiUlNBLU9BRVAtMjU2In0.BDOZZb36UUM_O4tv3S4ZGX2TPL-y5wAqjOHr_EkjfetkXqSacnhj2z3bj5QeCVzrkg_QWr5LjmAaAnolQfGTuESk--1-4Z-nulwaNzjMxr0e0kC7xvpf4VIXjOGELVg7-j-X1bPXfVTEg3C3GSf2uWaCjW7ltFxovaB2siNBOgq8szurU2eh9_mGMEnk34b39wPqoUaWw0YQN89hpEiztZMwZDJ6a6lMhxyP9tcH7WIFlyCBamwdU0G43ot6N5eQmjRpZEAZkpmMpUB4HSCfq-D4DDLH8rjVQ_2j6bCq2SYERIbW38DF8ocmjit-rr89T5iIasTXBjLioNhv1D7rRg.ESbw7m-nRg5CfgOdcr6INg.pNPmx__kIS7dgNUBfB-RPG3ZW1wEA8btxyAURORChcTtVjZv7gqvEX5xymCTKjwb7jcDvWxhltGKX8mNdQxZ8D1WI6kBc9z6gKJIRj4JqpYfNZtXTQF1_aPx9qmLbrTlPExUnHKK-7oaSYJUp1GGdZsXKjSBgHXnpfdPK5eR_OA-P5EfFNRbPi0jYVBQPsOD9ungiuuY1yyIETD7S2R_PBhUYw31yC3EUBSEVibGyP6-C4qBu7F2lmFBb_3vQnxuX163IH8NSkdHzQAVm8pnh5mrNyvBBDcQkvCQ89_eJEzVHMqYNAtIF-0w9RX1hJ5Wl7sPqGS5Lf6CkPul3NW81pXzSR9E9RKSQl1-ooiXhr_c5IO_S1k7AiYG3gPZ7UzQwHbFP9kHm-x1nsMHrCyWZ24cVToaprXB_sCIaDWMA460jXdbMx0FG24bpcoRmheNKb7JGFU3i-wlFIkT6yomBnFxVtqjSC8PTXOesiAOh9kNpz-rj-QDWfMqDMtc2wu0dETOkx_0NW1dCEe_na33uGeuxjGeCI6YhZNF6XktHbTVHoA4vnQw0ghJUiN7NLkIGZDosXg20klZhlPKKf_et7IELzm3-_FzQ32Sq1z-kTbNHWhbSo6JqVGkeCM2dYlpaPaoqY01z7yM2DnhlWl9arVGo1sqy_6PSaEhdlhTpRrByetYFlPEOSo0hJbFLoPupCk0_wm5ubtFyKPG5352Ug.U6Tmus1fUfg5KCCOUxA15KsYv-Zy2-cm6InFSxlqa54; + - vamfjwtv3=stubbed_token; path=/; SameSite=Lax; HttpOnly - vamftimeoutv1=1594974623; SameSite=Lax; path=/ Strict-Transport-Security: @@ -69,4 +69,4 @@ http_interactions: string: !binary |- WyB7CiAgImxpbmtzIiA6IFsgewogICAgInRpdGxlIiA6ICJyZXF1ZXN0LWVsaWdpYmlsaXR5LWNyaXRlcmlhIiwKICAgICJocmVmIiA6ICIvZmFjaWxpdGllcy92MS9yZXF1ZXN0LWVsaWdpYmlsaXR5LWNyaXRlcmlhIiwKICAgICJvYmplY3RUeXBlIiA6ICJBdG9tTGluayIKICB9IF0sCiAgImlkIiA6ICI0NDIiLAogICJjcmVhdGVkRGF0ZSIgOiAiMjAxNy0xMC0wM1QxNzozMzoyNloiLAogICJsYXN0TW9kaWZpZWREYXRlIiA6ICIyMDIwLTA3LTE3VDA4OjE1OjIzWiIsCiAgImNyZWF0ZWRCeSIgOiAiQkVOQVZFTlRFLEpPU0hVQSBFIiwKICAicmVxdWVzdFNldHRpbmdzIiA6IFsgewogICAgImlkIiA6ICIyMDMiLAogICAgInR5cGVPZkNhcmUiIDogIkF1ZGlvbG9neSIsCiAgICAicGF0aWVudEhpc3RvcnlEdXJhdGlvbiIgOiAwLAogICAgInN0b3BDb2RlcyIgOiBbIHsKICAgICAgInByaW1hcnkiIDogIjIwMyIKICAgIH0gXSwKICAgICJzdWJtaXR0ZWRSZXF1ZXN0TGltaXQiIDogMiwKICAgICJlbnRlcnByaXNlU3VibWl0dGVkUmVxdWVzdExpbWl0IiA6IDIKICB9LCB7CiAgICAiaWQiIDogIjMyMyIsCiAgICAidHlwZU9mQ2FyZSIgOiAiUHJpbWFyeSBDYXJlIiwKICAgICJwYXRpZW50SGlzdG9yeVJlcXVpcmVkIiA6ICJObyIsCiAgICAicGF0aWVudEhpc3RvcnlEdXJhdGlvbiIgOiAwLAogICAgInN0b3BDb2RlcyIgOiBbIHsKICAgICAgInByaW1hcnkiIDogIjMyMiIKICAgIH0sIHsKICAgICAgInByaW1hcnkiIDogIjMyMyIKICAgIH0sIHsKICAgICAgInByaW1hcnkiIDogIjM1MCIKICAgIH0gXSwKICAgICJzdWJtaXR0ZWRSZXF1ZXN0TGltaXQiIDogMSwKICAgICJlbnRlcnByaXNlU3VibWl0dGVkUmVxdWVzdExpbWl0IiA6IDEKICB9LCB7CiAgICAiaWQiIDogIjQwOCIsCiAgICAidHlwZU9mQ2FyZSIgOiAiT3B0b21ldHJ5IiwKICAgICJwYXRpZW50SGlzdG9yeUR1cmF0aW9uIiA6IDAsCiAgICAic3RvcENvZGVzIiA6IFsgewogICAgICAicHJpbWFyeSIgOiAiNDA4IgogICAgfSBdLAogICAgInN1Ym1pdHRlZFJlcXVlc3RMaW1pdCIgOiAyLAogICAgImVudGVycHJpc2VTdWJtaXR0ZWRSZXF1ZXN0TGltaXQiIDogMgogIH0sIHsKICAgICJpZCIgOiAiNTAyIiwKICAgICJ0eXBlT2ZDYXJlIiA6ICJPdXRwYXRpZW50IE1lbnRhbCBIZWFsdGgiLAogICAgInBhdGllbnRIaXN0b3J5UmVxdWlyZWQiIDogIk5vIiwKICAgICJwYXRpZW50SGlzdG9yeUR1cmF0aW9uIiA6IDAsCiAgICAic3RvcENvZGVzIiA6IFsgewogICAgICAicHJpbWFyeSIgOiAiNTAyIgogICAgfSBdLAogICAgInN1Ym1pdHRlZFJlcXVlc3RMaW1pdCIgOiAxLAogICAgImVudGVycHJpc2VTdWJtaXR0ZWRSZXF1ZXN0TGltaXQiIDogMgogIH0sIHsKICAgICJpZCIgOiAiMTQzIiwKICAgICJ0eXBlT2ZDYXJlIiA6ICJTbGVlcCBNZWRpY2luZSDigJMgSG9tZSBTbGVlcCBUZXN0aW5nIiwKICAgICJwYXRpZW50SGlzdG9yeUR1cmF0aW9uIiA6IDAsCiAgICAic3RvcENvZGVzIiA6IFsgewogICAgICAicHJpbWFyeSIgOiAiMTQzIiwKICAgICAgInNlY29uZGFyeSIgOiAiMTg5IgogICAgfSBdLAogICAgImNhbkNhbmNlbCIgOiB0cnVlLAogICAgInN1Ym1pdHRlZFJlcXVlc3RMaW1pdCIgOiAyLAogICAgImVudGVycHJpc2VTdWJtaXR0ZWRSZXF1ZXN0TGltaXQiIDogMgogIH0sIHsKICAgICJpZCIgOiAiMTIzIiwKICAgICJ0eXBlT2ZDYXJlIiA6ICJGb29kIGFuZCBOdXRyaXRpb24iLAogICAgInBhdGllbnRIaXN0b3J5RHVyYXRpb24iIDogMCwKICAgICJzdG9wQ29kZXMiIDogWyB7CiAgICAgICJwcmltYXJ5IiA6ICIxMjMiCiAgICB9LCB7CiAgICAgICJwcmltYXJ5IiA6ICIxMjQiCiAgICB9IF0sCiAgICAiY2FuQ2FuY2VsIiA6IHRydWUsCiAgICAic3VibWl0dGVkUmVxdWVzdExpbWl0IiA6IDIsCiAgICAiZW50ZXJwcmlzZVN1Ym1pdHRlZFJlcXVlc3RMaW1pdCIgOiAyCiAgfSwgewogICAgImlkIiA6ICIyMTEiLAogICAgInR5cGVPZkNhcmUiIDogIkFtcHV0YXRpb24gU2VydmljZXMiLAogICAgInBhdGllbnRIaXN0b3J5RHVyYXRpb24iIDogMCwKICAgICJzdG9wQ29kZXMiIDogWyB7CiAgICAgICJwcmltYXJ5IiA6ICIyMTEiCiAgICB9IF0sCiAgICAiY2FuQ2FuY2VsIiA6IHRydWUsCiAgICAic3VibWl0dGVkUmVxdWVzdExpbWl0IiA6IDIsCiAgICAiZW50ZXJwcmlzZVN1Ym1pdHRlZFJlcXVlc3RMaW1pdCIgOiAyCiAgfSwgewogICAgImlkIiA6ICIxMjUiLAogICAgInR5cGVPZkNhcmUiIDogIlNvY2lhbCBXb3JrIiwKICAgICJwYXRpZW50SGlzdG9yeUR1cmF0aW9uIiA6IDAsCiAgICAic3RvcENvZGVzIiA6IFsgewogICAgICAicHJpbWFyeSIgOiAiMTI1IiwKICAgICAgInNlY29uZGFyeSIgOiAiMzIzIgogICAgfSBdLAogICAgImNhbkNhbmNlbCIgOiB0cnVlLAogICAgInN1Ym1pdHRlZFJlcXVlc3RMaW1pdCIgOiAyLAogICAgImVudGVycHJpc2VTdWJtaXR0ZWRSZXF1ZXN0TGltaXQiIDogMgogIH0sIHsKICAgICJpZCIgOiAiMzQ5IiwKICAgICJ0eXBlT2ZDYXJlIiA6ICJDUEFQIENsaW5pYyIsCiAgICAicGF0aWVudEhpc3RvcnlEdXJhdGlvbiIgOiAwLAogICAgInN0b3BDb2RlcyIgOiBbIHsKICAgICAgInByaW1hcnkiIDogIjM0OSIsCiAgICAgICJzZWNvbmRhcnkiIDogIjExNiIKICAgIH0gXSwKICAgICJjYW5DYW5jZWwiIDogdHJ1ZSwKICAgICJzdWJtaXR0ZWRSZXF1ZXN0TGltaXQiIDogMiwKICAgICJlbnRlcnByaXNlU3VibWl0dGVkUmVxdWVzdExpbWl0IiA6IDIKICB9LCB7CiAgICAiaWQiIDogIjE2MCIsCiAgICAidHlwZU9mQ2FyZSIgOiAiQ2xpbmljYWwgUGhhcm1hY3ktUHJpbWFyeSBDYXJlIiwKICAgICJwYXRpZW50SGlzdG9yeUR1cmF0aW9uIiA6IDAsCiAgICAic3RvcENvZGVzIiA6IFsgewogICAgICAicHJpbWFyeSIgOiAiMTYwIiwKICAgICAgInNlY29uZGFyeSIgOiAiMzIzIgogICAgfSBdLAogICAgImNhbkNhbmNlbCIgOiB0cnVlLAogICAgInN1Ym1pdHRlZFJlcXVlc3RMaW1pdCIgOiAyLAogICAgImVudGVycHJpc2VTdWJtaXR0ZWRSZXF1ZXN0TGltaXQiIDogMgogIH0sIHsKICAgICJpZCIgOiAiNDA3IiwKICAgICJ0eXBlT2ZDYXJlIiA6ICJPcGh0aGFsbW9sb2d5IiwKICAgICJwYXRpZW50SGlzdG9yeUR1cmF0aW9uIiA6IDAsCiAgICAic3RvcENvZGVzIiA6IFsgewogICAgICAicHJpbWFyeSIgOiAiNDA3IgogICAgfSBdLAogICAgImNhbkNhbmNlbCIgOiB0cnVlLAogICAgInN1Ym1pdHRlZFJlcXVlc3RMaW1pdCIgOiAyLAogICAgImVudGVycHJpc2VTdWJtaXR0ZWRSZXF1ZXN0TGltaXQiIDogMgogIH0sIHsKICAgICJpZCIgOiAiMzcyIiwKICAgICJ0eXBlT2ZDYXJlIiA6ICJNT1ZFISBwcm9ncmFtIiwKICAgICJwYXRpZW50SGlzdG9yeUR1cmF0aW9uIiA6IDAsCiAgICAic3RvcENvZGVzIiA6IFsgewogICAgICAicHJpbWFyeSIgOiAiMzcyIgogICAgfSwgewogICAgICAicHJpbWFyeSIgOiAiMzczIgogICAgfSBdLAogICAgImNhbkNhbmNlbCIgOiB0cnVlLAogICAgInN1Ym1pdHRlZFJlcXVlc3RMaW1pdCIgOiAyLAogICAgImVudGVycHJpc2VTdWJtaXR0ZWRSZXF1ZXN0TGltaXQiIDogMgogIH0gXSwKICAiY3VzdG9tUmVxdWVzdFNldHRpbmdzIiA6IFsgewogICAgImlkIiA6ICJDUjEiLAogICAgInR5cGVPZkNhcmUiIDogIkV4cHJlc3MgQ2FyZSIsCiAgICAic3VibWl0dGVkUmVxdWVzdExpbWl0IiA6IDIsCiAgICAiZW50ZXJwcmlzZVN1Ym1pdHRlZFJlcXVlc3RMaW1pdCIgOiAyLAogICAgInN1cHBvcnRlZCIgOiBmYWxzZSwKICAgICJzY2hlZHVsaW5nRGF5cyIgOiBbIHsKICAgICAgImRheSIgOiAiTU9OREFZIiwKICAgICAgImNhblNjaGVkdWxlIiA6IGZhbHNlCiAgICB9LCB7CiAgICAgICJkYXkiIDogIlRVRVNEQVkiLAogICAgICAiY2FuU2NoZWR1bGUiIDogZmFsc2UKICAgIH0sIHsKICAgICAgImRheSIgOiAiV0VETkVTREFZIiwKICAgICAgImNhblNjaGVkdWxlIiA6IGZhbHNlCiAgICB9LCB7CiAgICAgICJkYXkiIDogIlRIVVJTREFZIiwKICAgICAgImNhblNjaGVkdWxlIiA6IGZhbHNlCiAgICB9LCB7CiAgICAgICJkYXkiIDogIkZSSURBWSIsCiAgICAgICJjYW5TY2hlZHVsZSIgOiBmYWxzZQogICAgfSwgewogICAgICAiZGF5IiA6ICJTQVRVUkRBWSIsCiAgICAgICJjYW5TY2hlZHVsZSIgOiBmYWxzZQogICAgfSwgewogICAgICAiZGF5IiA6ICJTVU5EQVkiLAogICAgICAiY2FuU2NoZWR1bGUiIDogZmFsc2UKICAgIH0gXQogIH0gXQp9LCB7CiAgImxpbmtzIiA6IFsgewogICAgInRpdGxlIiA6ICJyZXF1ZXN0LWVsaWdpYmlsaXR5LWNyaXRlcmlhIiwKICAgICJocmVmIiA6ICIvZmFjaWxpdGllcy92MS9yZXF1ZXN0LWVsaWdpYmlsaXR5LWNyaXRlcmlhIiwKICAgICJvYmplY3RUeXBlIiA6ICJBdG9tTGluayIKICB9IF0sCiAgImlkIiA6ICI1MzQiLAogICJjcmVhdGVkRGF0ZSIgOiAiMjAxOS0wOS0yNFQxMzo0MTo0MVoiLAogICJsYXN0TW9kaWZpZWREYXRlIiA6ICIyMDE4LTA5LTA2VDE3OjIzOjM0WiIsCiAgImNyZWF0ZWRCeSIgOiAiU01JVEgsIEZFTElDSUEiLAogICJtb2RpZmllZEJ5IiA6ICJUSEFZRVIsQkVOSkFNSU4gUyIsCiAgInJlcXVlc3RTZXR0aW5ncyIgOiBbIHsKICAgICJpZCIgOiAiMjAzIiwKICAgICJ0eXBlT2ZDYXJlIiA6ICJBdWRpb2xvZ3kiLAogICAgInBhdGllbnRIaXN0b3J5UmVxdWlyZWQiIDogIk5vIiwKICAgICJwYXRpZW50SGlzdG9yeUR1cmF0aW9uIiA6IDAsCiAgICAic3RvcENvZGVzIiA6IFsgewogICAgICAicHJpbWFyeSIgOiAiMjAzIgogICAgfSBdLAogICAgInN1Ym1pdHRlZFJlcXVlc3RMaW1pdCIgOiAxLAogICAgImVudGVycHJpc2VTdWJtaXR0ZWRSZXF1ZXN0TGltaXQiIDogMgogIH0sIHsKICAgICJpZCIgOiAiMzIzIiwKICAgICJ0eXBlT2ZDYXJlIiA6ICJQcmltYXJ5IENhcmUiLAogICAgInBhdGllbnRIaXN0b3J5UmVxdWlyZWQiIDogIk5vIiwKICAgICJwYXRpZW50SGlzdG9yeUR1cmF0aW9uIiA6IDAsCiAgICAic3RvcENvZGVzIiA6IFsgewogICAgICAicHJpbWFyeSIgOiAiMzIyIgogICAgfSwgewogICAgICAicHJpbWFyeSIgOiAiMzIzIgogICAgfSwgewogICAgICAicHJpbWFyeSIgOiAiMzUwIgogICAgfSBdLAogICAgInN1Ym1pdHRlZFJlcXVlc3RMaW1pdCIgOiAxLAogICAgImVudGVycHJpc2VTdWJtaXR0ZWRSZXF1ZXN0TGltaXQiIDogMQogIH0sIHsKICAgICJpZCIgOiAiNDA4IiwKICAgICJ0eXBlT2ZDYXJlIiA6ICJPcHRvbWV0cnkiLAogICAgInBhdGllbnRIaXN0b3J5UmVxdWlyZWQiIDogIk5vIiwKICAgICJwYXRpZW50SGlzdG9yeUR1cmF0aW9uIiA6IDAsCiAgICAic3RvcENvZGVzIiA6IFsgewogICAgICAicHJpbWFyeSIgOiAiNDA4IgogICAgfSBdLAogICAgInN1Ym1pdHRlZFJlcXVlc3RMaW1pdCIgOiAxLAogICAgImVudGVycHJpc2VTdWJtaXR0ZWRSZXF1ZXN0TGltaXQiIDogMgogIH0sIHsKICAgICJpZCIgOiAiNTAyIiwKICAgICJ0eXBlT2ZDYXJlIiA6ICJPdXRwYXRpZW50IE1lbnRhbCBIZWFsdGgiLAogICAgInBhdGllbnRIaXN0b3J5UmVxdWlyZWQiIDogIk5vIiwKICAgICJwYXRpZW50SGlzdG9yeUR1cmF0aW9uIiA6IDAsCiAgICAic3RvcENvZGVzIiA6IFsgewogICAgICAicHJpbWFyeSIgOiAiNTAyIgogICAgfSBdLAogICAgInN1Ym1pdHRlZFJlcXVlc3RMaW1pdCIgOiAxLAogICAgImVudGVycHJpc2VTdWJtaXR0ZWRSZXF1ZXN0TGltaXQiIDogMgogIH0sIHsKICAgICJpZCIgOiAiMzQ5IiwKICAgICJ0eXBlT2ZDYXJlIiA6ICJDUEFQIENsaW5pYyIsCiAgICAicGF0aWVudEhpc3RvcnlEdXJhdGlvbiIgOiAwLAogICAgInN0b3BDb2RlcyIgOiBbIHsKICAgICAgInByaW1hcnkiIDogIjM0OSIsCiAgICAgICJzZWNvbmRhcnkiIDogIjExNiIKICAgIH0gXSwKICAgICJzdWJtaXR0ZWRSZXF1ZXN0TGltaXQiIDogMCwKICAgICJlbnRlcnByaXNlU3VibWl0dGVkUmVxdWVzdExpbWl0IiA6IDIKICB9LCB7CiAgICAiaWQiIDogIjEyMyIsCiAgICAidHlwZU9mQ2FyZSIgOiAiRm9vZCBhbmQgTnV0cml0aW9uIiwKICAgICJwYXRpZW50SGlzdG9yeVJlcXVpcmVkIiA6ICJObyIsCiAgICAicGF0aWVudEhpc3RvcnlEdXJhdGlvbiIgOiAwLAogICAgInN0b3BDb2RlcyIgOiBbIHsKICAgICAgInByaW1hcnkiIDogIjEyMyIKICAgIH0sIHsKICAgICAgInByaW1hcnkiIDogIjEyNCIKICAgIH0gXSwKICAgICJzdWJtaXR0ZWRSZXF1ZXN0TGltaXQiIDogMSwKICAgICJlbnRlcnByaXNlU3VibWl0dGVkUmVxdWVzdExpbWl0IiA6IDIKICB9LCB7CiAgICAiaWQiIDogIjE2MCIsCiAgICAidHlwZU9mQ2FyZSIgOiAiQ2xpbmljYWwgUGhhcm1hY3ktUHJpbWFyeSBDYXJlIiwKICAgICJwYXRpZW50SGlzdG9yeVJlcXVpcmVkIiA6ICJZZXMiLAogICAgInBhdGllbnRIaXN0b3J5RHVyYXRpb24iIDogMzY1LAogICAgInN0b3BDb2RlcyIgOiBbIHsKICAgICAgInByaW1hcnkiIDogIjE2MCIsCiAgICAgICJzZWNvbmRhcnkiIDogIjMyMyIKICAgIH0gXSwKICAgICJzdWJtaXR0ZWRSZXF1ZXN0TGltaXQiIDogMSwKICAgICJlbnRlcnByaXNlU3VibWl0dGVkUmVxdWVzdExpbWl0IiA6IDIKICB9LCB7CiAgICAiaWQiIDogIjM3MiIsCiAgICAidHlwZU9mQ2FyZSIgOiAiTU9WRSEgcHJvZ3JhbSIsCiAgICAicGF0aWVudEhpc3RvcnlSZXF1aXJlZCIgOiAiTm8iLAogICAgInBhdGllbnRIaXN0b3J5RHVyYXRpb24iIDogMCwKICAgICJzdG9wQ29kZXMiIDogWyB7CiAgICAgICJwcmltYXJ5IiA6ICIzNzIiCiAgICB9LCB7CiAgICAgICJwcmltYXJ5IiA6ICIzNzMiCiAgICB9IF0sCiAgICAic3VibWl0dGVkUmVxdWVzdExpbWl0IiA6IDEsCiAgICAiZW50ZXJwcmlzZVN1Ym1pdHRlZFJlcXVlc3RMaW1pdCIgOiAyCiAgfSwgewogICAgImlkIiA6ICIxNDMiLAogICAgInR5cGVPZkNhcmUiIDogIlNsZWVwIE1lZGljaW5lIOKAkyBIb21lIFNsZWVwIFRlc3RpbmciLAogICAgInBhdGllbnRIaXN0b3J5RHVyYXRpb24iIDogMCwKICAgICJzdG9wQ29kZXMiIDogWyB7CiAgICAgICJwcmltYXJ5IiA6ICIxNDMiLAogICAgICAic2Vjb25kYXJ5IiA6ICIxODkiCiAgICB9IF0sCiAgICAic3VibWl0dGVkUmVxdWVzdExpbWl0IiA6IDAsCiAgICAiZW50ZXJwcmlzZVN1Ym1pdHRlZFJlcXVlc3RMaW1pdCIgOiAyCiAgfSwgewogICAgImlkIiA6ICIyMTEiLAogICAgInR5cGVPZkNhcmUiIDogIkFtcHV0YXRpb24gU2VydmljZXMiLAogICAgInBhdGllbnRIaXN0b3J5UmVxdWlyZWQiIDogIk5vIiwKICAgICJwYXRpZW50SGlzdG9yeUR1cmF0aW9uIiA6IDAsCiAgICAic3RvcENvZGVzIiA6IFsgewogICAgICAicHJpbWFyeSIgOiAiMjExIgogICAgfSBdLAogICAgInN1Ym1pdHRlZFJlcXVlc3RMaW1pdCIgOiAyLAogICAgImVudGVycHJpc2VTdWJtaXR0ZWRSZXF1ZXN0TGltaXQiIDogMgogIH0sIHsKICAgICJpZCIgOiAiMTI1IiwKICAgICJ0eXBlT2ZDYXJlIiA6ICJTb2NpYWwgV29yayIsCiAgICAicGF0aWVudEhpc3RvcnlSZXF1aXJlZCIgOiAiTm8iLAogICAgInBhdGllbnRIaXN0b3J5RHVyYXRpb24iIDogMCwKICAgICJzdG9wQ29kZXMiIDogWyB7CiAgICAgICJwcmltYXJ5IiA6ICIxMjUiLAogICAgICAic2Vjb25kYXJ5IiA6ICIzMjMiCiAgICB9IF0sCiAgICAic3VibWl0dGVkUmVxdWVzdExpbWl0IiA6IDIsCiAgICAiZW50ZXJwcmlzZVN1Ym1pdHRlZFJlcXVlc3RMaW1pdCIgOiAyCiAgfSwgewogICAgImlkIiA6ICI0MDciLAogICAgInR5cGVPZkNhcmUiIDogIk9waHRoYWxtb2xvZ3kiLAogICAgInBhdGllbnRIaXN0b3J5UmVxdWlyZWQiIDogIlllcyIsCiAgICAicGF0aWVudEhpc3RvcnlEdXJhdGlvbiIgOiA3MzAsCiAgICAic3RvcENvZGVzIiA6IFsgewogICAgICAicHJpbWFyeSIgOiAiNDA3IgogICAgfSBdLAogICAgInN1Ym1pdHRlZFJlcXVlc3RMaW1pdCIgOiAyLAogICAgImVudGVycHJpc2VTdWJtaXR0ZWRSZXF1ZXN0TGltaXQiIDogMgogIH0gXSwKICAiY3VzdG9tUmVxdWVzdFNldHRpbmdzIiA6IFsgewogICAgImlkIiA6ICJDUjEiLAogICAgInR5cGVPZkNhcmUiIDogIkV4cHJlc3MgQ2FyZSIsCiAgICAic3VibWl0dGVkUmVxdWVzdExpbWl0IiA6IDAsCiAgICAiZW50ZXJwcmlzZVN1Ym1pdHRlZFJlcXVlc3RMaW1pdCIgOiAyLAogICAgInN1cHBvcnRlZCIgOiBmYWxzZSwKICAgICJzY2hlZHVsaW5nRGF5cyIgOiBbIHsKICAgICAgImRheSIgOiAiTU9OREFZIiwKICAgICAgImNhblNjaGVkdWxlIiA6IGZhbHNlCiAgICB9LCB7CiAgICAgICJkYXkiIDogIlRVRVNEQVkiLAogICAgICAiY2FuU2NoZWR1bGUiIDogZmFsc2UKICAgIH0sIHsKICAgICAgImRheSIgOiAiV0VETkVTREFZIiwKICAgICAgImNhblNjaGVkdWxlIiA6IGZhbHNlCiAgICB9LCB7CiAgICAgICJkYXkiIDogIlRIVVJTREFZIiwKICAgICAgImNhblNjaGVkdWxlIiA6IGZhbHNlCiAgICB9LCB7CiAgICAgICJkYXkiIDogIkZSSURBWSIsCiAgICAgICJjYW5TY2hlZHVsZSIgOiBmYWxzZQogICAgfSwgewogICAgICAiZGF5IiA6ICJTQVRVUkRBWSIsCiAgICAgICJjYW5TY2hlZHVsZSIgOiBmYWxzZQogICAgfSwgewogICAgICAiZGF5IiA6ICJTVU5EQVkiLAogICAgICAiY2FuU2NoZWR1bGUiIDogZmFsc2UKICAgIH0gXQogIH0gXQp9IF0= recorded_at: Fri, 17 Jul 2020 08:15:23 GMT -recorded_with: VCR 6.0.0 +recorded_with: VCR 6.0.0 b diff --git a/spec/support/vcr_cassettes/vaos/systems/get_system_facilities.yml b/spec/support/vcr_cassettes/vaos/systems/get_system_facilities.yml index d7162116cd2..0dde1599690 100644 --- a/spec/support/vcr_cassettes/vaos/systems/get_system_facilities.yml +++ b/spec/support/vcr_cassettes/vaos/systems/get_system_facilities.yml @@ -51,9 +51,9 @@ http_interactions: Access-Control-Max-Age: - '3600' Set-Cookie: - - TS016f4012=01c16e2d81fc226234f653b401a6d3c45964b178c3dca337d48dc27850ee4b2500802d8cd5ce3022f84792af5d23119520ca71bbc596b1ad67dc95ab16a1a86b35c68d151ea4d6e53a92650a851039167e75ca477a; + - TS016f4012=stubbed_cookie; Max-Age=900; Path=/ - - vamfjwtv3=eyJ6aXAiOiJERUYiLCJjdHkiOiJKV1QiLCJlbmMiOiJBMjU2Q0JDLUhTNTEyIiwiYWxnIjoiUlNBLU9BRVAtMjU2In0.ZyMpgyWmTxwJ4xf7e9aF8vSHP9YEZwRrI9sIRVX5x_tztvCzp4TDNj0yZ33GwHlXgDRFDIWh9qNZAq6d7ECDnI9hzZk-3Q-GM69bkUcdLRrYE4UX4i8HQawxXfC05lVHnqNZo81n4-laN91S6_In613ZcAQ4y4V-734nxqXFH9mYJUlf1MI3ixIPQ9G_0liQyvk0bZ2eE6GGGyDqt7mOvw_SGR3D3xgjB_csivbhkgY8qTOTTHCkRqYG6Ehpj9k2kiS_HD3XBVbyKTv3Oa7DtbnJ6HbFP7LUh-4pTATSBxT9IjyKtfCEHV9k0ZwMZGrnvJHmGaE3EcBq1qjeqdtdcw.aaLqA_CnlF_lo6pn2zINXw.Nn_C0mbkeOeXwxdkw_6h81GtmH0ykuMIKPeUUW4Z_yEmfBgTi6Ber9OUnv8OSsNVA8KUwsP8kgGB6Mh8xnvSVuA2jmn8YeG1dojV4Mhi8bGj4F0qKYTaCGorCEqpN8cu2wzupCuM4FYT3mXhHao1h_-Qc6_tRiDpbq572MngKJG8KHS7RYkMUo9RCRTuwSHQXr7XFN9Y0uToKGrY_r8a3LUr6PV8N5iFWunWF1G8_d6QbMFo-EY54cd9VPdJqydOtvTStyRbVjfq6Ud9GyzblgO22-jedghx0EOLOxjcIOVCEdJNnAnfokl50K53dW7ogK0Uj6ljH7_XzHyjhfDGBE_Xm_r2c9LYPX8_jp1bO2AZYllJGupAbJ4mIGCEG1zxUBNDaKX_T5rV5G5vxTGqlLw-9h6Il6rcqScrrfVciK46fnHZWfOZadevMNqO6yafMlUOQqnL4HodZRy4soy_KKlO4lsMX6LM1mVJM0SNU3YZUO0KuhCSTz8cMnuoek26OTurc6_x2ZrMMLS_GLh-m8pdjbvsjhbjw2n-yBQrKvHf1jl1cvUQSG8pHCFOjni2coUmmbTy0omzt29A1-NkOwbcIw7H2cgnosYzdpkgOvOMJgYAz-_PHYba1aDF8SNZpTl49TrIJXp01mVWwr-5buDmCbebuk1beqwb1-3FQI0.Owtu7sXRP0m4qVdPQ0qMZJKr2mVrSUrtpGpH9hvqjAM; + - vamfjwtv3=stubbed_token; path=/;max-age=900; HttpOnly - vamftimeoutv1=1567617431; path=/ body: diff --git a/spec/support/vcr_cassettes/vaos/systems/get_system_facilities_500.yml b/spec/support/vcr_cassettes/vaos/systems/get_system_facilities_500.yml index 5e12dfe468a..1cdd20b676d 100644 --- a/spec/support/vcr_cassettes/vaos/systems/get_system_facilities_500.yml +++ b/spec/support/vcr_cassettes/vaos/systems/get_system_facilities_500.yml @@ -51,9 +51,9 @@ http_interactions: Access-Control-Max-Age: - '3600' Set-Cookie: - - TS016f4012=01c16e2d81fc226234f653b401a6d3c45964b178c3dca337d48dc27850ee4b2500802d8cd5ce3022f84792af5d23119520ca71bbc596b1ad67dc95ab16a1a86b35c68d151ea4d6e53a92650a851039167e75ca477a; + - TS016f4012=stubbed_cookie; Max-Age=900; Path=/ - - vamfjwtv3=eyJ6aXAiOiJERUYiLCJjdHkiOiJKV1QiLCJlbmMiOiJBMjU2Q0JDLUhTNTEyIiwiYWxnIjoiUlNBLU9BRVAtMjU2In0.ZyMpgyWmTxwJ4xf7e9aF8vSHP9YEZwRrI9sIRVX5x_tztvCzp4TDNj0yZ33GwHlXgDRFDIWh9qNZAq6d7ECDnI9hzZk-3Q-GM69bkUcdLRrYE4UX4i8HQawxXfC05lVHnqNZo81n4-laN91S6_In613ZcAQ4y4V-734nxqXFH9mYJUlf1MI3ixIPQ9G_0liQyvk0bZ2eE6GGGyDqt7mOvw_SGR3D3xgjB_csivbhkgY8qTOTTHCkRqYG6Ehpj9k2kiS_HD3XBVbyKTv3Oa7DtbnJ6HbFP7LUh-4pTATSBxT9IjyKtfCEHV9k0ZwMZGrnvJHmGaE3EcBq1qjeqdtdcw.aaLqA_CnlF_lo6pn2zINXw.Nn_C0mbkeOeXwxdkw_6h81GtmH0ykuMIKPeUUW4Z_yEmfBgTi6Ber9OUnv8OSsNVA8KUwsP8kgGB6Mh8xnvSVuA2jmn8YeG1dojV4Mhi8bGj4F0qKYTaCGorCEqpN8cu2wzupCuM4FYT3mXhHao1h_-Qc6_tRiDpbq572MngKJG8KHS7RYkMUo9RCRTuwSHQXr7XFN9Y0uToKGrY_r8a3LUr6PV8N5iFWunWF1G8_d6QbMFo-EY54cd9VPdJqydOtvTStyRbVjfq6Ud9GyzblgO22-jedghx0EOLOxjcIOVCEdJNnAnfokl50K53dW7ogK0Uj6ljH7_XzHyjhfDGBE_Xm_r2c9LYPX8_jp1bO2AZYllJGupAbJ4mIGCEG1zxUBNDaKX_T5rV5G5vxTGqlLw-9h6Il6rcqScrrfVciK46fnHZWfOZadevMNqO6yafMlUOQqnL4HodZRy4soy_KKlO4lsMX6LM1mVJM0SNU3YZUO0KuhCSTz8cMnuoek26OTurc6_x2ZrMMLS_GLh-m8pdjbvsjhbjw2n-yBQrKvHf1jl1cvUQSG8pHCFOjni2coUmmbTy0omzt29A1-NkOwbcIw7H2cgnosYzdpkgOvOMJgYAz-_PHYba1aDF8SNZpTl49TrIJXp01mVWwr-5buDmCbebuk1beqwb1-3FQI0.Owtu7sXRP0m4qVdPQ0qMZJKr2mVrSUrtpGpH9hvqjAM; + - vamfjwtv3=stubbed_token; path=/;max-age=900; HttpOnly - vamftimeoutv1=1567617431; path=/ body: diff --git a/spec/support/vcr_cassettes/vaos/systems/get_system_facilities_express_care.yml b/spec/support/vcr_cassettes/vaos/systems/get_system_facilities_express_care.yml index ed87be437b6..fa095e53968 100644 --- a/spec/support/vcr_cassettes/vaos/systems/get_system_facilities_express_care.yml +++ b/spec/support/vcr_cassettes/vaos/systems/get_system_facilities_express_care.yml @@ -51,9 +51,9 @@ http_interactions: Access-Control-Max-Age: - '3600' Set-Cookie: - - TS016f4012=01c16e2d81fc226234f653b401a6d3c45964b178c3dca337d48dc27850ee4b2500802d8cd5ce3022f84792af5d23119520ca71bbc596b1ad67dc95ab16a1a86b35c68d151ea4d6e53a92650a851039167e75ca477a; + - TS016f4012=stubbed_cookie; Max-Age=900; Path=/ - - vamfjwtv3=eyJ6aXAiOiJERUYiLCJjdHkiOiJKV1QiLCJlbmMiOiJBMjU2Q0JDLUhTNTEyIiwiYWxnIjoiUlNBLU9BRVAtMjU2In0.ZyMpgyWmTxwJ4xf7e9aF8vSHP9YEZwRrI9sIRVX5x_tztvCzp4TDNj0yZ33GwHlXgDRFDIWh9qNZAq6d7ECDnI9hzZk-3Q-GM69bkUcdLRrYE4UX4i8HQawxXfC05lVHnqNZo81n4-laN91S6_In613ZcAQ4y4V-734nxqXFH9mYJUlf1MI3ixIPQ9G_0liQyvk0bZ2eE6GGGyDqt7mOvw_SGR3D3xgjB_csivbhkgY8qTOTTHCkRqYG6Ehpj9k2kiS_HD3XBVbyKTv3Oa7DtbnJ6HbFP7LUh-4pTATSBxT9IjyKtfCEHV9k0ZwMZGrnvJHmGaE3EcBq1qjeqdtdcw.aaLqA_CnlF_lo6pn2zINXw.Nn_C0mbkeOeXwxdkw_6h81GtmH0ykuMIKPeUUW4Z_yEmfBgTi6Ber9OUnv8OSsNVA8KUwsP8kgGB6Mh8xnvSVuA2jmn8YeG1dojV4Mhi8bGj4F0qKYTaCGorCEqpN8cu2wzupCuM4FYT3mXhHao1h_-Qc6_tRiDpbq572MngKJG8KHS7RYkMUo9RCRTuwSHQXr7XFN9Y0uToKGrY_r8a3LUr6PV8N5iFWunWF1G8_d6QbMFo-EY54cd9VPdJqydOtvTStyRbVjfq6Ud9GyzblgO22-jedghx0EOLOxjcIOVCEdJNnAnfokl50K53dW7ogK0Uj6ljH7_XzHyjhfDGBE_Xm_r2c9LYPX8_jp1bO2AZYllJGupAbJ4mIGCEG1zxUBNDaKX_T5rV5G5vxTGqlLw-9h6Il6rcqScrrfVciK46fnHZWfOZadevMNqO6yafMlUOQqnL4HodZRy4soy_KKlO4lsMX6LM1mVJM0SNU3YZUO0KuhCSTz8cMnuoek26OTurc6_x2ZrMMLS_GLh-m8pdjbvsjhbjw2n-yBQrKvHf1jl1cvUQSG8pHCFOjni2coUmmbTy0omzt29A1-NkOwbcIw7H2cgnosYzdpkgOvOMJgYAz-_PHYba1aDF8SNZpTl49TrIJXp01mVWwr-5buDmCbebuk1beqwb1-3FQI0.Owtu7sXRP0m4qVdPQ0qMZJKr2mVrSUrtpGpH9hvqjAM; + - vamfjwtv3=stubbed_token; path=/;max-age=900; HttpOnly - vamftimeoutv1=1567617431; path=/ body: diff --git a/spec/support/vcr_cassettes/vaos/systems/get_system_facilities_noparent.yml b/spec/support/vcr_cassettes/vaos/systems/get_system_facilities_noparent.yml index 901afb4a81a..e3da9025f16 100644 --- a/spec/support/vcr_cassettes/vaos/systems/get_system_facilities_noparent.yml +++ b/spec/support/vcr_cassettes/vaos/systems/get_system_facilities_noparent.yml @@ -51,9 +51,9 @@ http_interactions: Access-Control-Max-Age: - '3600' Set-Cookie: - - TS016f4012=01c16e2d81fc226234f653b401a6d3c45964b178c3dca337d48dc27850ee4b2500802d8cd5ce3022f84792af5d23119520ca71bbc596b1ad67dc95ab16a1a86b35c68d151ea4d6e53a92650a851039167e75ca477a; + - TS016f4012=stubbed_cookie; Max-Age=900; Path=/ - - vamfjwtv3=eyJ6aXAiOiJERUYiLCJjdHkiOiJKV1QiLCJlbmMiOiJBMjU2Q0JDLUhTNTEyIiwiYWxnIjoiUlNBLU9BRVAtMjU2In0.ZyMpgyWmTxwJ4xf7e9aF8vSHP9YEZwRrI9sIRVX5x_tztvCzp4TDNj0yZ33GwHlXgDRFDIWh9qNZAq6d7ECDnI9hzZk-3Q-GM69bkUcdLRrYE4UX4i8HQawxXfC05lVHnqNZo81n4-laN91S6_In613ZcAQ4y4V-734nxqXFH9mYJUlf1MI3ixIPQ9G_0liQyvk0bZ2eE6GGGyDqt7mOvw_SGR3D3xgjB_csivbhkgY8qTOTTHCkRqYG6Ehpj9k2kiS_HD3XBVbyKTv3Oa7DtbnJ6HbFP7LUh-4pTATSBxT9IjyKtfCEHV9k0ZwMZGrnvJHmGaE3EcBq1qjeqdtdcw.aaLqA_CnlF_lo6pn2zINXw.Nn_C0mbkeOeXwxdkw_6h81GtmH0ykuMIKPeUUW4Z_yEmfBgTi6Ber9OUnv8OSsNVA8KUwsP8kgGB6Mh8xnvSVuA2jmn8YeG1dojV4Mhi8bGj4F0qKYTaCGorCEqpN8cu2wzupCuM4FYT3mXhHao1h_-Qc6_tRiDpbq572MngKJG8KHS7RYkMUo9RCRTuwSHQXr7XFN9Y0uToKGrY_r8a3LUr6PV8N5iFWunWF1G8_d6QbMFo-EY54cd9VPdJqydOtvTStyRbVjfq6Ud9GyzblgO22-jedghx0EOLOxjcIOVCEdJNnAnfokl50K53dW7ogK0Uj6ljH7_XzHyjhfDGBE_Xm_r2c9LYPX8_jp1bO2AZYllJGupAbJ4mIGCEG1zxUBNDaKX_T5rV5G5vxTGqlLw-9h6Il6rcqScrrfVciK46fnHZWfOZadevMNqO6yafMlUOQqnL4HodZRy4soy_KKlO4lsMX6LM1mVJM0SNU3YZUO0KuhCSTz8cMnuoek26OTurc6_x2ZrMMLS_GLh-m8pdjbvsjhbjw2n-yBQrKvHf1jl1cvUQSG8pHCFOjni2coUmmbTy0omzt29A1-NkOwbcIw7H2cgnosYzdpkgOvOMJgYAz-_PHYba1aDF8SNZpTl49TrIJXp01mVWwr-5buDmCbebuk1beqwb1-3FQI0.Owtu7sXRP0m4qVdPQ0qMZJKr2mVrSUrtpGpH9hvqjAM; + - vamfjwtv3=stubbed_token; path=/;max-age=900; HttpOnly - vamftimeoutv1=1567617431; path=/ body: diff --git a/spec/support/vcr_cassettes/vaos/systems/get_system_pact.yml b/spec/support/vcr_cassettes/vaos/systems/get_system_pact.yml index ca22affd225..74b890235e2 100644 --- a/spec/support/vcr_cassettes/vaos/systems/get_system_pact.yml +++ b/spec/support/vcr_cassettes/vaos/systems/get_system_pact.yml @@ -51,9 +51,9 @@ http_interactions: Access-Control-Max-Age: - '3600' Set-Cookie: - - TS016f4012=01c16e2d81fc226234f653b401a6d3c45964b178c3dca337d48dc27850ee4b2500802d8cd5ce3022f84792af5d23119520ca71bbc596b1ad67dc95ab16a1a86b35c68d151ea4d6e53a92650a851039167e75ca477a; + - TS016f4012=stubbed_cookie; Max-Age=900; Path=/ - - vamfjwtv3=eyJ6aXAiOiJERUYiLCJjdHkiOiJKV1QiLCJlbmMiOiJBMjU2Q0JDLUhTNTEyIiwiYWxnIjoiUlNBLU9BRVAtMjU2In0.ZyMpgyWmTxwJ4xf7e9aF8vSHP9YEZwRrI9sIRVX5x_tztvCzp4TDNj0yZ33GwHlXgDRFDIWh9qNZAq6d7ECDnI9hzZk-3Q-GM69bkUcdLRrYE4UX4i8HQawxXfC05lVHnqNZo81n4-laN91S6_In613ZcAQ4y4V-734nxqXFH9mYJUlf1MI3ixIPQ9G_0liQyvk0bZ2eE6GGGyDqt7mOvw_SGR3D3xgjB_csivbhkgY8qTOTTHCkRqYG6Ehpj9k2kiS_HD3XBVbyKTv3Oa7DtbnJ6HbFP7LUh-4pTATSBxT9IjyKtfCEHV9k0ZwMZGrnvJHmGaE3EcBq1qjeqdtdcw.aaLqA_CnlF_lo6pn2zINXw.Nn_C0mbkeOeXwxdkw_6h81GtmH0ykuMIKPeUUW4Z_yEmfBgTi6Ber9OUnv8OSsNVA8KUwsP8kgGB6Mh8xnvSVuA2jmn8YeG1dojV4Mhi8bGj4F0qKYTaCGorCEqpN8cu2wzupCuM4FYT3mXhHao1h_-Qc6_tRiDpbq572MngKJG8KHS7RYkMUo9RCRTuwSHQXr7XFN9Y0uToKGrY_r8a3LUr6PV8N5iFWunWF1G8_d6QbMFo-EY54cd9VPdJqydOtvTStyRbVjfq6Ud9GyzblgO22-jedghx0EOLOxjcIOVCEdJNnAnfokl50K53dW7ogK0Uj6ljH7_XzHyjhfDGBE_Xm_r2c9LYPX8_jp1bO2AZYllJGupAbJ4mIGCEG1zxUBNDaKX_T5rV5G5vxTGqlLw-9h6Il6rcqScrrfVciK46fnHZWfOZadevMNqO6yafMlUOQqnL4HodZRy4soy_KKlO4lsMX6LM1mVJM0SNU3YZUO0KuhCSTz8cMnuoek26OTurc6_x2ZrMMLS_GLh-m8pdjbvsjhbjw2n-yBQrKvHf1jl1cvUQSG8pHCFOjni2coUmmbTy0omzt29A1-NkOwbcIw7H2cgnosYzdpkgOvOMJgYAz-_PHYba1aDF8SNZpTl49TrIJXp01mVWwr-5buDmCbebuk1beqwb1-3FQI0.Owtu7sXRP0m4qVdPQ0qMZJKr2mVrSUrtpGpH9hvqjAM; + - vamfjwtv3=stubbed_token; path=/;max-age=900; HttpOnly - vamftimeoutv1=1567617431; path=/ body: diff --git a/spec/support/vcr_cassettes/vaos/systems/get_system_pact_500.yml b/spec/support/vcr_cassettes/vaos/systems/get_system_pact_500.yml index 7506a3c8d89..f557e0f4ca3 100644 --- a/spec/support/vcr_cassettes/vaos/systems/get_system_pact_500.yml +++ b/spec/support/vcr_cassettes/vaos/systems/get_system_pact_500.yml @@ -51,9 +51,9 @@ http_interactions: Access-Control-Max-Age: - '3600' Set-Cookie: - - TS016f4012=01c16e2d81fc226234f653b401a6d3c45964b178c3dca337d48dc27850ee4b2500802d8cd5ce3022f84792af5d23119520ca71bbc596b1ad67dc95ab16a1a86b35c68d151ea4d6e53a92650a851039167e75ca477a; + - TS016f4012=stubbed_cookie; Max-Age=900; Path=/ - - vamfjwtv3=eyJ6aXAiOiJERUYiLCJjdHkiOiJKV1QiLCJlbmMiOiJBMjU2Q0JDLUhTNTEyIiwiYWxnIjoiUlNBLU9BRVAtMjU2In0.ZyMpgyWmTxwJ4xf7e9aF8vSHP9YEZwRrI9sIRVX5x_tztvCzp4TDNj0yZ33GwHlXgDRFDIWh9qNZAq6d7ECDnI9hzZk-3Q-GM69bkUcdLRrYE4UX4i8HQawxXfC05lVHnqNZo81n4-laN91S6_In613ZcAQ4y4V-734nxqXFH9mYJUlf1MI3ixIPQ9G_0liQyvk0bZ2eE6GGGyDqt7mOvw_SGR3D3xgjB_csivbhkgY8qTOTTHCkRqYG6Ehpj9k2kiS_HD3XBVbyKTv3Oa7DtbnJ6HbFP7LUh-4pTATSBxT9IjyKtfCEHV9k0ZwMZGrnvJHmGaE3EcBq1qjeqdtdcw.aaLqA_CnlF_lo6pn2zINXw.Nn_C0mbkeOeXwxdkw_6h81GtmH0ykuMIKPeUUW4Z_yEmfBgTi6Ber9OUnv8OSsNVA8KUwsP8kgGB6Mh8xnvSVuA2jmn8YeG1dojV4Mhi8bGj4F0qKYTaCGorCEqpN8cu2wzupCuM4FYT3mXhHao1h_-Qc6_tRiDpbq572MngKJG8KHS7RYkMUo9RCRTuwSHQXr7XFN9Y0uToKGrY_r8a3LUr6PV8N5iFWunWF1G8_d6QbMFo-EY54cd9VPdJqydOtvTStyRbVjfq6Ud9GyzblgO22-jedghx0EOLOxjcIOVCEdJNnAnfokl50K53dW7ogK0Uj6ljH7_XzHyjhfDGBE_Xm_r2c9LYPX8_jp1bO2AZYllJGupAbJ4mIGCEG1zxUBNDaKX_T5rV5G5vxTGqlLw-9h6Il6rcqScrrfVciK46fnHZWfOZadevMNqO6yafMlUOQqnL4HodZRy4soy_KKlO4lsMX6LM1mVJM0SNU3YZUO0KuhCSTz8cMnuoek26OTurc6_x2ZrMMLS_GLh-m8pdjbvsjhbjw2n-yBQrKvHf1jl1cvUQSG8pHCFOjni2coUmmbTy0omzt29A1-NkOwbcIw7H2cgnosYzdpkgOvOMJgYAz-_PHYba1aDF8SNZpTl49TrIJXp01mVWwr-5buDmCbebuk1beqwb1-3FQI0.Owtu7sXRP0m4qVdPQ0qMZJKr2mVrSUrtpGpH9hvqjAM; + - vamfjwtv3=stubbed_token; path=/;max-age=900; HttpOnly - vamftimeoutv1=1567617431; path=/ body: diff --git a/spec/support/vcr_cassettes/vaos/systems/get_systems.yml b/spec/support/vcr_cassettes/vaos/systems/get_systems.yml index b18c91f8a05..e1e42c84b30 100644 --- a/spec/support/vcr_cassettes/vaos/systems/get_systems.yml +++ b/spec/support/vcr_cassettes/vaos/systems/get_systems.yml @@ -51,9 +51,9 @@ http_interactions: Access-Control-Max-Age: - '3600' Set-Cookie: - - TS016f4012=01c16e2d81fc226234f653b401a6d3c45964b178c3dca337d48dc27850ee4b2500802d8cd5ce3022f84792af5d23119520ca71bbc596b1ad67dc95ab16a1a86b35c68d151ea4d6e53a92650a851039167e75ca477a; + - TS016f4012=stubbed_cookie; Max-Age=900; Path=/ - - vamfjwtv3=eyJ6aXAiOiJERUYiLCJjdHkiOiJKV1QiLCJlbmMiOiJBMjU2Q0JDLUhTNTEyIiwiYWxnIjoiUlNBLU9BRVAtMjU2In0.ZyMpgyWmTxwJ4xf7e9aF8vSHP9YEZwRrI9sIRVX5x_tztvCzp4TDNj0yZ33GwHlXgDRFDIWh9qNZAq6d7ECDnI9hzZk-3Q-GM69bkUcdLRrYE4UX4i8HQawxXfC05lVHnqNZo81n4-laN91S6_In613ZcAQ4y4V-734nxqXFH9mYJUlf1MI3ixIPQ9G_0liQyvk0bZ2eE6GGGyDqt7mOvw_SGR3D3xgjB_csivbhkgY8qTOTTHCkRqYG6Ehpj9k2kiS_HD3XBVbyKTv3Oa7DtbnJ6HbFP7LUh-4pTATSBxT9IjyKtfCEHV9k0ZwMZGrnvJHmGaE3EcBq1qjeqdtdcw.aaLqA_CnlF_lo6pn2zINXw.Nn_C0mbkeOeXwxdkw_6h81GtmH0ykuMIKPeUUW4Z_yEmfBgTi6Ber9OUnv8OSsNVA8KUwsP8kgGB6Mh8xnvSVuA2jmn8YeG1dojV4Mhi8bGj4F0qKYTaCGorCEqpN8cu2wzupCuM4FYT3mXhHao1h_-Qc6_tRiDpbq572MngKJG8KHS7RYkMUo9RCRTuwSHQXr7XFN9Y0uToKGrY_r8a3LUr6PV8N5iFWunWF1G8_d6QbMFo-EY54cd9VPdJqydOtvTStyRbVjfq6Ud9GyzblgO22-jedghx0EOLOxjcIOVCEdJNnAnfokl50K53dW7ogK0Uj6ljH7_XzHyjhfDGBE_Xm_r2c9LYPX8_jp1bO2AZYllJGupAbJ4mIGCEG1zxUBNDaKX_T5rV5G5vxTGqlLw-9h6Il6rcqScrrfVciK46fnHZWfOZadevMNqO6yafMlUOQqnL4HodZRy4soy_KKlO4lsMX6LM1mVJM0SNU3YZUO0KuhCSTz8cMnuoek26OTurc6_x2ZrMMLS_GLh-m8pdjbvsjhbjw2n-yBQrKvHf1jl1cvUQSG8pHCFOjni2coUmmbTy0omzt29A1-NkOwbcIw7H2cgnosYzdpkgOvOMJgYAz-_PHYba1aDF8SNZpTl49TrIJXp01mVWwr-5buDmCbebuk1beqwb1-3FQI0.Owtu7sXRP0m4qVdPQ0qMZJKr2mVrSUrtpGpH9hvqjAM; + - vamfjwtv3=stubbed_token; path=/;max-age=900; HttpOnly - vamftimeoutv1=1567617431; path=/ body: diff --git a/spec/support/vcr_cassettes/vaos/systems/get_systems_403.yml b/spec/support/vcr_cassettes/vaos/systems/get_systems_403.yml index c711da889f2..ae9543b9aff 100644 --- a/spec/support/vcr_cassettes/vaos/systems/get_systems_403.yml +++ b/spec/support/vcr_cassettes/vaos/systems/get_systems_403.yml @@ -51,9 +51,9 @@ http_interactions: Access-Control-Max-Age: - '3600' Set-Cookie: - - TS016f4012=01c16e2d81fc226234f653b401a6d3c45964b178c3dca337d48dc27850ee4b2500802d8cd5ce3022f84792af5d23119520ca71bbc596b1ad67dc95ab16a1a86b35c68d151ea4d6e53a92650a851039167e75ca477a; + - TS016f4012=stubbed_cookie; Max-Age=900; Path=/ - - vamfjwtv3=eyJ6aXAiOiJERUYiLCJjdHkiOiJKV1QiLCJlbmMiOiJBMjU2Q0JDLUhTNTEyIiwiYWxnIjoiUlNBLU9BRVAtMjU2In0.ZyMpgyWmTxwJ4xf7e9aF8vSHP9YEZwRrI9sIRVX5x_tztvCzp4TDNj0yZ33GwHlXgDRFDIWh9qNZAq6d7ECDnI9hzZk-3Q-GM69bkUcdLRrYE4UX4i8HQawxXfC05lVHnqNZo81n4-laN91S6_In613ZcAQ4y4V-734nxqXFH9mYJUlf1MI3ixIPQ9G_0liQyvk0bZ2eE6GGGyDqt7mOvw_SGR3D3xgjB_csivbhkgY8qTOTTHCkRqYG6Ehpj9k2kiS_HD3XBVbyKTv3Oa7DtbnJ6HbFP7LUh-4pTATSBxT9IjyKtfCEHV9k0ZwMZGrnvJHmGaE3EcBq1qjeqdtdcw.aaLqA_CnlF_lo6pn2zINXw.Nn_C0mbkeOeXwxdkw_6h81GtmH0ykuMIKPeUUW4Z_yEmfBgTi6Ber9OUnv8OSsNVA8KUwsP8kgGB6Mh8xnvSVuA2jmn8YeG1dojV4Mhi8bGj4F0qKYTaCGorCEqpN8cu2wzupCuM4FYT3mXhHao1h_-Qc6_tRiDpbq572MngKJG8KHS7RYkMUo9RCRTuwSHQXr7XFN9Y0uToKGrY_r8a3LUr6PV8N5iFWunWF1G8_d6QbMFo-EY54cd9VPdJqydOtvTStyRbVjfq6Ud9GyzblgO22-jedghx0EOLOxjcIOVCEdJNnAnfokl50K53dW7ogK0Uj6ljH7_XzHyjhfDGBE_Xm_r2c9LYPX8_jp1bO2AZYllJGupAbJ4mIGCEG1zxUBNDaKX_T5rV5G5vxTGqlLw-9h6Il6rcqScrrfVciK46fnHZWfOZadevMNqO6yafMlUOQqnL4HodZRy4soy_KKlO4lsMX6LM1mVJM0SNU3YZUO0KuhCSTz8cMnuoek26OTurc6_x2ZrMMLS_GLh-m8pdjbvsjhbjw2n-yBQrKvHf1jl1cvUQSG8pHCFOjni2coUmmbTy0omzt29A1-NkOwbcIw7H2cgnosYzdpkgOvOMJgYAz-_PHYba1aDF8SNZpTl49TrIJXp01mVWwr-5buDmCbebuk1beqwb1-3FQI0.Owtu7sXRP0m4qVdPQ0qMZJKr2mVrSUrtpGpH9hvqjAM; + - vamfjwtv3=stubbed_token; path=/;max-age=900; HttpOnly - vamftimeoutv1=1567617431; path=/ body: diff --git a/spec/support/vcr_cassettes/vaos/systems/get_systems_420.yml b/spec/support/vcr_cassettes/vaos/systems/get_systems_420.yml index 6c8fd00291b..a6e026f8f75 100644 --- a/spec/support/vcr_cassettes/vaos/systems/get_systems_420.yml +++ b/spec/support/vcr_cassettes/vaos/systems/get_systems_420.yml @@ -51,9 +51,9 @@ http_interactions: Access-Control-Max-Age: - '3600' Set-Cookie: - - TS016f4012=01c16e2d81fc226234f653b401a6d3c45964b178c3dca337d48dc27850ee4b2500802d8cd5ce3022f84792af5d23119520ca71bbc596b1ad67dc95ab16a1a86b35c68d151ea4d6e53a92650a851039167e75ca477a; + - TS016f4012=stubbed_cookie; Max-Age=900; Path=/ - - vamfjwtv3=eyJ6aXAiOiJERUYiLCJjdHkiOiJKV1QiLCJlbmMiOiJBMjU2Q0JDLUhTNTEyIiwiYWxnIjoiUlNBLU9BRVAtMjU2In0.ZyMpgyWmTxwJ4xf7e9aF8vSHP9YEZwRrI9sIRVX5x_tztvCzp4TDNj0yZ33GwHlXgDRFDIWh9qNZAq6d7ECDnI9hzZk-3Q-GM69bkUcdLRrYE4UX4i8HQawxXfC05lVHnqNZo81n4-laN91S6_In613ZcAQ4y4V-734nxqXFH9mYJUlf1MI3ixIPQ9G_0liQyvk0bZ2eE6GGGyDqt7mOvw_SGR3D3xgjB_csivbhkgY8qTOTTHCkRqYG6Ehpj9k2kiS_HD3XBVbyKTv3Oa7DtbnJ6HbFP7LUh-4pTATSBxT9IjyKtfCEHV9k0ZwMZGrnvJHmGaE3EcBq1qjeqdtdcw.aaLqA_CnlF_lo6pn2zINXw.Nn_C0mbkeOeXwxdkw_6h81GtmH0ykuMIKPeUUW4Z_yEmfBgTi6Ber9OUnv8OSsNVA8KUwsP8kgGB6Mh8xnvSVuA2jmn8YeG1dojV4Mhi8bGj4F0qKYTaCGorCEqpN8cu2wzupCuM4FYT3mXhHao1h_-Qc6_tRiDpbq572MngKJG8KHS7RYkMUo9RCRTuwSHQXr7XFN9Y0uToKGrY_r8a3LUr6PV8N5iFWunWF1G8_d6QbMFo-EY54cd9VPdJqydOtvTStyRbVjfq6Ud9GyzblgO22-jedghx0EOLOxjcIOVCEdJNnAnfokl50K53dW7ogK0Uj6ljH7_XzHyjhfDGBE_Xm_r2c9LYPX8_jp1bO2AZYllJGupAbJ4mIGCEG1zxUBNDaKX_T5rV5G5vxTGqlLw-9h6Il6rcqScrrfVciK46fnHZWfOZadevMNqO6yafMlUOQqnL4HodZRy4soy_KKlO4lsMX6LM1mVJM0SNU3YZUO0KuhCSTz8cMnuoek26OTurc6_x2ZrMMLS_GLh-m8pdjbvsjhbjw2n-yBQrKvHf1jl1cvUQSG8pHCFOjni2coUmmbTy0omzt29A1-NkOwbcIw7H2cgnosYzdpkgOvOMJgYAz-_PHYba1aDF8SNZpTl49TrIJXp01mVWwr-5buDmCbebuk1beqwb1-3FQI0.Owtu7sXRP0m4qVdPQ0qMZJKr2mVrSUrtpGpH9hvqjAM; + - vamfjwtv3=stubbed_token; path=/;max-age=900; HttpOnly - vamftimeoutv1=1567617431; path=/ body: diff --git a/spec/support/vcr_cassettes/vaos/systems/get_systems_500.yml b/spec/support/vcr_cassettes/vaos/systems/get_systems_500.yml index 233b2fe5571..17bf7470b95 100644 --- a/spec/support/vcr_cassettes/vaos/systems/get_systems_500.yml +++ b/spec/support/vcr_cassettes/vaos/systems/get_systems_500.yml @@ -51,9 +51,9 @@ http_interactions: Access-Control-Max-Age: - '3600' Set-Cookie: - - TS016f4012=01c16e2d81fc226234f653b401a6d3c45964b178c3dca337d48dc27850ee4b2500802d8cd5ce3022f84792af5d23119520ca71bbc596b1ad67dc95ab16a1a86b35c68d151ea4d6e53a92650a851039167e75ca477a; + - TS016f4012=stubbed_cookie; Max-Age=900; Path=/ - - vamfjwtv3=eyJ6aXAiOiJERUYiLCJjdHkiOiJKV1QiLCJlbmMiOiJBMjU2Q0JDLUhTNTEyIiwiYWxnIjoiUlNBLU9BRVAtMjU2In0.ZyMpgyWmTxwJ4xf7e9aF8vSHP9YEZwRrI9sIRVX5x_tztvCzp4TDNj0yZ33GwHlXgDRFDIWh9qNZAq6d7ECDnI9hzZk-3Q-GM69bkUcdLRrYE4UX4i8HQawxXfC05lVHnqNZo81n4-laN91S6_In613ZcAQ4y4V-734nxqXFH9mYJUlf1MI3ixIPQ9G_0liQyvk0bZ2eE6GGGyDqt7mOvw_SGR3D3xgjB_csivbhkgY8qTOTTHCkRqYG6Ehpj9k2kiS_HD3XBVbyKTv3Oa7DtbnJ6HbFP7LUh-4pTATSBxT9IjyKtfCEHV9k0ZwMZGrnvJHmGaE3EcBq1qjeqdtdcw.aaLqA_CnlF_lo6pn2zINXw.Nn_C0mbkeOeXwxdkw_6h81GtmH0ykuMIKPeUUW4Z_yEmfBgTi6Ber9OUnv8OSsNVA8KUwsP8kgGB6Mh8xnvSVuA2jmn8YeG1dojV4Mhi8bGj4F0qKYTaCGorCEqpN8cu2wzupCuM4FYT3mXhHao1h_-Qc6_tRiDpbq572MngKJG8KHS7RYkMUo9RCRTuwSHQXr7XFN9Y0uToKGrY_r8a3LUr6PV8N5iFWunWF1G8_d6QbMFo-EY54cd9VPdJqydOtvTStyRbVjfq6Ud9GyzblgO22-jedghx0EOLOxjcIOVCEdJNnAnfokl50K53dW7ogK0Uj6ljH7_XzHyjhfDGBE_Xm_r2c9LYPX8_jp1bO2AZYllJGupAbJ4mIGCEG1zxUBNDaKX_T5rV5G5vxTGqlLw-9h6Il6rcqScrrfVciK46fnHZWfOZadevMNqO6yafMlUOQqnL4HodZRy4soy_KKlO4lsMX6LM1mVJM0SNU3YZUO0KuhCSTz8cMnuoek26OTurc6_x2ZrMMLS_GLh-m8pdjbvsjhbjw2n-yBQrKvHf1jl1cvUQSG8pHCFOjni2coUmmbTy0omzt29A1-NkOwbcIw7H2cgnosYzdpkgOvOMJgYAz-_PHYba1aDF8SNZpTl49TrIJXp01mVWwr-5buDmCbebuk1beqwb1-3FQI0.Owtu7sXRP0m4qVdPQ0qMZJKr2mVrSUrtpGpH9hvqjAM; + - vamfjwtv3=stubbed_token; path=/;max-age=900; HttpOnly - vamftimeoutv1=1567617431; path=/ body: diff --git a/spec/support/vcr_cassettes/vaos/v2/appointments/cancel_appointment_400.yml b/spec/support/vcr_cassettes/vaos/v2/appointments/cancel_appointment_400.yml index 2b0b5741825..87806454712 100644 --- a/spec/support/vcr_cassettes/vaos/v2/appointments/cancel_appointment_400.yml +++ b/spec/support/vcr_cassettes/vaos/v2/appointments/cancel_appointment_400.yml @@ -16,7 +16,7 @@ http_interactions: Referer: - https://review-instance.va.gov X-Vamf-Jwt: - - eyJhbGciOiJSUzUxMiJ9.eyJhdXRoZW50aWNhdGVkIjp0cnVlLCJsYXN0TmFtZSI6Ik1vcnJpc29uIiwic3ViIjoiMTAxMjg0NTMzMVYxNTMwNDMiLCJhdXRoZW50aWNhdGlvbkF1dGhvcml0eSI6Imdvdi52YS52YW9zIiwiZ2VuZGVyIjoiRkVNQUxFIiwiaXNzIjoiZ292LnZhLnZhbWYudXNlcnNlcnZpY2UudjIiLCJ2YW1mLmF1dGgucmVzb3VyY2VzIjpbIl4uKihcLyk_c2l0ZVtzXT9cLyhkZm4tKT85ODRcL3BhdGllbnRbc10_XC81NTIxNjEwNTBcL2FwcG9pbnRtZW50cyhcLy4qKT8kIiwiXi4qKFwvKT9zaXRlW3NdP1wvKGRmbi0pPzk4M1wvcGF0aWVudFtzXT9cLzcyMTY2OTFcL2FwcG9pbnRtZW50cyhcLy4qKT8kIiwiXi4qKFwvKT9wYXRpZW50W3NdP1wvKElDTlwvKT8xMDEyODQ1MzMxVjE1MzA0MyhcLy4qKT8kIl0sInNzbiI6Ijc5NjA2MTk3NiIsInNzdCI6MTYzNjA1NzU2NSwicGF0aWVudCI6eyJmaXJzdE5hbWUiOiJKdWR5IiwibGFzdE5hbWUiOiJNb3JyaXNvbiIsImdlbmRlciI6IkZFTUFMRSIsImljbiI6IjEwMTI4NDUzMzFWMTUzMDQzIiwiZG9iIjoiMTk1My0wNC0wMSIsImRhdGVPZkJpcnRoIjoiMTk1My0wNC0wMSIsInNzbiI6Ijc5NjA2MTk3NiJ9LCJ2YW1mLmF1dGgucm9sZXMiOlsidmV0ZXJhbiJdLCJyaWdodE9mQWNjZXNzQWNjZXB0ZWQiOnRydWUsImV4cCI6MTYzNjA1ODQ2NiwianRpIjoiYWMxNmMyMjUtMjBmOS00NWQxLWE4NTEtZmZiYWIyNGJmN2U2IiwiaWRUeXBlIjoiSUNOIiwiZGF0ZU9mQmlydGgiOiIxOTUzMDQwMSIsInZlcnNpb24iOjIuNiwiZWRpcGlkIjoiMTI1OTg5Nzk3OCIsInZpc3RhSWRzIjpbeyJwYXRpZW50SWQiOiI1NTIxNjEwNTAiLCJzaXRlSWQiOiI5ODQifSx7InBhdGllbnRJZCI6IjcyMTY2OTEiLCJzaXRlSWQiOiI5ODMifV0sImZpcnN0TmFtZSI6Ikp1ZHkiLCJzdGFmZkRpc2NsYWltZXJBY2NlcHRlZCI6dHJ1ZSwibmJmIjoxNjM2MDU3Mzg2LCJkb2IiOiIxOTUzMDQwMSIsImxvYSI6Mn0.Yc0dunUjtpp08j83NBxDLTjJWKLxtvjneNykdKHlwdxyBE2OuYdTVZQmBZuqK4bMIabNAc6OiMD7u3Hsk1Lo0J1T_L2NYxoFA4hRMU1-KuY49rwENvgVoGF_ywzDiYFy-DGvYPwxO2G30BsPz1QJJ9PSpb1FsReqAbmcEncBXetRzhQG8skSg5Ica7z21khCse-60uojiilQh3Qzov-1lttH3UboOfwPCOjlzmTZpdKg7z6g5eahD4fsv0vD-od2srPHM2eYJVEQe8YptNbicqj3I1KnNDHAEr3FxPMvShFzZ8Bw9CDXMm8IA2iyFCnYc3G82aY9RkZk-LCJjwR6Zg + - stubbed_token X-Request-Id: - '' Accept-Encoding: diff --git a/spec/support/vcr_cassettes/vaos/v2/appointments/cancel_appointment_vpg_400.yml b/spec/support/vcr_cassettes/vaos/v2/appointments/cancel_appointment_vpg_400.yml index 74f516bd38a..f1de2a8563e 100644 --- a/spec/support/vcr_cassettes/vaos/v2/appointments/cancel_appointment_vpg_400.yml +++ b/spec/support/vcr_cassettes/vaos/v2/appointments/cancel_appointment_vpg_400.yml @@ -16,7 +16,7 @@ http_interactions: Referer: - https://review-instance.va.gov X-Vamf-Jwt: - - eyJhbGciOiJSUzUxMiJ9.eyJhdXRoZW50aWNhdGVkIjp0cnVlLCJsYXN0TmFtZSI6Ik1vcnJpc29uIiwic3ViIjoiMTAxMjg0NTMzMVYxNTMwNDMiLCJhdXRoZW50aWNhdGlvbkF1dGhvcml0eSI6Imdvdi52YS52YW9zIiwiZ2VuZGVyIjoiRkVNQUxFIiwiaXNzIjoiZ292LnZhLnZhbWYudXNlcnNlcnZpY2UudjIiLCJ2YW1mLmF1dGgucmVzb3VyY2VzIjpbIl4uKihcLyk_c2l0ZVtzXT9cLyhkZm4tKT85ODRcL3BhdGllbnRbc10_XC81NTIxNjEwNTBcL2FwcG9pbnRtZW50cyhcLy4qKT8kIiwiXi4qKFwvKT9zaXRlW3NdP1wvKGRmbi0pPzk4M1wvcGF0aWVudFtzXT9cLzcyMTY2OTFcL2FwcG9pbnRtZW50cyhcLy4qKT8kIiwiXi4qKFwvKT9wYXRpZW50W3NdP1wvKElDTlwvKT8xMDEyODQ1MzMxVjE1MzA0MyhcLy4qKT8kIl0sInNzbiI6Ijc5NjA2MTk3NiIsInNzdCI6MTYzNjA1NzU2NSwicGF0aWVudCI6eyJmaXJzdE5hbWUiOiJKdWR5IiwibGFzdE5hbWUiOiJNb3JyaXNvbiIsImdlbmRlciI6IkZFTUFMRSIsImljbiI6IjEwMTI4NDUzMzFWMTUzMDQzIiwiZG9iIjoiMTk1My0wNC0wMSIsImRhdGVPZkJpcnRoIjoiMTk1My0wNC0wMSIsInNzbiI6Ijc5NjA2MTk3NiJ9LCJ2YW1mLmF1dGgucm9sZXMiOlsidmV0ZXJhbiJdLCJyaWdodE9mQWNjZXNzQWNjZXB0ZWQiOnRydWUsImV4cCI6MTYzNjA1ODQ2NiwianRpIjoiYWMxNmMyMjUtMjBmOS00NWQxLWE4NTEtZmZiYWIyNGJmN2U2IiwiaWRUeXBlIjoiSUNOIiwiZGF0ZU9mQmlydGgiOiIxOTUzMDQwMSIsInZlcnNpb24iOjIuNiwiZWRpcGlkIjoiMTI1OTg5Nzk3OCIsInZpc3RhSWRzIjpbeyJwYXRpZW50SWQiOiI1NTIxNjEwNTAiLCJzaXRlSWQiOiI5ODQifSx7InBhdGllbnRJZCI6IjcyMTY2OTEiLCJzaXRlSWQiOiI5ODMifV0sImZpcnN0TmFtZSI6Ikp1ZHkiLCJzdGFmZkRpc2NsYWltZXJBY2NlcHRlZCI6dHJ1ZSwibmJmIjoxNjM2MDU3Mzg2LCJkb2IiOiIxOTUzMDQwMSIsImxvYSI6Mn0.Yc0dunUjtpp08j83NBxDLTjJWKLxtvjneNykdKHlwdxyBE2OuYdTVZQmBZuqK4bMIabNAc6OiMD7u3Hsk1Lo0J1T_L2NYxoFA4hRMU1-KuY49rwENvgVoGF_ywzDiYFy-DGvYPwxO2G30BsPz1QJJ9PSpb1FsReqAbmcEncBXetRzhQG8skSg5Ica7z21khCse-60uojiilQh3Qzov-1lttH3UboOfwPCOjlzmTZpdKg7z6g5eahD4fsv0vD-od2srPHM2eYJVEQe8YptNbicqj3I1KnNDHAEr3FxPMvShFzZ8Bw9CDXMm8IA2iyFCnYc3G82aY9RkZk-LCJjwR6Zg + - stubbed_token X-Request-Id: - '' Accept-Encoding: diff --git a/spec/support/vcr_cassettes/vaos/v2/appointments/cancel_appointments_200.yml b/spec/support/vcr_cassettes/vaos/v2/appointments/cancel_appointments_200.yml index 5ebf14b45b6..8b3d3adca05 100644 --- a/spec/support/vcr_cassettes/vaos/v2/appointments/cancel_appointments_200.yml +++ b/spec/support/vcr_cassettes/vaos/v2/appointments/cancel_appointments_200.yml @@ -16,7 +16,7 @@ http_interactions: Referer: - https://review-instance.va.gov X-Vamf-Jwt: - - eyJhbGciOiJSUzUxMiJ9.eyJhdXRoZW50aWNhdGVkIjp0cnVlLCJsYXN0TmFtZSI6Ik1vcmdhbiIsInN1YiI6IjEwMTI4NDYwNDNWNTc2MzQxIiwiYXV0aGVudGljYXRpb25BdXRob3JpdHkiOiJnb3YudmEudmFvcyIsImdlbmRlciI6IkZFTUFMRSIsImlzcyI6Imdvdi52YS52YW1mLnVzZXJzZXJ2aWNlLnYyIiwidmFtZi5hdXRoLnJlc291cmNlcyI6WyJeLiooXC8pP3BhdGllbnRbc10_XC8oSUNOXC8pPzEwMTI4NDYwNDNWNTc2MzQxKFwvLiopPyQiLCJeLiooXC8pP3NpdGVbc10_XC8oZGZuLSk_OTgzXC9wYXRpZW50W3NdP1wvNzIxNjY4NVwvYXBwb2ludG1lbnRzKFwvLiopPyQiLCJeLiooXC8pP3NpdGVbc10_XC8oZGZuLSk_NjY4XC9wYXRpZW50W3NdP1wvMTYxNzM3XC9hcHBvaW50bWVudHMoXC8uKik_JCIsIl4uKihcLyk_c2l0ZVtzXT9cLyhkZm4tKT85ODRcL3BhdGllbnRbc10_XC81NTIxNjEwNDRcL2FwcG9pbnRtZW50cyhcLy4qKT8kIl0sInNzbiI6Ijc5NjA2MTk3NiIsInNzdCI6MTYzOTU5NDI5MywicGF0aWVudCI6eyJmaXJzdE5hbWUiOiJKYWNxdWVsaW5lIiwibGFzdE5hbWUiOiJNb3JnYW4iLCJnZW5kZXIiOiJGRU1BTEUiLCJpY24iOiIxMDEyODQ2MDQzVjU3NjM0MSIsImRvYiI6IjE5NjItMDItMDciLCJkYXRlT2ZCaXJ0aCI6IjE5NjItMDItMDciLCJzc24iOiI3OTYwNjE5NzYifSwidmFtZi5hdXRoLnJvbGVzIjpbInZldGVyYW4iXSwicmlnaHRPZkFjY2Vzc0FjY2VwdGVkIjp0cnVlLCJleHAiOjE2Mzk1OTUxOTMsImp0aSI6IjVhNmQwYTkwLTQ2YjQtNDkwZC04NGEwLWM5YzIyOGE0OTFjNiIsImlkVHlwZSI6IklDTiIsImRhdGVPZkJpcnRoIjoiMTk2MjAyMDciLCJ2ZXJzaW9uIjoyLjYsImVkaXBpZCI6IjEwMTM1OTk3MzAiLCJ2aXN0YUlkcyI6W3sicGF0aWVudElkIjoiNzIxNjY4NSIsInNpdGVJZCI6Ijk4MyJ9LHsicGF0aWVudElkIjoiMTYxNzM3Iiwic2l0ZUlkIjoiNjY4In0seyJwYXRpZW50SWQiOiI1NTIxNjEwNDQiLCJzaXRlSWQiOiI5ODQifV0sImZpcnN0TmFtZSI6IkphY3F1ZWxpbmUiLCJzdGFmZkRpc2NsYWltZXJBY2NlcHRlZCI6dHJ1ZSwibmJmIjoxNjM5NTk0MTEzLCJkb2IiOiIxOTYyMDIwNyIsImxvYSI6Mn0.Aw8u9NWLFQU2n2ZCEykRJcz3SDP4Tkm700yYu-qIcRvs2MrNjl3FgXxoxCKzJcakVRWnjOCy1T29ow3yi-NcVgkTQtioq6qUiDGJuLwFDllAqDq3cK20puPG_hEsmlun2lhUUX8J00-n_JyKHww5_Ml69IrOfo7V_06TCCLjbw58LIqBXo7aHeWV3KVn7xCnovs-Ns7ITnHAIZmv2aqZnZ5ytuDppoqOHywrGY1BAE7GqsEcSXFdjXy_jWiICUeHHk-8gIjn3NmLWZhXd8_1jYwwViqx7pvDmUYxkRoh2p_GfDNL-3yEhyvO1evEyd4_4zl03ji6tgPFFOfFynaENg + - stubbed_token X-Request-Id: - '' Accept-Encoding: @@ -109,9 +109,9 @@ http_interactions: Access-Control-Max-Age: - '3600' Set-Cookie: - - TS016f4012=01c8917e48942c0b5ff239a16ca2ba227e0313acacd04bf1cd635dec6ab39afded157215f42f9631650935028a6b883370daa6e523; + - TS016f4012=stubbed_cookie; Max-Age=900; Path=/ - - vamfjwtv3=eyJ6aXAiOiJERUYiLCJjdHkiOiJKV1QiLCJlbmMiOiJBMjU2Q0JDLUhTNTEyIiwiYWxnIjoiUlNBLU9BRVAtMjU2In0.QshsCpJt018VDLmaehzv4q_YT3PYSNNnS17ol7yBxzjoRZBmloU7WzkDcWi5jgME3KHD-IQCziwmdGHK95EDWe0foLqztzm4PxW1ROgBcPANCJ_8UF1nyeXCW6ODP8f3s1ujBHL8nsjwGTtqiAX5-SUZHqtNrwo1oJn4GUK1uBToXRkaDoBgeUZx3arC0r9lyO6TMQLvTSjFcBlAgFfnw2LKwN_4xrFVP6J1pXGNBBQ5aiAYizsSwl84wxTXRiE9ZVq-9ROJ25WbNUtm5BQ40GMU89NLsFqKQ42N_H2FEgn5Z2r7cTiKi-CxQ9YA5Y2K-1dTFr8mrdUCzji79814fw.BxjRRG0Hjj1mcvXdMwectg.G54DHaFpoAqtgKPfMKFpv0YWklWtb060sB9FMvyEq5s217B62gnWvfZqPhIVhuKJjGwUcjRxcs2AwBe0cjJWm0J8AwSp3QI2k62QneqBEu3HE4okh2DB9xtj4VGa7OP4-WRSFk1-QR1gm2mOJ-CKHeLVm7EHSpZld0SwL0n9dF2rJOZ7MKyLG0ZNae3bHSvL8y8ddXMKZwCK9P4341XpM5kUW6aNZn6Ai_CD5MimeBZCVqyeTtBpIxQVyAU730p0vu0EeBklOCKQYYMF-o5llTxH2BjWVY-ysAWJMGh8S08GtYBO0YLqTn3cTup56jdtY3oEQdRuQ8hWuBVsXM1hung95xEXVqRgbPzlTu0MTeujy3QKigg88-4qlKv8sp40PrnjuSOE9Uz9S1w44OVCOWm_BIxXpNjgOXMjcQWQ8GSGfz9nzJ9eWemNBZmYyA-D8Qb1aYrxIlqbYSgyubue_84woKD_mYU-RXxLjzdJ8uaCxB3PJ-J-zzFzkGodAxYeRM6gAz7sAdVxcufRZ4fwd-19fKdUMq7Ek37fkwlhZ2FwhAEqgCt-gz1-AAdJCuGsOAIFajV6FYrarlZ-6t2aYmwf51GlEwHpcg8RUokciq_UlBtBVHvnDuG_4Qdp23sg23oSMrjef7EEoGf4x2qbACpxTp723CCZgK_zkNbVZnjtk8kt2UNJuRaHAE_VvQeuzGM0ntHFJ08gPxIM211srw.izDAlpOwj7LtvOlU_9_TqXc4NMt2SR70KEbpRnR6ov0; + - vamfjwtv3=stubbed_token; path=/; SameSite=Lax; HttpOnly - vamftimeoutv1=1639595617; SameSite=Lax; path=/ body: diff --git a/spec/support/vcr_cassettes/vaos/v2/appointments/cancel_appointments_vpg_200.yml b/spec/support/vcr_cassettes/vaos/v2/appointments/cancel_appointments_vpg_200.yml index c1ac66fe612..d531233f5b8 100644 --- a/spec/support/vcr_cassettes/vaos/v2/appointments/cancel_appointments_vpg_200.yml +++ b/spec/support/vcr_cassettes/vaos/v2/appointments/cancel_appointments_vpg_200.yml @@ -16,7 +16,7 @@ http_interactions: Referer: - https://review-instance.va.gov X-Vamf-Jwt: - - eyJhbGciOiJSUzUxMiJ9.eyJhdXRoZW50aWNhdGVkIjp0cnVlLCJsYXN0TmFtZSI6Ik1vcmdhbiIsInN1YiI6IjEwMTI4NDYwNDNWNTc2MzQxIiwiYXV0aGVudGljYXRpb25BdXRob3JpdHkiOiJnb3YudmEudmFvcyIsImdlbmRlciI6IkZFTUFMRSIsImlzcyI6Imdvdi52YS52YW1mLnVzZXJzZXJ2aWNlLnYyIiwidmFtZi5hdXRoLnJlc291cmNlcyI6WyJeLiooXC8pP3BhdGllbnRbc10_XC8oSUNOXC8pPzEwMTI4NDYwNDNWNTc2MzQxKFwvLiopPyQiLCJeLiooXC8pP3NpdGVbc10_XC8oZGZuLSk_OTgzXC9wYXRpZW50W3NdP1wvNzIxNjY4NVwvYXBwb2ludG1lbnRzKFwvLiopPyQiLCJeLiooXC8pP3NpdGVbc10_XC8oZGZuLSk_NjY4XC9wYXRpZW50W3NdP1wvMTYxNzM3XC9hcHBvaW50bWVudHMoXC8uKik_JCIsIl4uKihcLyk_c2l0ZVtzXT9cLyhkZm4tKT85ODRcL3BhdGllbnRbc10_XC81NTIxNjEwNDRcL2FwcG9pbnRtZW50cyhcLy4qKT8kIl0sInNzbiI6Ijc5NjA2MTk3NiIsInNzdCI6MTYzOTU5NDI5MywicGF0aWVudCI6eyJmaXJzdE5hbWUiOiJKYWNxdWVsaW5lIiwibGFzdE5hbWUiOiJNb3JnYW4iLCJnZW5kZXIiOiJGRU1BTEUiLCJpY24iOiIxMDEyODQ2MDQzVjU3NjM0MSIsImRvYiI6IjE5NjItMDItMDciLCJkYXRlT2ZCaXJ0aCI6IjE5NjItMDItMDciLCJzc24iOiI3OTYwNjE5NzYifSwidmFtZi5hdXRoLnJvbGVzIjpbInZldGVyYW4iXSwicmlnaHRPZkFjY2Vzc0FjY2VwdGVkIjp0cnVlLCJleHAiOjE2Mzk1OTUxOTMsImp0aSI6IjVhNmQwYTkwLTQ2YjQtNDkwZC04NGEwLWM5YzIyOGE0OTFjNiIsImlkVHlwZSI6IklDTiIsImRhdGVPZkJpcnRoIjoiMTk2MjAyMDciLCJ2ZXJzaW9uIjoyLjYsImVkaXBpZCI6IjEwMTM1OTk3MzAiLCJ2aXN0YUlkcyI6W3sicGF0aWVudElkIjoiNzIxNjY4NSIsInNpdGVJZCI6Ijk4MyJ9LHsicGF0aWVudElkIjoiMTYxNzM3Iiwic2l0ZUlkIjoiNjY4In0seyJwYXRpZW50SWQiOiI1NTIxNjEwNDQiLCJzaXRlSWQiOiI5ODQifV0sImZpcnN0TmFtZSI6IkphY3F1ZWxpbmUiLCJzdGFmZkRpc2NsYWltZXJBY2NlcHRlZCI6dHJ1ZSwibmJmIjoxNjM5NTk0MTEzLCJkb2IiOiIxOTYyMDIwNyIsImxvYSI6Mn0.Aw8u9NWLFQU2n2ZCEykRJcz3SDP4Tkm700yYu-qIcRvs2MrNjl3FgXxoxCKzJcakVRWnjOCy1T29ow3yi-NcVgkTQtioq6qUiDGJuLwFDllAqDq3cK20puPG_hEsmlun2lhUUX8J00-n_JyKHww5_Ml69IrOfo7V_06TCCLjbw58LIqBXo7aHeWV3KVn7xCnovs-Ns7ITnHAIZmv2aqZnZ5ytuDppoqOHywrGY1BAE7GqsEcSXFdjXy_jWiICUeHHk-8gIjn3NmLWZhXd8_1jYwwViqx7pvDmUYxkRoh2p_GfDNL-3yEhyvO1evEyd4_4zl03ji6tgPFFOfFynaENg + - stubbed_token X-Request-Id: - '' Accept-Encoding: diff --git a/spec/support/vcr_cassettes/vaos/v2/appointments/get_appointment_200.yml b/spec/support/vcr_cassettes/vaos/v2/appointments/get_appointment_200.yml index 4564c746537..ef5af27b524 100644 --- a/spec/support/vcr_cassettes/vaos/v2/appointments/get_appointment_200.yml +++ b/spec/support/vcr_cassettes/vaos/v2/appointments/get_appointment_200.yml @@ -16,7 +16,7 @@ http_interactions: Referer: - https://review-instance.va.gov X-Vamf-Jwt: - - eyJhbGciOiJSUzUxMiJ9.eyJhdXRoZW50aWNhdGVkIjp0cnVlLCJsYXN0TmFtZSI6Ik1vcmdhbiIsInN1YiI6IjEwMTI4NDYwNDNWNTc2MzQxIiwiYXV0aGVudGljYXRpb25BdXRob3JpdHkiOiJnb3YudmEudmFvcyIsImdlbmRlciI6IkZFTUFMRSIsImlzcyI6Imdvdi52YS52YW1mLnVzZXJzZXJ2aWNlLnYyIiwidmFtZi5hdXRoLnJlc291cmNlcyI6WyJeLiooXC8pP3BhdGllbnRbc10_XC8oSUNOXC8pPzEwMTI4NDYwNDNWNTc2MzQxKFwvLiopPyQiLCJeLiooXC8pP3NpdGVbc10_XC8oZGZuLSk_OTgzXC9wYXRpZW50W3NdP1wvNzIxNjY4NVwvYXBwb2ludG1lbnRzKFwvLiopPyQiLCJeLiooXC8pP3NpdGVbc10_XC8oZGZuLSk_NjY4XC9wYXRpZW50W3NdP1wvMTYxNzM3XC9hcHBvaW50bWVudHMoXC8uKik_JCIsIl4uKihcLyk_c2l0ZVtzXT9cLyhkZm4tKT85ODRcL3BhdGllbnRbc10_XC81NTIxNjEwNDRcL2FwcG9pbnRtZW50cyhcLy4qKT8kIl0sInNzbiI6Ijc5NjA2MTk3NiIsInNzdCI6MTYzOTQzODEwNSwicGF0aWVudCI6eyJmaXJzdE5hbWUiOiJKYWNxdWVsaW5lIiwibGFzdE5hbWUiOiJNb3JnYW4iLCJnZW5kZXIiOiJGRU1BTEUiLCJpY24iOiIxMDEyODQ2MDQzVjU3NjM0MSIsImRvYiI6IjE5NjItMDItMDciLCJkYXRlT2ZCaXJ0aCI6IjE5NjItMDItMDciLCJzc24iOiI3OTYwNjE5NzYifSwidmFtZi5hdXRoLnJvbGVzIjpbInZldGVyYW4iXSwicmlnaHRPZkFjY2Vzc0FjY2VwdGVkIjp0cnVlLCJleHAiOjE2Mzk0MzkwMDYsImp0aSI6IjVjNmFmYzUyLWJkZDctNGVhMi04OTM0LTI5NTk2YWUyZjUzMCIsImlkVHlwZSI6IklDTiIsImRhdGVPZkJpcnRoIjoiMTk2MjAyMDciLCJ2ZXJzaW9uIjoyLjYsImVkaXBpZCI6IjEwMTM1OTk3MzAiLCJ2aXN0YUlkcyI6W3sicGF0aWVudElkIjoiNzIxNjY4NSIsInNpdGVJZCI6Ijk4MyJ9LHsicGF0aWVudElkIjoiMTYxNzM3Iiwic2l0ZUlkIjoiNjY4In0seyJwYXRpZW50SWQiOiI1NTIxNjEwNDQiLCJzaXRlSWQiOiI5ODQifV0sImZpcnN0TmFtZSI6IkphY3F1ZWxpbmUiLCJzdGFmZkRpc2NsYWltZXJBY2NlcHRlZCI6dHJ1ZSwibmJmIjoxNjM5NDM3OTI2LCJkb2IiOiIxOTYyMDIwNyIsImxvYSI6Mn0.rrz0bmrUqXf9NZZtShsP0Ub5ZRiI2LUqgqncs-M9rtBTUyDyW8qUBO7MhYvmJEhA40S66eOh0-JZyDJYKUVg4Hl-1ZRiVc5uX-0I1MhxoQ0DYR886bH373Eybuh3AU30gyohkBun0M3NQV2C3bxs-f0_wkAuyNIR-Rxm6nysei5ZmnQvzJChHg1YKtQKNUUUIVOPDCro_q6pTw_QQA7ZdIVxmT4f18xHODxs9aUXnHOFJPzUK32VbPQVtVYRQWK_SFisG42-Rhxg3O_rDiUeFSxfV-Uhjo2RBh9W0utGuMW9qDbRx1AqQrIsbBM7YeaNhno-BBsfQyeX3--GlXq1YA + - stubbed_token X-Request-Id: - '' Accept-Encoding: diff --git a/spec/support/vcr_cassettes/vaos/v2/appointments/get_appointment_200_JACQUELINE_M_BOOKED.yml b/spec/support/vcr_cassettes/vaos/v2/appointments/get_appointment_200_JACQUELINE_M_BOOKED.yml index 85bb75be4e1..6ebb189a229 100644 --- a/spec/support/vcr_cassettes/vaos/v2/appointments/get_appointment_200_JACQUELINE_M_BOOKED.yml +++ b/spec/support/vcr_cassettes/vaos/v2/appointments/get_appointment_200_JACQUELINE_M_BOOKED.yml @@ -16,7 +16,7 @@ http_interactions: Referer: - https://review-instance.va.gov X-Vamf-Jwt: - - eyJhbGciOiJSUzUxMiJ9.eyJhdXRoZW50aWNhdGVkIjp0cnVlLCJsYXN0TmFtZSI6Ik1vcmdhbiIsInN1YiI6IjEwMTI4NDYwNDNWNTc2MzQxIiwiYXV0aGVudGljYXRpb25BdXRob3JpdHkiOiJnb3YudmEudmFvcyIsImdlbmRlciI6IkZFTUFMRSIsImlzcyI6Imdvdi52YS52YW1mLnVzZXJzZXJ2aWNlLnYyIiwidmFtZi5hdXRoLnJlc291cmNlcyI6WyJeLiooXC8pP3BhdGllbnRbc10_XC8oSUNOXC8pPzEwMTI4NDYwNDNWNTc2MzQxKFwvLiopPyQiLCJeLiooXC8pP3NpdGVbc10_XC8oZGZuLSk_OTgzXC9wYXRpZW50W3NdP1wvNzIxNjY4NVwvYXBwb2ludG1lbnRzKFwvLiopPyQiLCJeLiooXC8pP3NpdGVbc10_XC8oZGZuLSk_NjY4XC9wYXRpZW50W3NdP1wvMTYxNzM3XC9hcHBvaW50bWVudHMoXC8uKik_JCIsIl4uKihcLyk_c2l0ZVtzXT9cLyhkZm4tKT85ODRcL3BhdGllbnRbc10_XC81NTIxNjEwNDRcL2FwcG9pbnRtZW50cyhcLy4qKT8kIl0sInNzbiI6Ijc5NjA2MTk3NiIsInNzdCI6MTY0MTkyNTk5MCwicGF0aWVudCI6eyJmaXJzdE5hbWUiOiJKYWNxdWVsaW5lIiwibGFzdE5hbWUiOiJNb3JnYW4iLCJnZW5kZXIiOiJGRU1BTEUiLCJpY24iOiIxMDEyODQ2MDQzVjU3NjM0MSIsImRvYiI6IjE5NjItMDItMDciLCJkYXRlT2ZCaXJ0aCI6IjE5NjItMDItMDciLCJzc24iOiI3OTYwNjE5NzYifSwidmFtZi5hdXRoLnJvbGVzIjpbInZldGVyYW4iXSwicmlnaHRPZkFjY2Vzc0FjY2VwdGVkIjp0cnVlLCJleHAiOjE2NDE5MjY4OTAsImp0aSI6ImJjNzFhNzRlLTAxYjYtNDQwNS04N2MzLWUzY2EzZTAyODNmOSIsImlkVHlwZSI6IklDTiIsImRhdGVPZkJpcnRoIjoiMTk2MjAyMDciLCJ2ZXJzaW9uIjoyLjYsImVkaXBpZCI6IjEwMTM1OTk3MzAiLCJ2aXN0YUlkcyI6W3sicGF0aWVudElkIjoiNzIxNjY4NSIsInNpdGVJZCI6Ijk4MyJ9LHsicGF0aWVudElkIjoiMTYxNzM3Iiwic2l0ZUlkIjoiNjY4In0seyJwYXRpZW50SWQiOiI1NTIxNjEwNDQiLCJzaXRlSWQiOiI5ODQifV0sImZpcnN0TmFtZSI6IkphY3F1ZWxpbmUiLCJzdGFmZkRpc2NsYWltZXJBY2NlcHRlZCI6dHJ1ZSwibmJmIjoxNjQxOTI1ODEwLCJkb2IiOiIxOTYyMDIwNyIsImxvYSI6Mn0.weE8oULPIp-yiOLQJkFy1dBE2Z4eV29c50AcUl9Ln2TQFhUe49_eGexEPKTONEqtqf77o4sIwfkzKpkSSPoLH3GcCH2meOpxKg293IBDgx4d93DfRRmWYHg9Z77g1GW5ojUvPhdO6Zec2RQbTKgGiUwrZV7rXaVsse8bdj4V2oNO76EKla_FKruAvAQGfGjTRL4AQ35bgmxkFu9YU5ukTHNAG9q3A_29Cl6PJwyixZfy6Q3jbXbV8fY2OLpvvzxJL6-1smf5LkyxTs22xxiE1iBJXFKvhAsDa-0Pm0v1ZUQMtj6TuHngJ-CFsb6GYN7zOJgTXP_L-IQBQn_I2mM27A + - stubbed_token X-Request-Id: - '' Accept-Encoding: diff --git a/spec/support/vcr_cassettes/vaos/v2/appointments/get_appointment_200_JACQUELINE_M_PROPOSED_12082022_backup.yml b/spec/support/vcr_cassettes/vaos/v2/appointments/get_appointment_200_JACQUELINE_M_PROPOSED_12082022_backup.yml index 6bf9065b33a..9c298b16444 100644 --- a/spec/support/vcr_cassettes/vaos/v2/appointments/get_appointment_200_JACQUELINE_M_PROPOSED_12082022_backup.yml +++ b/spec/support/vcr_cassettes/vaos/v2/appointments/get_appointment_200_JACQUELINE_M_PROPOSED_12082022_backup.yml @@ -5,7 +5,7 @@ http_interactions: uri: https://internal-dsva-vagov-staging-fwdproxy-1821450725.us-gov-west-1.elb.amazonaws.com:4463/users/v2/session?processRules=true body: encoding: US-ASCII - string: eyJhbGciOiJSUzUxMiJ9.eyJhdXRoZW50aWNhdGVkIjp0cnVlLCJzdWIiOiIxMDEyODQ2MDQzVjU3NjM0MSIsImlkVHlwZSI6IklDTiIsImlzcyI6Imdvdi52YS52YW9zIiwiZmlyc3ROYW1lIjoiSmFjcXVlbGluZSIsImxhc3ROYW1lIjoiTW9yZ2FuIiwiYXV0aGVudGljYXRpb25BdXRob3JpdHkiOiJnb3YudmEuaWFtLnNzb2UudjEiLCJqdGkiOiI5NWE4OTMzNy1kNmUwLTRmZmQtOGEyZS05NzNhM2UwOTFiYWEiLCJuYmYiOjE2NzA1MjM4NTQsImV4cCI6MTY3MDUyNDgxNCwic3N0IjoxNjcwNTIzOTA0LCJ2ZXJzaW9uIjoyLjEsImdlbmRlciI6IkZFTUFMRSIsImRvYiI6IjE5NjIwMjA3IiwiZGF0ZU9mQmlydGgiOiIxOTYyMDIwNyIsImVkaXBpZCI6IjEwMTM1OTk3MzAiLCJzc24iOiI3OTYwNjE5NzYifQ.GZBQYtDpIBjlvtDXGmtTjbuvnjMjORUok_YBn67IzFhyBQrPalEC6c6AElmJa7dyNZslzmwg1pQWHgJUVgg6UJmUdNaNGhKBSt_9ewYXTO99q1JoKYJxXBfg-oGm1cMBmOL4Ikh8w4icES5n5GW1fmUEMt6r1tLanoauhx1KhqBDnB30vBI5irb4fHawfax-Z-Ofi026W2063hyaM73VMGhBn6VmVqzJn32vTgD6tda0repU14rFNt7cygFVrAnZYr1PuSVVEzYxgXkqo0GsP4SxJit-7a7BZeIWtuKF2ZiMb4rHdF4JUkivOEqtSK1jnlAyxR8Ro6pNCre8vHdvpPso11Ue1dIZ294o98XELqBFBG1nODZCuX4NeFkmgc3FmjivqJj4CtjR9pSeNhgNaSNX40RlYF6jAUkgnAeQ3X1S7UYpX9MBh32_hAx97IbmVb1feDEPc5-ogp9J05p9laMBY_8FYg8hR2ut9KyGVnLKzX0-0fHBCfwI14bAMxN7F5c5eQTWTmk8OrVrmH5JWs0zW42Tt2ajuRKfPxEBYEK8IRFAvksT9IDBnNxbdmF-P_VzI-T48KXg8rh_0eVF6zVd-ebgDymjPCOsGRgDr2vDBfLYjZbULsPQUGTYBa68hOWDxkK4zTMdNpIwQ6YX0Zvsc_lhXWmc8-OpPgpRnuo + string: stubbed_token headers: Accept: - text/plain @@ -54,7 +54,7 @@ http_interactions: - max-age=63072000; includeSubDomains; preload body: encoding: UTF-8 - string: eyJhbGciOiJSUzUxMiJ9.eyJhdXRoZW50aWNhdGVkIjp0cnVlLCJsYXN0TmFtZSI6Ik1vcmdhbiIsInN1YiI6IjEwMTI4NDYwNDNWNTc2MzQxIiwiYXV0aGVudGljYXRpb25BdXRob3JpdHkiOiJnb3YudmEudmFvcyIsImdlbmRlciI6IkZFTUFMRSIsImlzcyI6Imdvdi52YS52YW1mLnVzZXJzZXJ2aWNlLnYyIiwidmFtZi5hdXRoLnJlc291cmNlcyI6WyJeLiooXC8pP3BhdGllbnRbc10_XC8oSUNOXC8pPzEwMTI4NDYwNDNWNTc2MzQxKFwvLiopPyQiLCJeLiooXC8pP3NpdGVbc10_XC8oZGZuLSk_OTgzXC9wYXRpZW50W3NdP1wvNzIxNjY4NVwvYXBwb2ludG1lbnRzKFwvLiopPyQiLCJeLiooXC8pP3NpdGVbc10_XC8oZGZuLSk_NjY4XC9wYXRpZW50W3NdP1wvMTYxNzM3XC9hcHBvaW50bWVudHMoXC8uKik_JCIsIl4uKihcLyk_c2l0ZVtzXT9cLyhkZm4tKT85ODRcL3BhdGllbnRbc10_XC81NTIxNjEwNDRcL2FwcG9pbnRtZW50cyhcLy4qKT8kIl0sInNzbiI6Ijc5NjA2MTk3NiIsInNzdCI6MTY3MDUyMzkxNCwicGF0aWVudCI6eyJmaXJzdE5hbWUiOiJKYWNxdWVsaW5lIiwibGFzdE5hbWUiOiJNb3JnYW4iLCJnZW5kZXIiOiJGRU1BTEUiLCJpY24iOiIxMDEyODQ2MDQzVjU3NjM0MSIsImRvYiI6IjE5NjItMDItMDciLCJkYXRlT2ZCaXJ0aCI6IjE5NjItMDItMDciLCJzc24iOiI3OTYwNjE5NzYifSwidmFtZi5hdXRoLnJvbGVzIjpbInZldGVyYW4iXSwicmlnaHRPZkFjY2Vzc0FjY2VwdGVkIjp0cnVlLCJleHAiOjE2NzA1MjQ4MTQsImp0aSI6Ijk1YTg5MzM3LWQ2ZTAtNGZmZC04YTJlLTk3M2EzZTA5MWJhYSIsImlkVHlwZSI6IklDTiIsImRhdGVPZkJpcnRoIjoiMTk2MjAyMDciLCJ2ZXJzaW9uIjoyLjgsImVkaXBpZCI6IjEwMTM1OTk3MzAiLCJ2aXN0YUlkcyI6W3sicGF0aWVudElkIjoiNzIxNjY4NSIsInNpdGVJZCI6Ijk4MyJ9LHsicGF0aWVudElkIjoiMTYxNzM3Iiwic2l0ZUlkIjoiNjY4In0seyJwYXRpZW50SWQiOiI1NTIxNjEwNDQiLCJzaXRlSWQiOiI5ODQifV0sImZpcnN0TmFtZSI6IkphY3F1ZWxpbmUiLCJzdGFmZkRpc2NsYWltZXJBY2NlcHRlZCI6dHJ1ZSwibmJmIjoxNjcwNTIzNzM0LCJkb2IiOiIxOTYyMDIwNyIsImxvYSI6Mn0.ifrfvIIb09wbYan5jD86y3ND6ranl_ShENJSakOtJI-c2iXhUVXYbaEg4tIJCCuz5GLhkqP_1KQsfyPWNJneIOwZvsvCoBjqL_Pdh5rZ_QVlGNLjB-Gk0wkAZDT2N6JUByi_WhqxVI5F3-R-teZEPA7xtjzb14tQyRa1jamEY3QVaNeBJgOduHd8xqmZGCIsXzRAMu7ln9uFlcVchuQaOpv1rsXVyxI9-Ekb_L99RpKOev5OJD-h4Amm2xBul9yVcvhEgeVAnPpZqlcwi7lpk95BbvTza7EtTCDPrxlqDLlRjQOa1dgLA3p29VL7gkwzSgEwiFI489EHrxFuq33TEQ + string: stubbed_token recorded_at: Thu, 08 Dec 2022 18:25:14 GMT - request: method: get @@ -72,7 +72,7 @@ http_interactions: Referer: - https://review-instance.va.gov X-Vamf-Jwt: - - eyJhbGciOiJSUzUxMiJ9.eyJhdXRoZW50aWNhdGVkIjp0cnVlLCJsYXN0TmFtZSI6Ik1vcmdhbiIsInN1YiI6IjEwMTI4NDYwNDNWNTc2MzQxIiwiYXV0aGVudGljYXRpb25BdXRob3JpdHkiOiJnb3YudmEudmFvcyIsImdlbmRlciI6IkZFTUFMRSIsImlzcyI6Imdvdi52YS52YW1mLnVzZXJzZXJ2aWNlLnYyIiwidmFtZi5hdXRoLnJlc291cmNlcyI6WyJeLiooXC8pP3BhdGllbnRbc10_XC8oSUNOXC8pPzEwMTI4NDYwNDNWNTc2MzQxKFwvLiopPyQiLCJeLiooXC8pP3NpdGVbc10_XC8oZGZuLSk_OTgzXC9wYXRpZW50W3NdP1wvNzIxNjY4NVwvYXBwb2ludG1lbnRzKFwvLiopPyQiLCJeLiooXC8pP3NpdGVbc10_XC8oZGZuLSk_NjY4XC9wYXRpZW50W3NdP1wvMTYxNzM3XC9hcHBvaW50bWVudHMoXC8uKik_JCIsIl4uKihcLyk_c2l0ZVtzXT9cLyhkZm4tKT85ODRcL3BhdGllbnRbc10_XC81NTIxNjEwNDRcL2FwcG9pbnRtZW50cyhcLy4qKT8kIl0sInNzbiI6Ijc5NjA2MTk3NiIsInNzdCI6MTY3MDUyMzkxNCwicGF0aWVudCI6eyJmaXJzdE5hbWUiOiJKYWNxdWVsaW5lIiwibGFzdE5hbWUiOiJNb3JnYW4iLCJnZW5kZXIiOiJGRU1BTEUiLCJpY24iOiIxMDEyODQ2MDQzVjU3NjM0MSIsImRvYiI6IjE5NjItMDItMDciLCJkYXRlT2ZCaXJ0aCI6IjE5NjItMDItMDciLCJzc24iOiI3OTYwNjE5NzYifSwidmFtZi5hdXRoLnJvbGVzIjpbInZldGVyYW4iXSwicmlnaHRPZkFjY2Vzc0FjY2VwdGVkIjp0cnVlLCJleHAiOjE2NzA1MjQ4MTQsImp0aSI6Ijk1YTg5MzM3LWQ2ZTAtNGZmZC04YTJlLTk3M2EzZTA5MWJhYSIsImlkVHlwZSI6IklDTiIsImRhdGVPZkJpcnRoIjoiMTk2MjAyMDciLCJ2ZXJzaW9uIjoyLjgsImVkaXBpZCI6IjEwMTM1OTk3MzAiLCJ2aXN0YUlkcyI6W3sicGF0aWVudElkIjoiNzIxNjY4NSIsInNpdGVJZCI6Ijk4MyJ9LHsicGF0aWVudElkIjoiMTYxNzM3Iiwic2l0ZUlkIjoiNjY4In0seyJwYXRpZW50SWQiOiI1NTIxNjEwNDQiLCJzaXRlSWQiOiI5ODQifV0sImZpcnN0TmFtZSI6IkphY3F1ZWxpbmUiLCJzdGFmZkRpc2NsYWltZXJBY2NlcHRlZCI6dHJ1ZSwibmJmIjoxNjcwNTIzNzM0LCJkb2IiOiIxOTYyMDIwNyIsImxvYSI6Mn0.ifrfvIIb09wbYan5jD86y3ND6ranl_ShENJSakOtJI-c2iXhUVXYbaEg4tIJCCuz5GLhkqP_1KQsfyPWNJneIOwZvsvCoBjqL_Pdh5rZ_QVlGNLjB-Gk0wkAZDT2N6JUByi_WhqxVI5F3-R-teZEPA7xtjzb14tQyRa1jamEY3QVaNeBJgOduHd8xqmZGCIsXzRAMu7ln9uFlcVchuQaOpv1rsXVyxI9-Ekb_L99RpKOev5OJD-h4Amm2xBul9yVcvhEgeVAnPpZqlcwi7lpk95BbvTza7EtTCDPrxlqDLlRjQOa1dgLA3p29VL7gkwzSgEwiFI489EHrxFuq33TEQ + - stubbed_token X-Request-Id: - dbb27bf0-2925-45ed-bb1a-633fab268fab Accept-Encoding: diff --git a/spec/support/vcr_cassettes/vaos/v2/appointments/get_appointment_200_JUDY_BOOKED.yml b/spec/support/vcr_cassettes/vaos/v2/appointments/get_appointment_200_JUDY_BOOKED.yml index f3536918af7..0a83d10d2ea 100644 --- a/spec/support/vcr_cassettes/vaos/v2/appointments/get_appointment_200_JUDY_BOOKED.yml +++ b/spec/support/vcr_cassettes/vaos/v2/appointments/get_appointment_200_JUDY_BOOKED.yml @@ -51,9 +51,9 @@ http_interactions: Access-Control-Max-Age: - '3600' Set-Cookie: - - TS016f4012=01c16e2d819e642df58e454ed9fd6489a263aaa54ab199a0667c645a1d455ec0d3824711f2141185d8cf51c2317c207406b2665aab; + - TS016f4012=stubbed_cookie; Max-Age=900; Path=/ - - vamfjwtv3=eyJ6aXAiOiJERUYiLCJjdHkiOiJKV1QiLCJlbmMiOiJBMjU2Q0JDLUhTNTEyIiwiYWxnIjoiUlNBLU9BRVAtMjU2In0.alrfok3QZrcRu-JacALQGh7CSOj7WYtgRNzV4OwYrqPy-cx1DQSYPOPK9M6bXzrqpMyYiVTEEyejGkU9Q4zgOy8Z9R_bsMDbf5ITpFx5lkiRusd_E-v78ZnWFWUijOKGZABc30HDqCaw9Oqm6x3YVZ72mZ-Ri6ayBL49n6OlaoxtP74vQe6UKRcpSe3HL9-F4_A7S9GxdCHibftt9Ii7DXnitWVwF2pjZqQpwIHDuHHn1-WUx0xzfC869Sr87MApWEbdBRTRhkXHitJI9o3I-yUzsZcnvRLoyNcCe3-nfbbyV1zr-SxORtb6I8n9v3db2QsKHYzm22BTxv6D6NX5jg.pN7HjG9i-iiPsMbUzIl0_g.FPPDYJm7t3zbyS-wI6jKDHktthkFWzmng1W4mBeOP-Go2wimI3e0GaMv_2XlZBro_N7AWg5ZXc9kO_W4h-P9WbwaYOQ7f2czFMAgbn725Mbibz4Nv28ULTJ8YhvLXAaHul5wIyoffaHEASfrcJoXaxGUSXtz3ydw9FvUHQoPZGwQm1sBWq2K7AEzZ2HjYIheHnWPl4yArNGFAEYpXqK1DIg7--SJQgc6LiZHECNgYKNHWSTs2fgPAnJ3JyHJIRDFjN2WkwQbio6rTNBL_fQ0K2mCtg7BMEVqsrp3TIk9CfJG9n5FAZR03FKfxH8aw8ZMODLuGepwWxxnW41tcvF9oqMEEA6TaYVqiAjzB7Ww2HEAUB7vlay81ystZwA6ekU_5ONOxmx3wUi_syI2Yzfmhu4g3y0r3KAisQAt2ixSMY-o_uCfcHSYdpfoxXEEOJxEHJE2T2YiGiHZ-8NlE5_lCHegBUpj4dDGK7SrSPxrFbI0OAUQkPL0dXabSHmd4GgRshqzghl1n9ndmsMAvYon3d9Q2IpCYjtE-fmbB8Uy8mLHExXh_AQMmn8NDrjo3QobLMk9KJp_zynzp6iIwG9Bbmj1aHRF2O10G-etcdHWApfDTDp2oantYxDmyz-9luM45bv3Hj5QXa_O9VWsu3paQAegWTwaBOXTZYKJaJ3cVPjorK8QkCEikFLfcPTZ_cWVFkVyd1IzZgP5wL5SRnFvKg.WQDQGb6baah-gqk0mq3RawL88K0BPxUrpo2FzkqYFBs; + - vamfjwtv3=stubbed_token; path=/; SameSite=Lax; HttpOnly - vamftimeoutv1=1642187322; SameSite=Lax; path=/ body: @@ -111,9 +111,9 @@ http_interactions: Access-Control-Max-Age: - '3600' Set-Cookie: - - TS016f4012=01c8917e480b76fe5ee9c8a6d000a3acef12e6d2159f81a4bc24de2dba9623b6984c23b8080d83513eca92a128217e122ce8ad6a8b; + - TS016f4012=stubbed_cookie; Max-Age=900; Path=/ - - vamfjwtv3=eyJ6aXAiOiJERUYiLCJjdHkiOiJKV1QiLCJlbmMiOiJBMjU2Q0JDLUhTNTEyIiwiYWxnIjoiUlNBLU9BRVAtMjU2In0.Q5h1tYtSDxLecx-yVqkJn6UQyTZ-588oJDDJnro8Df2HstPkFZBmXeQbZLGTh8KcMeEAjXOOojfDAfKkOPECmyDLDgK4KS4q32910QJGXsg0eQ7QsH7jdFdI7Nixvug-OGrRDRxzwU7UhQSLLuf1YSl_2IIeiPS7MJQt_8wHJVBEAD9Ehcv3qewovXtPZvMj03jU4KtzxRsZgpOUBD03Nj7pJiiz4gchlrhBf0jQ9Y9YosmYq2LQkzmjYlEEi5gOzMsO7jJqMWO6v4ffp3G6-kBeWtf5rwGmmxpAfibY5i-QaFs-hZnrNBgF_E811E_AOQOhV8qIAInYPt6bgVk3sw.ugV9i4neLXw6D0K0zqO52w.tmROwBKQqFbaFN9GVAYTOLCFDo1K-SASrncMrNENDYKph84qlYj2BGwQ8VTqj-AAnpn5fpmmQi9PPo4NvyBOAprIcOTRLl_fFLkrUUsHG6YQkecTXAkzhGAVIsiILtVWFRWUBTIg9aYdwmK8vqvVl4AQAJ9xSMSGubT9xm0qQ9JQvN-OSqUBFNWveziZ2VmvxxR24lqQYBV7GrZsrRYFq80_mUsRm5EHsXmVAPMEROtPHiTOKVdFLGvRIL4idLGk-DL5rWqP3rMpJ0PzFm7_vKNtg_E-xml_0pSKBT2bK4dBT1IYjBuFImMZG6nu4E13xaV6sAV1JhBqiq_VR2q-5_oE4zmImLI-Kp9fVdKfLtl_dkfP6jIwF5f29IXfsjtTwbBVRcvtGC_6ESDq6Elb71RWXdpgxiOnkDbsHbASuEWIbaor5gCTBcb-V3SUG8bvB-rzR_fEGk-EVVBs9GJvNtHxIouSYUw4FCaiv4kgPIzvZWRKvKjhiGUogrXApYhU5LN3eeA8TraA8mFk1QHWPask3QHYq9SnwfTTxkTSMC0QHG-HbzGHR-3xA50S6EWVkVykMs9NSLOHT2-Z9L7k6JfJFRVw0fScfcLkOtKNJ91WeaHfTOsoc3g4Si03CVaItwoqamTOSWLVG_DFw8KbsWYfs-k-5dNPKSCaVjeHcZeBRIStNEFSETg4aBb6ARr9vc08_Wp-PExxh_Rkj_H8dA.roK7EDb65JJXqOU8bo6vypHsLdgwZGrVRQ36FRw-n-M; + - vamfjwtv3=stubbed_token; path=/; SameSite=Lax; HttpOnly - vamftimeoutv1=1642187493; SameSite=Lax; path=/ body: diff --git a/spec/support/vcr_cassettes/vaos/v2/appointments/get_appointment_200_cc_proposed.yml b/spec/support/vcr_cassettes/vaos/v2/appointments/get_appointment_200_cc_proposed.yml index 65198595db4..974ef58c1d9 100644 --- a/spec/support/vcr_cassettes/vaos/v2/appointments/get_appointment_200_cc_proposed.yml +++ b/spec/support/vcr_cassettes/vaos/v2/appointments/get_appointment_200_cc_proposed.yml @@ -16,7 +16,7 @@ http_interactions: Referer: - https://review-instance.va.gov X-Vamf-Jwt: - - eyJhbGciOiJSUzUxMiJ9.eyJhdXRoZW50aWNhdGVkIjp0cnVlLCJsYXN0TmFtZSI6Ik1vcmdhbiIsInN1YiI6IjEwMTI4NDYwNDNWNTc2MzQxIiwiYXV0aGVudGljYXRpb25BdXRob3JpdHkiOiJnb3YudmEudmFvcyIsImdlbmRlciI6IkZFTUFMRSIsImlzcyI6Imdvdi52YS52YW1mLnVzZXJzZXJ2aWNlLnYyIiwidmFtZi5hdXRoLnJlc291cmNlcyI6WyJeLiooXC8pP3BhdGllbnRbc10_XC8oSUNOXC8pPzEwMTI4NDYwNDNWNTc2MzQxKFwvLiopPyQiLCJeLiooXC8pP3NpdGVbc10_XC8oZGZuLSk_OTgzXC9wYXRpZW50W3NdP1wvNzIxNjY4NVwvYXBwb2ludG1lbnRzKFwvLiopPyQiLCJeLiooXC8pP3NpdGVbc10_XC8oZGZuLSk_NjY4XC9wYXRpZW50W3NdP1wvMTYxNzM3XC9hcHBvaW50bWVudHMoXC8uKik_JCIsIl4uKihcLyk_c2l0ZVtzXT9cLyhkZm4tKT85ODRcL3BhdGllbnRbc10_XC81NTIxNjEwNDRcL2FwcG9pbnRtZW50cyhcLy4qKT8kIl0sInNzbiI6Ijc5NjA2MTk3NiIsInNzdCI6MTY0MTkyNTkzMiwicGF0aWVudCI6eyJmaXJzdE5hbWUiOiJKYWNxdWVsaW5lIiwibGFzdE5hbWUiOiJNb3JnYW4iLCJnZW5kZXIiOiJGRU1BTEUiLCJpY24iOiIxMDEyODQ2MDQzVjU3NjM0MSIsImRvYiI6IjE5NjItMDItMDciLCJkYXRlT2ZCaXJ0aCI6IjE5NjItMDItMDciLCJzc24iOiI3OTYwNjE5NzYifSwidmFtZi5hdXRoLnJvbGVzIjpbInZldGVyYW4iXSwicmlnaHRPZkFjY2Vzc0FjY2VwdGVkIjp0cnVlLCJleHAiOjE2NDE5MjY4MzIsImp0aSI6IjRmNzYzOTY2LWFlMzctNDJhOS1hOWY0LTc4MmYyYTNkMDNlMiIsImlkVHlwZSI6IklDTiIsImRhdGVPZkJpcnRoIjoiMTk2MjAyMDciLCJ2ZXJzaW9uIjoyLjYsImVkaXBpZCI6IjEwMTM1OTk3MzAiLCJ2aXN0YUlkcyI6W3sicGF0aWVudElkIjoiNzIxNjY4NSIsInNpdGVJZCI6Ijk4MyJ9LHsicGF0aWVudElkIjoiMTYxNzM3Iiwic2l0ZUlkIjoiNjY4In0seyJwYXRpZW50SWQiOiI1NTIxNjEwNDQiLCJzaXRlSWQiOiI5ODQifV0sImZpcnN0TmFtZSI6IkphY3F1ZWxpbmUiLCJzdGFmZkRpc2NsYWltZXJBY2NlcHRlZCI6dHJ1ZSwibmJmIjoxNjQxOTI1NzUyLCJkb2IiOiIxOTYyMDIwNyIsImxvYSI6Mn0.v4IAErwssYUbF16VFHGVmley4GftE671TzZFXMBlYPrXUw5y02u-5ZJRMZMxdvlr9lamdWgMyHq0yupRnb6mhqAk2cPp-hTnVBEuGsV5O12zp2Dntgll0Kbwg6_fz78R1goqNQTQ0Y4j3dcuQRTsv7WbKsf8gT0egVq9gawMHexVUr-3z-LzEKLqidhTWHwpKQFagNFYzkeOvTPCFLJqeTMf-ACblIUtOJGDmxwjs2_L5ZWaUjdDAOsIUPUCJp8AnIIInyIAAp5f8Eo0PD0lQg2_ktuCf2uUdEnpT2V7n1CwkNu7Kcc_e4ThQBi4-BDZD2z03yrTpcOslJgNHBQk0w + - stubbed_token X-Request-Id: - '' Accept-Encoding: diff --git a/spec/support/vcr_cassettes/vaos/v2/appointments/get_appointments_200.yml b/spec/support/vcr_cassettes/vaos/v2/appointments/get_appointments_200.yml index a3a1198eafc..d316550973f 100644 --- a/spec/support/vcr_cassettes/vaos/v2/appointments/get_appointments_200.yml +++ b/spec/support/vcr_cassettes/vaos/v2/appointments/get_appointments_200.yml @@ -16,7 +16,7 @@ http_interactions: Referer: - https://review-instance.va.gov X-Vamf-Jwt: - - eyJhbGciOiJSUzUxMiJ9.eyJhdXRoZW50aWNhdGVkIjp0cnVlLCJsYXN0TmFtZSI6Ik1vcnJpc29uIiwic3ViIjoiMTAxMjg0NTMzMVYxNTMwNDMiLCJhdXRoZW50aWNhdGlvbkF1dGhvcml0eSI6Imdvdi52YS52YW9zIiwiZ2VuZGVyIjoiRkVNQUxFIiwiaXNzIjoiZ292LnZhLnZhbWYudXNlcnNlcnZpY2UudjIiLCJ2YW1mLmF1dGgucmVzb3VyY2VzIjpbIl4uKihcLyk_c2l0ZVtzXT9cLyhkZm4tKT85ODRcL3BhdGllbnRbc10_XC81NTIxNjEwNTBcL2FwcG9pbnRtZW50cyhcLy4qKT8kIiwiXi4qKFwvKT9zaXRlW3NdP1wvKGRmbi0pPzk4M1wvcGF0aWVudFtzXT9cLzcyMTY2OTFcL2FwcG9pbnRtZW50cyhcLy4qKT8kIiwiXi4qKFwvKT9wYXRpZW50W3NdP1wvKElDTlwvKT8xMDEyODQ1MzMxVjE1MzA0MyhcLy4qKT8kIl0sInNzbiI6Ijc5NjA2MTk3NiIsInNzdCI6MTYzNjA1NTgwMCwicGF0aWVudCI6eyJmaXJzdE5hbWUiOiJKdWR5IiwibGFzdE5hbWUiOiJNb3JyaXNvbiIsImdlbmRlciI6IkZFTUFMRSIsImljbiI6IjEwMTI4NDUzMzFWMTUzMDQzIiwiZG9iIjoiMTk1My0wNC0wMSIsImRhdGVPZkJpcnRoIjoiMTk1My0wNC0wMSIsInNzbiI6Ijc5NjA2MTk3NiJ9LCJ2YW1mLmF1dGgucm9sZXMiOlsidmV0ZXJhbiJdLCJyaWdodE9mQWNjZXNzQWNjZXB0ZWQiOnRydWUsImV4cCI6MTYzNjA1NjcwMSwianRpIjoiMGY3NzdkMDYtYTkyYy00NTU5LWJiMzctNmNkMzMzNjY3NDU2IiwiaWRUeXBlIjoiSUNOIiwiZGF0ZU9mQmlydGgiOiIxOTUzMDQwMSIsInZlcnNpb24iOjIuNiwiZWRpcGlkIjoiMTI1OTg5Nzk3OCIsInZpc3RhSWRzIjpbeyJwYXRpZW50SWQiOiI1NTIxNjEwNTAiLCJzaXRlSWQiOiI5ODQifSx7InBhdGllbnRJZCI6IjcyMTY2OTEiLCJzaXRlSWQiOiI5ODMifV0sImZpcnN0TmFtZSI6Ikp1ZHkiLCJzdGFmZkRpc2NsYWltZXJBY2NlcHRlZCI6dHJ1ZSwibmJmIjoxNjM2MDU1NjIxLCJkb2IiOiIxOTUzMDQwMSIsImxvYSI6Mn0.uw7RPiSMhJungUJ5t4fhBCFGEBlagRy6mt0z-0FSn1LetODaEDDY-NEA3Mvu_mWjYKRVW-6eYDtnBRAHSD0CgpT0yleSuzY27bN3fRbkg-FjpqL06EO93TVXnGSXwAiXNJMSkOnhCmRH1b74XCl0kow3ptCMV-AMTYqHGj3aGwkRIyjtqqEePLdBVndQTff0-Vd-o8jy-eebwoFspEA1By_GykURfGFUjkp6zxDplFG_HovtlOOSm18AHlR8itfDBI_hUR8dQOLmiYhQh43GCLLUYh3qfPiPLWJAHdYG3AWYE27ud5yngCmBBp09CDNL3_N-UeqzaLCDBj3-pgB9Sw + - stubbed_token X-Request-Id: - '' Accept-Encoding: diff --git a/spec/support/vcr_cassettes/vaos/v2/appointments/get_appointments_200_12082022.yml b/spec/support/vcr_cassettes/vaos/v2/appointments/get_appointments_200_12082022.yml index 666e2ea1da9..292d15eac39 100644 --- a/spec/support/vcr_cassettes/vaos/v2/appointments/get_appointments_200_12082022.yml +++ b/spec/support/vcr_cassettes/vaos/v2/appointments/get_appointments_200_12082022.yml @@ -5,7 +5,7 @@ http_interactions: uri: https://internal-dsva-vagov-staging-fwdproxy-1821450725.us-gov-west-1.elb.amazonaws.com:4463/users/v2/session?processRules=true body: encoding: US-ASCII - string: eyJhbGciOiJSUzUxMiJ9.eyJhdXRoZW50aWNhdGVkIjp0cnVlLCJzdWIiOiIxMDEyODQ2MDQzVjU3NjM0MSIsImlkVHlwZSI6IklDTiIsImlzcyI6Imdvdi52YS52YW9zIiwiZmlyc3ROYW1lIjoiSmFjcXVlbGluZSIsImxhc3ROYW1lIjoiTW9yZ2FuIiwiYXV0aGVudGljYXRpb25BdXRob3JpdHkiOiJnb3YudmEuaWFtLnNzb2UudjEiLCJqdGkiOiJjNTUxNDA1NS0wNWUyLTQ1YmQtYTY5NS00MzUzMzNhZTFlMjYiLCJuYmYiOjE2NzA1MjM0ODcsImV4cCI6MTY3MDUyNDQ0Nywic3N0IjoxNjcwNTIzNTM3LCJ2ZXJzaW9uIjoyLjEsImdlbmRlciI6IkZFTUFMRSIsImRvYiI6IjE5NjIwMjA3IiwiZGF0ZU9mQmlydGgiOiIxOTYyMDIwNyIsImVkaXBpZCI6IjEwMTM1OTk3MzAiLCJzc24iOiI3OTYwNjE5NzYifQ.KWUBQPSolcb16wx4CMsTzZTz2L6g2IJTtSeKNHnvEg8twLvj-j1zkCUu8b1ZjvNs2VvmmUQPAMZ9Y5HJ4GO6C3iO-FZvLbHjj7TCKzKSV_SCY175Uu8Y_NpCKHTa8VylVEDBf32fytfEGD-MGw1dS2gYqDLcvr14MIzIHbI1DjzYTbQI0XF_vjYVXc7E9WYT1GCK6hbnvHCbfwcnf1MTEQh1bmx190Ay3_V12UnQPPcDxyVIhnGse779sv_h2KNajyq1-pspjDjNJvwhanwBhaUDZqftRYUTY8SqL1zMaMNweSNaqYSqQOxDtLlRhym4ZGedPzYjsc_-9msfNfOnOZUC6cMNABemsC7ZxgbDT5rs4kTrc872-ThMgrYf7-oQRkQmaIVSAFUK1-Exl3W0VowYS9E1O-VFqMjDNFdkSeQyavWIHz-xyMjxujiQmBA16Utd4B6dT58ccH78FcBqmYA9DfQum6WBe5wVO-p1uh4cPr8NPrLZtGiSb_ugSyrhhY6xNh1bYhKMELy0DYeAsErjbQ-sM8QPZzRlk9sLi2SciPnV5Wp_Nwhvh9pzr-YlxcI_EQldgITgvouLJCwLJAaAeZrHPuaYRMn-2nzxYJrJLzx8LhNHELNBvGN-l2ofwflxr-MgZjZ4fp5lQkIDIgRBqxJKZUQdrwQvbCCb-YA + string: stubbed_token headers: Accept: - text/plain @@ -54,7 +54,7 @@ http_interactions: - max-age=63072000; includeSubDomains; preload body: encoding: UTF-8 - string: eyJhbGciOiJSUzUxMiJ9.eyJhdXRoZW50aWNhdGVkIjp0cnVlLCJsYXN0TmFtZSI6Ik1vcmdhbiIsInN1YiI6IjEwMTI4NDYwNDNWNTc2MzQxIiwiYXV0aGVudGljYXRpb25BdXRob3JpdHkiOiJnb3YudmEudmFvcyIsImdlbmRlciI6IkZFTUFMRSIsImlzcyI6Imdvdi52YS52YW1mLnVzZXJzZXJ2aWNlLnYyIiwidmFtZi5hdXRoLnJlc291cmNlcyI6WyJeLiooXC8pP3BhdGllbnRbc10_XC8oSUNOXC8pPzEwMTI4NDYwNDNWNTc2MzQxKFwvLiopPyQiLCJeLiooXC8pP3NpdGVbc10_XC8oZGZuLSk_OTgzXC9wYXRpZW50W3NdP1wvNzIxNjY4NVwvYXBwb2ludG1lbnRzKFwvLiopPyQiLCJeLiooXC8pP3NpdGVbc10_XC8oZGZuLSk_NjY4XC9wYXRpZW50W3NdP1wvMTYxNzM3XC9hcHBvaW50bWVudHMoXC8uKik_JCIsIl4uKihcLyk_c2l0ZVtzXT9cLyhkZm4tKT85ODRcL3BhdGllbnRbc10_XC81NTIxNjEwNDRcL2FwcG9pbnRtZW50cyhcLy4qKT8kIl0sInNzbiI6Ijc5NjA2MTk3NiIsInNzdCI6MTY3MDUyMzU0NywicGF0aWVudCI6eyJmaXJzdE5hbWUiOiJKYWNxdWVsaW5lIiwibGFzdE5hbWUiOiJNb3JnYW4iLCJnZW5kZXIiOiJGRU1BTEUiLCJpY24iOiIxMDEyODQ2MDQzVjU3NjM0MSIsImRvYiI6IjE5NjItMDItMDciLCJkYXRlT2ZCaXJ0aCI6IjE5NjItMDItMDciLCJzc24iOiI3OTYwNjE5NzYifSwidmFtZi5hdXRoLnJvbGVzIjpbInZldGVyYW4iXSwicmlnaHRPZkFjY2Vzc0FjY2VwdGVkIjp0cnVlLCJleHAiOjE2NzA1MjQ0NDcsImp0aSI6ImM1NTE0MDU1LTA1ZTItNDViZC1hNjk1LTQzNTMzM2FlMWUyNiIsImlkVHlwZSI6IklDTiIsImRhdGVPZkJpcnRoIjoiMTk2MjAyMDciLCJ2ZXJzaW9uIjoyLjgsImVkaXBpZCI6IjEwMTM1OTk3MzAiLCJ2aXN0YUlkcyI6W3sicGF0aWVudElkIjoiNzIxNjY4NSIsInNpdGVJZCI6Ijk4MyJ9LHsicGF0aWVudElkIjoiMTYxNzM3Iiwic2l0ZUlkIjoiNjY4In0seyJwYXRpZW50SWQiOiI1NTIxNjEwNDQiLCJzaXRlSWQiOiI5ODQifV0sImZpcnN0TmFtZSI6IkphY3F1ZWxpbmUiLCJzdGFmZkRpc2NsYWltZXJBY2NlcHRlZCI6dHJ1ZSwibmJmIjoxNjcwNTIzMzY3LCJkb2IiOiIxOTYyMDIwNyIsImxvYSI6Mn0.rDNB9cCldVdlnOgDmWT23kf3NxABwuG3Op40VyY_nEzDJGgK_OND_wm6o6OW1jK-efDH9DbnweEQTlLIM9xlCQLHvBTcVXKaWHjQM-69DhMTEew7m4LcbZjo3zanhsaBs6jD8u0RwpOozgNUJ9HUjtWZC0bqj6fH4HzRZOwe6BklXu_QLAfuSPUlYtGPHZd9LW887ykZHyQEPHWaogmdcjNXGInri8P-z-5Ruj3KBE1GQrfMMC-7QCKspMOAU-x6wP_tBbL9D1ux02L8-Zz8juJLhes6kF9FnE9if6TFdfbLJvdnUSrobpwRz5VsEwIdvqhHL2IiemrO3StkFFaLiQ + string: stubbed_token recorded_at: Thu, 08 Dec 2022 18:19:07 GMT - request: method: get @@ -72,7 +72,7 @@ http_interactions: Referer: - https://review-instance.va.gov X-Vamf-Jwt: - - eyJhbGciOiJSUzUxMiJ9.eyJhdXRoZW50aWNhdGVkIjp0cnVlLCJsYXN0TmFtZSI6Ik1vcmdhbiIsInN1YiI6IjEwMTI4NDYwNDNWNTc2MzQxIiwiYXV0aGVudGljYXRpb25BdXRob3JpdHkiOiJnb3YudmEudmFvcyIsImdlbmRlciI6IkZFTUFMRSIsImlzcyI6Imdvdi52YS52YW1mLnVzZXJzZXJ2aWNlLnYyIiwidmFtZi5hdXRoLnJlc291cmNlcyI6WyJeLiooXC8pP3BhdGllbnRbc10_XC8oSUNOXC8pPzEwMTI4NDYwNDNWNTc2MzQxKFwvLiopPyQiLCJeLiooXC8pP3NpdGVbc10_XC8oZGZuLSk_OTgzXC9wYXRpZW50W3NdP1wvNzIxNjY4NVwvYXBwb2ludG1lbnRzKFwvLiopPyQiLCJeLiooXC8pP3NpdGVbc10_XC8oZGZuLSk_NjY4XC9wYXRpZW50W3NdP1wvMTYxNzM3XC9hcHBvaW50bWVudHMoXC8uKik_JCIsIl4uKihcLyk_c2l0ZVtzXT9cLyhkZm4tKT85ODRcL3BhdGllbnRbc10_XC81NTIxNjEwNDRcL2FwcG9pbnRtZW50cyhcLy4qKT8kIl0sInNzbiI6Ijc5NjA2MTk3NiIsInNzdCI6MTY3MDUyMzU0NywicGF0aWVudCI6eyJmaXJzdE5hbWUiOiJKYWNxdWVsaW5lIiwibGFzdE5hbWUiOiJNb3JnYW4iLCJnZW5kZXIiOiJGRU1BTEUiLCJpY24iOiIxMDEyODQ2MDQzVjU3NjM0MSIsImRvYiI6IjE5NjItMDItMDciLCJkYXRlT2ZCaXJ0aCI6IjE5NjItMDItMDciLCJzc24iOiI3OTYwNjE5NzYifSwidmFtZi5hdXRoLnJvbGVzIjpbInZldGVyYW4iXSwicmlnaHRPZkFjY2Vzc0FjY2VwdGVkIjp0cnVlLCJleHAiOjE2NzA1MjQ0NDcsImp0aSI6ImM1NTE0MDU1LTA1ZTItNDViZC1hNjk1LTQzNTMzM2FlMWUyNiIsImlkVHlwZSI6IklDTiIsImRhdGVPZkJpcnRoIjoiMTk2MjAyMDciLCJ2ZXJzaW9uIjoyLjgsImVkaXBpZCI6IjEwMTM1OTk3MzAiLCJ2aXN0YUlkcyI6W3sicGF0aWVudElkIjoiNzIxNjY4NSIsInNpdGVJZCI6Ijk4MyJ9LHsicGF0aWVudElkIjoiMTYxNzM3Iiwic2l0ZUlkIjoiNjY4In0seyJwYXRpZW50SWQiOiI1NTIxNjEwNDQiLCJzaXRlSWQiOiI5ODQifV0sImZpcnN0TmFtZSI6IkphY3F1ZWxpbmUiLCJzdGFmZkRpc2NsYWltZXJBY2NlcHRlZCI6dHJ1ZSwibmJmIjoxNjcwNTIzMzY3LCJkb2IiOiIxOTYyMDIwNyIsImxvYSI6Mn0.rDNB9cCldVdlnOgDmWT23kf3NxABwuG3Op40VyY_nEzDJGgK_OND_wm6o6OW1jK-efDH9DbnweEQTlLIM9xlCQLHvBTcVXKaWHjQM-69DhMTEew7m4LcbZjo3zanhsaBs6jD8u0RwpOozgNUJ9HUjtWZC0bqj6fH4HzRZOwe6BklXu_QLAfuSPUlYtGPHZd9LW887ykZHyQEPHWaogmdcjNXGInri8P-z-5Ruj3KBE1GQrfMMC-7QCKspMOAU-x6wP_tBbL9D1ux02L8-Zz8juJLhes6kF9FnE9if6TFdfbLJvdnUSrobpwRz5VsEwIdvqhHL2IiemrO3StkFFaLiQ + - stubbed_token X-Request-Id: - '' Accept-Encoding: diff --git a/spec/support/vcr_cassettes/vaos/v2/appointments/get_appointments_200_cc_proposed.yml b/spec/support/vcr_cassettes/vaos/v2/appointments/get_appointments_200_cc_proposed.yml index e2c9d2dad17..9f535dd485e 100644 --- a/spec/support/vcr_cassettes/vaos/v2/appointments/get_appointments_200_cc_proposed.yml +++ b/spec/support/vcr_cassettes/vaos/v2/appointments/get_appointments_200_cc_proposed.yml @@ -16,7 +16,7 @@ http_interactions: Referer: - https://review-instance.va.gov X-Vamf-Jwt: - - eyJhbGciOiJSUzUxMiJ9.eyJhdXRoZW50aWNhdGVkIjp0cnVlLCJsYXN0TmFtZSI6Ik1vcnJpc29uIiwic3ViIjoiMTAxMjg0NTMzMVYxNTMwNDMiLCJhdXRoZW50aWNhdGlvbkF1dGhvcml0eSI6Imdvdi52YS52YW9zIiwiZ2VuZGVyIjoiRkVNQUxFIiwiaXNzIjoiZ292LnZhLnZhbWYudXNlcnNlcnZpY2UudjIiLCJ2YW1mLmF1dGgucmVzb3VyY2VzIjpbIl4uKihcLyk_c2l0ZVtzXT9cLyhkZm4tKT85ODRcL3BhdGllbnRbc10_XC81NTIxNjEwNTBcL2FwcG9pbnRtZW50cyhcLy4qKT8kIiwiXi4qKFwvKT9zaXRlW3NdP1wvKGRmbi0pPzk4M1wvcGF0aWVudFtzXT9cLzcyMTY2OTFcL2FwcG9pbnRtZW50cyhcLy4qKT8kIiwiXi4qKFwvKT9wYXRpZW50W3NdP1wvKElDTlwvKT8xMDEyODQ1MzMxVjE1MzA0MyhcLy4qKT8kIl0sInNzbiI6Ijc5NjA2MTk3NiIsInNzdCI6MTYzNjA1NTgwMCwicGF0aWVudCI6eyJmaXJzdE5hbWUiOiJKdWR5IiwibGFzdE5hbWUiOiJNb3JyaXNvbiIsImdlbmRlciI6IkZFTUFMRSIsImljbiI6IjEwMTI4NDUzMzFWMTUzMDQzIiwiZG9iIjoiMTk1My0wNC0wMSIsImRhdGVPZkJpcnRoIjoiMTk1My0wNC0wMSIsInNzbiI6Ijc5NjA2MTk3NiJ9LCJ2YW1mLmF1dGgucm9sZXMiOlsidmV0ZXJhbiJdLCJyaWdodE9mQWNjZXNzQWNjZXB0ZWQiOnRydWUsImV4cCI6MTYzNjA1NjcwMSwianRpIjoiMGY3NzdkMDYtYTkyYy00NTU5LWJiMzctNmNkMzMzNjY3NDU2IiwiaWRUeXBlIjoiSUNOIiwiZGF0ZU9mQmlydGgiOiIxOTUzMDQwMSIsInZlcnNpb24iOjIuNiwiZWRpcGlkIjoiMTI1OTg5Nzk3OCIsInZpc3RhSWRzIjpbeyJwYXRpZW50SWQiOiI1NTIxNjEwNTAiLCJzaXRlSWQiOiI5ODQifSx7InBhdGllbnRJZCI6IjcyMTY2OTEiLCJzaXRlSWQiOiI5ODMifV0sImZpcnN0TmFtZSI6Ikp1ZHkiLCJzdGFmZkRpc2NsYWltZXJBY2NlcHRlZCI6dHJ1ZSwibmJmIjoxNjM2MDU1NjIxLCJkb2IiOiIxOTUzMDQwMSIsImxvYSI6Mn0.uw7RPiSMhJungUJ5t4fhBCFGEBlagRy6mt0z-0FSn1LetODaEDDY-NEA3Mvu_mWjYKRVW-6eYDtnBRAHSD0CgpT0yleSuzY27bN3fRbkg-FjpqL06EO93TVXnGSXwAiXNJMSkOnhCmRH1b74XCl0kow3ptCMV-AMTYqHGj3aGwkRIyjtqqEePLdBVndQTff0-Vd-o8jy-eebwoFspEA1By_GykURfGFUjkp6zxDplFG_HovtlOOSm18AHlR8itfDBI_hUR8dQOLmiYhQh43GCLLUYh3qfPiPLWJAHdYG3AWYE27ud5yngCmBBp09CDNL3_N-UeqzaLCDBj3-pgB9Sw + - stubbed_token X-Request-Id: - '' Accept-Encoding: diff --git a/spec/support/vcr_cassettes/vaos/v2/appointments/get_appointments_200_with_mobile_facility_service_500.yml b/spec/support/vcr_cassettes/vaos/v2/appointments/get_appointments_200_with_mobile_facility_service_500.yml index dec11101838..c8702665451 100644 --- a/spec/support/vcr_cassettes/vaos/v2/appointments/get_appointments_200_with_mobile_facility_service_500.yml +++ b/spec/support/vcr_cassettes/vaos/v2/appointments/get_appointments_200_with_mobile_facility_service_500.yml @@ -16,7 +16,7 @@ http_interactions: Referer: - https://review-instance.va.gov X-Vamf-Jwt: - - eyJhbGciOiJSUzUxMiJ9.eyJhdXRoZW50aWNhdGVkIjp0cnVlLCJsYXN0TmFtZSI6Ik1vcnJpc29uIiwic3ViIjoiMTAxMjg0NTMzMVYxNTMwNDMiLCJhdXRoZW50aWNhdGlvbkF1dGhvcml0eSI6Imdvdi52YS52YW9zIiwiZ2VuZGVyIjoiRkVNQUxFIiwiaXNzIjoiZ292LnZhLnZhbWYudXNlcnNlcnZpY2UudjIiLCJ2YW1mLmF1dGgucmVzb3VyY2VzIjpbIl4uKihcLyk_c2l0ZVtzXT9cLyhkZm4tKT85ODRcL3BhdGllbnRbc10_XC81NTIxNjEwNTBcL2FwcG9pbnRtZW50cyhcLy4qKT8kIiwiXi4qKFwvKT9zaXRlW3NdP1wvKGRmbi0pPzk4M1wvcGF0aWVudFtzXT9cLzcyMTY2OTFcL2FwcG9pbnRtZW50cyhcLy4qKT8kIiwiXi4qKFwvKT9wYXRpZW50W3NdP1wvKElDTlwvKT8xMDEyODQ1MzMxVjE1MzA0MyhcLy4qKT8kIl0sInNzbiI6Ijc5NjA2MTk3NiIsInNzdCI6MTYyODYxMDkzNSwicGF0aWVudCI6eyJmaXJzdE5hbWUiOiJKdWR5IiwibGFzdE5hbWUiOiJNb3JyaXNvbiIsImdlbmRlciI6IkZFTUFMRSIsImljbiI6IjEwMTI4NDUzMzFWMTUzMDQzIiwiZG9iIjoiMTk1My0wNC0wMSIsImRhdGVPZkJpcnRoIjoiMTk1My0wNC0wMSIsInNzbiI6Ijc5NjA2MTk3NiJ9LCJ2YW1mLmF1dGgucm9sZXMiOlsidmV0ZXJhbiJdLCJyaWdodE9mQWNjZXNzQWNjZXB0ZWQiOnRydWUsImV4cCI6MTYyODYxMTgzNiwianRpIjoiYjQxMWM0NjgtZmZhYS00M2I4LTgwYmQtM2E5NDgxODhkOWI4IiwiaWRUeXBlIjoiSUNOIiwiZGF0ZU9mQmlydGgiOiIxOTUzMDQwMSIsInZlcnNpb24iOjIuNSwiZWRpcGlkIjoiMTI1OTg5Nzk3OCIsInZpc3RhSWRzIjpbeyJwYXRpZW50SWQiOiI1NTIxNjEwNTAiLCJzaXRlSWQiOiI5ODQifSx7InBhdGllbnRJZCI6IjcyMTY2OTEiLCJzaXRlSWQiOiI5ODMifV0sImZpcnN0TmFtZSI6Ikp1ZHkiLCJzdGFmZkRpc2NsYWltZXJBY2NlcHRlZCI6dHJ1ZSwibmJmIjoxNjI4NjEwNzU2LCJkb2IiOiIxOTUzMDQwMSIsImxvYSI6Mn0.LtO3ITwRj4PGlYkwwrb2ICKuzWdCn1C9r4OgqSoKqVbizM1t2QSwv__VDJjV9sgjnb6ohvO4Ho8MAY0u45WXPe24Zje4lnNkm-TFHyFIKL--ptU1AL-IQf69EcciAfNjmxVqHuKxXRoomD9wfZrH8Nu-kdYXnL3E5z3F-TCOlQ3dFcvEub7n_JCib_sGIi9E1m7e2VCHXuMGQlPijuHms2m1DuGlmNLoTQu6Pnr2FfAEQ5Qq1PajX9X2k9wfNMLiXGXIaRyzkL2_eWzQGnszDlB1ze3DFuWfLeLZRNEjtP7GnnyO3lwSe93vzdae_jl0NqCtyvS0ku6saOjrb6qShA + - stubbed_token X-Request-Id: - '' Accept-Encoding: @@ -101,9 +101,9 @@ http_interactions: Etag: - '"5fa5087d-3d6"' Set-Cookie: - - TS016f4012=01c8917e48e63286b7f10c28b2377be94dc8e3abca4b09a4105fcf7db6ff2be68f7a5b816a03f40b8abb39c051cb9ffea872cbb175; + - TS016f4012=stubbed_cookie; Max-Age=900; Path=/ - - vamfjwtv3=eyJ6aXAiOiJERUYiLCJjdHkiOiJKV1QiLCJlbmMiOiJBMjU2Q0JDLUhTNTEyIiwiYWxnIjoiUlNBLU9BRVAtMjU2In0.BCHgAvtMSivXONJX23QY7k2bRmzgnXgIjJsI3VbH99Kxw3LAA-9QQTwZVsvwBfK2cd2Q29RyoOIaTlkvdt9ycXsY0Wyc0LU4CckWEvZNIW76oGwTSSoQRiWxsbgm3UikU77iJFhvfosIX8Vo5l9UQSzLup61Xf23aELbZqI-RVntrfew51miLh52rz5NXuRfy654CCdbS_3QKhT7dG1s_ifmdRaXbEhsgDbHSBX10db_hgK8mqkrV0Y957r5fVxLV36DZXlM02kPxzKHfAJ8HAaUezCRcHl9Q7A7b-mj09JwKbcwFDZxeQA1vH08d_0BZ_59lyzym67Jr99DrCV3bg.x3enidMbgKhjgNMw7lizGQ.YcRMrrjsXyJXGTKOgbhz0q9mX9PftWl9RECngUivM9S7I82U9mOylfEXE22OJ2aNUV5h6iKgCjAySMdiZHrLquuAB_Qq60sZm9chXoDz0pH7F8L853Vcgu27sL8J7Ho0FPlmr25SY9Pg9CsJ4skDe45gJlSdvmxGIutxvCpkhh1wUGuocOaRbtoDWC3LEbEmS9ozugNYPY5gYAJUnrCVWWg44nsvP6t_Flg6tnCDMTtOa4oB6vBXxyLjznoolCVW6XnPpfwWWlIyoMdNbRDozO9FUpoV0f9OiBYR2_tcTyiZWcIdUp8L8HKAsG9qCocTQpG_CcFq-vkTH_WVvkLKvlTctFKyQgITXxSWCp7V6UOW4-FIZjlujACyOoz3hHcxokT4Qsx3u-S-qyPVSqCSLNlihFykaNZa6HzizG0nHeTi88qvD224o-MJenihXFTmCmycTnzTKyf-eizt2m9aeJLauHXEhM1gzhrop9ro3KV7rzQLI3s2Mf2uPSxjXOy-DDPC1Dur-dy-40q7pMFy447J2Jnu3X04eeTGz44KRrlx9MJ7362z2j36l-5ILtuMrOvVkYxRNI0VaLhAUYKxCAZnwklD82M5d_Qh9ha6Cli4N8wJ2EQujaviC4FwSN4ULJUvO_SpuhvSTK9LJHeXDwx_xpVeU0qPTZvho7hqaUmAtk5uTf4e-2haccgVI6YQ7dEC13XIrK4sXcAertO8Tg.jY-TmqOGP8pKAksGmOvp--mdID1SKPe8IpUUAWYJA3g; + - vamfjwtv3=stubbed_token; path=/; SameSite=Lax; HttpOnly - vamftimeoutv1=1619637737; SameSite=Lax; path=/ body: @@ -126,7 +126,7 @@ http_interactions: Referer: - https://review-instance.va.gov X-Vamf-Jwt: - - eyJhbGciOiJSUzUxMiJ9.eyJhdXRoZW50aWNhdGVkIjp0cnVlLCJsYXN0TmFtZSI6Ik1vcnJpc29uIiwic3ViIjoiMTAxMjg0NTMzMVYxNTMwNDMiLCJhdXRoZW50aWNhdGlvbkF1dGhvcml0eSI6Imdvdi52YS52YW9zIiwiZ2VuZGVyIjoiRkVNQUxFIiwiaXNzIjoiZ292LnZhLnZhbWYudXNlcnNlcnZpY2UudjIiLCJ2YW1mLmF1dGgucmVzb3VyY2VzIjpbIl4uKihcLyk_c2l0ZVtzXT9cLyhkZm4tKT85ODRcL3BhdGllbnRbc10_XC81NTIxNjEwNTBcL2FwcG9pbnRtZW50cyhcLy4qKT8kIiwiXi4qKFwvKT9zaXRlW3NdP1wvKGRmbi0pPzk4M1wvcGF0aWVudFtzXT9cLzcyMTY2OTFcL2FwcG9pbnRtZW50cyhcLy4qKT8kIiwiXi4qKFwvKT9wYXRpZW50W3NdP1wvKElDTlwvKT8xMDEyODQ1MzMxVjE1MzA0MyhcLy4qKT8kIl0sInNzbiI6Ijc5NjA2MTk3NiIsInNzdCI6MTYyODUzMTMzOCwicGF0aWVudCI6eyJmaXJzdE5hbWUiOiJKdWR5IiwibGFzdE5hbWUiOiJNb3JyaXNvbiIsImdlbmRlciI6IkZFTUFMRSIsImljbiI6IjEwMTI4NDUzMzFWMTUzMDQzIiwiZG9iIjoiMTk1My0wNC0wMSIsImRhdGVPZkJpcnRoIjoiMTk1My0wNC0wMSIsInNzbiI6Ijc5NjA2MTk3NiJ9LCJ2YW1mLmF1dGgucm9sZXMiOlsidmV0ZXJhbiJdLCJyaWdodE9mQWNjZXNzQWNjZXB0ZWQiOnRydWUsImV4cCI6MTYyODUzMjIzOCwianRpIjoiMDFkOWZmNGItYjg4Ny00ODFlLTlhNjQtOGY1OWRlNDI1MjI4IiwiaWRUeXBlIjoiSUNOIiwiZGF0ZU9mQmlydGgiOiIxOTUzMDQwMSIsInZlcnNpb24iOjIuNSwiZWRpcGlkIjoiMTI1OTg5Nzk3OCIsInZpc3RhSWRzIjpbeyJwYXRpZW50SWQiOiI1NTIxNjEwNTAiLCJzaXRlSWQiOiI5ODQifSx7InBhdGllbnRJZCI6IjcyMTY2OTEiLCJzaXRlSWQiOiI5ODMifV0sImZpcnN0TmFtZSI6Ikp1ZHkiLCJzdGFmZkRpc2NsYWltZXJBY2NlcHRlZCI6dHJ1ZSwibmJmIjoxNjI4NTMxMTU4LCJkb2IiOiIxOTUzMDQwMSIsImxvYSI6Mn0.GKidQabckZtnD1mlhvjiaflm1K_2kea5sk05ywz_I5b7LyWXuiFsjgUycxSZ_JzodiJDei8MuJCbaPAXsN6FBYmn-mPGCPoMD2BwjVm8hh_jSRZW838jxW5T9Oh5B77EI1pWBmxdTeXEHQFStv1Sf9vVWy2U3MLbV2LqGdU8hWjeQlJk6heJXdWCk0PGOPJo1PQzfTV_XZnsJsSxs8hL9npbAFrW3SAYpLM4Yjw33R0ruWBg68AyS0boq19fsNe8GUtrtBTYYtQau5Xq6Q4S8g0_zMVha9_hH7ZCnlkZ3UzPbgkH2VEh9xc2H0nYS9BXd4SZ0yZb8PDow0eb33CQIQ + - stubbed_token X-Request-Id: - '' Accept-Encoding: diff --git a/spec/support/vcr_cassettes/vaos/v2/appointments/get_appointments_400.yml b/spec/support/vcr_cassettes/vaos/v2/appointments/get_appointments_400.yml index 060669fd372..76e699d88bf 100644 --- a/spec/support/vcr_cassettes/vaos/v2/appointments/get_appointments_400.yml +++ b/spec/support/vcr_cassettes/vaos/v2/appointments/get_appointments_400.yml @@ -37,9 +37,9 @@ http_interactions: Etag: - '"601db677-1493"' Set-Cookie: - - TS016f4012=01c8917e487bf0add1e4de119f610ae56f30636277f1de32d5b030e6811393e43364c0624fe1eb5b884d6ca62c10e482e4d7477441; + - TS016f4012=stubbed_cookie; Max-Age=900; Path=/ - - vamfjwtv3=eyJ6aXAiOiJERUYiLCJjdHkiOiJKV1QiLCJlbmMiOiJBMjU2Q0JDLUhTNTEyIiwiYWxnIjoiUlNBLU9BRVAtMjU2In0.Cu9L-tNbV5fCqpGN-0mm0CxkYZ2ctt3OFCs3SEYLCF-AZ6PzfmlSQsc8nWIRTCr0_9RE3R059CLYMAYOYTxlDaLtgIre4laHmw9ELO8Bg6oKXMExwogfvR3n7_HVZFod0VOcs4Ma0rbFNX79xgp1kVd5th8-mGpcuAAAH60AjL8wG2Ueoio8Pz4GGJl4BpdIRbRSmtNF7qWy0bSV98uUsicsigtJxZsvOzrTwoYdtOKeMAKWh1ojp3bKQ6HxIMFN9YtYWKSKxf8qUof-nqrIRJKGBs7e7qgLQrqRK-S8wsechRm7KRh2CBI_IOe_k1qJm5l_jRUX61ySoPPVQKyX9Q.5mSkp63nZoBzpsnSw8P4mQ.RNmkr2hoQLrYS0Vcp-3ezhxDF-zIdZlre04GptQ0-7VCxS47U1Wfk9LU84ZRzpgjBBKeY5swXtL5a4Lkb-4yBnucOt43XkclisQXjnUS88ekOPwP8FOIkHGBRreIyi-RPJHEEkSrouc5zOhD6QTlpJXeRBNFhU1cEsBSqomuGmdw1XiNuOq8HE-Hy6UjPzD2fiSHWzkLzjSwwGAlzJzvLzy2u0KQJ5RXRBX5zFuDl9zbFE-hFWYCQPrp4nfDfu0ic99k1roetokSkElMrZTIs9uAUXkEULQxVBmVv5zRbZRFhaXU084joO6B7DAkrqREx3d-7mF2Cks4kTNosiyHr-uekIPBleHOuvpkT_MvoaYixTEoxd7xYgBG0u3zqJEr-WW8FvL5xhh8RkeNBsn6wF34bWiKPYMnHmljUy4PwQoVpBt5qXl0mz247KcNfHWn3WGToCAca-SsL0_xmnn4SIJ7IJSmlzDhteHZjywJF45lRMmPUVaVfPCn1UfLyA3wUbQCBmuBJhqift7SrSPPc4hlG54BNM3i8rS2ZpNx7pIna38FLQTl5PPkPVjwsAsacIBIArxTngzSoCouGl0mI_-7lr9vbOqFA4J9Wsmjb3PYphnePqFyUwsJ9IvhjT6_O-6U_fJulOQ2H1-z05woyyfrsKYvLEy2ean3AKyZa8pc1iaV2M__Bi1xKeQdk7HlR4qxWhrX3mmlo4lzOh_nOA.7DpGeEluhJn7jrkra5-68pwTN6oq172JD4Yc9OZLdsc; + - vamfjwtv3=stubbed_token; path=/; SameSite=Lax; HttpOnly - vamftimeoutv1=1621896618; SameSite=Lax; path=/ body: @@ -53,4 +53,4 @@ http_interactions: "meta" : { } } recorded_at: Mon, 24 May 2021 22:35:19 GMT -recorded_with: VCR 6.0.0 \ No newline at end of file +recorded_with: VCR 6.0.0 diff --git a/spec/support/vcr_cassettes/vaos/v2/appointments/get_appointments_401.yml b/spec/support/vcr_cassettes/vaos/v2/appointments/get_appointments_401.yml index 326233bf35a..b51d2ea8ee8 100644 --- a/spec/support/vcr_cassettes/vaos/v2/appointments/get_appointments_401.yml +++ b/spec/support/vcr_cassettes/vaos/v2/appointments/get_appointments_401.yml @@ -37,9 +37,9 @@ http_interactions: Etag: - '"601db677-1493"' Set-Cookie: - - TS016f4012=01c8917e487bf0add1e4de119f610ae56f30636277f1de32d5b030e6811393e43364c0624fe1eb5b884d6ca62c10e482e4d7477441; + - TS016f4012=stubbed_cookie; Max-Age=900; Path=/ - - vamfjwtv3=eyJ6aXAiOiJERUYiLCJjdHkiOiJKV1QiLCJlbmMiOiJBMjU2Q0JDLUhTNTEyIiwiYWxnIjoiUlNBLU9BRVAtMjU2In0.Cu9L-tNbV5fCqpGN-0mm0CxkYZ2ctt3OFCs3SEYLCF-AZ6PzfmlSQsc8nWIRTCr0_9RE3R059CLYMAYOYTxlDaLtgIre4laHmw9ELO8Bg6oKXMExwogfvR3n7_HVZFod0VOcs4Ma0rbFNX79xgp1kVd5th8-mGpcuAAAH60AjL8wG2Ueoio8Pz4GGJl4BpdIRbRSmtNF7qWy0bSV98uUsicsigtJxZsvOzrTwoYdtOKeMAKWh1ojp3bKQ6HxIMFN9YtYWKSKxf8qUof-nqrIRJKGBs7e7qgLQrqRK-S8wsechRm7KRh2CBI_IOe_k1qJm5l_jRUX61ySoPPVQKyX9Q.5mSkp63nZoBzpsnSw8P4mQ.RNmkr2hoQLrYS0Vcp-3ezhxDF-zIdZlre04GptQ0-7VCxS47U1Wfk9LU84ZRzpgjBBKeY5swXtL5a4Lkb-4yBnucOt43XkclisQXjnUS88ekOPwP8FOIkHGBRreIyi-RPJHEEkSrouc5zOhD6QTlpJXeRBNFhU1cEsBSqomuGmdw1XiNuOq8HE-Hy6UjPzD2fiSHWzkLzjSwwGAlzJzvLzy2u0KQJ5RXRBX5zFuDl9zbFE-hFWYCQPrp4nfDfu0ic99k1roetokSkElMrZTIs9uAUXkEULQxVBmVv5zRbZRFhaXU084joO6B7DAkrqREx3d-7mF2Cks4kTNosiyHr-uekIPBleHOuvpkT_MvoaYixTEoxd7xYgBG0u3zqJEr-WW8FvL5xhh8RkeNBsn6wF34bWiKPYMnHmljUy4PwQoVpBt5qXl0mz247KcNfHWn3WGToCAca-SsL0_xmnn4SIJ7IJSmlzDhteHZjywJF45lRMmPUVaVfPCn1UfLyA3wUbQCBmuBJhqift7SrSPPc4hlG54BNM3i8rS2ZpNx7pIna38FLQTl5PPkPVjwsAsacIBIArxTngzSoCouGl0mI_-7lr9vbOqFA4J9Wsmjb3PYphnePqFyUwsJ9IvhjT6_O-6U_fJulOQ2H1-z05woyyfrsKYvLEy2ean3AKyZa8pc1iaV2M__Bi1xKeQdk7HlR4qxWhrX3mmlo4lzOh_nOA.7DpGeEluhJn7jrkra5-68pwTN6oq172JD4Yc9OZLdsc; + - vamfjwtv3=stubbed_token; path=/; SameSite=Lax; HttpOnly - vamftimeoutv1=1621896618; SameSite=Lax; path=/ body: @@ -112,4 +112,4 @@ http_interactions: \ \n \n \n \n \ \n\n\n\n" recorded_at: Mon, 24 May 2021 22:35:19 GMT -recorded_with: VCR 6.0.0 \ No newline at end of file +recorded_with: VCR 6.0.0 diff --git a/spec/support/vcr_cassettes/vaos/v2/appointments/get_appointments_500.yml b/spec/support/vcr_cassettes/vaos/v2/appointments/get_appointments_500.yml index e8d29f799c9..efad560861b 100644 --- a/spec/support/vcr_cassettes/vaos/v2/appointments/get_appointments_500.yml +++ b/spec/support/vcr_cassettes/vaos/v2/appointments/get_appointments_500.yml @@ -36,9 +36,9 @@ http_interactions: Etag: - '"5fa5087d-3d6"' Set-Cookie: - - TS016f4012=01c8917e48e63286b7f10c28b2377be94dc8e3abca4b09a4105fcf7db6ff2be68f7a5b816a03f40b8abb39c051cb9ffea872cbb175; + - TS016f4012=stubbed_cookie; Max-Age=900; Path=/ - - vamfjwtv3=eyJ6aXAiOiJERUYiLCJjdHkiOiJKV1QiLCJlbmMiOiJBMjU2Q0JDLUhTNTEyIiwiYWxnIjoiUlNBLU9BRVAtMjU2In0.BCHgAvtMSivXONJX23QY7k2bRmzgnXgIjJsI3VbH99Kxw3LAA-9QQTwZVsvwBfK2cd2Q29RyoOIaTlkvdt9ycXsY0Wyc0LU4CckWEvZNIW76oGwTSSoQRiWxsbgm3UikU77iJFhvfosIX8Vo5l9UQSzLup61Xf23aELbZqI-RVntrfew51miLh52rz5NXuRfy654CCdbS_3QKhT7dG1s_ifmdRaXbEhsgDbHSBX10db_hgK8mqkrV0Y957r5fVxLV36DZXlM02kPxzKHfAJ8HAaUezCRcHl9Q7A7b-mj09JwKbcwFDZxeQA1vH08d_0BZ_59lyzym67Jr99DrCV3bg.x3enidMbgKhjgNMw7lizGQ.YcRMrrjsXyJXGTKOgbhz0q9mX9PftWl9RECngUivM9S7I82U9mOylfEXE22OJ2aNUV5h6iKgCjAySMdiZHrLquuAB_Qq60sZm9chXoDz0pH7F8L853Vcgu27sL8J7Ho0FPlmr25SY9Pg9CsJ4skDe45gJlSdvmxGIutxvCpkhh1wUGuocOaRbtoDWC3LEbEmS9ozugNYPY5gYAJUnrCVWWg44nsvP6t_Flg6tnCDMTtOa4oB6vBXxyLjznoolCVW6XnPpfwWWlIyoMdNbRDozO9FUpoV0f9OiBYR2_tcTyiZWcIdUp8L8HKAsG9qCocTQpG_CcFq-vkTH_WVvkLKvlTctFKyQgITXxSWCp7V6UOW4-FIZjlujACyOoz3hHcxokT4Qsx3u-S-qyPVSqCSLNlihFykaNZa6HzizG0nHeTi88qvD224o-MJenihXFTmCmycTnzTKyf-eizt2m9aeJLauHXEhM1gzhrop9ro3KV7rzQLI3s2Mf2uPSxjXOy-DDPC1Dur-dy-40q7pMFy447J2Jnu3X04eeTGz44KRrlx9MJ7362z2j36l-5ILtuMrOvVkYxRNI0VaLhAUYKxCAZnwklD82M5d_Qh9ha6Cli4N8wJ2EQujaviC4FwSN4ULJUvO_SpuhvSTK9LJHeXDwx_xpVeU0qPTZvho7hqaUmAtk5uTf4e-2haccgVI6YQ7dEC13XIrK4sXcAertO8Tg.jY-TmqOGP8pKAksGmOvp--mdID1SKPe8IpUUAWYJA3g; + - vamfjwtv3=stubbed_token; path=/; SameSite=Lax; HttpOnly - vamftimeoutv1=1619637737; SameSite=Lax; path=/ body: diff --git a/spec/support/vcr_cassettes/vaos/v2/appointments/get_appointments_multi_status_200.yml b/spec/support/vcr_cassettes/vaos/v2/appointments/get_appointments_multi_status_200.yml index 65a33786ad9..d5e09e94595 100644 --- a/spec/support/vcr_cassettes/vaos/v2/appointments/get_appointments_multi_status_200.yml +++ b/spec/support/vcr_cassettes/vaos/v2/appointments/get_appointments_multi_status_200.yml @@ -163,7 +163,7 @@ http_interactions: Referer: - https://review-instance.va.gov X-Vamf-Jwt: - - eyJhbGciOiJSUzUxMiJ9.eyJhdXRoZW50aWNhdGVkIjp0cnVlLCJsYXN0TmFtZSI6Ik1vcnJpc29uIiwic3ViIjoiMTAxMjg0NTMzMVYxNTMwNDMiLCJhdXRoZW50aWNhdGlvbkF1dGhvcml0eSI6Imdvdi52YS52YW9zIiwiZ2VuZGVyIjoiRkVNQUxFIiwiaXNzIjoiZ292LnZhLnZhbWYudXNlcnNlcnZpY2UudjIiLCJ2YW1mLmF1dGgucmVzb3VyY2VzIjpbIl4uKihcLyk_c2l0ZVtzXT9cLyhkZm4tKT85ODRcL3BhdGllbnRbc10_XC81NTIxNjEwNTBcL2FwcG9pbnRtZW50cyhcLy4qKT8kIiwiXi4qKFwvKT9zaXRlW3NdP1wvKGRmbi0pPzk4M1wvcGF0aWVudFtzXT9cLzcyMTY2OTFcL2FwcG9pbnRtZW50cyhcLy4qKT8kIiwiXi4qKFwvKT9wYXRpZW50W3NdP1wvKElDTlwvKT8xMDEyODQ1MzMxVjE1MzA0MyhcLy4qKT8kIl0sInNzbiI6Ijc5NjA2MTk3NiIsInNzdCI6MTYyODUzMTMzOCwicGF0aWVudCI6eyJmaXJzdE5hbWUiOiJKdWR5IiwibGFzdE5hbWUiOiJNb3JyaXNvbiIsImdlbmRlciI6IkZFTUFMRSIsImljbiI6IjEwMTI4NDUzMzFWMTUzMDQzIiwiZG9iIjoiMTk1My0wNC0wMSIsImRhdGVPZkJpcnRoIjoiMTk1My0wNC0wMSIsInNzbiI6Ijc5NjA2MTk3NiJ9LCJ2YW1mLmF1dGgucm9sZXMiOlsidmV0ZXJhbiJdLCJyaWdodE9mQWNjZXNzQWNjZXB0ZWQiOnRydWUsImV4cCI6MTYyODUzMjIzOCwianRpIjoiMDFkOWZmNGItYjg4Ny00ODFlLTlhNjQtOGY1OWRlNDI1MjI4IiwiaWRUeXBlIjoiSUNOIiwiZGF0ZU9mQmlydGgiOiIxOTUzMDQwMSIsInZlcnNpb24iOjIuNSwiZWRpcGlkIjoiMTI1OTg5Nzk3OCIsInZpc3RhSWRzIjpbeyJwYXRpZW50SWQiOiI1NTIxNjEwNTAiLCJzaXRlSWQiOiI5ODQifSx7InBhdGllbnRJZCI6IjcyMTY2OTEiLCJzaXRlSWQiOiI5ODMifV0sImZpcnN0TmFtZSI6Ikp1ZHkiLCJzdGFmZkRpc2NsYWltZXJBY2NlcHRlZCI6dHJ1ZSwibmJmIjoxNjI4NTMxMTU4LCJkb2IiOiIxOTUzMDQwMSIsImxvYSI6Mn0.GKidQabckZtnD1mlhvjiaflm1K_2kea5sk05ywz_I5b7LyWXuiFsjgUycxSZ_JzodiJDei8MuJCbaPAXsN6FBYmn-mPGCPoMD2BwjVm8hh_jSRZW838jxW5T9Oh5B77EI1pWBmxdTeXEHQFStv1Sf9vVWy2U3MLbV2LqGdU8hWjeQlJk6heJXdWCk0PGOPJo1PQzfTV_XZnsJsSxs8hL9npbAFrW3SAYpLM4Yjw33R0ruWBg68AyS0boq19fsNe8GUtrtBTYYtQau5Xq6Q4S8g0_zMVha9_hH7ZCnlkZ3UzPbgkH2VEh9xc2H0nYS9BXd4SZ0yZb8PDow0eb33CQIQ + - stubbed_token X-Request-Id: - '' Accept-Encoding: diff --git a/spec/support/vcr_cassettes/vaos/v2/appointments/post_appointments_400.yml b/spec/support/vcr_cassettes/vaos/v2/appointments/post_appointments_400.yml index 8bbc11d75d7..5d4b4e38b44 100644 --- a/spec/support/vcr_cassettes/vaos/v2/appointments/post_appointments_400.yml +++ b/spec/support/vcr_cassettes/vaos/v2/appointments/post_appointments_400.yml @@ -16,7 +16,7 @@ http_interactions: Referer: - https://review-instance.va.gov X-Vamf-Jwt: - - eyJhbGciOiJSUzUxMiJ9.eyJhdXRoZW50aWNhdGVkIjp0cnVlLCJsYXN0TmFtZSI6Ik1vcnJpc29uIiwic3ViIjoiMTAxMjg0NTMzMVYxNTMwNDMiLCJhdXRoZW50aWNhdGlvbkF1dGhvcml0eSI6Imdvdi52YS52YW9zIiwiZ2VuZGVyIjoiRkVNQUxFIiwiaXNzIjoiZ292LnZhLnZhbWYudXNlcnNlcnZpY2UudjIiLCJ2YW1mLmF1dGgucmVzb3VyY2VzIjpbIl4uKihcLyk_c2l0ZVtzXT9cLyhkZm4tKT85ODRcL3BhdGllbnRbc10_XC81NTIxNjEwNTBcL2FwcG9pbnRtZW50cyhcLy4qKT8kIiwiXi4qKFwvKT9zaXRlW3NdP1wvKGRmbi0pPzk4M1wvcGF0aWVudFtzXT9cLzcyMTY2OTFcL2FwcG9pbnRtZW50cyhcLy4qKT8kIiwiXi4qKFwvKT9wYXRpZW50W3NdP1wvKElDTlwvKT8xMDEyODQ1MzMxVjE1MzA0MyhcLy4qKT8kIl0sInNzbiI6Ijc5NjA2MTk3NiIsInNzdCI6MTYyMjc1NTAxNCwicGF0aWVudCI6eyJmaXJzdE5hbWUiOiJKdWR5IiwibGFzdE5hbWUiOiJNb3JyaXNvbiIsImdlbmRlciI6IkZFTUFMRSIsImljbiI6IjEwMTI4NDUzMzFWMTUzMDQzIiwiZG9iIjoiMTk1My0wNC0wMSIsImRhdGVPZkJpcnRoIjoiMTk1My0wNC0wMSIsInNzbiI6Ijc5NjA2MTk3NiJ9LCJ2YW1mLmF1dGgucm9sZXMiOlsidmV0ZXJhbiJdLCJyaWdodE9mQWNjZXNzQWNjZXB0ZWQiOnRydWUsImV4cCI6MTYyMjc1NTkxNCwianRpIjoiYjkzOGI5YTQtMDAwMC00MzRiLWI1MDgtNjAzOWQxMjVjZDRjIiwiaWRUeXBlIjoiSUNOIiwiZGF0ZU9mQmlydGgiOiIxOTUzMDQwMSIsInZlcnNpb24iOjIuNSwiZWRpcGlkIjoiMTI1OTg5Nzk3OCIsInZpc3RhSWRzIjpbeyJwYXRpZW50SWQiOiI1NTIxNjEwNTAiLCJzaXRlSWQiOiI5ODQifSx7InBhdGllbnRJZCI6IjcyMTY2OTEiLCJzaXRlSWQiOiI5ODMifV0sImZpcnN0TmFtZSI6Ikp1ZHkiLCJzdGFmZkRpc2NsYWltZXJBY2NlcHRlZCI6dHJ1ZSwibmJmIjoxNjIyNzU0ODM0LCJkb2IiOiIxOTUzMDQwMSIsImxvYSI6Mn0.xSPU-3nDiisLD0sFtoYIreyaRfOmPUF_GvqRHqj-T9Sxy0bU6JFiU7YBFeAQv0TFpLg6_-oqBbxw4y6fFvyDrkTEHz5o9FHYfxCJKk1Bf-FPp99b6rEIP0PHTh-ewPVpiVfXxAbHUc12Bxjfw0q1-LhBI8qWVsdIapQ-aEaM5UsHLM9DGU2CsUfd_ifOwMfZT6j_HMkZySHe5cUOtOuYfxk4dX2sR7PrMshvOBj3xeAbkrKCOvio-bwvvWwjHS6csR21Mcuaqlwdixzw7UUgcWn1UpmjDxYNwT6gS8G5nAk8Gjwkn0OcH_z0bL212DSIQTd-GmgQs9ORSubgWGETxQ + - stubbed_token X-Request-Id: - '' Accept-Encoding: diff --git a/spec/support/vcr_cassettes/vaos/v2/appointments/post_appointments_500.yml b/spec/support/vcr_cassettes/vaos/v2/appointments/post_appointments_500.yml index cba3d72e477..29861d04e54 100644 --- a/spec/support/vcr_cassettes/vaos/v2/appointments/post_appointments_500.yml +++ b/spec/support/vcr_cassettes/vaos/v2/appointments/post_appointments_500.yml @@ -39,9 +39,9 @@ http_interactions: Etag: - '"5fa5087d-3d6"' Set-Cookie: - - TS016f4012=01c8917e48eb67a5f88a5fab53e5c4de1235dc521562bcf0515a22e6f855d4914e121023202b308d74bdf64918fbb6b881cfb525bd; + - TS016f4012=stubbed_cookie; Max-Age=900; Path=/ - - vamfjwtv3=eyJ6aXAiOiJERUYiLCJjdHkiOiJKV1QiLCJlbmMiOiJBMjU2Q0JDLUhTNTEyIiwiYWxnIjoiUlNBLU9BRVAtMjU2In0.ZL5dEwnTfwTfTxg70NFd6JHiGXf2Bd-z7bVqt2T0_ZZ16jSgj36cUnukQWCcSt2-f1kI98sfwse96lk_qFXaC-2cWRhkrb1aZ9l70qQEAr6Jj7Bt2XtqYqIz9Kb5rkdmiFmQYIxn7cDT6IN86yKmRb2WZhZemTsRDXdaEMwU1zE4lN2XCBVhAUx5rITTHqG9Al-d6Z4eJ5bpcNl9tX91VQfAPfSOPfNfxUzvnF4clAWeNFjLlGbpJkhDMUPe0_u6OJtOorEDog1NqrST5KyGevqQFt3jvQKZHIJO3q9voJu7fGcfVD4Vs8ltrnaagUE5bcC5b52Z-KxWfcUxDGkLqQ.5hvqIsgj4gT2MPM_1O8Rcg.JRY8Ee49hIsMxfXiid5031jd0ld-8de8Aat8Z82MRkwCSaqUry2wAdJX0q-m3vE7yz-wEBhP36PtOGdVcBfVz3bq1y5TKSCTKHUmLwZRKSp--ICUoctHKox-OSHCCSWvPU5xvKcFoyyW_ueN3UPBlUasxpvcVH9hB9Ds0UXY3NmuK-d4GNuDRj1SBMSLZyl0IlRDTcShQwFggWy_Wg4INoWsbjuTeNahLSxL4sOfdhUtWxZpcCbtzDcXqKz7qE5T5Xl-IXCVlOu5Dsg5Loxd4ZigEvKqdfX8sKSRysNpcZtLpeOWVw-E2Jzft_TKUCZ06koJPSGp8QlAhqjU4oby_5pIU7jdylWZpHCKA0QfxdHEGtMdNflUWrhWcClXHpxNFqG8ok4xG0uV2zKQmtL3EtbHul6idU7oW6RtZX6I6CFVfSdWqmG7Bp4uqxWsAUuf-5JvTrq-sCcy42l_a6cICYqIcpMgvyUqApW6ktmeV-MxfrIjqq9tREI5RnwFQnmzAInkVPFZDQko32mOOKxW55rP2LYerNflGi567_GSD6ROoNdbjhjxR_0cXZ_QJZ-dDL_-mO33yysCV4D6Gc1C3DNM7OYpydthJlpjlDAkml5sWHRFJuB7pEfyx_7OrVXxks98vye9mQ1k8oK_8cIAkHgtkI-bkNTyN25hULiPOFJ6sk0C2Q3T_R1DSwC1V0N4ePiUBgpkNJkdb-Vur504Og.fPYhCKC7sCKOoF7yr3QMR1aS4CfeRpuB6QWWCVzs5Vk; + - vamfjwtv3=stubbed_token; path=/; SameSite=Lax; HttpOnly - vamftimeoutv1=1620670472; SameSite=Lax; path=/ body: diff --git a/spec/support/vcr_cassettes/vaos/v2/appointments/post_appointments_cc_200.yml b/spec/support/vcr_cassettes/vaos/v2/appointments/post_appointments_cc_200.yml index aa78ef009ae..87b444379ca 100644 --- a/spec/support/vcr_cassettes/vaos/v2/appointments/post_appointments_cc_200.yml +++ b/spec/support/vcr_cassettes/vaos/v2/appointments/post_appointments_cc_200.yml @@ -5,7 +5,7 @@ http_interactions: uri: https://veteran.apps.va.gov/users/v2/session?processRules=true body: encoding: US-ASCII - string: eyJhbGciOiJSUzUxMiJ9.eyJhdXRoZW50aWNhdGVkIjp0cnVlLCJzdWIiOiIxMDEyODQ2MDQzVjU3NjM0MSIsImlkVHlwZSI6IklDTiIsImlzcyI6Imdvdi52YS52YW9zIiwiZmlyc3ROYW1lIjoiSmFjcXVlbGluZSIsImxhc3ROYW1lIjoiTW9yZ2FuIiwiYXV0aGVudGljYXRpb25BdXRob3JpdHkiOiJnb3YudmEuaWFtLnNzb2UudjEiLCJqdGkiOiIzNzNiYjk2OS05NmRjLTQ4NWEtOGQ0YS1iNDVkMjBhNzkyZjIiLCJuYmYiOjE2NDU1NDgxOTQsImV4cCI6MTY0NTU0OTE1NCwic3N0IjoxNjQ1NTQ4MjQ0LCJ2ZXJzaW9uIjoyLjEsImdlbmRlciI6IkZFTUFMRSIsImRvYiI6IjE5NjIwMjA3IiwiZGF0ZU9mQmlydGgiOiIxOTYyMDIwNyIsImVkaXBpZCI6IjEwMTM1OTk3MzAiLCJzc24iOiI3OTYwNjE5NzYifQ.mSy4e9Ia36E91hByufyceCDu7igm3_80YP61nHfBcc3gbz9Jg5tSsmRIQG992u6n1D2cKxY7XUCcam23ZaP6_x2yyDDrxyyS9k6uAvhPY8BsJHlNRsLrA15errvF748fXJGAIXk37iEbrfWMc0nvS8sVcdKBgc7w73T0qcpoP0qL0c3wLoV9SMAWnliun8N1gF4co3Cn9kXk6K3eyGGO-e3lw6y4mcgjOzNKP2hxiiaJjljfgU8JrocCJZQKdlgO3zblfbgLYli6tZ97YMLs2J5-Ez0QcRDlNPTf8KYelflxw2F6f972vO58F35NuHAQ4_y5dcOoCOwdmfw5t_xsPSsUcPnPZqRrEE5LDQ865B-hetXL6_evUGokfeWpHdMWqzi5EWpPQ87vUk2hDh-9J3C50hDh6JUa5bnS3Ym7q0Y0dcrwlz0mmziQq_R8hZ-wCG6pzerjq3hIZw1wbv9uQ-RG3XaazhKs130AOxJ6JdblqiuwKxx93ZA8FB4JSo_IsKwapiPsL6HthrKBYUOoDSwuQCci2ddtY6XkA5NST2odSkhPqjNie1wkQVcXWzgb9nUqUhAQvosdc2okAoGuXUfjOHFJ08uzl44cjqeXKbCvxIJMpJ8kxG8G-TFQymP7r0ju6ScnTKqf5MxqxCItht8MHfcLQ_JNZSFDxLkFmQo + string: stubbed_token headers: Accept: - text/plain @@ -54,7 +54,7 @@ http_interactions: - max-age=63072000; includeSubDomains; preload body: encoding: UTF-8 - string: eyJhbGciOiJSUzUxMiJ9.eyJhdXRoZW50aWNhdGVkIjp0cnVlLCJsYXN0TmFtZSI6Ik1vcmdhbiIsInN1YiI6IjEwMTI4NDYwNDNWNTc2MzQxIiwiYXV0aGVudGljYXRpb25BdXRob3JpdHkiOiJnb3YudmEudmFvcyIsImdlbmRlciI6IkZFTUFMRSIsImlzcyI6Imdvdi52YS52YW1mLnVzZXJzZXJ2aWNlLnYyIiwidmFtZi5hdXRoLnJlc291cmNlcyI6WyJeLiooXC8pP3BhdGllbnRbc10_XC8oSUNOXC8pPzEwMTI4NDYwNDNWNTc2MzQxKFwvLiopPyQiLCJeLiooXC8pP3NpdGVbc10_XC8oZGZuLSk_OTgzXC9wYXRpZW50W3NdP1wvNzIxNjY4NVwvYXBwb2ludG1lbnRzKFwvLiopPyQiLCJeLiooXC8pP3NpdGVbc10_XC8oZGZuLSk_NjY4XC9wYXRpZW50W3NdP1wvMTYxNzM3XC9hcHBvaW50bWVudHMoXC8uKik_JCIsIl4uKihcLyk_c2l0ZVtzXT9cLyhkZm4tKT85ODRcL3BhdGllbnRbc10_XC81NTIxNjEwNDRcL2FwcG9pbnRtZW50cyhcLy4qKT8kIl0sInNzbiI6Ijc5NjA2MTk3NiIsInNzdCI6MTY0NTU0ODI1NCwicGF0aWVudCI6eyJmaXJzdE5hbWUiOiJKYWNxdWVsaW5lIiwibGFzdE5hbWUiOiJNb3JnYW4iLCJnZW5kZXIiOiJGRU1BTEUiLCJpY24iOiIxMDEyODQ2MDQzVjU3NjM0MSIsImRvYiI6IjE5NjItMDItMDciLCJkYXRlT2ZCaXJ0aCI6IjE5NjItMDItMDciLCJzc24iOiI3OTYwNjE5NzYifSwidmFtZi5hdXRoLnJvbGVzIjpbInZldGVyYW4iXSwicmlnaHRPZkFjY2Vzc0FjY2VwdGVkIjp0cnVlLCJleHAiOjE2NDU1NDkxNTUsImp0aSI6IjM3M2JiOTY5LTk2ZGMtNDg1YS04ZDRhLWI0NWQyMGE3OTJmMiIsImlkVHlwZSI6IklDTiIsImRhdGVPZkJpcnRoIjoiMTk2MjAyMDciLCJ2ZXJzaW9uIjoyLjYsImVkaXBpZCI6IjEwMTM1OTk3MzAiLCJ2aXN0YUlkcyI6W3sicGF0aWVudElkIjoiNzIxNjY4NSIsInNpdGVJZCI6Ijk4MyJ9LHsicGF0aWVudElkIjoiMTYxNzM3Iiwic2l0ZUlkIjoiNjY4In0seyJwYXRpZW50SWQiOiI1NTIxNjEwNDQiLCJzaXRlSWQiOiI5ODQifV0sImZpcnN0TmFtZSI6IkphY3F1ZWxpbmUiLCJzdGFmZkRpc2NsYWltZXJBY2NlcHRlZCI6dHJ1ZSwibmJmIjoxNjQ1NTQ4MDc1LCJkb2IiOiIxOTYyMDIwNyIsImxvYSI6Mn0.Kp5MQKl6wkQHdcEeBmtpVIz1vzIR89TDdDvFXffuH7MJwX3jrvNpqahTNLEqSEDdA0W3bZ46w7hgrTr8VLihidGaL8gwU1MeUQPmVb4jd481V4IxUh7pmLheeiQSRFWg08_Hyku6FRc528pmaP8zMn8p6MzAfPBdBmCXAnMMvcmv51-v0eQUhLemwMcQp1upe5h6-1Zf41a8m8t5FZK3SZbrcvln6Om_jAVGw6-xUni3DrchhRTk9_CkRjXWb_UmaMwHqy6XC8mL2V2U3Dle_e0iRnnRfctzu29du3EiSlkBMg8hRziPYMgKV0e6r9wnhECI0NcB5C7K-D-8McTblg + string: stubbed_token recorded_at: Tue, 22 Feb 2022 16:44:15 GMT - request: method: post @@ -72,7 +72,7 @@ http_interactions: Referer: - https://review-instance.va.gov X-Vamf-Jwt: - - eyJhbGciOiJSUzUxMiJ9.eyJhdXRoZW50aWNhdGVkIjp0cnVlLCJsYXN0TmFtZSI6Ik1vcmdhbiIsInN1YiI6IjEwMTI4NDYwNDNWNTc2MzQxIiwiYXV0aGVudGljYXRpb25BdXRob3JpdHkiOiJnb3YudmEudmFvcyIsImdlbmRlciI6IkZFTUFMRSIsImlzcyI6Imdvdi52YS52YW1mLnVzZXJzZXJ2aWNlLnYyIiwidmFtZi5hdXRoLnJlc291cmNlcyI6WyJeLiooXC8pP3BhdGllbnRbc10_XC8oSUNOXC8pPzEwMTI4NDYwNDNWNTc2MzQxKFwvLiopPyQiLCJeLiooXC8pP3NpdGVbc10_XC8oZGZuLSk_OTgzXC9wYXRpZW50W3NdP1wvNzIxNjY4NVwvYXBwb2ludG1lbnRzKFwvLiopPyQiLCJeLiooXC8pP3NpdGVbc10_XC8oZGZuLSk_NjY4XC9wYXRpZW50W3NdP1wvMTYxNzM3XC9hcHBvaW50bWVudHMoXC8uKik_JCIsIl4uKihcLyk_c2l0ZVtzXT9cLyhkZm4tKT85ODRcL3BhdGllbnRbc10_XC81NTIxNjEwNDRcL2FwcG9pbnRtZW50cyhcLy4qKT8kIl0sInNzbiI6Ijc5NjA2MTk3NiIsInNzdCI6MTY0NTU0ODI1NCwicGF0aWVudCI6eyJmaXJzdE5hbWUiOiJKYWNxdWVsaW5lIiwibGFzdE5hbWUiOiJNb3JnYW4iLCJnZW5kZXIiOiJGRU1BTEUiLCJpY24iOiIxMDEyODQ2MDQzVjU3NjM0MSIsImRvYiI6IjE5NjItMDItMDciLCJkYXRlT2ZCaXJ0aCI6IjE5NjItMDItMDciLCJzc24iOiI3OTYwNjE5NzYifSwidmFtZi5hdXRoLnJvbGVzIjpbInZldGVyYW4iXSwicmlnaHRPZkFjY2Vzc0FjY2VwdGVkIjp0cnVlLCJleHAiOjE2NDU1NDkxNTUsImp0aSI6IjM3M2JiOTY5LTk2ZGMtNDg1YS04ZDRhLWI0NWQyMGE3OTJmMiIsImlkVHlwZSI6IklDTiIsImRhdGVPZkJpcnRoIjoiMTk2MjAyMDciLCJ2ZXJzaW9uIjoyLjYsImVkaXBpZCI6IjEwMTM1OTk3MzAiLCJ2aXN0YUlkcyI6W3sicGF0aWVudElkIjoiNzIxNjY4NSIsInNpdGVJZCI6Ijk4MyJ9LHsicGF0aWVudElkIjoiMTYxNzM3Iiwic2l0ZUlkIjoiNjY4In0seyJwYXRpZW50SWQiOiI1NTIxNjEwNDQiLCJzaXRlSWQiOiI5ODQifV0sImZpcnN0TmFtZSI6IkphY3F1ZWxpbmUiLCJzdGFmZkRpc2NsYWltZXJBY2NlcHRlZCI6dHJ1ZSwibmJmIjoxNjQ1NTQ4MDc1LCJkb2IiOiIxOTYyMDIwNyIsImxvYSI6Mn0.Kp5MQKl6wkQHdcEeBmtpVIz1vzIR89TDdDvFXffuH7MJwX3jrvNpqahTNLEqSEDdA0W3bZ46w7hgrTr8VLihidGaL8gwU1MeUQPmVb4jd481V4IxUh7pmLheeiQSRFWg08_Hyku6FRc528pmaP8zMn8p6MzAfPBdBmCXAnMMvcmv51-v0eQUhLemwMcQp1upe5h6-1Zf41a8m8t5FZK3SZbrcvln6Om_jAVGw6-xUni3DrchhRTk9_CkRjXWb_UmaMwHqy6XC8mL2V2U3Dle_e0iRnnRfctzu29du3EiSlkBMg8hRziPYMgKV0e6r9wnhECI0NcB5C7K-D-8McTblg + - stubbed_token X-Request-Id: - '' Accept-Encoding: diff --git a/spec/support/vcr_cassettes/vaos/v2/appointments/post_appointments_cc_200_2222022.yml b/spec/support/vcr_cassettes/vaos/v2/appointments/post_appointments_cc_200_2222022.yml index e6ccddb16c6..5c3bc6ce2b6 100644 --- a/spec/support/vcr_cassettes/vaos/v2/appointments/post_appointments_cc_200_2222022.yml +++ b/spec/support/vcr_cassettes/vaos/v2/appointments/post_appointments_cc_200_2222022.yml @@ -17,7 +17,7 @@ http_interactions: Referer: - https://review-instance.va.gov X-Vamf-Jwt: - - eyJhbGciOiJSUzUxMiJ9.eyJhdXRoZW50aWNhdGVkIjp0cnVlLCJsYXN0TmFtZSI6Ik1vcmdhbiIsInN1YiI6IjEwMTI4NDYwNDNWNTc2MzQxIiwiYXV0aGVudGljYXRpb25BdXRob3JpdHkiOiJnb3YudmEudmFvcyIsImdlbmRlciI6IkZFTUFMRSIsImlzcyI6Imdvdi52YS52YW1mLnVzZXJzZXJ2aWNlLnYyIiwidmFtZi5hdXRoLnJlc291cmNlcyI6WyJeLiooXC8pP3BhdGllbnRbc10_XC8oSUNOXC8pPzEwMTI4NDYwNDNWNTc2MzQxKFwvLiopPyQiLCJeLiooXC8pP3NpdGVbc10_XC8oZGZuLSk_OTgzXC9wYXRpZW50W3NdP1wvNzIxNjY4NVwvYXBwb2ludG1lbnRzKFwvLiopPyQiLCJeLiooXC8pP3NpdGVbc10_XC8oZGZuLSk_NjY4XC9wYXRpZW50W3NdP1wvMTYxNzM3XC9hcHBvaW50bWVudHMoXC8uKik_JCIsIl4uKihcLyk_c2l0ZVtzXT9cLyhkZm4tKT85ODRcL3BhdGllbnRbc10_XC81NTIxNjEwNDRcL2FwcG9pbnRtZW50cyhcLy4qKT8kIl0sInNzbiI6Ijc5NjA2MTk3NiIsInNzdCI6MTY0NTU2NjM0MiwicGF0aWVudCI6eyJmaXJzdE5hbWUiOiJKYWNxdWVsaW5lIiwibGFzdE5hbWUiOiJNb3JnYW4iLCJnZW5kZXIiOiJGRU1BTEUiLCJpY24iOiIxMDEyODQ2MDQzVjU3NjM0MSIsImRvYiI6IjE5NjItMDItMDciLCJkYXRlT2ZCaXJ0aCI6IjE5NjItMDItMDciLCJzc24iOiI3OTYwNjE5NzYifSwidmFtZi5hdXRoLnJvbGVzIjpbInZldGVyYW4iXSwicmlnaHRPZkFjY2Vzc0FjY2VwdGVkIjp0cnVlLCJleHAiOjE2NDU1NjcyNDIsImp0aSI6IjIxOTQ3ZjdhLWFiMTQtNDE1ZC1iMzMxLWJmM2QwNjRlNGYwNCIsImlkVHlwZSI6IklDTiIsImRhdGVPZkJpcnRoIjoiMTk2MjAyMDciLCJ2ZXJzaW9uIjoyLjYsImVkaXBpZCI6IjEwMTM1OTk3MzAiLCJ2aXN0YUlkcyI6W3sicGF0aWVudElkIjoiNzIxNjY4NSIsInNpdGVJZCI6Ijk4MyJ9LHsicGF0aWVudElkIjoiMTYxNzM3Iiwic2l0ZUlkIjoiNjY4In0seyJwYXRpZW50SWQiOiI1NTIxNjEwNDQiLCJzaXRlSWQiOiI5ODQifV0sImZpcnN0TmFtZSI6IkphY3F1ZWxpbmUiLCJzdGFmZkRpc2NsYWltZXJBY2NlcHRlZCI6dHJ1ZSwibmJmIjoxNjQ1NTY2MTYyLCJkb2IiOiIxOTYyMDIwNyIsImxvYSI6Mn0.IW4TZPQoTEogVsfkeBRVEtIia6MlNu0vCAs1SwjhBaloG4caS2TvA9KlNag2861NDmt4BmneamTgHVgZ_uS0foYJKb4OXSZOEu1Pguly_sb3FxtYqvvMX4wTQQDPaZc43XqqgEG6RE_8lzreTI0iIDO1ZVfMDrUYu4uc02ZBXFPIeOsZbBZ-p3EQCG9n5Ebp02BggQqvcq0lfVDCmLlJtPt1ouFuTngGsjyMW6n_9lUvpO3sPC3M-N4F4MJ2doI43jIzSDHcb5l9br7Q4p56_h8aULnOovWAx8T7jf1ysSxLDRoXFZJHCxmqIzHZgajmKabUwZBDz96QBHdMQPasOQ + - stubbed_token X-Request-Id: - '' Accept-Encoding: diff --git a/spec/support/vcr_cassettes/vaos/v2/appointments/post_appointments_cc_200_2252022.yml b/spec/support/vcr_cassettes/vaos/v2/appointments/post_appointments_cc_200_2252022.yml index 57dec657e11..605a33f4d38 100644 --- a/spec/support/vcr_cassettes/vaos/v2/appointments/post_appointments_cc_200_2252022.yml +++ b/spec/support/vcr_cassettes/vaos/v2/appointments/post_appointments_cc_200_2252022.yml @@ -16,7 +16,7 @@ http_interactions: Referer: - https://review-instance.va.gov X-Vamf-Jwt: - - eyJhbGciOiJSUzUxMiJ9.eyJhdXRoZW50aWNhdGVkIjp0cnVlLCJsYXN0TmFtZSI6Ik1vcmdhbiIsInN1YiI6IjEwMTI4NDYwNDNWNTc2MzQxIiwiYXV0aGVudGljYXRpb25BdXRob3JpdHkiOiJnb3YudmEudmFvcyIsImdlbmRlciI6IkZFTUFMRSIsImlzcyI6Imdvdi52YS52YW1mLnVzZXJzZXJ2aWNlLnYyIiwidmFtZi5hdXRoLnJlc291cmNlcyI6WyJeLiooXC8pP3BhdGllbnRbc10_XC8oSUNOXC8pPzEwMTI4NDYwNDNWNTc2MzQxKFwvLiopPyQiLCJeLiooXC8pP3NpdGVbc10_XC8oZGZuLSk_OTgzXC9wYXRpZW50W3NdP1wvNzIxNjY4NVwvYXBwb2ludG1lbnRzKFwvLiopPyQiLCJeLiooXC8pP3NpdGVbc10_XC8oZGZuLSk_NjY4XC9wYXRpZW50W3NdP1wvMTYxNzM3XC9hcHBvaW50bWVudHMoXC8uKik_JCIsIl4uKihcLyk_c2l0ZVtzXT9cLyhkZm4tKT85ODRcL3BhdGllbnRbc10_XC81NTIxNjEwNDRcL2FwcG9pbnRtZW50cyhcLy4qKT8kIl0sInNzbiI6Ijc5NjA2MTk3NiIsInNzdCI6MTY0NTgxMzYyMCwicGF0aWVudCI6eyJmaXJzdE5hbWUiOiJKYWNxdWVsaW5lIiwibGFzdE5hbWUiOiJNb3JnYW4iLCJnZW5kZXIiOiJGRU1BTEUiLCJpY24iOiIxMDEyODQ2MDQzVjU3NjM0MSIsImRvYiI6IjE5NjItMDItMDciLCJkYXRlT2ZCaXJ0aCI6IjE5NjItMDItMDciLCJzc24iOiI3OTYwNjE5NzYifSwidmFtZi5hdXRoLnJvbGVzIjpbInZldGVyYW4iXSwicmlnaHRPZkFjY2Vzc0FjY2VwdGVkIjp0cnVlLCJleHAiOjE2NDU4MTQ1MjAsImp0aSI6IjMzZDU5ZjE0LTQ0NTYtNDk0Mi04YzNhLWQ3NWQ3YWU1MGNlMSIsImlkVHlwZSI6IklDTiIsImRhdGVPZkJpcnRoIjoiMTk2MjAyMDciLCJ2ZXJzaW9uIjoyLjYsImVkaXBpZCI6IjEwMTM1OTk3MzAiLCJ2aXN0YUlkcyI6W3sicGF0aWVudElkIjoiNzIxNjY4NSIsInNpdGVJZCI6Ijk4MyJ9LHsicGF0aWVudElkIjoiMTYxNzM3Iiwic2l0ZUlkIjoiNjY4In0seyJwYXRpZW50SWQiOiI1NTIxNjEwNDQiLCJzaXRlSWQiOiI5ODQifV0sImZpcnN0TmFtZSI6IkphY3F1ZWxpbmUiLCJzdGFmZkRpc2NsYWltZXJBY2NlcHRlZCI6dHJ1ZSwibmJmIjoxNjQ1ODEzNDQwLCJkb2IiOiIxOTYyMDIwNyIsImxvYSI6Mn0.Eg4s0p6EYbc6WFgCOyxrYaRsUhZb5zGFUM9K1t1CIfEw2fDNIvWOfHK9mnnD70dQpMXb1IutElIa1hH4foiteIq3kQ2pEV0MHkBlZOUm7MynaAa-19s97Pc5UWiIGHyY9bRAkIPue5qzM9ZtP6ma7gO7tdShB0VWI36L0s4Z6Vo6NjSsvqqEbbvT6cpGI1O1P1Vgp4QfddFsiBOp1J5weT1Jqqs8nxtoPYIPNNyWYVc6h5NNP0iC0u0hKMvWFQC6tOG2wLlZrk7yNlzf6jLSfvyvWryj1JrpKrgQKPX1K9LuoCrIrcWWDHCctIqzt5uJdbEAWQYmAouw9CeinbLDGg + - stubbed_token X-Request-Id: - '' Accept-Encoding: diff --git a/spec/support/vcr_cassettes/vaos/v2/appointments/post_appointments_cc_200_2282022.yml b/spec/support/vcr_cassettes/vaos/v2/appointments/post_appointments_cc_200_2282022.yml index 97a52550bd9..27cf7c25c0c 100644 --- a/spec/support/vcr_cassettes/vaos/v2/appointments/post_appointments_cc_200_2282022.yml +++ b/spec/support/vcr_cassettes/vaos/v2/appointments/post_appointments_cc_200_2282022.yml @@ -17,7 +17,7 @@ http_interactions: Referer: - https://review-instance.va.gov X-Vamf-Jwt: - - eyJhbGciOiJSUzUxMiJ9.eyJhdXRoZW50aWNhdGVkIjp0cnVlLCJsYXN0TmFtZSI6Ik1vcmdhbiIsInN1YiI6IjEwMTI4NDYwNDNWNTc2MzQxIiwiYXV0aGVudGljYXRpb25BdXRob3JpdHkiOiJnb3YudmEudmFvcyIsImdlbmRlciI6IkZFTUFMRSIsImlzcyI6Imdvdi52YS52YW1mLnVzZXJzZXJ2aWNlLnYyIiwidmFtZi5hdXRoLnJlc291cmNlcyI6WyJeLiooXC8pP3BhdGllbnRbc10_XC8oSUNOXC8pPzEwMTI4NDYwNDNWNTc2MzQxKFwvLiopPyQiLCJeLiooXC8pP3NpdGVbc10_XC8oZGZuLSk_OTgzXC9wYXRpZW50W3NdP1wvNzIxNjY4NVwvYXBwb2ludG1lbnRzKFwvLiopPyQiLCJeLiooXC8pP3NpdGVbc10_XC8oZGZuLSk_NjY4XC9wYXRpZW50W3NdP1wvMTYxNzM3XC9hcHBvaW50bWVudHMoXC8uKik_JCIsIl4uKihcLyk_c2l0ZVtzXT9cLyhkZm4tKT85ODRcL3BhdGllbnRbc10_XC81NTIxNjEwNDRcL2FwcG9pbnRtZW50cyhcLy4qKT8kIl0sInNzbiI6Ijc5NjA2MTk3NiIsInNzdCI6MTY0NjA3MzIwMCwicGF0aWVudCI6eyJmaXJzdE5hbWUiOiJKYWNxdWVsaW5lIiwibGFzdE5hbWUiOiJNb3JnYW4iLCJnZW5kZXIiOiJGRU1BTEUiLCJpY24iOiIxMDEyODQ2MDQzVjU3NjM0MSIsImRvYiI6IjE5NjItMDItMDciLCJkYXRlT2ZCaXJ0aCI6IjE5NjItMDItMDciLCJzc24iOiI3OTYwNjE5NzYifSwidmFtZi5hdXRoLnJvbGVzIjpbInZldGVyYW4iXSwicmlnaHRPZkFjY2Vzc0FjY2VwdGVkIjp0cnVlLCJleHAiOjE2NDYwNzQxMDAsImp0aSI6IjdmODQ0ZmMwLTZlMTQtNGI1Mi1iOGY0LTJhMjMzNDBhMTM0MyIsImlkVHlwZSI6IklDTiIsImRhdGVPZkJpcnRoIjoiMTk2MjAyMDciLCJ2ZXJzaW9uIjoyLjYsImVkaXBpZCI6IjEwMTM1OTk3MzAiLCJ2aXN0YUlkcyI6W3sicGF0aWVudElkIjoiNzIxNjY4NSIsInNpdGVJZCI6Ijk4MyJ9LHsicGF0aWVudElkIjoiMTYxNzM3Iiwic2l0ZUlkIjoiNjY4In0seyJwYXRpZW50SWQiOiI1NTIxNjEwNDQiLCJzaXRlSWQiOiI5ODQifV0sImZpcnN0TmFtZSI6IkphY3F1ZWxpbmUiLCJzdGFmZkRpc2NsYWltZXJBY2NlcHRlZCI6dHJ1ZSwibmJmIjoxNjQ2MDczMDIwLCJkb2IiOiIxOTYyMDIwNyIsImxvYSI6Mn0.P0uYvFYwPOT01Vxw3n4D3GgE_p1nZtrjTnUbCAsjuJUn7PqwVtsq_bd_DR9Q5XyAbwmJIpTE6F9gtvuarq6dloNi_drq_5QqsHr_IOIkycIpvPokUZ7Rit1D-ncOm-7dflkoTxP0VD1bghAHflvDq096vaZhK0rQEEg56iomBlE5G6NRuEHAz5TbRj4HVThmYA-G4DdrYTLvvrnDngWGC4FyIebgk5_JjyWdtrQKBmc3W2r56Tbl8EGSf-BDknbCZFUrXZvgB89jfoFuziqUiCOJE140H2Ld-MlKtqrvARM6KXY7hmHBic8L5_QoUhkCL5Bz99y_OjUDTor4Y5J3vg + - stubbed_token X-Request-Id: - '' Accept-Encoding: diff --git a/spec/support/vcr_cassettes/vaos/v2/appointments/post_appointments_cc_200_back.yml b/spec/support/vcr_cassettes/vaos/v2/appointments/post_appointments_cc_200_back.yml index f3efa159705..3dc20394f2a 100644 --- a/spec/support/vcr_cassettes/vaos/v2/appointments/post_appointments_cc_200_back.yml +++ b/spec/support/vcr_cassettes/vaos/v2/appointments/post_appointments_cc_200_back.yml @@ -16,7 +16,7 @@ http_interactions: Referer: - https://review-instance.va.gov X-Vamf-Jwt: - - eyJhbGciOiJSUzUxMiJ9.eyJhdXRoZW50aWNhdGVkIjp0cnVlLCJsYXN0TmFtZSI6Ik1vcnJpc29uIiwic3ViIjoiMTAxMjg0NTMzMVYxNTMwNDMiLCJhdXRoZW50aWNhdGlvbkF1dGhvcml0eSI6Imdvdi52YS52YW9zIiwiZ2VuZGVyIjoiRkVNQUxFIiwiaXNzIjoiZ292LnZhLnZhbWYudXNlcnNlcnZpY2UudjIiLCJ2YW1mLmF1dGgucmVzb3VyY2VzIjpbIl4uKihcLyk_c2l0ZVtzXT9cLyhkZm4tKT85ODRcL3BhdGllbnRbc10_XC81NTIxNjEwNTBcL2FwcG9pbnRtZW50cyhcLy4qKT8kIiwiXi4qKFwvKT9zaXRlW3NdP1wvKGRmbi0pPzk4M1wvcGF0aWVudFtzXT9cLzcyMTY2OTFcL2FwcG9pbnRtZW50cyhcLy4qKT8kIiwiXi4qKFwvKT9wYXRpZW50W3NdP1wvKElDTlwvKT8xMDEyODQ1MzMxVjE1MzA0MyhcLy4qKT8kIl0sInNzbiI6Ijc5NjA2MTk3NiIsInNzdCI6MTY0MTIyOTYxMiwicGF0aWVudCI6eyJmaXJzdE5hbWUiOiJKdWR5IiwibGFzdE5hbWUiOiJNb3JyaXNvbiIsImdlbmRlciI6IkZFTUFMRSIsImljbiI6IjEwMTI4NDUzMzFWMTUzMDQzIiwiZG9iIjoiMTk1My0wNC0wMSIsImRhdGVPZkJpcnRoIjoiMTk1My0wNC0wMSIsInNzbiI6Ijc5NjA2MTk3NiJ9LCJ2YW1mLmF1dGgucm9sZXMiOlsidmV0ZXJhbiJdLCJyaWdodE9mQWNjZXNzQWNjZXB0ZWQiOnRydWUsImV4cCI6MTY0MTIzMDUxMywianRpIjoiZDc1NzliNWUtZjE0Zi00YzI4LTk3NmYtNjRiODkyZjRhODI4IiwiaWRUeXBlIjoiSUNOIiwiZGF0ZU9mQmlydGgiOiIxOTUzMDQwMSIsInZlcnNpb24iOjIuNiwiZWRpcGlkIjoiMTI1OTg5Nzk3OCIsInZpc3RhSWRzIjpbeyJwYXRpZW50SWQiOiI1NTIxNjEwNTAiLCJzaXRlSWQiOiI5ODQifSx7InBhdGllbnRJZCI6IjcyMTY2OTEiLCJzaXRlSWQiOiI5ODMifV0sImZpcnN0TmFtZSI6Ikp1ZHkiLCJzdGFmZkRpc2NsYWltZXJBY2NlcHRlZCI6dHJ1ZSwibmJmIjoxNjQxMjI5NDMzLCJkb2IiOiIxOTUzMDQwMSIsImxvYSI6Mn0.Kn9RXreFOpnpMkuZO07ZqnjV9oCFplB3WJ_KaxK5aesY4YzCVlDAle3QfoA48GoehOehq_N84Z1YMoKA6-xDyNR5WdaGchjfr1WY-253VB-MxZpAgz0BcY8POjMViyYGRU-4jJilDNoG8lYWszPEvHmjUE3bbS3jFu8d8i8eHXAHDU8CjDMCydEUwDSz8hkanOWiaSERMR9vjhcP1t-A8zg9BUaBHS9cyU0j1-MiYfHvTQfDPl3TuT_xRa0tSUXac2DrnPHuCLdvbQGheE7cl23RJVGLCZwcb7-0bLmXfKqTP1EVuDLzyL6wwEFOO1hNPOzoDsiaPpt86Vl-RM8wyQ + - stubbed_token X-Request-Id: - '' Accept-Encoding: diff --git a/spec/support/vcr_cassettes/vaos/v2/appointments/post_appointments_cc_200_with_provider.yml b/spec/support/vcr_cassettes/vaos/v2/appointments/post_appointments_cc_200_with_provider.yml index 06a13dfd88b..4b6ec08b03e 100644 --- a/spec/support/vcr_cassettes/vaos/v2/appointments/post_appointments_cc_200_with_provider.yml +++ b/spec/support/vcr_cassettes/vaos/v2/appointments/post_appointments_cc_200_with_provider.yml @@ -16,7 +16,7 @@ http_interactions: Referer: - https://review-instance.va.gov X-Vamf-Jwt: - - eyJhbGciOiJSUzUxMiJ9.eyJhdXRoZW50aWNhdGVkIjp0cnVlLCJsYXN0TmFtZSI6Ik1vcmdhbiIsInN1YiI6IjEwMTI4NDYwNDNWNTc2MzQxIiwiYXV0aGVudGljYXRpb25BdXRob3JpdHkiOiJnb3YudmEudmFvcyIsImdlbmRlciI6IkZFTUFMRSIsImlzcyI6Imdvdi52YS52YW1mLnVzZXJzZXJ2aWNlLnYyIiwidmFtZi5hdXRoLnJlc291cmNlcyI6WyJeLiooXC8pP3BhdGllbnRbc10_XC8oSUNOXC8pPzEwMTI4NDYwNDNWNTc2MzQxKFwvLiopPyQiLCJeLiooXC8pP3NpdGVbc10_XC8oZGZuLSk_OTgzXC9wYXRpZW50W3NdP1wvNzIxNjY4NVwvYXBwb2ludG1lbnRzKFwvLiopPyQiLCJeLiooXC8pP3NpdGVbc10_XC8oZGZuLSk_NjY4XC9wYXRpZW50W3NdP1wvMTYxNzM3XC9hcHBvaW50bWVudHMoXC8uKik_JCIsIl4uKihcLyk_c2l0ZVtzXT9cLyhkZm4tKT85ODRcL3BhdGllbnRbc10_XC81NTIxNjEwNDRcL2FwcG9pbnRtZW50cyhcLy4qKT8kIl0sInNzbiI6Ijc5NjA2MTk3NiIsInNzdCI6MTY0NTU2NjM0MiwicGF0aWVudCI6eyJmaXJzdE5hbWUiOiJKYWNxdWVsaW5lIiwibGFzdE5hbWUiOiJNb3JnYW4iLCJnZW5kZXIiOiJGRU1BTEUiLCJpY24iOiIxMDEyODQ2MDQzVjU3NjM0MSIsImRvYiI6IjE5NjItMDItMDciLCJkYXRlT2ZCaXJ0aCI6IjE5NjItMDItMDciLCJzc24iOiI3OTYwNjE5NzYifSwidmFtZi5hdXRoLnJvbGVzIjpbInZldGVyYW4iXSwicmlnaHRPZkFjY2Vzc0FjY2VwdGVkIjp0cnVlLCJleHAiOjE2NDU1NjcyNDIsImp0aSI6IjIxOTQ3ZjdhLWFiMTQtNDE1ZC1iMzMxLWJmM2QwNjRlNGYwNCIsImlkVHlwZSI6IklDTiIsImRhdGVPZkJpcnRoIjoiMTk2MjAyMDciLCJ2ZXJzaW9uIjoyLjYsImVkaXBpZCI6IjEwMTM1OTk3MzAiLCJ2aXN0YUlkcyI6W3sicGF0aWVudElkIjoiNzIxNjY4NSIsInNpdGVJZCI6Ijk4MyJ9LHsicGF0aWVudElkIjoiMTYxNzM3Iiwic2l0ZUlkIjoiNjY4In0seyJwYXRpZW50SWQiOiI1NTIxNjEwNDQiLCJzaXRlSWQiOiI5ODQifV0sImZpcnN0TmFtZSI6IkphY3F1ZWxpbmUiLCJzdGFmZkRpc2NsYWltZXJBY2NlcHRlZCI6dHJ1ZSwibmJmIjoxNjQ1NTY2MTYyLCJkb2IiOiIxOTYyMDIwNyIsImxvYSI6Mn0.IW4TZPQoTEogVsfkeBRVEtIia6MlNu0vCAs1SwjhBaloG4caS2TvA9KlNag2861NDmt4BmneamTgHVgZ_uS0foYJKb4OXSZOEu1Pguly_sb3FxtYqvvMX4wTQQDPaZc43XqqgEG6RE_8lzreTI0iIDO1ZVfMDrUYu4uc02ZBXFPIeOsZbBZ-p3EQCG9n5Ebp02BggQqvcq0lfVDCmLlJtPt1ouFuTngGsjyMW6n_9lUvpO3sPC3M-N4F4MJ2doI43jIzSDHcb5l9br7Q4p56_h8aULnOovWAx8T7jf1ysSxLDRoXFZJHCxmqIzHZgajmKabUwZBDz96QBHdMQPasOQ + - stubbed_token X-Request-Id: - '' Accept-Encoding: diff --git a/spec/support/vcr_cassettes/vaos/v2/appointments/post_appointments_va_booked_200_JM_should_fail.yml b/spec/support/vcr_cassettes/vaos/v2/appointments/post_appointments_va_booked_200_JM_should_fail.yml index 7ec14bf9298..e9ad37b76ab 100644 --- a/spec/support/vcr_cassettes/vaos/v2/appointments/post_appointments_va_booked_200_JM_should_fail.yml +++ b/spec/support/vcr_cassettes/vaos/v2/appointments/post_appointments_va_booked_200_JM_should_fail.yml @@ -51,9 +51,9 @@ http_interactions: Access-Control-Max-Age: - '3600' Set-Cookie: - - TS016f4012=01c16e2d8106c63143da22b72c764b391b2595f437d244aa5dd15863c5119187eef6ccb9624ec7971f3eb7182198bf12ddbd5f1fc9; + - TS016f4012=stubbed_cookie; Max-Age=900; Path=/ - - vamfjwtv3=eyJ6aXAiOiJERUYiLCJjdHkiOiJKV1QiLCJlbmMiOiJBMjU2Q0JDLUhTNTEyIiwiYWxnIjoiUlNBLU9BRVAtMjU2In0.VdetPkzYbSAQFjz4igMEpezMQrclBTDc4ocY8dUmxVDJzBmGrOMJxYI-wsOBm82k3Hr_m-_uUkw_XQmj5y_qDyIM40AcKgV0yM3If8J3LyWIDDc258aNc7xXlAxNNTJvOLlG3t7C7R7x18khIpqurAfVzQJrhqdOyyQ-wPvyxsaDcw7SjZxrw_MXgSzMZj2QEG1hGvMx-iovPCnIjlCbZtHN8NptK3ovucd7UqIoDM1wyYtL6GTKoBhUoJW9QBy4E3ZiLK26zPWneaGjb7pScLSdeF8VrDU2Qa-ma_M3pldwwDmlc9_01nVaSz-6JfYQLW-VcIoNo50Y3CWFz9LPFA.lciugBCXJGrvWe6pjgLZ9w.h0UNwvMKC8qNTZvh91Cks02ZnfszRoVrAJLnttDJVg1YhVmBB-6CkVSyXyottkp60Hni77pv0lU72JrwKcLqoMAxLduxgCZSWJCUy6Al9XiVTHk8PYYREulqtSo4CxCSI3xzSoQNMOOYKdANbMNnkmqD-7J4OGbyL1jIpSlouqasnkhfuBoDMBGFv4sTGQxUwd5roGiNMvTSxT3KzpW0MJf-U6j7vZjbTg1-u0fBXbR0L-hoSCnq3N2YQGqw4y09Smg-fAdfaYHyA51-8UYEvLW-amNM6xPa_gArJVkL5RhxswTwzzG1rdi_-hSqeBDkxJi2wsj00AWySKH-1-p5QofWlwBzJs8bxqR_fuxIzaiv1WI2i4miycMTOwdzuTR21nfSfvRdnYTDHq65PyqfraaNQGs0Vtnm0JE3_ATwJeBoB37_KCFg-YGqbf8UHWNoqSHlSzBUV9yhCGJ5zm6xXdGezrwzShh0ylI3dxFEFUp3KwgLMSUc8Jzqfv8bS4JAjhXUlvzruXDQnXsZVctztm2onlsrCGFIkisYPZEP3JdUMB7l_fSsQ9f7NDgqXiN4Tv_BKtsGlmuUkuqjPPaO8LKdS725tXH87QOvTtCkgcceDCX-YBzHznKvN2sa2njldq6TisQZQ3Cz8Terj0ru4ROkhdZem6R0m16XfsVByAOWc4dQuoa-RvVrvsRu_zBmqp_pAPAwPFoYDmIiI5OuCA.xHcfhsdudSMY0UK2of1pxJJwa5ZkkSh_z7WNF0DVCdQ; + - vamfjwtv3=stubbed_token; path=/; SameSite=Lax; HttpOnly - vamftimeoutv1=1642185538; SameSite=Lax; path=/ body: diff --git a/spec/support/vcr_cassettes/vaos/v2/mobile_facility_service/get_facilities_200_with_children.yml b/spec/support/vcr_cassettes/vaos/v2/mobile_facility_service/get_facilities_200_with_children.yml index f599350f46b..c9eb4ba2106 100644 --- a/spec/support/vcr_cassettes/vaos/v2/mobile_facility_service/get_facilities_200_with_children.yml +++ b/spec/support/vcr_cassettes/vaos/v2/mobile_facility_service/get_facilities_200_with_children.yml @@ -37,9 +37,9 @@ http_interactions: Etag: - '"601db677-1493"' Set-Cookie: - - TS016f4012=01c8917e48f82448aabad123124d27561ecea14fc6b7c5eef42a0f00d507b037e6542b7d32397d4fc45448ce2e65e382fb42f9b5cc; + - TS016f4012=stubbed_cookie; Max-Age=900; Path=/ - - vamfjwtv3=eyJ6aXAiOiJERUYiLCJjdHkiOiJKV1QiLCJlbmMiOiJBMjU2Q0JDLUhTNTEyIiwiYWxnIjoiUlNBLU9BRVAtMjU2In0.ejBzdl75tE7c9bkV7bTJj39NwyZ3fi1egLtJdiMLpnIrq6pV5t4jIIko8V7ad8z9tKtooKVVzDoRh8bvKH8ohhAiU8tBa3E-Kt8Yq8jiqgi-lIj_PKzCeY6_wdEI81AVwxvN-1kANBdZf-64i1LmuYOTZaUtO_TDN98Rs7S7PQLZHkkAIX8UGCwPUiL4nwS9BJxiBbarjQn8WdCOx0CaFwL5i0Kf8L5w6oKG16tt7asRqU0IkSnVWCRQoVrKn5rV6PrB8ujfmMxdpexWLV9syT_bM1Q1_-BZsocOmfGy5u_l2u_4ES6NR1y1AnVzu161gBewnxuNYrNq2EPI5t1xTw.T8A7jvOC063AoEYpdkwoQQ.nsasE7cZyigJOauLMipzUMja24rbCt1CLFhAfzxw_nLbEWJQadPD2PhW2cjNGQdzZiehvT30Eg3gh-stb0HiKiSKUfW5DA_srdn4GbfnBq3BzHVWM_vGiE7tX0r96twOCSkVxm6ve0ifL2Yc39wB_zlATUcd34rZ5iKqndlJdZoNAN5V7JjPUYuHKbA5KWEzIcQKWDkFubaiiXwsL110qcCRYSLc3wopCY57HVHtfJci70FrvUe-cIJ_ZWEom7Ku1NTFQ6By-EG29rQq4InWxDqnj8g_hbu4XEgtLSm2CPQuYzaWz87MA0dwzLGE4SEvPCVSJgQZLDSu6vVerAGr7oQ5b_EgrkiPSDR2phcYy3xWPXD2QSPlQgZqdhHoPwGDwgvlBmm2y1rKF8R20ldQ7icbTkrHPnQ9MMje8jRuSgW-Mi6UfKX-2ecGDkSrbHsWc3FtoPpDKxN3OC7s_OPIYzEZW5t5LCdLA0PO1WNYnv3tKwPxkjLFrNtf7IOoL6yr-EZc3kol_hCb8xaVoVtwQwzSvxXf0j1bCT-ilBosktbg622mpuo3TWNaUwSdLVvivYsXisZ9wNiGzbJi0EobFoN4iHhX2wHzcfIke-5ntxdal8_YSZTyX_Ae5JAoP52nYN60enygaxDs6Qvg4AWBnweCWe0QgWgdEUlOatj3dd5pFtJsLbP8_HFQjJTtSI17FjL-QEaC6bVqyT-VuR6hQw.SveNG2a77UDkzS524pd6jj038e4MjNidSEfRVOGDwqk; + - vamfjwtv3=stubbed_token; path=/; SameSite=Lax; HttpOnly - vamftimeoutv1=1621618493; SameSite=Lax; path=/ body: diff --git a/spec/support/vcr_cassettes/vaos/v2/mobile_facility_service/get_facility_200.yml b/spec/support/vcr_cassettes/vaos/v2/mobile_facility_service/get_facility_200.yml index 74db1459fec..1c8da32db26 100644 --- a/spec/support/vcr_cassettes/vaos/v2/mobile_facility_service/get_facility_200.yml +++ b/spec/support/vcr_cassettes/vaos/v2/mobile_facility_service/get_facility_200.yml @@ -16,7 +16,7 @@ http_interactions: Referer: - https://review-instance.va.gov X-Vamf-Jwt: - - eyJhbGciOiJSUzUxMiJ9.eyJhdXRoZW50aWNhdGVkIjp0cnVlLCJsYXN0TmFtZSI6Ik1vcnJpc29uIiwic3ViIjoiMTAxMjg0NTMzMVYxNTMwNDMiLCJhdXRoZW50aWNhdGlvbkF1dGhvcml0eSI6Imdvdi52YS52YW9zIiwiZ2VuZGVyIjoiRkVNQUxFIiwiaXNzIjoiZ292LnZhLnZhbWYudXNlcnNlcnZpY2UudjIiLCJ2YW1mLmF1dGgucmVzb3VyY2VzIjpbIl4uKihcLyk_c2l0ZVtzXT9cLyhkZm4tKT85ODRcL3BhdGllbnRbc10_XC81NTIxNjEwNTBcL2FwcG9pbnRtZW50cyhcLy4qKT8kIiwiXi4qKFwvKT9zaXRlW3NdP1wvKGRmbi0pPzk4M1wvcGF0aWVudFtzXT9cLzcyMTY2OTFcL2FwcG9pbnRtZW50cyhcLy4qKT8kIiwiXi4qKFwvKT9wYXRpZW50W3NdP1wvKElDTlwvKT8xMDEyODQ1MzMxVjE1MzA0MyhcLy4qKT8kIl0sInNzbiI6Ijc5NjA2MTk3NiIsInNzdCI6MTYyODUzMTMzOCwicGF0aWVudCI6eyJmaXJzdE5hbWUiOiJKdWR5IiwibGFzdE5hbWUiOiJNb3JyaXNvbiIsImdlbmRlciI6IkZFTUFMRSIsImljbiI6IjEwMTI4NDUzMzFWMTUzMDQzIiwiZG9iIjoiMTk1My0wNC0wMSIsImRhdGVPZkJpcnRoIjoiMTk1My0wNC0wMSIsInNzbiI6Ijc5NjA2MTk3NiJ9LCJ2YW1mLmF1dGgucm9sZXMiOlsidmV0ZXJhbiJdLCJyaWdodE9mQWNjZXNzQWNjZXB0ZWQiOnRydWUsImV4cCI6MTYyODUzMjIzOCwianRpIjoiMDFkOWZmNGItYjg4Ny00ODFlLTlhNjQtOGY1OWRlNDI1MjI4IiwiaWRUeXBlIjoiSUNOIiwiZGF0ZU9mQmlydGgiOiIxOTUzMDQwMSIsInZlcnNpb24iOjIuNSwiZWRpcGlkIjoiMTI1OTg5Nzk3OCIsInZpc3RhSWRzIjpbeyJwYXRpZW50SWQiOiI1NTIxNjEwNTAiLCJzaXRlSWQiOiI5ODQifSx7InBhdGllbnRJZCI6IjcyMTY2OTEiLCJzaXRlSWQiOiI5ODMifV0sImZpcnN0TmFtZSI6Ikp1ZHkiLCJzdGFmZkRpc2NsYWltZXJBY2NlcHRlZCI6dHJ1ZSwibmJmIjoxNjI4NTMxMTU4LCJkb2IiOiIxOTUzMDQwMSIsImxvYSI6Mn0.GKidQabckZtnD1mlhvjiaflm1K_2kea5sk05ywz_I5b7LyWXuiFsjgUycxSZ_JzodiJDei8MuJCbaPAXsN6FBYmn-mPGCPoMD2BwjVm8hh_jSRZW838jxW5T9Oh5B77EI1pWBmxdTeXEHQFStv1Sf9vVWy2U3MLbV2LqGdU8hWjeQlJk6heJXdWCk0PGOPJo1PQzfTV_XZnsJsSxs8hL9npbAFrW3SAYpLM4Yjw33R0ruWBg68AyS0boq19fsNe8GUtrtBTYYtQau5Xq6Q4S8g0_zMVha9_hH7ZCnlkZ3UzPbgkH2VEh9xc2H0nYS9BXd4SZ0yZb8PDow0eb33CQIQ + - stubbed_token X-Request-Id: - '' Accept-Encoding: diff --git a/spec/support/vcr_cassettes/vaos/v2/mobile_facility_service/get_facility_400.yml b/spec/support/vcr_cassettes/vaos/v2/mobile_facility_service/get_facility_400.yml index aa498206aa7..2ea8036e2c4 100644 --- a/spec/support/vcr_cassettes/vaos/v2/mobile_facility_service/get_facility_400.yml +++ b/spec/support/vcr_cassettes/vaos/v2/mobile_facility_service/get_facility_400.yml @@ -16,7 +16,7 @@ http_interactions: Referer: - https://review-instance.va.gov X-Vamf-Jwt: - - eyJhbGciOiJSUzUxMiJ9.eyJhdXRoZW50aWNhdGVkIjp0cnVlLCJsYXN0TmFtZSI6Ik1vcnJpc29uIiwic3ViIjoiMTAxMjg0NTMzMVYxNTMwNDMiLCJhdXRoZW50aWNhdGlvbkF1dGhvcml0eSI6Imdvdi52YS52YW9zIiwiZ2VuZGVyIjoiRkVNQUxFIiwiaXNzIjoiZ292LnZhLnZhbWYudXNlcnNlcnZpY2UudjIiLCJ2YW1mLmF1dGgucmVzb3VyY2VzIjpbIl4uKihcLyk_c2l0ZVtzXT9cLyhkZm4tKT85ODRcL3BhdGllbnRbc10_XC81NTIxNjEwNTBcL2FwcG9pbnRtZW50cyhcLy4qKT8kIiwiXi4qKFwvKT9zaXRlW3NdP1wvKGRmbi0pPzk4M1wvcGF0aWVudFtzXT9cLzcyMTY2OTFcL2FwcG9pbnRtZW50cyhcLy4qKT8kIiwiXi4qKFwvKT9wYXRpZW50W3NdP1wvKElDTlwvKT8xMDEyODQ1MzMxVjE1MzA0MyhcLy4qKT8kIl0sInNzbiI6Ijc5NjA2MTk3NiIsInNzdCI6MTYyMTYxODYyMywicGF0aWVudCI6eyJmaXJzdE5hbWUiOiJKdWR5IiwibGFzdE5hbWUiOiJNb3JyaXNvbiIsImdlbmRlciI6IkZFTUFMRSIsImljbiI6IjEwMTI4NDUzMzFWMTUzMDQzIiwiZG9iIjoiMTk1My0wNC0wMSIsImRhdGVPZkJpcnRoIjoiMTk1My0wNC0wMSIsInNzbiI6Ijc5NjA2MTk3NiJ9LCJ2YW1mLmF1dGgucm9sZXMiOlsidmV0ZXJhbiJdLCJyaWdodE9mQWNjZXNzQWNjZXB0ZWQiOnRydWUsImV4cCI6MTYyMTYxOTUyMywianRpIjoiMTMzMDQ2ZGQtZjhlOS00NzY1LTkwODUtMTkzNjI2OGM4ZDY5IiwiaWRUeXBlIjoiSUNOIiwiZGF0ZU9mQmlydGgiOiIxOTUzMDQwMSIsInZlcnNpb24iOjIuNSwiZWRpcGlkIjoiMTI1OTg5Nzk3OCIsInZpc3RhSWRzIjpbeyJwYXRpZW50SWQiOiI1NTIxNjEwNTAiLCJzaXRlSWQiOiI5ODQifSx7InBhdGllbnRJZCI6IjcyMTY2OTEiLCJzaXRlSWQiOiI5ODMifV0sImZpcnN0TmFtZSI6Ikp1ZHkiLCJzdGFmZkRpc2NsYWltZXJBY2NlcHRlZCI6dHJ1ZSwibmJmIjoxNjIxNjE4NDQzLCJkb2IiOiIxOTUzMDQwMSIsImxvYSI6Mn0.W1JPSTbmczXeQ-pvoBkJDN1l6eCW7Hb3c-8yZIVaPA7KCtUZO9O3GwyluS9spRzUO31aDhzPRCuQs8Gz2ESHLtqAJ2WcycXtOWRI4Qz71OV2ieBgky0bA_eUP4cUwPe--LOJGbgNdgZn6jLCQX0B6Dy6I4sjeeWth1Ha6XTfcC1IOXfNXmj76D392HhR7Dv5DUVcnAqDbunYEJbifJtyyFjV1uhshqtGrFsx8GvdVzK1TiwKUp7k6xkWYexLoLimY5NZvV6XMYFyZGqKCL-NL3C4nnUAPcZlhnGXqkzSCFHmhtGXb1FZ4fHpoIpkyBAPoXjUpbj7E6nn87AQnS6wnw + - stubbed_token X-Request-Id: - '' Accept-Encoding: diff --git a/spec/support/vcr_cassettes/vaos/v2/mobile_facility_service/get_facility_500.yml b/spec/support/vcr_cassettes/vaos/v2/mobile_facility_service/get_facility_500.yml index df54ecd206a..b6e8a442125 100644 --- a/spec/support/vcr_cassettes/vaos/v2/mobile_facility_service/get_facility_500.yml +++ b/spec/support/vcr_cassettes/vaos/v2/mobile_facility_service/get_facility_500.yml @@ -37,9 +37,9 @@ http_interactions: Etag: - '"5fa5087d-3d6"' Set-Cookie: - - TS016f4012=01c8917e48e63286b7f10c28b2377be94dc8e3abca4b09a4105fcf7db6ff2be68f7a5b816a03f40b8abb39c051cb9ffea872cbb175; + - TS016f4012=stubbed_cookie; Max-Age=900; Path=/ - - vamfjwtv3=eyJ6aXAiOiJERUYiLCJjdHkiOiJKV1QiLCJlbmMiOiJBMjU2Q0JDLUhTNTEyIiwiYWxnIjoiUlNBLU9BRVAtMjU2In0.BCHgAvtMSivXONJX23QY7k2bRmzgnXgIjJsI3VbH99Kxw3LAA-9QQTwZVsvwBfK2cd2Q29RyoOIaTlkvdt9ycXsY0Wyc0LU4CckWEvZNIW76oGwTSSoQRiWxsbgm3UikU77iJFhvfosIX8Vo5l9UQSzLup61Xf23aELbZqI-RVntrfew51miLh52rz5NXuRfy654CCdbS_3QKhT7dG1s_ifmdRaXbEhsgDbHSBX10db_hgK8mqkrV0Y957r5fVxLV36DZXlM02kPxzKHfAJ8HAaUezCRcHl9Q7A7b-mj09JwKbcwFDZxeQA1vH08d_0BZ_59lyzym67Jr99DrCV3bg.x3enidMbgKhjgNMw7lizGQ.YcRMrrjsXyJXGTKOgbhz0q9mX9PftWl9RECngUivM9S7I82U9mOylfEXE22OJ2aNUV5h6iKgCjAySMdiZHrLquuAB_Qq60sZm9chXoDz0pH7F8L853Vcgu27sL8J7Ho0FPlmr25SY9Pg9CsJ4skDe45gJlSdvmxGIutxvCpkhh1wUGuocOaRbtoDWC3LEbEmS9ozugNYPY5gYAJUnrCVWWg44nsvP6t_Flg6tnCDMTtOa4oB6vBXxyLjznoolCVW6XnPpfwWWlIyoMdNbRDozO9FUpoV0f9OiBYR2_tcTyiZWcIdUp8L8HKAsG9qCocTQpG_CcFq-vkTH_WVvkLKvlTctFKyQgITXxSWCp7V6UOW4-FIZjlujACyOoz3hHcxokT4Qsx3u-S-qyPVSqCSLNlihFykaNZa6HzizG0nHeTi88qvD224o-MJenihXFTmCmycTnzTKyf-eizt2m9aeJLauHXEhM1gzhrop9ro3KV7rzQLI3s2Mf2uPSxjXOy-DDPC1Dur-dy-40q7pMFy447J2Jnu3X04eeTGz44KRrlx9MJ7362z2j36l-5ILtuMrOvVkYxRNI0VaLhAUYKxCAZnwklD82M5d_Qh9ha6Cli4N8wJ2EQujaviC4FwSN4ULJUvO_SpuhvSTK9LJHeXDwx_xpVeU0qPTZvho7hqaUmAtk5uTf4e-2haccgVI6YQ7dEC13XIrK4sXcAertO8Tg.jY-TmqOGP8pKAksGmOvp--mdID1SKPe8IpUUAWYJA3g; + - vamfjwtv3=stubbed_token; path=/; SameSite=Lax; HttpOnly - vamftimeoutv1=1619637737; SameSite=Lax; path=/ body: diff --git a/spec/support/vcr_cassettes/vaos/v2/mobile_facility_service/get_multi_facilities_with_children_schedulable_false_200.yml b/spec/support/vcr_cassettes/vaos/v2/mobile_facility_service/get_multi_facilities_with_children_schedulable_false_200.yml index 187434d771f..417137aacf3 100644 --- a/spec/support/vcr_cassettes/vaos/v2/mobile_facility_service/get_multi_facilities_with_children_schedulable_false_200.yml +++ b/spec/support/vcr_cassettes/vaos/v2/mobile_facility_service/get_multi_facilities_with_children_schedulable_false_200.yml @@ -51,7 +51,7 @@ http_interactions: X-Envoy-Upstream-Service-Time: - '8' Set-Cookie: - - TS016f4012=01c16e2d81474406e85283946cff1852cafff617d91202ec7c664a87432ee87eff124abedd2252a9b32c7e41a03639a572ecfc7787; + - TS016f4012=stubbed_cookie; Max-Age=900; Path=/ - stubbed_cookie path=/; SameSite=Lax; HttpOnly diff --git a/spec/support/vcr_cassettes/vaos/v2/mobile_facility_service/get_scheduling_configurations_500.yml b/spec/support/vcr_cassettes/vaos/v2/mobile_facility_service/get_scheduling_configurations_500.yml index e736424ff6a..c7b441794b5 100644 --- a/spec/support/vcr_cassettes/vaos/v2/mobile_facility_service/get_scheduling_configurations_500.yml +++ b/spec/support/vcr_cassettes/vaos/v2/mobile_facility_service/get_scheduling_configurations_500.yml @@ -37,9 +37,9 @@ http_interactions: Etag: - '"5fa5087d-3d6"' Set-Cookie: - - TS016f4012=01c8917e48e63286b7f10c28b2377be94dc8e3abca4b09a4105fcf7db6ff2be68f7a5b816a03f40b8abb39c051cb9ffea872cbb175; + - TS016f4012=stubbed_cookie; Max-Age=900; Path=/ - - vamfjwtv3=eyJ6aXAiOiJERUYiLCJjdHkiOiJKV1QiLCJlbmMiOiJBMjU2Q0JDLUhTNTEyIiwiYWxnIjoiUlNBLU9BRVAtMjU2In0.BCHgAvtMSivXONJX23QY7k2bRmzgnXgIjJsI3VbH99Kxw3LAA-9QQTwZVsvwBfK2cd2Q29RyoOIaTlkvdt9ycXsY0Wyc0LU4CckWEvZNIW76oGwTSSoQRiWxsbgm3UikU77iJFhvfosIX8Vo5l9UQSzLup61Xf23aELbZqI-RVntrfew51miLh52rz5NXuRfy654CCdbS_3QKhT7dG1s_ifmdRaXbEhsgDbHSBX10db_hgK8mqkrV0Y957r5fVxLV36DZXlM02kPxzKHfAJ8HAaUezCRcHl9Q7A7b-mj09JwKbcwFDZxeQA1vH08d_0BZ_59lyzym67Jr99DrCV3bg.x3enidMbgKhjgNMw7lizGQ.YcRMrrjsXyJXGTKOgbhz0q9mX9PftWl9RECngUivM9S7I82U9mOylfEXE22OJ2aNUV5h6iKgCjAySMdiZHrLquuAB_Qq60sZm9chXoDz0pH7F8L853Vcgu27sL8J7Ho0FPlmr25SY9Pg9CsJ4skDe45gJlSdvmxGIutxvCpkhh1wUGuocOaRbtoDWC3LEbEmS9ozugNYPY5gYAJUnrCVWWg44nsvP6t_Flg6tnCDMTtOa4oB6vBXxyLjznoolCVW6XnPpfwWWlIyoMdNbRDozO9FUpoV0f9OiBYR2_tcTyiZWcIdUp8L8HKAsG9qCocTQpG_CcFq-vkTH_WVvkLKvlTctFKyQgITXxSWCp7V6UOW4-FIZjlujACyOoz3hHcxokT4Qsx3u-S-qyPVSqCSLNlihFykaNZa6HzizG0nHeTi88qvD224o-MJenihXFTmCmycTnzTKyf-eizt2m9aeJLauHXEhM1gzhrop9ro3KV7rzQLI3s2Mf2uPSxjXOy-DDPC1Dur-dy-40q7pMFy447J2Jnu3X04eeTGz44KRrlx9MJ7362z2j36l-5ILtuMrOvVkYxRNI0VaLhAUYKxCAZnwklD82M5d_Qh9ha6Cli4N8wJ2EQujaviC4FwSN4ULJUvO_SpuhvSTK9LJHeXDwx_xpVeU0qPTZvho7hqaUmAtk5uTf4e-2haccgVI6YQ7dEC13XIrK4sXcAertO8Tg.jY-TmqOGP8pKAksGmOvp--mdID1SKPe8IpUUAWYJA3g; + - vamfjwtv3=stubbed_token; path=/; SameSite=Lax; HttpOnly - vamftimeoutv1=1619637737; SameSite=Lax; path=/ body: diff --git a/spec/support/vcr_cassettes/vaos/v2/mobile_facility_service/get_scheduling_configurations_cc_200.yml b/spec/support/vcr_cassettes/vaos/v2/mobile_facility_service/get_scheduling_configurations_cc_200.yml index 273098d4f4c..9d803b5d515 100644 --- a/spec/support/vcr_cassettes/vaos/v2/mobile_facility_service/get_scheduling_configurations_cc_200.yml +++ b/spec/support/vcr_cassettes/vaos/v2/mobile_facility_service/get_scheduling_configurations_cc_200.yml @@ -16,7 +16,7 @@ http_interactions: Referer: - https://review-instance.va.gov X-Vamf-Jwt: - - eyJhbGciOiJSUzUxMiJ9.eyJhdXRoZW50aWNhdGVkIjp0cnVlLCJsYXN0TmFtZSI6Ik1vcnJpc29uIiwic3ViIjoiMTAxMjg0NTMzMVYxNTMwNDMiLCJhdXRoZW50aWNhdGlvbkF1dGhvcml0eSI6Imdvdi52YS52YW9zIiwiZ2VuZGVyIjoiRkVNQUxFIiwiaXNzIjoiZ292LnZhLnZhbWYudXNlcnNlcnZpY2UudjIiLCJ2YW1mLmF1dGgucmVzb3VyY2VzIjpbIl4uKihcLyk_c2l0ZVtzXT9cLyhkZm4tKT85ODRcL3BhdGllbnRbc10_XC81NTIxNjEwNTBcL2FwcG9pbnRtZW50cyhcLy4qKT8kIiwiXi4qKFwvKT9zaXRlW3NdP1wvKGRmbi0pPzk4M1wvcGF0aWVudFtzXT9cLzcyMTY2OTFcL2FwcG9pbnRtZW50cyhcLy4qKT8kIiwiXi4qKFwvKT9wYXRpZW50W3NdP1wvKElDTlwvKT8xMDEyODQ1MzMxVjE1MzA0MyhcLy4qKT8kIl0sInNzbiI6Ijc5NjA2MTk3NiIsInNzdCI6MTY3MzAyNjc0OCwicGF0aWVudCI6eyJmaXJzdE5hbWUiOiJKdWR5IiwibGFzdE5hbWUiOiJNb3JyaXNvbiIsImdlbmRlciI6IkZFTUFMRSIsImljbiI6IjEwMTI4NDUzMzFWMTUzMDQzIiwiZG9iIjoiMTk1My0wNC0wMSIsImRhdGVPZkJpcnRoIjoiMTk1My0wNC0wMSIsInNzbiI6Ijc5NjA2MTk3NiJ9LCJ2YW1mLmF1dGgucm9sZXMiOlsidmV0ZXJhbiJdLCJyaWdodE9mQWNjZXNzQWNjZXB0ZWQiOnRydWUsImV4cCI6MTY3MzAyNzY0OSwianRpIjoiZGE3NGZjYTMtZjRjZi00MmNjLWFlNWMtZGIwNzY0NTNkOThiIiwiaWRUeXBlIjoiSUNOIiwiZGF0ZU9mQmlydGgiOiIxOTUzMDQwMSIsInZlcnNpb24iOjIuOCwiZWRpcGlkIjoiMTI1OTg5Nzk3OCIsInZpc3RhSWRzIjpbeyJwYXRpZW50SWQiOiI1NTIxNjEwNTAiLCJzaXRlSWQiOiI5ODQifSx7InBhdGllbnRJZCI6IjcyMTY2OTEiLCJzaXRlSWQiOiI5ODMifV0sImZpcnN0TmFtZSI6Ikp1ZHkiLCJzdGFmZkRpc2NsYWltZXJBY2NlcHRlZCI6dHJ1ZSwibmJmIjoxNjczMDI2NTY5LCJkb2IiOiIxOTUzMDQwMSIsImxvYSI6Mn0.pmjQ8VQD1BWBnJHnJAWgS-3pkoY77NhrDwzavDzhNrBEwN1haAiQOEU4ouYwSkrPptyqqRGrf5VoZTKBn6Y_PAw0BPvtSR2_y1V66GmuI0xEkEKNC7SNlm7qyHmZy2Odw4S6KdEzwpSXsIktQ2MFR2Iax50Kv87QzlicKrPrialC-41e2nHsaZHgxSSOEU_lfROEiziWfeyd9_S4k8JxYGSSQseS2_bqCg7UQQbKsfCB418orN0G30uj6zSFdu8JSatQURQwYl_iWilpSviLiF7nWWvZhYQTlQZ71eJZkzOzswxy_k5igWRjEYmPMsQ71t0_hKNbH3BBJxp01xQx1Q + - stubbed_token X-Request-Id: - '' Accept-Encoding: diff --git a/spec/support/vcr_cassettes/vaos/v2/mobile_ppms_service/get_provider_200_12082022.yml b/spec/support/vcr_cassettes/vaos/v2/mobile_ppms_service/get_provider_200_12082022.yml index 69fe52a9acd..8c41227cafc 100644 --- a/spec/support/vcr_cassettes/vaos/v2/mobile_ppms_service/get_provider_200_12082022.yml +++ b/spec/support/vcr_cassettes/vaos/v2/mobile_ppms_service/get_provider_200_12082022.yml @@ -5,7 +5,7 @@ http_interactions: uri: https://internal-dsva-vagov-staging-fwdproxy-1821450725.us-gov-west-1.elb.amazonaws.com:4463/users/v2/session?processRules=true body: encoding: US-ASCII - string: eyJhbGciOiJSUzUxMiJ9.eyJhdXRoZW50aWNhdGVkIjp0cnVlLCJzdWIiOiIxMDEyODQ1MzMxVjE1MzA0MyIsImlkVHlwZSI6IklDTiIsImlzcyI6Imdvdi52YS52YW9zIiwiZmlyc3ROYW1lIjoiSnVkeSIsImxhc3ROYW1lIjoiTW9ycmlzb24iLCJhdXRoZW50aWNhdGlvbkF1dGhvcml0eSI6Imdvdi52YS5pYW0uc3NvZS52MSIsImp0aSI6IjNmNDljMjQyLWZhZTMtNDBkYS05ZWM0LWJkYWZmMDdjYmUxOCIsIm5iZiI6MTY3MDUyNDkzMCwiZXhwIjoxNjcwNTI1ODkwLCJzc3QiOjE2NzA1MjQ5ODAsInZlcnNpb24iOjIuMSwiZ2VuZGVyIjoiRkVNQUxFIiwiZG9iIjoiMTk1MzA0MDEiLCJkYXRlT2ZCaXJ0aCI6IjE5NTMwNDAxIiwiZWRpcGlkIjoiMTI1OTg5Nzk3OCIsInNzbiI6Ijc5NjA2MTk3NiJ9.BCVFr3XgLGONyX9gTj_Vxfdp5CX9eSCIzwH_z_ShX4c6UpRW7-T51efo0vN8bAsRRKQPPnLh4s0PtdFwl3FTwT5gSgoVX0nATp3sCwV8Y9YbCc9_PnoMy0hovurGjiEGE5eRJJ72F-s0OjHEQN0f-bAstjpn3OFz8O78RaROqPVmhsq6E5ozNN_YzevMo_hTEAB1kpgIVrRZiVpY5ZQTz70ssG3sDtgOPTJpPHybNHHxfOzFUXweoixnB5wM0LPfdpsJX82-aL3-GEPzdXnvsDcMoTTWCjMlQ0InL5aswO3ycOR6gHiOCDprLskh0hNl45hFEcqbrjJBoXxE9wqTEE8guICaagRviNOQeYK7t4n7bZNz47CA8sR3J67WovXk6JAmshiEEVk0mpHVBx9keZlOYgiG3ekMKWYweWrFOsGZQuv-v1H9nxd038Gy4D99aOZCR_q1FkoLxat8bC0d-MhlbsAZ83z3lpE2JQ5dA2Kv8vhqDcfJXiHgg6e5YBd0HOUgEKOue74KzTRgKFxVZnURp1bEo5LrWavaI5r25Aja7MPVjYLwlDZZWoyoEnngWwVpd5VhmI1Eis9DEuDZB0FTDQbgTi352HdmqtVFWDRMF7064TqBJNPwJ_4rKtDCUibfYGDKScOq6yBSghq88LStMCFlSlpES4N1g-QGOwM + string: stubbed_token headers: Accept: - text/plain @@ -54,6 +54,6 @@ http_interactions: - max-age=63072000; includeSubDomains; preload body: encoding: UTF-8 - string: eyJhbGciOiJSUzUxMiJ9.eyJhdXRoZW50aWNhdGVkIjp0cnVlLCJsYXN0TmFtZSI6Ik1vcnJpc29uIiwic3ViIjoiMTAxMjg0NTMzMVYxNTMwNDMiLCJhdXRoZW50aWNhdGlvbkF1dGhvcml0eSI6Imdvdi52YS52YW9zIiwiZ2VuZGVyIjoiRkVNQUxFIiwiaXNzIjoiZ292LnZhLnZhbWYudXNlcnNlcnZpY2UudjIiLCJ2YW1mLmF1dGgucmVzb3VyY2VzIjpbIl4uKihcLyk_c2l0ZVtzXT9cLyhkZm4tKT85ODRcL3BhdGllbnRbc10_XC81NTIxNjEwNTBcL2FwcG9pbnRtZW50cyhcLy4qKT8kIiwiXi4qKFwvKT9zaXRlW3NdP1wvKGRmbi0pPzk4M1wvcGF0aWVudFtzXT9cLzcyMTY2OTFcL2FwcG9pbnRtZW50cyhcLy4qKT8kIiwiXi4qKFwvKT9wYXRpZW50W3NdP1wvKElDTlwvKT8xMDEyODQ1MzMxVjE1MzA0MyhcLy4qKT8kIl0sInNzbiI6Ijc5NjA2MTk3NiIsInNzdCI6MTY3MDUyNDk5MCwicGF0aWVudCI6eyJmaXJzdE5hbWUiOiJKdWR5IiwibGFzdE5hbWUiOiJNb3JyaXNvbiIsImdlbmRlciI6IkZFTUFMRSIsImljbiI6IjEwMTI4NDUzMzFWMTUzMDQzIiwiZG9iIjoiMTk1My0wNC0wMSIsImRhdGVPZkJpcnRoIjoiMTk1My0wNC0wMSIsInNzbiI6Ijc5NjA2MTk3NiJ9LCJ2YW1mLmF1dGgucm9sZXMiOlsidmV0ZXJhbiJdLCJyaWdodE9mQWNjZXNzQWNjZXB0ZWQiOnRydWUsImV4cCI6MTY3MDUyNTg5MSwianRpIjoiM2Y0OWMyNDItZmFlMy00MGRhLTllYzQtYmRhZmYwN2NiZTE4IiwiaWRUeXBlIjoiSUNOIiwiZGF0ZU9mQmlydGgiOiIxOTUzMDQwMSIsInZlcnNpb24iOjIuOCwiZWRpcGlkIjoiMTI1OTg5Nzk3OCIsInZpc3RhSWRzIjpbeyJwYXRpZW50SWQiOiI1NTIxNjEwNTAiLCJzaXRlSWQiOiI5ODQifSx7InBhdGllbnRJZCI6IjcyMTY2OTEiLCJzaXRlSWQiOiI5ODMifV0sImZpcnN0TmFtZSI6Ikp1ZHkiLCJzdGFmZkRpc2NsYWltZXJBY2NlcHRlZCI6dHJ1ZSwibmJmIjoxNjcwNTI0ODExLCJkb2IiOiIxOTUzMDQwMSIsImxvYSI6Mn0.WNkbBq8sfUMdB_UzKjlAJj242Sxh7RuFhwcQM5s1a3BB9LDt17sXEFNtZReXfyUf8PFSqpy9U4uNjqUy27DIyR2hSPs_B-47WHqyOJGssu3zVnQ0XXCjmxUTfKo2S8ujUZoJTIPqtJ8IIbpddUwnSyPlvflqi1PVUj8Pr4-E2Cv2RG3vscJU65q2ihOIoYcM-5kdK2b_L45TUAosNTq9fggxrHiwT94CtkFCviTT4lbvKBvpu1Qq3r0Tr5wVf8d7HV1a6aiJP95k6nM5-yYsp_tKky_6C2paj5DGBue60lYGwnKChCrKg1mmb9TUls2jXCTQyHfli-jbFV75GXa90g + string: stubbed_token recorded_at: Thu, 08 Dec 2022 18:43:11 GMT recorded_with: VCR 6.1.0 diff --git a/spec/support/vcr_cassettes/vaos/v2/patients/get_patient_appointment_metadata_500_vaos.yml b/spec/support/vcr_cassettes/vaos/v2/patients/get_patient_appointment_metadata_500_vaos.yml index 080e15bd964..2a988be225a 100644 --- a/spec/support/vcr_cassettes/vaos/v2/patients/get_patient_appointment_metadata_500_vaos.yml +++ b/spec/support/vcr_cassettes/vaos/v2/patients/get_patient_appointment_metadata_500_vaos.yml @@ -37,9 +37,9 @@ http_interactions: Etag: - '"5fa5087d-3d6"' Set-Cookie: - - TS016f4012=01c8917e48a6ff5d6388745eba38598b953d4407daed4ccd11489fd27f706ab9121de9a03381e2bd807e1b3a5b8dfaf1336e3ec2f1; + - TS016f4012=stubbed_cookie; Max-Age=900; Path=/ - - vamfjwtv3=eyJ6aXAiOiJERUYiLCJjdHkiOiJKV1QiLCJlbmMiOiJBMjU2Q0JDLUhTNTEyIiwiYWxnIjoiUlNBLU9BRVAtMjU2In0.Z0CRvAbt_2adWSz9Z6HzoJ5JMIhL0iZfyU6O-cqpKqICLl8h6SBirspZdfTUakLilQnj9MKnzw6WIymIWes98Qs28SNjs9HeECoxZ_h9oNWvb0fExtS5anjDQXHi3-lplcMxHbSBvc_vIsRwkChLEsxZn1dXzVCSTJj02ryXRwupjWAYuSCJ5QkoiT41RbnO8z_1ig6VQnieDdqgOq_FAnea5k7TWSq24aaaaUx2mMX6ld6ydNSNCvPi8zcdoJFcV84yp2_3xvTMY7okKe95GBS8mshFJIIiF-svEXfgFcP2Yg2JM-MAATdoPygBc6-Luyo1mzfePnjocmnbkINQlA.TDeHVCdAf0nuazbHgqtnNw.HRrp6qHwa7TGArRyby3WIwmif6ti9ierz76UjiqXSv5h93OmJ-Ha8xXFFSJVgsEfSs_3RZDbuv5KfpNMHKf27NEA0TSxA3B7KxYknGRZP3IFxWKOb2ImooRqRHHI9MuTkhswX2pa4_4yPc8bDhkHauJaHDtV5WSZ8CBNuUP6LT7CM3bsnv11jltcClUM7u-QUp-t-tYkS5wvnq1f1O2CtmqOAg_TGVkHNpeZru5aUuLEP0zzbaeg-jXQFfuZLFQhGMZOFwZtP2H1iXTjKxHR5gJNqXdCAaujcwcvLiYStNU1u3AkU73Xq8YLSXERg-4-h0cy7o6ROkdc-tqzNCDChDTpu9RYJ44cpNy3lmTwXK6duhuQPGBGn0M4k3Eoj1g_WC3wX3VhYh6weYceNDPYYofngVqMAhpJFpxF3gVcFzw9I-cSnKldTfmeQoo3hRuVbYJmgqsK6_23wu70H0ES2PMCvcg2zvuxCapWp2SY70O_HbUyy0LALrmaQoVnf2nHLLItHD7wjc_YhYBOnmKQaYifh34lyt1mlYzYLW1riT9U0pZ2YzhbNtsJLrV5KdAzpNVCj8TcMNAlePaJD1_YpMKQl9eNda79r_f76jUy-Avr8GcrV80MKz3HGLeTndUoEs6pkRDZ-qDqVe9G8g2zR4vQdy0OyVC4Hb2_YJNmCcL24zFy84Iflw9v0TvJZ6IBu32nuIjhupoK58xMxxIMPw.RQdBeAPwAyVwP5j1OpFSOqOdemos5-R931QYOK0tzmU; + - vamfjwtv3=stubbed_token; path=/; SameSite=Lax; HttpOnly - vamftimeoutv1=1619807759; SameSite=Lax; path=/ body: diff --git a/spec/support/vcr_cassettes/vaos/v2/patients/get_patient_appointment_metadata_500_vpg.yml b/spec/support/vcr_cassettes/vaos/v2/patients/get_patient_appointment_metadata_500_vpg.yml index d4b3fe3de49..421343d262b 100644 --- a/spec/support/vcr_cassettes/vaos/v2/patients/get_patient_appointment_metadata_500_vpg.yml +++ b/spec/support/vcr_cassettes/vaos/v2/patients/get_patient_appointment_metadata_500_vpg.yml @@ -37,9 +37,9 @@ http_interactions: Etag: - '"5fa5087d-3d6"' Set-Cookie: - - TS016f4012=01c8917e48a6ff5d6388745eba38598b953d4407daed4ccd11489fd27f706ab9121de9a03381e2bd807e1b3a5b8dfaf1336e3ec2f1; + - TS016f4012=stubbed_cookie; Max-Age=900; Path=/ - - vamfjwtv3=eyJ6aXAiOiJERUYiLCJjdHkiOiJKV1QiLCJlbmMiOiJBMjU2Q0JDLUhTNTEyIiwiYWxnIjoiUlNBLU9BRVAtMjU2In0.Z0CRvAbt_2adWSz9Z6HzoJ5JMIhL0iZfyU6O-cqpKqICLl8h6SBirspZdfTUakLilQnj9MKnzw6WIymIWes98Qs28SNjs9HeECoxZ_h9oNWvb0fExtS5anjDQXHi3-lplcMxHbSBvc_vIsRwkChLEsxZn1dXzVCSTJj02ryXRwupjWAYuSCJ5QkoiT41RbnO8z_1ig6VQnieDdqgOq_FAnea5k7TWSq24aaaaUx2mMX6ld6ydNSNCvPi8zcdoJFcV84yp2_3xvTMY7okKe95GBS8mshFJIIiF-svEXfgFcP2Yg2JM-MAATdoPygBc6-Luyo1mzfePnjocmnbkINQlA.TDeHVCdAf0nuazbHgqtnNw.HRrp6qHwa7TGArRyby3WIwmif6ti9ierz76UjiqXSv5h93OmJ-Ha8xXFFSJVgsEfSs_3RZDbuv5KfpNMHKf27NEA0TSxA3B7KxYknGRZP3IFxWKOb2ImooRqRHHI9MuTkhswX2pa4_4yPc8bDhkHauJaHDtV5WSZ8CBNuUP6LT7CM3bsnv11jltcClUM7u-QUp-t-tYkS5wvnq1f1O2CtmqOAg_TGVkHNpeZru5aUuLEP0zzbaeg-jXQFfuZLFQhGMZOFwZtP2H1iXTjKxHR5gJNqXdCAaujcwcvLiYStNU1u3AkU73Xq8YLSXERg-4-h0cy7o6ROkdc-tqzNCDChDTpu9RYJ44cpNy3lmTwXK6duhuQPGBGn0M4k3Eoj1g_WC3wX3VhYh6weYceNDPYYofngVqMAhpJFpxF3gVcFzw9I-cSnKldTfmeQoo3hRuVbYJmgqsK6_23wu70H0ES2PMCvcg2zvuxCapWp2SY70O_HbUyy0LALrmaQoVnf2nHLLItHD7wjc_YhYBOnmKQaYifh34lyt1mlYzYLW1riT9U0pZ2YzhbNtsJLrV5KdAzpNVCj8TcMNAlePaJD1_YpMKQl9eNda79r_f76jUy-Avr8GcrV80MKz3HGLeTndUoEs6pkRDZ-qDqVe9G8g2zR4vQdy0OyVC4Hb2_YJNmCcL24zFy84Iflw9v0TvJZ6IBu32nuIjhupoK58xMxxIMPw.RQdBeAPwAyVwP5j1OpFSOqOdemos5-R931QYOK0tzmU; + - vamfjwtv3=stubbed_token; path=/; SameSite=Lax; HttpOnly - vamftimeoutv1=1619807759; SameSite=Lax; path=/ body: diff --git a/spec/support/vcr_cassettes/vaos/v2/systems/get_facilities_500.yml b/spec/support/vcr_cassettes/vaos/v2/systems/get_facilities_500.yml index 2b1a9c7bc38..e634b0b72bb 100644 --- a/spec/support/vcr_cassettes/vaos/v2/systems/get_facilities_500.yml +++ b/spec/support/vcr_cassettes/vaos/v2/systems/get_facilities_500.yml @@ -37,9 +37,9 @@ http_interactions: Etag: - '"601db677-1493"' Set-Cookie: - - TS016f4012=01c16e2d8199ee68e087f4a95a004599723b278bd760f211fca0f1b8f2f112e95018ef539c7364d13affd895018ff1716c060db429; + - TS016f4012=stubbed_cookie; Max-Age=900; Path=/ - - vamfjwtv3=eyJ6aXAiOiJERUYiLCJjdHkiOiJKV1QiLCJlbmMiOiJBMjU2Q0JDLUhTNTEyIiwiYWxnIjoiUlNBLU9BRVAtMjU2In0.mKLH67aLBVCrvr2_K0NwDJ-QqmE99Zf4WqcIRwWXDBhsaN7EJ88Vd3ins3P_pl9iDYkT8L69hyHR8DR51Q2gmzbVFW809yTpZjLfPw9vpAwiORXjjgQ3_-qq4viAORH_zUZpl3DjtLiYjBRgWxS_95CZj3mzSdnSeSfUVDe5VyniH9eWIDz59XenfzFmS5B0soMO-X2duafNfwaaNSo-KWjSp_Otqi6mErSfLOucBggeJwQTFarA7QHeOFLZaecCQEJhTGM-0SdngucsZWvBQoKTrCEVjviaK9Y5-hzEV5uY-whu_WtySIrUO6cxQz7SCI11sQzKezsKONuzkXI2qw.asgZiebAa03skWeGKfIQYg.hyCXcgnHiiLNpoWV5yGH3bai_cRmUsYn23DjrqrX_IybOmPlsKVlLR7UmxYU1sOgGGv-YDfF9BAIZGMK72yv_2wHaq3N5c7rcqp7XoNqt6IDrFMbCJBnGVdIDZT5eZu56Gk4VFmXGOcpE3ngkf_oXOW1rmjAbfDRu_4fnZ5sfyeirjgI1dp9bj8LP26hZvwIVd2raABy1YpWJwYNiAjqe3dRPzyjst4Exd_XWGR6LhY8z11f8s76LtqvW_azBxdmPGi32FuORcZAx2bp7tZKB5x2KZUaso3SrEb3N_AGA0cD_0oZ_-J9RFQ5xkx2w2LrnUI5Yf-ggRJH0Bqhu7ZSGN9CIPJILGb3jCFKBYFRq-lblZiTsc445RMCkEmEp71Zg3V8kYH_tX_B7P9X5uo9DsAzLNJSDlIQ1CeMWSyP2lFaVzNRh6wp1GYt8eExnVlH4YvHmgZSyiTa1flR8y4zdqSHVu0O-Rd9FvUA2UmtUa4wm42UtgOpEB8n20RBYtZ5U0L9qGmJ1eD7UECkU9w5mPyA3gJ5lmiuHc4aFzAmHfpen1lIHQJbq_y431zahKQVyW2G27LBJglUUgpIxF29P8aNRKWMER3YvUWJ3LyoyRqlZDoQK--gSICBXUFdqefxdHVq3uzptwAeQC1ec7nAtMFzKrWY-xiFzeNWz-XsI3kTYQTx2gZcxtu2gumiNQTnlQkch6YtE1FTP5E2LoB8bQ.OEgm_3GWT2T_xAvZyHKXfp-Qx-3UwOjgK-TcoR0ZNsI; + - vamfjwtv3=stubbed_token; path=/; SameSite=Lax; HttpOnly - vamftimeoutv1=1621896131; SameSite=Lax; path=/ body: diff --git a/spec/support/vcr_cassettes/vaos/v2/systems/get_facility_clinics_200.yml b/spec/support/vcr_cassettes/vaos/v2/systems/get_facility_clinics_200.yml index 2788c3c9e0f..b7200a72ef8 100644 --- a/spec/support/vcr_cassettes/vaos/v2/systems/get_facility_clinics_200.yml +++ b/spec/support/vcr_cassettes/vaos/v2/systems/get_facility_clinics_200.yml @@ -88,7 +88,7 @@ http_interactions: Referer: - https://review-instance.va.gov X-Vamf-Jwt: - - eyJhbGciOiJSUzUxMiJ9.eyJsYXN0TmFtZSI6Ikthc3N1bGtlIiwic3ViIjoiMTAwMDEyMzQ1NlYxMjM0NTYiLCJhdXRoZW50aWNhdGVkIjp0cnVlLCJhdXRoZW50aWNhdGlvbkF1dGhvcml0eSI6Imdvdi52YS52YW9zIiwiaWRUeXBlIjoiSUNOIiwiZ2VuZGVyIjoiTUFMRSIsImlzcyI6Imdvdi52YS52YW1mLnVzZXJzZXJ2aWNlLnYyIiwiZGF0ZU9mQmlydGgiOiIyMDA2MDExNyIsInZlcnNpb24iOjIuNiwiZWRpcGlkIjoiNjI4OTA5NTQ3NyIsInNzbiI6IjMyMDc5OTczMCIsImZpcnN0TmFtZSI6IlRvbWFzIiwibmJmIjoxNjMzNzE4MjE3LCJzc3QiOjE2MzM3MTgzOTYsInBhdGllbnQiOnsiZmlyc3ROYW1lIjoiVG9tYXMiLCJsYXN0TmFtZSI6Ikthc3N1bGtlIiwiZ2VuZGVyIjoiTUFMRSIsImljbiI6IjEwMDAxMjM0NTZWMTIzNDU2IiwiZG9iIjoiMjAwNi0wMS0xNyIsImRhdGVPZkJpcnRoIjoiMjAwNi0wMS0xNyIsInNzbiI6IjMyMDc5OTczMCJ9LCJkb2IiOiIyMDA2MDExNyIsInZhbWYuYXV0aC5yb2xlcyI6WyJ2ZXRlcmFuIl0sImV4cCI6MTYzMzcxOTI5NywianRpIjoiODQyODZjNzEtY2Q0OC00YzRiLTkyOTktMTczNGMyNGYwYzE2IiwibG9hIjoyfQ.nxRkIHXSesYu83GA3RQ24GKyul-KN6jch0SodfVHtoC5Bc9vfstKrinVg15GO_FBXoFZ6IzFGBl4c9iIFU2yQT4WXdPzESpOWlIfUGIMXbvcBnA0yN115Ai9P3yYEAPRxmPahPwMeUrNFc58-Em39BVk1erriO0oK5yNKQ2hTBKN2RCg3Cwi7uFOuUYX34-TWX0SA3s82mqRwzMjQVkCdgRA5jjdDFBGRpsLUTTn_ixHis_UV513f3gz9jRGDVIPZrWk45RnJnrefZqoYptFO7sdbJ5qIo30kvWASw1re1V94ckPPehG2C-Q6GL7Ox7GQVmQEoDdlq3HEy9eRctOvQ + - stubbed_token X-Request-Id: - '' Accept-Encoding: @@ -146,7 +146,7 @@ http_interactions: Referer: - https://review-instance.va.gov X-Vamf-Jwt: - - eyJhbGciOiJSUzUxMiJ9.eyJsYXN0TmFtZSI6IlJ1bm9sZnNzb24iLCJzdWIiOiIxMDAwMTIzNDU2VjEyMzQ1NiIsImF1dGhlbnRpY2F0ZWQiOnRydWUsImF1dGhlbnRpY2F0aW9uQXV0aG9yaXR5IjoiZ292LnZhLnZhb3MiLCJpZFR5cGUiOiJJQ04iLCJnZW5kZXIiOiJNQUxFIiwiaXNzIjoiZ292LnZhLnZhbWYudXNlcnNlcnZpY2UudjIiLCJkYXRlT2ZCaXJ0aCI6IjE5OTEwNTIxIiwidmVyc2lvbiI6Mi42LCJlZGlwaWQiOiI5ODAwNDY2NDI4Iiwic3NuIjoiNjA5ODYyNDU1IiwiZmlyc3ROYW1lIjoiTWFydGgiLCJuYmYiOjE2MzM3MTg0MDMsInNzdCI6MTYzMzcxODU4MiwicGF0aWVudCI6eyJmaXJzdE5hbWUiOiJNYXJ0aCIsImxhc3ROYW1lIjoiUnVub2xmc3NvbiIsImdlbmRlciI6Ik1BTEUiLCJpY24iOiIxMDAwMTIzNDU2VjEyMzQ1NiIsImRvYiI6IjE5OTEtMDUtMjEiLCJkYXRlT2ZCaXJ0aCI6IjE5OTEtMDUtMjEiLCJzc24iOiI2MDk4NjI0NTUifSwiZG9iIjoiMTk5MTA1MjEiLCJ2YW1mLmF1dGgucm9sZXMiOlsidmV0ZXJhbiJdLCJleHAiOjE2MzM3MTk0ODMsImp0aSI6ImJlMzI5YWI2LTk4NmMtNDJiMi04MTQ0LTE3NDg3NTVhYTJjYiIsImxvYSI6Mn0.dk9teFlVFhZeU-uNIQBJ-9kXEmhJaM56lZxaee46sFY1gvGCuzRS6eNbpoZMuXnr-Cbp6Ds9Fepj9bnJUt_O0p7l65Be7NnsnEvXgURu7vC0Fw_57q4isr_7DBpVNaHLzdKnzru9Z03op0BlJ_FVDTk5J8tSh9XE2xRHGMdxULGgU5cvo1qDXIuV9TiKntM2rYWdxDKLVjCCA55ybHkNuQ5yH6xukBc_8cIqiF3yELWVjxwCzF8FuQ4wlFuAHrdgfsSbEoWELVsshHBnfLX4Is44afJJw7jalfxb-iI-Hpn_dcUmwbk4W0tRtp5yLNk1Rr6KG8w6mcp7k-cZzxFg-w + - stubbed_token X-Request-Id: - '' Accept-Encoding: From 251a5d6f22e42f155d4a1d23c97ad0cb1f4f07ff Mon Sep 17 00:00:00 2001 From: s-caso <94458706+s-caso@users.noreply.github.com> Date: Tue, 16 Apr 2024 12:41:49 -0400 Subject: [PATCH 46/74] add feature flag for toe dup call (#15806) --- config/features.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/config/features.yml b/config/features.yml index 25a9e097015..ae830b1ec0e 100644 --- a/config/features.yml +++ b/config/features.yml @@ -1218,6 +1218,10 @@ features: actor_type: user description: Enables sleep apnea supplies to be ordered in the supply reorder tool / MDOT. enable_in_development: true + toe_dup_contact_info_call: + actor_type: user + description: Flag to use contact info call and modal + enable_in_development: true toe_short_circuit_bgs_failure: actor_type: user description: Flag to use begin rescue block for BGS call From 1567da6296ce470c61daa4bded644b9046d28b6a Mon Sep 17 00:00:00 2001 From: Jason C Date: Tue, 16 Apr 2024 10:00:40 -0700 Subject: [PATCH 47/74] Mobile: Create EVSSClaim even when using lighthouse (#16337) * Create EVSSClaim even when using lighthouse * We don't need to return the claim * Update tests to be better --------- Co-authored-by: Tonksthebear --- .../mobile/v0/lighthouse_claims/proxy.rb | 21 +++++++++++-- ...laims_and_appeals_overview_request_spec.rb | 30 +++++++++++++++++++ 2 files changed, 49 insertions(+), 2 deletions(-) diff --git a/modules/mobile/app/services/mobile/v0/lighthouse_claims/proxy.rb b/modules/mobile/app/services/mobile/v0/lighthouse_claims/proxy.rb index 62ffba0da04..ebaec5b2ba5 100644 --- a/modules/mobile/app/services/mobile/v0/lighthouse_claims/proxy.rb +++ b/modules/mobile/app/services/mobile/v0/lighthouse_claims/proxy.rb @@ -14,12 +14,14 @@ def request_decision(id) claims_service.submit5103(@user, id) end + # Temporary: We're adding the claims to the EVSSClaim table until decision letters switch over to lighthouse def get_all_claims lambda { begin - claims_list = claims_service.get_claims + claims_list = claims_service.get_claims['data'] + claims_list.each { |claim| create_or_update_claim(claim) } { - list: claims_list['data'], + list: claims_list, errors: nil } rescue => e @@ -33,6 +35,21 @@ def get_all_claims def claims_service @claims_service ||= BenefitsClaims::Service.new(@user.icn) end + + def claims_scope + @claims_scope ||= EVSSClaim.for_user(@user) + end + + def create_or_update_claim(raw_claim) + claim = claims_scope.where(evss_id: raw_claim['id']).first + if claim.blank? + claim = EVSSClaim.new(user_uuid: @user.uuid, + user_account: @user.user_account, + evss_id: raw_claim['id'], + data: {}) + end + claim.update(list_data: raw_claim) + end end end end diff --git a/modules/mobile/spec/request/claims_and_appeals_overview_request_spec.rb b/modules/mobile/spec/request/claims_and_appeals_overview_request_spec.rb index 843ade084d9..6bcf8c46bf1 100644 --- a/modules/mobile/spec/request/claims_and_appeals_overview_request_spec.rb +++ b/modules/mobile/spec/request/claims_and_appeals_overview_request_spec.rb @@ -485,6 +485,36 @@ end end end + + describe 'EVSSClaim count' do + it 'creates record if it does not exist' do + VCR.use_cassette(good_claims_response_vcr_path) do + VCR.use_cassette('mobile/appeals/appeals') do + expect do + get('/mobile/v0/claims-and-appeals-overview', headers: sis_headers, params:) + end.to change(EVSSClaim, :count) + end + end + end + + it 'updates record if it does exist' do + VCR.use_cassette(good_claims_response_vcr_path) do + VCR.use_cassette('mobile/appeals/appeals') do + evss_id = lighthouse_flag ? 600_383_363 : 600_114_693 + claim = EVSSClaim.create(user_uuid: sis_user.uuid, + user_account: sis_user.user_account, + evss_id:, + created_at: 1.week.ago, + updated_at: 1.week.ago, + data: {}) + expect do + get('/mobile/v0/claims-and-appeals-overview', headers: sis_headers, params:) + claim.reload + end.to change(claim, :updated_at) + end + end + end + end end end From 16986fc14d2b160ae7f87331ecdc32a9eb2e834c Mon Sep 17 00:00:00 2001 From: Wayne Weibel Date: Tue, 16 Apr 2024 14:29:36 -0400 Subject: [PATCH 48/74] Lighthouse Benefits Intake Configuration (#16332) --- .github/CODEOWNERS | 2 + config/settings.yml | 6 + .../benefits_intake/configuration.rb | 76 +++++++++++++ .../benefits_intake/configuration_spec.rb | 104 ++++++++++++++++++ 4 files changed, 188 insertions(+) create mode 100644 lib/lighthouse/benefits_intake/configuration.rb create mode 100644 spec/lib/lighthouse/benefits_intake/configuration_spec.rb diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index 76122d3c070..bfcf84627ab 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -871,6 +871,7 @@ lib/lgy/service.rb @department-of-veterans-affairs/benefits-non-disability @depa lib/lgy/tag_sentry.rb @department-of-veterans-affairs/benefits-non-disability @department-of-veterans-affairs/va-api-engineers @department-of-veterans-affairs/backend-review-group lib/lighthouse @department-of-veterans-affairs/backend-review-group lib/lighthouse/benefit_claims @department-of-veterans-affairs/benefits-management-tools-be @department-of-veterans-affairs/va-api-engineers @department-of-veterans-affairs/backend-review-group +lib/lighthouse/benefits_intake @department-of-veterans-affairs/pensions @department-of-veterans-affairs/backend-review-group lib/lighthouse/letters_generator @department-of-veterans-affairs/benefits-management-tools-be @department-of-veterans-affairs/va-api-engineers @department-of-veterans-affairs/backend-review-group lib/mail_automation @department-of-veterans-affairs/va-api-engineers @department-of-veterans-affairs/backend-review-group lib/map/ @department-of-veterans-affairs/octo-identity @@ -1323,6 +1324,7 @@ spec/lib/lighthouse/auth @department-of-veterans-affairs/benefits-management-too spec/lib/lighthouse/benefits_claims @department-of-veterans-affairs/benefits-management-tools-be @department-of-veterans-affairs/va-api-engineers @department-of-veterans-affairs/backend-review-group spec/lib/lighthouse/benefits_documents @department-of-veterans-affairs/backend-review-group spec/lib/lighthouse/benefits_documents/service_spec.rb @department-of-veterans-affairs/backend-review-group +spec/lib/lighthouse/benefits_intake @department-of-veterans-affairs/pensions @department-of-veterans-affairs/backend-review-group spec/lib/lighthouse/direct_deposit @department-of-veterans-affairs/vfs-authenticated-experience-backend @department-of-veterans-affairs/dbex-trex @department-of-veterans-affairs/va-api-engineers @department-of-veterans-affairs/backend-review-group spec/lib/lighthouse/direct_deposit/payment_account_spec.rb @department-of-veterans-affairs/vfs-authenticated-experience-backend @department-of-veterans-affairs/va-api-engineers @department-of-veterans-affairs/backend-review-group spec/lib/lighthouse/facilities @department-of-veterans-affairs/vfs-facilities diff --git a/config/settings.yml b/config/settings.yml index 6658613b94d..88fac504297 100644 --- a/config/settings.yml +++ b/config/settings.yml @@ -988,6 +988,12 @@ lighthouse: rsa_key: ~ aud_claim_url: https://deptva-eval.okta.com/oauth2/ausln2mo4jCAYRrlR2p7/v1/token use_mocks: false + benefits_intake: + host: https://sandbox-api.va.gov + path: /services/vba_documents + version: v1 + use_mocks: false + api_key: ~ letters_generator: url: https://sandbox-api.va.gov path: /services/va-letter-generator/v1/ diff --git a/lib/lighthouse/benefits_intake/configuration.rb b/lib/lighthouse/benefits_intake/configuration.rb new file mode 100644 index 00000000000..58121c930e4 --- /dev/null +++ b/lib/lighthouse/benefits_intake/configuration.rb @@ -0,0 +1,76 @@ +# frozen_string_literal: true + +require 'common/client/configuration/rest' +require 'faraday/multipart' + +module BenefitsIntake + ## + # HTTP client configuration for the {BenefitsIntake::Service}, + # sets the base path, the base request headers, and a service name for breakers and metrics. + # + class Configuration < Common::Client::Configuration::REST + self.read_timeout = Settings.lighthouse.benefits_intake.timeout || 20 + + ## + # @return [Config::Options] Settings for benefits_claims API. + # + def intake_settings + Settings.lighthouse.benefits_intake + end + + ## + # @return [String] Base path. + # + def service_path + url = [intake_settings.host, intake_settings.path, intake_settings.version] + url.map { |segment| segment.sub(%r{^/}, '').chomp('/') }.join('/') + end + + ## + # @return [String] Service name to use in breakers and metrics. + # + def service_name + 'BenefitsIntake' + end + + ## + # @return [Hash] The basic headers required for any Lighthouse API call + # + def self.base_request_headers + key = Settings.lighthouse.benefits_intake.api_key + raise "No api_key set for benefits_intake. Please set 'lighthouse.benefits_intake.api_key'" if key.nil? + + super.merge('apikey' => key) + end + + ## + # Creates a connection with json parsing and breaker functionality. + # + # @return [Faraday::Connection] a Faraday connection instance. + # + def connection + @conn ||= Faraday.new(service_path, headers: base_request_headers, request: request_options) do |faraday| + faraday.use :breakers + faraday.use Faraday::Response::RaiseError + + faraday.request :multipart + faraday.request :json + + faraday.response :betamocks if use_mocks? + faraday.response :json + faraday.adapter Faraday.default_adapter + end + end + + ## + # @return [Boolean] Should the service use mock data in lower environments. + # + def use_mocks? + intake_settings.use_mocks || false + end + + def breakers_error_threshold + 80 # breakers will be tripped if error rate reaches 80% over a two minute period. + end + end +end diff --git a/spec/lib/lighthouse/benefits_intake/configuration_spec.rb b/spec/lib/lighthouse/benefits_intake/configuration_spec.rb new file mode 100644 index 00000000000..d5ce23e2fa0 --- /dev/null +++ b/spec/lib/lighthouse/benefits_intake/configuration_spec.rb @@ -0,0 +1,104 @@ +# frozen_string_literal: true + +require 'rails_helper' +require 'common/client/configuration/rest' +require 'lighthouse/benefits_intake/configuration' + +RSpec.describe BenefitsIntake::Configuration do + let(:base) { Common::Client::Configuration::REST } + let(:config) { BenefitsIntake::Configuration.send(:new) } + let(:settings) do + OpenStruct.new({ + host: 'https://sandbox-api.va.gov', + path: '/services/vba_documents', + version: 'v1', + use_mocks: false, + api_key: 'some-long-hash-api-key' + }) + end + + before do + allow(Settings.lighthouse).to receive(:benefits_intake).and_return(settings) + end + + context 'valid settings' do + it 'returns settings' do + expect(config.intake_settings).to eq(settings) + end + + it 'has correct api_key' do + expect(config.intake_settings.api_key).to eq(settings.api_key) + end + + it 'returns service_path' do + valid_path = 'https://sandbox-api.va.gov/services/vba_documents/v1' + expect(config.service_path).to eq(valid_path) + end + + it 'returns use_mocks' do + expect(config.use_mocks?).to eq(settings.use_mocks) + end + end + + context 'expected constants' do + it 'returns service_name' do + expect(config.service_name).to eq('BenefitsIntake') + end + + it 'returns breakers_error_threshold' do + expect(config.breakers_error_threshold).to eq(80) + end + end + + describe '#base_request_headers' do + it 'returns expected headers' do + headers = config.base_request_headers + expected = base.base_request_headers.merge({ 'apikey' => settings.api_key }) + expect(headers).to eq(expected) + end + + it 'errors if missing api_key' do + allow(Settings.lighthouse.benefits_intake).to receive(:api_key).and_return(nil) + expect { config.base_request_headers }.to raise_error StandardError, /^No api_key set.+/ + end + end + + describe '#connection' do + let(:faraday) { double('faraday') } + + before do + allow(Faraday).to receive(:new).and_yield(faraday) + + allow(config).to receive(:service_path).and_return('service_path') + allow(config).to receive(:base_request_headers).and_return('base_request_headers') + allow(config).to receive(:request_options).and_return('request_options') + allow(config).to receive(:use_mocks?).and_return(true) + end + + it 'returns existing connection' do + config.instance_variable_set(:@conn, 'TEST') + + expect(Faraday).not_to receive(:new) + expect(config.connection).to eq('TEST') + end + + it 'creates the connection' do + expect(Faraday).to receive(:new).with('service_path', headers: 'base_request_headers', request: 'request_options') + + expect(faraday).to receive(:use).once.with(:breakers) + expect(faraday).to receive(:use).once.with(Faraday::Response::RaiseError) + + expect(faraday).to receive(:request).once.with(:multipart) + expect(faraday).to receive(:request).once.with(:json) + + expect(faraday).to receive(:response).once.with(:betamocks) # use_mocks? => true + expect(faraday).to receive(:response).once.with(:json) + + expect(faraday).to receive(:adapter).once.with(Faraday.default_adapter) + + config.connection + end + end + + # end RSpec.describe +end From 39ccf4ecaa5e0f0ce04df79675d09af6de62253a Mon Sep 17 00:00:00 2001 From: Wayne Weibel Date: Tue, 16 Apr 2024 15:25:56 -0400 Subject: [PATCH 49/74] Lighthouse Benefits Intake Service (#16324) --- lib/lighthouse/benefits_intake/service.rb | 150 +++++++++ .../benefits_intake/service_spec.rb | 287 ++++++++++++++++++ 2 files changed, 437 insertions(+) create mode 100644 lib/lighthouse/benefits_intake/service.rb create mode 100644 spec/lib/lighthouse/benefits_intake/service_spec.rb diff --git a/lib/lighthouse/benefits_intake/service.rb b/lib/lighthouse/benefits_intake/service.rb new file mode 100644 index 00000000000..ecc9abc6cbb --- /dev/null +++ b/lib/lighthouse/benefits_intake/service.rb @@ -0,0 +1,150 @@ +# frozen_string_literal: true + +require 'common/client/base' +require 'lighthouse/benefits_intake/configuration' +require 'lighthouse/benefits_intake/metadata' + +module BenefitsIntake + ## + # Proxy Service for the Lighthouse Claims Intake API Service. + # We are using it here to submit claims that cannot be auto-established, + # via paper submission (electronic PDF submissiont to CMP) + # + # https://developer.va.gov/explore/api/benefits-intake/docs + # + class Service < Common::Client::Base + configuration BenefitsIntake::Configuration + + # TODO: process document error similar to service exception + class InvalidDocumentError < StandardError; end + + STATSD_KEY_PREFIX = 'api.benefits_intake' + + attr_reader :location, :uuid + + ## + # Perform the upload to BenefitsIntake + # parameters should be run through validation functions first, to prevent downstream processing errors + # + # @param [Hash] metadata + # @param [String] document + # @param [Array] attachments; optional, default = [] + # @param [String] upload_url; optional, default = @location + # + def perform_upload(metadata:, document:, attachments: [], upload_url: nil) + upload_url, _uuid = request_upload unless upload_url + + meta_tmp = Common::FileHelpers.generate_temp_file(metadata.to_s, "#{STATSD_KEY_PREFIX}.#{@uuid}.metadata.json") + + params = {} + params[:metadata] = Faraday::UploadIO.new(meta_tmp, Mime[:json].to_s, 'metadata.json') + params[:content] = Faraday::UploadIO.new(document, Mime[:pdf].to_s, File.basename(document)) + attachments.each.with_index do |attachment, i| + params[:"attachment#{i + 1}"] = Faraday::UploadIO.new(attachment, Mime[:pdf].to_s, File.basename(attachment)) + end + + perform :put, upload_url, params, { 'Content-Type' => 'multipart/form-data' } + end + + ## + # Instantiates a new location and uuid for upload to BenefitsIntake + # + # @param [Boolean] refresh + # + def request_upload(refresh: false) + if !@uploads || refresh + @uploads = perform :post, 'uploads', {}, {} + + @location = @uploads.body.dig('data', 'attributes', 'location') + @uuid = @uploads.body.dig('data', 'id') + end + + [@location, @uuid] + end + + ## + # Get the status for a previous upload + # + # @param [String] uuid + # + def get_status(uuid:) + headers = { 'accept' => Mime[:json].to_s } + perform :get, "uploads/#{uuid}", {}, headers + end + + ## + # Get the status for a set of prior uploads + # + # @param [Array] uuids + # + def bulk_status(uuids:) + headers = { 'Content-Type' => Mime[:json].to_s, 'accept' => Mime[:json].to_s } + data = { uuids: }.to_json + perform :post, 'uploads/report', data, headers + end + + ## + # Download a zip of 'what the server sees' for a previous upload + # + # @param [String] uuid + # + def download(uuid:) + headers = { 'accept' => Mime[:zip].to_s } + perform :get, "uploads/#{uuid}/download", {}, headers + end + + ## + # Validate the metadata satisfies BenefitsIntake specifications. + # @see BenefitsIntake::Metadata.validate + # + # @param [Hash] metadata + # + # @returns [Hash] validated and corrected metadata + # + def valid_metadata?(metadata:) + BenefitsIntake::Metadata.validate(metadata) + end + + ## + # Validate a file satisfies BenefitsIntake specifications. File must be a PDF. + # + # @param [String] document + # @param [Hash] headers; optional, default nil + # + def valid_document?(document:, headers: nil) + doc = File.read(document, mode: 'rb') + + doc_mime = Marcel::MimeType.for(doc) + raise TypeError, "Invalid Document MimeType: #{doc_mime}" if doc_mime != Mime[:pdf].to_s + + headers = (headers || {}).merge({ 'Content-Type': doc_mime }) + response = perform :post, 'uploads/validate_document', doc, headers + + raise InvalidDocumentError, "Invalid Document: #{response}" unless response.success? + + document + end + + ## + # Validate the upload meets BenefitsIntake specifications. + # + # @param [Hash] metadata + # @param [String] document + # @param [Array] attachments; optional, default [] + # @param [Hash] headers; optional, default nil + # + # @return [Hash] payload for upload + # + def valid_upload?(metadata:, document:, attachments: [], headers: nil) + { + metadata: valid_metadata?(metadata:), + document: valid_document?(document:, headers:), + attachments: attachments.map { |attachment| valid_document?(document: attachment, headers:) } + } + end + + # end Service + end + + # end BenefitsIntake +end diff --git a/spec/lib/lighthouse/benefits_intake/service_spec.rb b/spec/lib/lighthouse/benefits_intake/service_spec.rb new file mode 100644 index 00000000000..cb593e5f47b --- /dev/null +++ b/spec/lib/lighthouse/benefits_intake/service_spec.rb @@ -0,0 +1,287 @@ +# frozen_string_literal: true + +require 'rails_helper' +require 'common/file_helpers' +require 'lighthouse/benefits_intake/service' + +RSpec.describe BenefitsIntake::Service do + let(:service) { BenefitsIntake::Service.new } + let(:metadata) do + { + 'veteranFirstName' => 'firstname', + 'veteranLastName' => 'lastname', + 'fileNumber' => '123456789', + 'zipCode' => '12345-5555', + 'source' => 'source', + 'docType' => 'doc_type', + 'businessLine' => 'BVA' + } + end + let(:upload) do + OpenStruct.new({ + body: { + 'data' => { + 'id' => 'uuid-for-the-upload', + 'attributes' => { + 'location' => 'upload-url-location' + } + } + } + }) + end + let(:mime_pdf) { Mime[:pdf].to_s } + let(:mime_json) { Mime[:json].to_s } + + before do + allow(service).to receive(:perform) + end + + describe '#perform_upload' do + let(:args) do + { + metadata: 'metadata', + document: 'file-path', + attachments: %w[attachment-path1 attachment-path2] + # upload_url: nil, # force call to #request_upload + } + end + + let(:expected_params) do + { + metadata: 'a-file-io-object', + content: 'a-file-io-object', + attachment1: 'a-file-io-object', + attachment2: 'a-file-io-object' + } + end + + let(:headers) { { 'Content-Type' => 'multipart/form-data' } } + + before do + service.instance_variable_set(:@uploads, true) + service.instance_variable_set(:@location, 'location') + service.instance_variable_set(:@uuid, 'uuid') + + allow(Common::FileHelpers).to receive(:generate_temp_file).and_return 'a-temp-file' + allow(Faraday::UploadIO).to receive(:new).and_return 'a-file-io-object' + end + + it 'performs the upload' do + expect(Common::FileHelpers).to( + receive(:generate_temp_file).once.with('metadata', 'api.benefits_intake.uuid.metadata.json') + ) + + expect(Faraday::UploadIO).to receive(:new).once.with('a-temp-file', mime_json, 'metadata.json') + expect(Faraday::UploadIO).to receive(:new).once.with('file-path', mime_pdf, 'file-path') + expect(Faraday::UploadIO).to receive(:new).once.with('attachment-path1', mime_pdf, 'attachment-path1') + expect(Faraday::UploadIO).to receive(:new).once.with('attachment-path2', mime_pdf, 'attachment-path2') + + expect(service).to receive(:perform).with(:put, 'location', expected_params, headers) + service.perform_upload(**args) + end + + it 'performs the upload to a different url' do + args[:upload_url] = 'another-location' + expect(service).not_to receive(:request_upload) + expect(service).to receive(:perform).with(:put, 'another-location', expected_params, headers) + service.perform_upload(**args) + end + end + + describe '#request_upload' do + it 'instantiates and returns location and uuid' do + allow(service).to receive(:perform).and_return(upload) + + expect(service).to receive(:perform).with(:post, 'uploads', {}, {}) + + location, uuid = service.request_upload + + expect(location).to eq('upload-url-location') + expect(uuid).to eq('uuid-for-the-upload') + expect(service.location).to eq(location) + expect(service.uuid).to eq(uuid) + end + + context 'existing instance variables' do + before do + service.instance_variable_set(:@uploads, true) + service.instance_variable_set(:@location, 'location') + service.instance_variable_set(:@uuid, 'uuid') + end + + it 'returns existing instance values' do + expect(service).not_to receive(:perform) + + location, uuid = service.request_upload + + expect(location).to eq('location') + expect(uuid).to eq('uuid') + end + + it 're-instantiates and return location and uuid' do + allow(service).to receive(:perform).and_return(upload) + + expect(service).to receive(:perform).with(:post, 'uploads', {}, {}) + + location, uuid = service.request_upload(refresh: true) + + expect(location).to eq('upload-url-location') + expect(uuid).to eq('uuid-for-the-upload') + expect(service.location).to eq(location) + expect(service.uuid).to eq(uuid) + end + end + end + + describe '#get_status' do + it 'gets an upload status' do + uuid = '12345TEST' + headers = { 'accept' => mime_json } + + expect(service).to receive(:perform).with(:get, "uploads/#{uuid}", {}, headers) + service.get_status(uuid:) + end + end + + describe '#bulk_status' do + it 'requests a status report' do + uuids = ['12345TEST', '6789FOO', 'BAR!'] + headers = { 'Content-Type' => mime_json, 'accept' => mime_json } + data = { uuids: }.to_json + + expect(service).to receive(:perform).with(:post, 'uploads/report', data, headers) + + service.bulk_status(uuids:) + end + end + + describe '#download' do + it 'gets the download' do + uuid = '12345TEST' + headers = { 'accept' => Mime[:zip].to_s } + + expect(service).to receive(:perform).with(:get, "uploads/#{uuid}/download", {}, headers) + service.download(uuid:) + end + end + + describe '#valid_metadata?' do + it 'returns valid metadata' do + data = service.valid_metadata?(metadata:) + expect(data).to eq(metadata) + end + + context 'invalid metadata' do + it 'errors on missing field' do + expect do + service.valid_metadata?(metadata: {}) + end.to raise_error(ArgumentError, 'veteran first name is missing') + end + + it 'errors on non-string field' do + expect do + service.valid_metadata?(metadata: { 'veteranFirstName' => 42 }) + end.to raise_error(ArgumentError, 'veteran first name is not a string') + end + + it 'errors on blank field' do + expect do + service.valid_metadata?(metadata: { 'veteranFirstName' => '' }) + end.to raise_error(ArgumentError, 'veteran first name is blank') + + expect do + service.valid_metadata?(metadata: { 'veteranFirstName' => ' ' }) + end.to raise_error(ArgumentError, 'veteran first name is blank') + + expect do + service.valid_metadata?(metadata: { 'veteranFirstName' => '23&_$!42' }) + end.to raise_error(ArgumentError, 'veteran first name is blank') + end + end + end + + describe '#valid_document?' do + let(:document) { 'fake-file-path' } + + context 'a valid file' do + before do + allow(File).to receive(:read).and_return('test-file-read') + allow(Marcel::MimeType).to receive(:for).and_return(mime_pdf) + allow(service).to receive(:perform).and_return OpenStruct.new({ success?: true }) + end + + it 'returns document path' do + expect(File).to receive(:read).once.with(document, mode: 'rb') + expect(Marcel::MimeType).to receive(:for).once.with('test-file-read') + expect(service).to receive(:perform).once.with(:post, 'uploads/validate_document', 'test-file-read', anything) + + expect(service.valid_document?(document:)).to eq(document) + end + end + + context 'an invalid file' do + it 'errors reading a missing file' do + expect do + service.valid_document?(document:) + end.to raise_error SystemCallError, /#{document}/ + end + + it 'errors if not a PDF' do + allow(File).to receive(:read).and_return('test-file-read') + allow(Marcel::MimeType).to receive(:for).and_return('not-a-pdf') + + expect do + service.valid_document?(document:) + end.to raise_error TypeError, 'Invalid Document MimeType: not-a-pdf' + end + + it 'errors on unsuccessful api validation' do + allow(File).to receive(:read).and_return('test-file-read') + allow(Marcel::MimeType).to receive(:for).and_return(mime_pdf) + allow(service).to receive(:perform).and_return OpenStruct.new({ success?: false }) + + expect do + service.valid_document?(document:) + end.to raise_error BenefitsIntake::Service::InvalidDocumentError, /Invalid Document/ + end + end + end + + describe '#valid_upload?' do + it 'returns valid upload parameters' do + allow(service).to receive(:valid_document?).and_return('valid-doc-path') + + # no attachments included + expected = { metadata:, document: 'valid-doc-path', attachments: [] } + expect(service).to receive(:valid_document?).once + + response = service.valid_upload?(metadata:, document: 'file-path') + expect(response).to eq(expected) + + # with 2 attachments + expected = { + metadata:, + document: 'valid-doc-path', + attachments: %w[valid-doc-path valid-doc-path] + } + expect(service).to receive(:valid_document?).exactly(3).times + + response = service.valid_upload?(metadata:, document: 'file-path', attachments: %w[1 2]) + expect(response).to eq(expected) + end + + it 'errors on bad metadata' do + expect do + service.valid_upload?(metadata: {}, document: 'file-path') + end.to raise_error ArgumentError + end + + it 'errors on bad file' do + expect do + service.valid_upload?(metadata:, document: 'file-path') + end.to raise_error SystemCallError + end + end + + # end RSpec.describe +end From 839a95809dbeefeddf6f34dc69fb9572fe5dae83 Mon Sep 17 00:00:00 2001 From: Micah Frazier Date: Tue, 16 Apr 2024 13:28:48 -0600 Subject: [PATCH 50/74] Ndbex/69209 ch36 to benefits intake (#16351) * level set * level set with master * removing yarn.lock * placeholder * Renaming and restructuring ecc job and dependencies * Added new feature flag name * SMall change to ecc claim model spec * Tests may not be tested properly * Fixed failing tests due to improperly calling perform_async when it should just be perform * ECC model claim file was not listed in codeowners file * Another codeowners change to have backend-review-group in it * Test and call update for ECC * CODEOWNERS change and removing sentry calls in the job * Rubocop * log message tweaks --- .github/CODEOWNERS | 3 +- ...ion_career_counseling_claims_controller.rb | 2 +- .../education_career_counseling_claim.rb | 8 +++-- .../submit_career_counseling_job.rb | 17 +++++------ config/features.yml | 3 ++ ...areer_counseling_claims_controller_spec.rb | 2 +- .../education_career_counseling_claim_spec.rb | 30 ++++++++++++++++--- .../submit_career_counseling_job_spec.rb | 12 ++++---- 8 files changed, 52 insertions(+), 25 deletions(-) rename app/sidekiq/{central_mail => lighthouse}/submit_career_counseling_job.rb (63%) rename spec/sidekiq/{central_mail => lighthouse}/submit_career_counseling_job_spec.rb (80%) diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index bfcf84627ab..b52b430ccdf 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -293,6 +293,7 @@ app/models/session.rb @department-of-veterans-affairs/octo-identity app/models/saved_claim/burial.rb @department-of-veterans-affairs/benefits-non-disability @department-of-veterans-affairs/pensions @department-of-veterans-affairs/va-api-engineers @department-of-veterans-affairs/backend-review-group app/models/saved_claim/pension.rb @department-of-veterans-affairs/pensions @department-of-veterans-affairs/backend-review-group app/models/saved_claim/veteran_readiness_employment_claim.rb @department-of-veterans-affairs/benefits-non-disability @department-of-veterans-affairs/va-api-engineers @department-of-veterans-affairs/backend-review-group +app/models/saved_claim/education_career_counseling_claim.rb @department-of-veterans-affairs/benefits-non-disability @department-of-veterans-affairs/va-api-engineers @department-of-veterans-affairs/backend-review-group app/models/sign_in @department-of-veterans-affairs/octo-identity app/models/single_logout_request.rb @department-of-veterans-affairs/octo-identity app/models/spool_file_event.rb @department-of-veterans-affairs/my-education-benefits @department-of-veterans-affairs/va-api-engineers @department-of-veterans-affairs/backend-review-group @@ -582,7 +583,6 @@ app/sidekiq/account_login_statistics_job.rb @department-of-veterans-affairs/octo app/sidekiq/benefits_intake_status_job.rb @department-of-veterans-affairs/platform-va-product-forms @department-of-veterans-affairs/Disability-Experience @department-of-veterans-affairs/va-api-engineers @department-of-veterans-affairs/backend-review-group app/sidekiq/bgs @department-of-veterans-affairs/benefits-dependents-management @department-of-veterans-affairs/va-api-engineers @department-of-veterans-affairs/backend-review-group app/sidekiq/central_mail/delete_old_claims.rb @department-of-veterans-affairs/mbs-core-team @department-of-veterans-affairs/va-api-engineers @department-of-veterans-affairs/backend-review-group -app/sidekiq/central_mail/submit_career_counseling_job.rb @department-of-veterans-affairs/my-education-benefits @department-of-veterans-affairs/va-api-engineers @department-of-veterans-affairs/backend-review-group app/sidekiq/central_mail/submit_form4142_job.rb @department-of-veterans-affairs/Disability-Experience @department-of-veterans-affairs/va-api-engineers @department-of-veterans-affairs/backend-review-group app/sidekiq/central_mail/submit_saved_claim_job.rb @department-of-veterans-affairs/backend-review-group app/sidekiq/central_mail/submit_central_form686c_job.rb @department-of-veterans-affairs/va-api-engineers @department-of-veterans-affairs/backend-review-group @department-of-veterans-affairs/benefits-dependents-management @@ -618,6 +618,7 @@ app/sidekiq/income_limits @department-of-veterans-affairs/vfs-public-websites-fr app/sidekiq/in_progress_form_cleaner.rb @department-of-veterans-affairs/vfs-authenticated-experience-backend @department-of-veterans-affairs/va-api-engineers @department-of-veterans-affairs/backend-review-group app/sidekiq/kms_key_rotation @department-of-veterans-affairs/va-api-engineers @department-of-veterans-affairs/backend-review-group app/sidekiq/lighthouse @department-of-veterans-affairs/backend-review-group +app/sidekiq/lighthouse/submit_career_counseling_job.rb @department-of-veterans-affairs/my-education-benefits @department-of-veterans-affairs/va-api-engineers @department-of-veterans-affairs/backend-review-group app/sidekiq/mhv @department-of-veterans-affairs/vfs-mhv-medical-records @department-of-veterans-affairs/va-api-engineers @department-of-veterans-affairs/backend-review-group app/sidekiq/pager_duty @department-of-veterans-affairs/va-api-engineers @department-of-veterans-affairs/backend-review-group app/sidekiq/preneeds @department-of-veterans-affairs/mbs-core-team @department-of-veterans-affairs/va-api-engineers @department-of-veterans-affairs/backend-review-group diff --git a/app/controllers/v0/education_career_counseling_claims_controller.rb b/app/controllers/v0/education_career_counseling_claims_controller.rb index 7f2e36b7eb3..a79a27a5b74 100644 --- a/app/controllers/v0/education_career_counseling_claims_controller.rb +++ b/app/controllers/v0/education_career_counseling_claims_controller.rb @@ -13,7 +13,7 @@ def create raise Common::Exceptions::ValidationErrors, claim end - CentralMail::SubmitCareerCounselingJob.perform_async(claim.id, @current_user&.uuid) + Lighthouse::SubmitCareerCounselingJob.perform_async(claim.id, @current_user&.uuid) Rails.logger.info "ClaimID=#{claim.confirmation_number} Form=#{claim.class::FORM}" clear_saved_form(claim.form_id) diff --git a/app/models/saved_claim/education_career_counseling_claim.rb b/app/models/saved_claim/education_career_counseling_claim.rb index 4ca69e12edf..0c3a548eae8 100644 --- a/app/models/saved_claim/education_career_counseling_claim.rb +++ b/app/models/saved_claim/education_career_counseling_claim.rb @@ -8,7 +8,7 @@ def regional_office [] end - def send_to_central_mail! + def send_to_benefits_intake! form_copy = parsed_form if form_copy['veteranSocialSecurityNumber'].blank? @@ -27,7 +27,11 @@ def process_attachments! files = PersistentAttachment.where(guid: refs.map(&:confirmationCode)) files.find_each { |f| f.update(saved_claim_id: id) } - CentralMail::SubmitSavedClaimJob.new.perform(id) + if Flipper.enabled?(:ecc_benefits_intake_submission) + Lighthouse::SubmitBenefitsIntakeClaim.new.perform(id) + else + CentralMail::SubmitSavedClaimJob.new.perform(id) + end end def business_line diff --git a/app/sidekiq/central_mail/submit_career_counseling_job.rb b/app/sidekiq/lighthouse/submit_career_counseling_job.rb similarity index 63% rename from app/sidekiq/central_mail/submit_career_counseling_job.rb rename to app/sidekiq/lighthouse/submit_career_counseling_job.rb index ecb0bda9090..9ee4cbac7b6 100644 --- a/app/sidekiq/central_mail/submit_career_counseling_job.rb +++ b/app/sidekiq/lighthouse/submit_career_counseling_job.rb @@ -1,18 +1,17 @@ # frozen_string_literal: true -module CentralMail +module Lighthouse class SubmitCareerCounselingJob include Sidekiq::Job - include SentryLogging RETRY = 14 - STATSD_KEY_PREFIX = 'worker.central_mail.submit_career_counseling_job' + STATSD_KEY_PREFIX = 'worker.lighthouse.submit_career_counseling_job' sidekiq_options retry: RETRY sidekiq_retries_exhausted do |msg, _ex| Rails.logger.error( - "Failed all retries on CentralMail::SubmitCareerCounselingJob, last error: #{msg['error_message']}" + "Failed all retries on SubmitCareerCounselingJob, last error: #{msg['error_message']}" ) StatsD.increment("#{STATSD_KEY_PREFIX}.exhausted") end @@ -20,14 +19,13 @@ class SubmitCareerCounselingJob def perform(claim_id, user_uuid = nil) begin @claim = SavedClaim.find(claim_id) - @claim.send_to_central_mail! + @claim.send_to_benefits_intake! send_confirmation_email(user_uuid) rescue => e - log_message_to_sentry('CentralMail::SubmitCareerCounselingJob failed, retrying...', :warn, - generate_sentry_details(e)) + Rails.logger.warn('SubmitCareerCounselingJob failed, retrying...', { error_message: e.message }) raise end - log_message_to_sentry('Successfully submitted form 25-8832', :info, { uuid: user_uuid }) + Rails.logger.info('Successfully submitted form 25-8832', { uuid: user_uuid }) end def send_confirmation_email(user_uuid) @@ -38,8 +36,7 @@ def send_confirmation_email(user_uuid) end if email.blank? - log_message_to_sentry('No email to send confirmation regarding submitted form 25-8832', :info, - { uuid: user_uuid }) + Rails.logger.info("No email to send confirmation regarding submitted form 25-8832 for uuid: #{user_uuid}") return end diff --git a/config/features.yml b/config/features.yml index ae830b1ec0e..7011dffe9f1 100644 --- a/config/features.yml +++ b/config/features.yml @@ -1356,6 +1356,9 @@ features: central_mail_benefits_intake_submission: actor_type: user description: Enable central mail claims submission uses Benefits Intake API + ecc_benefits_intake_submission: + actor_type: user + description: Enable education and career counseling claim submissions to use Benefits Intake API virtual_agent_enable_param_error_detection: actor_type: user description: If enabled, Allows for the detection of errors in the chatbot params diff --git a/spec/controllers/v0/education_career_counseling_claims_controller_spec.rb b/spec/controllers/v0/education_career_counseling_claims_controller_spec.rb index 9481d2dceaa..d7d5deeb77b 100644 --- a/spec/controllers/v0/education_career_counseling_claims_controller_spec.rb +++ b/spec/controllers/v0/education_career_counseling_claims_controller_spec.rb @@ -24,7 +24,7 @@ end it 'calls successfully submits the career counseling job' do - expect(CentralMail::SubmitCareerCounselingJob).to receive(:perform_async) + expect(Lighthouse::SubmitCareerCounselingJob).to receive(:perform_async) post(:create, params: form_params) end diff --git a/spec/models/saved_claim/education_career_counseling_claim_spec.rb b/spec/models/saved_claim/education_career_counseling_claim_spec.rb index 0c3c80b5d13..57a684aa202 100644 --- a/spec/models/saved_claim/education_career_counseling_claim_spec.rb +++ b/spec/models/saved_claim/education_career_counseling_claim_spec.rb @@ -12,18 +12,40 @@ end end - describe '#send_to_central_mail!' do - it 'formats data before sending to central mail' do + describe '#send_to_benefits_intake!' do + it 'formats data before sending to central mail or benefits intake' do allow(claim).to receive(:process_attachments!) expect(claim).to receive(:update).with(form: a_string_including('"veteranSocialSecurityNumber":"333224444"')) - claim.send_to_central_mail! + claim.send_to_benefits_intake! end it 'calls process_attachments! method' do expect(claim).to receive(:process_attachments!) - claim.send_to_central_mail! + claim.send_to_benefits_intake! + end + + context 'Feature ecc_benefits_intake_submission is true' do + before do + Flipper.enable(:ecc_benefits_intake_submission) + end + + it 'calls Lighthouse::SubmitBenefitsIntakeClaim job' do + expect_any_instance_of(Lighthouse::SubmitBenefitsIntakeClaim).to receive(:perform).with(claim.id) + claim.send_to_benefits_intake! + end + end + + context 'Feature ecc_benefits_intake_submission is false' do + before do + Flipper.disable(:ecc_benefits_intake_submission) + end + + it 'calls CentralMail::SubmitSavedClaimJob job' do + expect_any_instance_of(CentralMail::SubmitSavedClaimJob).to receive(:perform).with(claim.id) + claim.send_to_benefits_intake! + end end end end diff --git a/spec/sidekiq/central_mail/submit_career_counseling_job_spec.rb b/spec/sidekiq/lighthouse/submit_career_counseling_job_spec.rb similarity index 80% rename from spec/sidekiq/central_mail/submit_career_counseling_job_spec.rb rename to spec/sidekiq/lighthouse/submit_career_counseling_job_spec.rb index 980c183089d..d4dccbd2a6a 100644 --- a/spec/sidekiq/central_mail/submit_career_counseling_job_spec.rb +++ b/spec/sidekiq/lighthouse/submit_career_counseling_job_spec.rb @@ -2,19 +2,19 @@ require 'rails_helper' -RSpec.describe CentralMail::SubmitCareerCounselingJob do +RSpec.describe Lighthouse::SubmitCareerCounselingJob do let(:claim) { create(:education_career_counseling_claim) } let(:job) { described_class.new } describe '#perform' do it 'sends to central mail' do - expect_any_instance_of(SavedClaim::EducationCareerCounselingClaim).to receive(:send_to_central_mail!) + expect_any_instance_of(SavedClaim::EducationCareerCounselingClaim).to receive(:send_to_benefits_intake!) job.perform(claim.id) end it 'sends confirmation email' do - allow_any_instance_of(SavedClaim::EducationCareerCounselingClaim).to receive(:send_to_central_mail!) + allow_any_instance_of(SavedClaim::EducationCareerCounselingClaim).to receive(:send_to_benefits_intake!) expect(job).to receive(:send_confirmation_email).with(nil) @@ -60,11 +60,11 @@ describe 'sidekiq_retries_exhausted block' do it 'logs error when retries are exhausted' do - CentralMail::SubmitCareerCounselingJob.within_sidekiq_retries_exhausted_block do + Lighthouse::SubmitCareerCounselingJob.within_sidekiq_retries_exhausted_block do expect(Rails.logger).to receive(:error).exactly(:once).with( - 'Failed all retries on CentralMail::SubmitCareerCounselingJob, last error: An error occured' + 'Failed all retries on SubmitCareerCounselingJob, last error: An error occured' ) - expect(StatsD).to receive(:increment).with('worker.central_mail.submit_career_counseling_job.exhausted') + expect(StatsD).to receive(:increment).with('worker.lighthouse.submit_career_counseling_job.exhausted') end end end From 2a3da8e360b6cbc75d5d9478636740bb9aefaf6f Mon Sep 17 00:00:00 2001 From: evansmith Date: Tue, 16 Apr 2024 15:33:16 -0400 Subject: [PATCH 51/74] update codeowners (#16360) --- .github/CODEOWNERS | 24 ++++++++++++++++++------ 1 file changed, 18 insertions(+), 6 deletions(-) diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index b52b430ccdf..3553e4a63b9 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -887,6 +887,18 @@ lib/pagerduty @department-of-veterans-affairs/va-api-engineers @department-of-ve lib/pdf_fill @department-of-veterans-affairs/vsa-debt-resolution @department-of-veterans-affairs/backend-review-group @department-of-veterans-affairs/vfs-10-10 @department-of-veterans-affairs/vfs-1095-b lib/pdf_fill/forms/pdfs/21P-527EZ.pdf @department-of-veterans-affairs/pensions @department-of-veterans-affairs/backend-review-group lib/pdf_fill/forms/va21p527ez.rb @department-of-veterans-affairs/pensions @department-of-veterans-affairs/backend-review-group +lib/pdf_fill/forms/pdfs/28-1900.pdf @department-of-veterans-affairs/benefits-non-disability @department-of-veterans-affairs/va-api-engineers @department-of-veterans-affairs/backend-review-group +lib/pdf_fill/forms/va281900.rb @department-of-veterans-affairs/benefits-non-disability @department-of-veterans-affairs/va-api-engineers @department-of-veterans-affairs/backend-review-group +lib/pdf_fill/forms/pdfs/28-8832.pdf @department-of-veterans-affairs/benefits-non-disability @department-of-veterans-affairs/va-api-engineers @department-of-veterans-affairs/backend-review-group +lib/pdf_fill/forms/va288832.rb @department-of-veterans-affairs/benefits-non-disability @department-of-veterans-affairs/va-api-engineers @department-of-veterans-affairs/backend-review-group +lib/pdf_fill/forms/pdfs/21P-530.pdf @department-of-veterans-affairs/benefits-non-disability @department-of-veterans-affairs/va-api-engineers @department-of-veterans-affairs/backend-review-group +lib/pdf_fill/forms/va21p530.rb @department-of-veterans-affairs/benefits-non-disability @department-of-veterans-affairs/va-api-engineers @department-of-veterans-affairs/backend-review-group +lib/pdf_fill/forms/pdfs/21P-530V2.pdf @department-of-veterans-affairs/benefits-non-disability @department-of-veterans-affairs/va-api-engineers @department-of-veterans-affairs/backend-review-group +lib/pdf_fill/forms/va21p530v2.rb @department-of-veterans-affairs/benefits-non-disability @department-of-veterans-affairs/va-api-engineers @department-of-veterans-affairs/backend-review-group +lib/pdf_fill/forms/pdfs/686C-674.pdf @department-of-veterans-affairs/benefits-dependents-management @department-of-veterans-affairs/va-api-engineers @department-of-veterans-affairs/backend-review-group +lib/pdf_fill/forms/va686c674.rb @department-of-veterans-affairs/benefits-dependents-management @department-of-veterans-affairs/va-api-engineers @department-of-veterans-affairs/backend-review-group +lib/pdf_fill/forms/pdfs/21-674.pdf @department-of-veterans-affairs/benefits-dependents-management @department-of-veterans-affairs/va-api-engineers @department-of-veterans-affairs/backend-review-group +lib/pdf_fill/forms/va21674.rb @department-of-veterans-affairs/benefits-dependents-management @department-of-veterans-affairs/va-api-engineers @department-of-veterans-affairs/backend-review-group lib/pdf_info.rb @department-of-veterans-affairs/va-api-engineers @department-of-veterans-affairs/backend-review-group lib/pdf_utilities @department-of-veterans-affairs/va-api-engineers @department-of-veterans-affairs/backend-review-group lib/pension_burial @department-of-veterans-affairs/mbs-core-team @department-of-veterans-affairs/va-api-engineers @department-of-veterans-affairs/backend-review-group @@ -1190,16 +1202,16 @@ spec/fixtures/pdf_fill/10-10CG @department-of-veterans-affairs/vfs-10-10 @depart spec/fixtures/pdf_fill/21-0538 @department-of-veterans-affairs/Benefits-Team-1 @department-of-veterans-affairs/va-api-engineers @department-of-veterans-affairs/backend-review-group spec/fixtures/pdf_fill/21-0781 @department-of-veterans-affairs/Benefits-Team-1 @department-of-veterans-affairs/va-api-engineers @department-of-veterans-affairs/backend-review-group spec/fixtures/pdf_fill/21-4142 @department-of-veterans-affairs/Benefits-Team-1 @department-of-veterans-affairs/va-api-engineers @department-of-veterans-affairs/backend-review-group -spec/fixtures/pdf_fill/21-674 @department-of-veterans-affairs/Benefits-Team-1 @department-of-veterans-affairs/va-api-engineers @department-of-veterans-affairs/backend-review-group +spec/fixtures/pdf_fill/21-674 @department-of-veterans-affairs/benefits-dependents-management @department-of-veterans-affairs/va-api-engineers @department-of-veterans-affairs/backend-review-group spec/fixtures/pdf_fill/21-8940 @department-of-veterans-affairs/Benefits-Team-1 @department-of-veterans-affairs/va-api-engineers @department-of-veterans-affairs/backend-review-group spec/fixtures/pdf_fill/21P-527EZ @department-of-veterans-affairs/pensions @department-of-veterans-affairs/backend-review-group -spec/fixtures/pdf_fill/21P-530 @department-of-veterans-affairs/Benefits-Team-1 @department-of-veterans-affairs/va-api-engineers @department-of-veterans-affairs/backend-review-group -spec/fixtures/pdf_fill/21P-530V2 @department-of-veterans-affairs/Benefits-Team-1 @department-of-veterans-affairs/va-api-engineers @department-of-veterans-affairs/backend-review-group +spec/fixtures/pdf_fill/21P-530 @department-of-veterans-affairs/benefits-non-disability @department-of-veterans-affairs/va-api-engineers @department-of-veterans-affairs/backend-review-group +spec/fixtures/pdf_fill/21P-530V2 @department-of-veterans-affairs/benefits-non-disability @department-of-veterans-affairs/va-api-engineers @department-of-veterans-affairs/backend-review-group spec/fixtures/pdf_fill/26-1880 @department-of-veterans-affairs/Benefits-Team-1 @department-of-veterans-affairs/va-api-engineers @department-of-veterans-affairs/backend-review-group -spec/fixtures/pdf_fill/28-1900 @department-of-veterans-affairs/Benefits-Team-1 @department-of-veterans-affairs/va-api-engineers @department-of-veterans-affairs/backend-review-group -spec/fixtures/pdf_fill/28-8832 @department-of-veterans-affairs/Benefits-Team-1 @department-of-veterans-affairs/va-api-engineers @department-of-veterans-affairs/backend-review-group +spec/fixtures/pdf_fill/28-1900 @department-of-veterans-affairs/benefits-non-disability @department-of-veterans-affairs/va-api-engineers @department-of-veterans-affairs/backend-review-group +spec/fixtures/pdf_fill/28-8832 @department-of-veterans-affairs/benefits-non-disability @department-of-veterans-affairs/va-api-engineers @department-of-veterans-affairs/backend-review-group spec/fixtures/pdf_fill/5655 @department-of-veterans-affairs/vsa-debt-resolution -spec/fixtures/pdf_fill/686C-674 @department-of-veterans-affairs/Benefits-Team-1 @department-of-veterans-affairs/va-api-engineers @department-of-veterans-affairs/backend-review-group +spec/fixtures/pdf_fill/686C-674 @department-of-veterans-affairs/benefits-dependents-management @department-of-veterans-affairs/va-api-engineers @department-of-veterans-affairs/backend-review-group spec/fixtures/pdf_fill/extras.pdf @department-of-veterans-affairs/va-api-engineers @department-of-veterans-affairs/backend-review-group spec/fixtures/pdf_utilities @department-of-veterans-affairs/va-api-engineers @department-of-veterans-affairs/backend-review-group spec/fixtures/pension @department-of-veterans-affairs/pensions @department-of-veterans-affairs/backend-review-group From 4f0b8fb5619ee23bc22266d83607d82940d094dd Mon Sep 17 00:00:00 2001 From: Lee Delarm <135059743+lee-delarm6@users.noreply.github.com> Date: Tue, 16 Apr 2024 15:43:35 -0400 Subject: [PATCH 52/74] 71999 scour payload (#16308) * Add scour function, add test, fix other test * Fixed test and function Fixed test and fixed function * Rubocop fix Rubocop fix * Revert schema Revert schema * Reverting changes to schema.rb * Match updated schema Match updated schema --- .../app/services/check_in/map/client.rb | 27 ++++++++++- .../spec/services/check_in/map/client_spec.rb | 47 ++++++++++++++++++- 2 files changed, 71 insertions(+), 3 deletions(-) diff --git a/modules/check_in/app/services/check_in/map/client.rb b/modules/check_in/app/services/check_in/map/client.rb index d85a99d96ac..316e473b264 100644 --- a/modules/check_in/app/services/check_in/map/client.rb +++ b/modules/check_in/app/services/check_in/map/client.rb @@ -28,17 +28,40 @@ def initialize @settings = Settings.check_in.map_api end + def deep_analyze_and_modify(obj) + case obj + when Hash + obj.each do |key, value| + if key == :system && value.is_a?(String) + obj[key] = value.gsub('https://va.gov', '') + else + deep_analyze_and_modify(value) + end + end + when Array + obj.each do |value| + deep_analyze_and_modify(value) + end + end + end + ## # HTTP GET call to get the appointment data from MAP # # @return [Faraday::Response] # def appointments(token:, patient_icn:, query_params:) - connection.post("/vaos/v1/patients/#{patient_icn}/appointments?#{query_params}") do |req| + response = connection.post("/vaos/v1/patients/#{patient_icn}/appointments?#{query_params}") do |req| req.headers = default_headers.merge('X-VAMF-JWT' => token) end + deep_analyze_and_modify(response) + response rescue => e - Faraday::Response.new(body: e.original_body, status: e.original_status) + if e.respond_to?(:original_body) && e.respond_to?(:original_status) + Faraday::Response.new(body: e.original_body, status: e.original_status) + else + raise e + end end private diff --git a/modules/check_in/spec/services/check_in/map/client_spec.rb b/modules/check_in/spec/services/check_in/map/client_spec.rb index 0c0c8ebe46b..16aa5e6092e 100644 --- a/modules/check_in/spec/services/check_in/map/client_spec.rb +++ b/modules/check_in/spec/services/check_in/map/client_spec.rb @@ -36,7 +36,7 @@ id: '180765', identifier: [ { - system: 'Appointment/', + system: 'https://va.gov/Appointment/', value: '413938333130383735' } ], @@ -68,6 +68,51 @@ end end + context 'when appointments service returns success response takes out https://va.gov' do + let(:appointments_response) do + { + data: [ + { + id: '180765', + identifier: [ + { + system: 'https://va.gov/Appointment/', + value: '413938333130383735' + } + ], + kind: 'clinic', + status: 'booked', + serviceType: 'amputation', + patientIcn: :icn, + locationId: '983GC', + clinic: '1081', + start: '2023-11-02T17:12:30.174Z', + end: '2023-12-12T17:12:30.174Z', + minutesDuration: 30, + extension: { + preCheckinAllowed: true, + eCheckinAllowed: true + } + } + ] + } + end + + before do + allow_any_instance_of(Faraday::Connection).to receive(:post).with(anything).and_return(appointments_response) + end + + it 'strips https://va.gov from any system property in the response' do + response = subject.appointments(token: jwt_token, patient_icn: icn, query_params:) + response[:data].each do |appointment| + appointment[:identifier].each do |identifier| + puts identifier[:system] + expect(identifier[:system]).not_to start_with('https://va.gov') + end + end + end + end + context 'when appointments service returns a 500 error response' do let(:error_msg) do { From a9161d19d88a570d21009d7531151127cd7102a0 Mon Sep 17 00:00:00 2001 From: Gregg P <117232882+GcioGregg@users.noreply.github.com> Date: Tue, 16 Apr 2024 13:00:23 -0700 Subject: [PATCH 53/74] add OMB control and ESO signature (#16366) --- app/sidekiq/education_form/templates/10203.erb | 14 ++++++++++++++ .../10203/kitchen_sink.spl | 6 +++--- .../10203/kitchen_sink_stem_ad_with_poa.spl | 6 +++--- .../10203/kitchen_sink_stem_ad_without_poa.spl | 6 +++--- .../education_benefits_claims/10203/minimal.spl | 2 +- 5 files changed, 24 insertions(+), 10 deletions(-) diff --git a/app/sidekiq/education_form/templates/10203.erb b/app/sidekiq/education_form/templates/10203.erb index 008cd478e9f..bad27173e61 100644 --- a/app/sidekiq/education_form/templates/10203.erb +++ b/app/sidekiq/education_form/templates/10203.erb @@ -2,7 +2,11 @@ CH33 *START* <%= form_identifier %> +<% if Settings.vsp_environment.eql?('production') -%> JUN 2020 +<% else -%> +OMB Control #: 2900-0878 +<% end -%> APPLICATION FOR EDITH NOURSE ROGERS STEM SCHOLARSHIP @@ -69,8 +73,18 @@ Applicant has POA: <%= yesno(@stem_automated_decision.poa) %> Applicant School Email Address: <%= @applicant.schoolEmailAddress %> Applicant School ID: <%= @applicant.schoolStudentId %> +<% if Settings.vsp_environment.eql?('production') -%> + Certification and Signature of Applicant +Signature of Applicant Date +<% else -%> +<% if @applicant.isActiveDuty -%> +As an active-duty service member, you have consulted with an Education Service +Officer (ESO) regarding your education program. +<% else -%> Certification and Signature of Applicant Signature of Applicant Date +<% end -%> +<% end -%> <%= parse_with_template_path('footer') %> diff --git a/spec/fixtures/education_benefits_claims/10203/kitchen_sink.spl b/spec/fixtures/education_benefits_claims/10203/kitchen_sink.spl index ec6667db4e3..b0a6fc395d9 100644 --- a/spec/fixtures/education_benefits_claims/10203/kitchen_sink.spl +++ b/spec/fixtures/education_benefits_claims/10203/kitchen_sink.spl @@ -10,7 +10,7 @@ SCHOOL NAME CH33 *START* VA Form 22-10203 -JUN 2020 +OMB Control #: 2900-0878 APPLICATION FOR EDITH NOURSE ROGERS STEM SCHOLARSHIP @@ -65,8 +65,8 @@ Auto Email Sent to SCO: YES Applicant School Email Address: test@school.edu Applicant School ID: 12345 - Certification and Signature of Applicant -Signature of Applicant Date +As an active-duty service member, you have consulted with an Education Service +Officer (ESO) regarding your education program. Electronically Received by VA: 2017-01-17 diff --git a/spec/fixtures/education_benefits_claims/10203/kitchen_sink_stem_ad_with_poa.spl b/spec/fixtures/education_benefits_claims/10203/kitchen_sink_stem_ad_with_poa.spl index 923d2db9689..ca379cbd2fe 100644 --- a/spec/fixtures/education_benefits_claims/10203/kitchen_sink_stem_ad_with_poa.spl +++ b/spec/fixtures/education_benefits_claims/10203/kitchen_sink_stem_ad_with_poa.spl @@ -10,7 +10,7 @@ SCHOOL NAME CH33 *START* VA Form 22-10203DNY -JUN 2020 +OMB Control #: 2900-0878 APPLICATION FOR EDITH NOURSE ROGERS STEM SCHOLARSHIP @@ -66,8 +66,8 @@ Applicant has POA: YES Applicant School Email Address: test@school.edu Applicant School ID: 12345 - Certification and Signature of Applicant -Signature of Applicant Date +As an active-duty service member, you have consulted with an Education Service +Officer (ESO) regarding your education program. Electronically Received by VA: 2017-01-17 diff --git a/spec/fixtures/education_benefits_claims/10203/kitchen_sink_stem_ad_without_poa.spl b/spec/fixtures/education_benefits_claims/10203/kitchen_sink_stem_ad_without_poa.spl index 917f4eb7fa0..0eb3f970b60 100644 --- a/spec/fixtures/education_benefits_claims/10203/kitchen_sink_stem_ad_without_poa.spl +++ b/spec/fixtures/education_benefits_claims/10203/kitchen_sink_stem_ad_without_poa.spl @@ -10,7 +10,7 @@ SCHOOL NAME CH33 *START* VA Form 22-10203DNY -JUN 2020 +OMB Control #: 2900-0878 APPLICATION FOR EDITH NOURSE ROGERS STEM SCHOLARSHIP @@ -66,8 +66,8 @@ Applicant has POA: NO Applicant School Email Address: test@school.edu Applicant School ID: 12345 - Certification and Signature of Applicant -Signature of Applicant Date +As an active-duty service member, you have consulted with an Education Service +Officer (ESO) regarding your education program. Electronically Received by VA: 2017-01-17 diff --git a/spec/fixtures/education_benefits_claims/10203/minimal.spl b/spec/fixtures/education_benefits_claims/10203/minimal.spl index d01606beaf8..b699fe2920c 100644 --- a/spec/fixtures/education_benefits_claims/10203/minimal.spl +++ b/spec/fixtures/education_benefits_claims/10203/minimal.spl @@ -10,7 +10,7 @@ SCHOOL NAME CH33 *START* VA Form 22-10203 -JUN 2020 +OMB Control #: 2900-0878 APPLICATION FOR EDITH NOURSE ROGERS STEM SCHOLARSHIP From 0b0ce7e381731cc9d6ba43102edb25d9eff4cefd Mon Sep 17 00:00:00 2001 From: Holden Hinkle Date: Tue, 16 Apr 2024 17:02:32 -0400 Subject: [PATCH 54/74] Create accredited_organizations table (#16296) * create accredited_organizations table * index poa_code * add # frozen_string_literal: true * fix merge conflicts --------- Co-authored-by: Jonathan VanCourt --- ...1160306_create_accredited_organizations.rb | 33 +++++++++++++++++++ db/schema.rb | 30 +++++++++++++++++ 2 files changed, 63 insertions(+) create mode 100644 db/migrate/20240411160306_create_accredited_organizations.rb diff --git a/db/migrate/20240411160306_create_accredited_organizations.rb b/db/migrate/20240411160306_create_accredited_organizations.rb new file mode 100644 index 00000000000..e0bd8a1bc61 --- /dev/null +++ b/db/migrate/20240411160306_create_accredited_organizations.rb @@ -0,0 +1,33 @@ +# frozen_string_literal: true + +class CreateAccreditedOrganizations < ActiveRecord::Migration[7.1] + def change + create_table :accredited_organizations, id: :uuid do |t| + t.uuid :ogc_id, null: false + t.string :poa_code, limit: 3, null: false, index: { unique: true } + t.string :name, index: true + t.string :phone + t.string :address_type + t.string :address_line1 + t.string :address_line2 + t.string :address_line3 + t.string :city + t.string :country_code_iso3 + t.string :country_name + t.string :county_name + t.string :county_code + t.string :international_postal_code + t.string :province + t.string :state_code + t.string :zip_code + t.string :zip_suffix + t.jsonb :raw_address + t.float :lat + t.float :long + t.geography :location, limit: { srid: 4326, type: 'st_point', geographic: true } + t.timestamps + + t.index :location, using: :gist + end + end +end diff --git a/db/schema.rb b/db/schema.rb index a996325aa71..37726024dfc 100644 --- a/db/schema.rb +++ b/db/schema.rb @@ -90,6 +90,36 @@ t.index ["registration_number", "individual_type"], name: "index_on_reg_num_and_type_for_accredited_individuals", unique: true end + create_table "accredited_organizations", id: :uuid, default: -> { "gen_random_uuid()" }, force: :cascade do |t| + t.uuid "ogc_id", null: false + t.string "poa_code", limit: 3, null: false + t.string "name" + t.string "phone" + t.string "address_type" + t.string "address_line1" + t.string "address_line2" + t.string "address_line3" + t.string "city" + t.string "country_code_iso3" + t.string "country_name" + t.string "county_name" + t.string "county_code" + t.string "international_postal_code" + t.string "province" + t.string "state_code" + t.string "zip_code" + t.string "zip_suffix" + t.jsonb "raw_address" + t.float "lat" + t.float "long" + t.geography "location", limit: {:srid=>4326, :type=>"st_point", :geographic=>true} + t.datetime "created_at", null: false + t.datetime "updated_at", null: false + t.index ["location"], name: "index_accredited_organizations_on_location", using: :gist + t.index ["name"], name: "index_accredited_organizations_on_name" + t.index ["poa_code"], name: "index_accredited_organizations_on_poa_code", unique: true + end + create_table "active_storage_attachments", force: :cascade do |t| t.string "name", null: false t.string "record_type", null: false From 3345419c5422157693b599a935475fc8c3674adc Mon Sep 17 00:00:00 2001 From: kanchanasuriya <89944361+kanchanasuriya@users.noreply.github.com> Date: Tue, 16 Apr 2024 14:43:10 -0700 Subject: [PATCH 55/74] 71787 CIE VAOS Appointment Serializer (#16304) * 71787 CIE VAOS Appointment Serializer * Reducing LOC * Removing unwanted test data --------- Co-authored-by: kanchanasuriya --- .../vaos/vaos_appointment_data_serializer.rb | 19 ++ .../vaos_appointment_data_serializer_spec.rb | 249 ++++++++++++++++++ 2 files changed, 268 insertions(+) create mode 100644 modules/check_in/app/serializers/check_in/vaos/vaos_appointment_data_serializer.rb create mode 100644 modules/check_in/spec/serializers/vaos/vaos_appointment_data_serializer_spec.rb diff --git a/modules/check_in/app/serializers/check_in/vaos/vaos_appointment_data_serializer.rb b/modules/check_in/app/serializers/check_in/vaos/vaos_appointment_data_serializer.rb new file mode 100644 index 00000000000..9a524002c2a --- /dev/null +++ b/modules/check_in/app/serializers/check_in/vaos/vaos_appointment_data_serializer.rb @@ -0,0 +1,19 @@ +# frozen_string_literal: true + +module CheckIn + module VAOS + class VAOSAppointmentDataSerializer + include JSONAPI::Serializer + + keys_to_serialize = %i[id identifier kind status serviceType locationId clinic start end extension] + + set_id(&:id) + + attribute :appointments do |object| + object.data.map do |data| + data.select { |key| keys_to_serialize.include?(key) } + end + end + end + end +end diff --git a/modules/check_in/spec/serializers/vaos/vaos_appointment_data_serializer_spec.rb b/modules/check_in/spec/serializers/vaos/vaos_appointment_data_serializer_spec.rb new file mode 100644 index 00000000000..c96be214efb --- /dev/null +++ b/modules/check_in/spec/serializers/vaos/vaos_appointment_data_serializer_spec.rb @@ -0,0 +1,249 @@ +# frozen_string_literal: true + +require 'rails_helper' + +RSpec.describe CheckIn::VAOS::VAOSAppointmentDataSerializer do + subject { described_class } + + let(:vaos_appointment_data) do + { + data: [ + { + id: '180765', + identifier: [ + { + system: 'Appointment/', + value: '413938333130383735' + }, + { + system: 'http://www.va.gov/Terminology/VistADefinedTerms/409_84', + value: '983:10875' + } + ], + kind: 'clinic', + status: 'booked', + serviceType: 'amputation', + patientIcn: '1013125218V696863', + locationId: '983GC', + clinic: '1081', + start: '2023-11-06T16:00:00Z', + end: '2023-11-06T16:30:00Z', + minutesDuration: 30, + created: '2023-08-02T00:00:00Z', + cancellable: true, + extension: { + ccLocation: { + address: {} + }, + vistaStatus: [ + 'NO ACTION TAKEN' + ], + preCheckinAllowed: true, + eCheckinAllowed: true + } + }, + { + id: '180766', + identifier: [ + { + system: 'Appointment/', + value: '413938333130383736' + }, + { + system: 'http://www.va.gov/Terminology/VistADefinedTerms/409_84', + value: '983:10876' + } + ], + kind: 'clinic', + status: 'booked', + serviceType: 'amputation', + patientIcn: '1013125218V696863', + locationId: '983GC', + clinic: '1081', + start: '2023-11-13T16:00:00Z', + end: '2023-11-13T16:30:00Z', + minutesDuration: 30, + created: '2023-08-02T00:00:00Z', + cancellable: true, + extension: { + ccLocation: { + address: {} + }, + vistaStatus: [ + 'FUTURE' + ], + preCheckinAllowed: true, + eCheckinAllowed: true + } + } + ] + } + end + + context 'For valid vaos appointment data' do + let(:appointment1) do + { + id: '180765', + identifier: [ + { + system: 'Appointment/', + value: '413938333130383735' + }, + { + system: 'http://www.va.gov/Terminology/VistADefinedTerms/409_84', + value: '983:10875' + } + ], + kind: 'clinic', + status: 'booked', + serviceType: 'amputation', + locationId: '983GC', + clinic: '1081', + start: '2023-11-06T16:00:00Z', + end: '2023-11-06T16:30:00Z', + extension: { + ccLocation: { + address: {} + }, + vistaStatus: [ + 'NO ACTION TAKEN' + ], + preCheckinAllowed: true, + eCheckinAllowed: true + } + } + end + let(:appointment2) do + { + id: '180766', + identifier: [ + { + system: 'Appointment/', + value: '413938333130383736' + }, + { + system: 'http://www.va.gov/Terminology/VistADefinedTerms/409_84', + value: '983:10876' + } + ], + kind: 'clinic', + status: 'booked', + serviceType: 'amputation', + locationId: '983GC', + clinic: '1081', + start: '2023-11-13T16:00:00Z', + end: '2023-11-13T16:30:00Z', + extension: { + ccLocation: { + address: {} + }, + vistaStatus: [ + 'FUTURE' + ], + preCheckinAllowed: true, + eCheckinAllowed: true + } + } + end + + let(:serialized_hash_response) do + { + data: + { + id: nil, + type: :vaos_appointment_data, + attributes: + { + appointments: + [ + appointment1, appointment2 + ] + } + } + } + end + + it 'returns a serialized hash' do + appt_struct = OpenStruct.new(vaos_appointment_data) + appt_serializer = subject.new(appt_struct) + expect(appt_serializer.serializable_hash).to eq(serialized_hash_response) + end + end + + context 'Missing serialization key' do + let(:vaos_appointment_data_without_identifier) do + { + data: [ + { + id: '180765', + kind: 'clinic', + status: 'booked', + serviceType: 'amputation', + patientIcn: '1013125218V696863', + locationId: '983GC', + clinic: '1081', + start: '2023-11-06T16:00:00Z', + end: '2023-11-06T16:30:00Z', + created: '2023-08-02T00:00:00Z', + cancellable: true, + extension: { + ccLocation: { + address: {} + }, + vistaStatus: [ + 'NO ACTION TAKEN' + ], + preCheckinAllowed: true, + eCheckinAllowed: true + } + } + ] + } + end + + let(:appointment_without_identifier) do + { + id: '180765', + kind: 'clinic', + status: 'booked', + serviceType: 'amputation', + locationId: '983GC', + clinic: '1081', + start: '2023-11-06T16:00:00Z', + end: '2023-11-06T16:30:00Z', + extension: { + ccLocation: { + address: {} + }, + vistaStatus: [ + 'NO ACTION TAKEN' + ], + preCheckinAllowed: true, + eCheckinAllowed: true + } + } + end + let(:serialized_hash_response) do + { + data: + { + id: nil, + type: :vaos_appointment_data, + attributes: + { + appointments: + [ + appointment_without_identifier + ] + } + } + } + end + + it 'identifier not present' do + appt_struct = OpenStruct.new(vaos_appointment_data_without_identifier) + appt_serializer = subject.new(appt_struct) + expect(appt_serializer.serializable_hash).to eq(serialized_hash_response) + end + end +end From 74f39cf8ad59a9744e49dcf85f0b9afc784506f2 Mon Sep 17 00:00:00 2001 From: stevenjcumming <134282106+stevenjcumming@users.noreply.github.com> Date: Tue, 16 Apr 2024 18:51:44 -0400 Subject: [PATCH 56/74] Remove Data Column From Personal Information Log (#16300) * remove data column from personal info log * remove missing data error test * rubocop formatting * reorder personal info log data keys in spec * add personal_information_log.rb to CODEOWNERS * update CODEOWNERS for lib/common/client/middleware * add personal_information_log.rb model to CODEOWNERS --- .github/CODEOWNERS | 4 +++- app/models/personal_information_log.rb | 2 +- .../20240411152758_drop_data_in_personal_information_log.rb | 5 +++++ db/schema.rb | 1 - spec/lib/common/client/middleware/logging_spec.rb | 2 +- spec/models/personal_information_log_spec.rb | 4 ++-- 6 files changed, 12 insertions(+), 6 deletions(-) create mode 100644 db/migrate/20240411152758_drop_data_in_personal_information_log.rb diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index 3553e4a63b9..e423dd2a2d3 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -282,6 +282,7 @@ app/models/persistent_attachment.rb @department-of-veterans-affairs/benefits-no app/models/persistent_attachments/dependency_claim.rb @department-of-veterans-affairs/benefits-dependents-management @department-of-veterans-affairs/va-api-engineers @department-of-veterans-affairs/backend-review-group app/models/persistent_attachments/lgy_claim.rb @department-of-veterans-affairs/benefits-non-disability @department-of-veterans-affairs/va-api-engineers @department-of-veterans-affairs/backend-review-group app/models/persistent_attachments/pension_burial.rb @department-of-veterans-affairs/benefits-non-disability @department-of-veterans-affairs/pensions @department-of-veterans-affairs/va-api-engineers @department-of-veterans-affairs/backend-review-group +app/models/personal_information_log.rb @department-of-veterans-affairs/va-api-engineers @department-of-veterans-affairs/backend-review-group app/models/power_of_attorney.rb @department-of-veterans-affairs/Benefits-Team-1 @department-of-veterans-affairs/va-api-engineers @department-of-veterans-affairs/backend-review-group app/models/preneeds @department-of-veterans-affairs/mbs-core-team @department-of-veterans-affairs/va-api-engineers @department-of-veterans-affairs/backend-review-group app/models/prescription_preference.rb @department-of-veterans-affairs/vfs-mhv-medications @department-of-veterans-affairs/va-api-engineers @department-of-veterans-affairs/backend-review-group @@ -1291,7 +1292,7 @@ spec/lib/claim_status_tool @department-of-veterans-affairs/benefits-management-t spec/lib/common/client/concerns/mhv_fhir_session_client_spec.rb @department-of-veterans-affairs/vfs-mhv-medical-records @department-of-veterans-affairs/va-api-engineers @department-of-veterans-affairs/backend-review-group spec/lib/common/client/concerns/mhv_jwt_session_client_spec.rb @department-of-veterans-affairs/vfs-mhv-medical-records @department-of-veterans-affairs/va-api-engineers @department-of-veterans-affairs/backend-review-group spec/lib/common/client/concerns/mhv_locked_session_client_spec.rb @department-of-veterans-affairs/vfs-mhv-medical-records @department-of-veterans-affairs/va-api-engineers @department-of-veterans-affairs/backend-review-group -spec/lib/common/client/middleware/response @department-of-veterans-affairs/backend-review-group +spec/lib/common/client/middleware @department-of-veterans-affairs/backend-review-group spec/lib/debt_management_center @department-of-veterans-affairs/vsa-debt-resolution @department-of-veterans-affairs/backend-review-group spec/lib/decision_review @department-of-veterans-affairs/Benefits-Team-1 @department-of-veterans-affairs/va-api-engineers @department-of-veterans-affairs/backend-review-group spec/lib/disability_compensation @department-of-veterans-affairs/Disability-Experience @department-of-veterans-affairs/va-api-engineers @department-of-veterans-affairs/backend-review-group @@ -1460,6 +1461,7 @@ spec/models/mhv_opt_in_flag_spec.rb @department-of-veterans-affairs/vfs-mhv-secu spec/models/mpi_data_spec.rb @department-of-veterans-affairs/octo-identity spec/models/onsite_notification_spec.rb @department-of-veterans-affairs/vfs-authenticated-experience-backend @department-of-veterans-affairs/va-api-engineers @department-of-veterans-affairs/backend-review-group spec/models/persistent_attachments @department-of-veterans-affairs/benefits-non-disability @department-of-veterans-affairs/pensions @department-of-veterans-affairs/va-api-engineers @department-of-veterans-affairs/backend-review-group +spec/models/personal_information_log_spec.rb @department-of-veterans-affairs/va-api-engineers @department-of-veterans-affairs/backend-review-group spec/models/preneeds @department-of-veterans-affairs/mbs-core-team @department-of-veterans-affairs/va-api-engineers @department-of-veterans-affairs/backend-review-group spec/models/prescription_spec.rb @department-of-veterans-affairs/vfs-mhv-medications @department-of-veterans-affairs/va-api-engineers @department-of-veterans-affairs/backend-review-group spec/models/prescription_details_spec.rb @department-of-veterans-affairs/vfs-mhv-medications @department-of-veterans-affairs/va-api-engineers @department-of-veterans-affairs/backend-review-group diff --git a/app/models/personal_information_log.rb b/app/models/personal_information_log.rb index c62c30516ee..722560381d8 100644 --- a/app/models/personal_information_log.rb +++ b/app/models/personal_information_log.rb @@ -4,7 +4,7 @@ class PersonalInformationLog < ApplicationRecord scope :last_week, -> { where('created_at >= :date', date: 1.week.ago) } has_kms_key - has_encrypted :data, migrating: true, type: :json, key: :kms_key, **lockbox_options + has_encrypted :data, type: :json, key: :kms_key, **lockbox_options validates :error_class, presence: true end diff --git a/db/migrate/20240411152758_drop_data_in_personal_information_log.rb b/db/migrate/20240411152758_drop_data_in_personal_information_log.rb new file mode 100644 index 00000000000..0bac274cc6f --- /dev/null +++ b/db/migrate/20240411152758_drop_data_in_personal_information_log.rb @@ -0,0 +1,5 @@ +class DropDataInPersonalInformationLog < ActiveRecord::Migration[7.1] + def change + safety_assured { remove_column :personal_information_logs, :data, :jsonb } + end +end diff --git a/db/schema.rb b/db/schema.rb index 37726024dfc..b4e248bd815 100644 --- a/db/schema.rb +++ b/db/schema.rb @@ -931,7 +931,6 @@ end create_table "personal_information_logs", id: :serial, force: :cascade do |t| - t.jsonb "data", null: false t.string "error_class", null: false t.datetime "created_at", precision: nil, null: false t.datetime "updated_at", precision: nil, null: false diff --git a/spec/lib/common/client/middleware/logging_spec.rb b/spec/lib/common/client/middleware/logging_spec.rb index 3a72d45d141..5a7cd47faca 100644 --- a/spec/lib/common/client/middleware/logging_spec.rb +++ b/spec/lib/common/client/middleware/logging_spec.rb @@ -20,7 +20,7 @@ it 'creates a new personal information log record' do expect { client.get('success') }.to change(PersonalInformationLog, :count).by(1) - expect(PersonalInformationLog.last.data.keys).to eq(%w[url method request_body response_body]) + expect(PersonalInformationLog.last.data.keys).to eq(%w[method url request_body response_body]) end it 'correctly records (no) request body on a GET request' do diff --git a/spec/models/personal_information_log_spec.rb b/spec/models/personal_information_log_spec.rb index 42b0dde1ea3..4d9cfff7e39 100644 --- a/spec/models/personal_information_log_spec.rb +++ b/spec/models/personal_information_log_spec.rb @@ -26,8 +26,8 @@ context 'when data is missing' do let(:pi_log) { build(:personal_information_log, data: nil) } - it 'raises PG::NotNullViolation error' do - expect { pi_log.save }.to raise_error(ActiveRecord::NotNullViolation) + it 'does not raise error' do + expect { pi_log.save }.not_to raise_error end end From 1d6b92463869c99a3945ccb3ffa8f1053c2c3eba Mon Sep 17 00:00:00 2001 From: Eric Tillberg Date: Wed, 17 Apr 2024 08:20:02 -0400 Subject: [PATCH 57/74] Simple Forms: PDF Stamper Refactor (Part II: The Refactorening) (#16358) * Implement fix along with another refactor * rubocop * rubocop strikes again * tests pass * tests pass --- .../models/simple_forms_api/vba_20_10206.rb | 22 +++++++--- .../models/simple_forms_api/vba_20_10207.rb | 6 +-- .../models/simple_forms_api/vba_21_0845.rb | 22 +++++++--- .../models/simple_forms_api/vba_21_0966.rb | 22 +++++++--- .../models/simple_forms_api/vba_21_0972.rb | 22 +++++++--- .../models/simple_forms_api/vba_21_10210.rb | 22 +++++++--- .../models/simple_forms_api/vba_21_4142.rb | 43 ++++++++++++++++--- .../models/simple_forms_api/vba_21p_0847.rb | 22 +++++++--- .../models/simple_forms_api/vba_26_4555.rb | 4 +- .../models/simple_forms_api/vba_40_0247.rb | 4 +- .../models/simple_forms_api/vba_40_10007.rb | 4 +- .../app/models/simple_forms_api/vha_10_10d.rb | 4 +- .../models/simple_forms_api/vha_10_7959c.rb | 9 +--- .../models/simple_forms_api/vha_10_7959f_1.rb | 4 +- .../models/simple_forms_api/vha_10_7959f_2.rb | 4 +- .../services/simple_forms_api/pdf_stamper.rb | 32 +++----------- .../spec/services/pdf_stamper_spec.rb | 3 +- 17 files changed, 151 insertions(+), 98 deletions(-) diff --git a/modules/simple_forms_api/app/models/simple_forms_api/vba_20_10206.rb b/modules/simple_forms_api/app/models/simple_forms_api/vba_20_10206.rb index 51d6d504eab..6bcd1c8dc17 100644 --- a/modules/simple_forms_api/app/models/simple_forms_api/vba_20_10206.rb +++ b/modules/simple_forms_api/app/models/simple_forms_api/vba_20_10206.rb @@ -36,13 +36,21 @@ def zip_code_is_us_based @data.dig('address', 'country') == 'USA' end - def submission_date_config - { - should_stamp_date?: true, - page_number: 1, - title_coords: [460, 710], - text_coords: [460, 690] - } + def submission_date_stamps + [ + { + coords: [460, 710], + text: 'Application Submitted:', + page: 1, + font_size: 12 + }, + { + coords: [460, 690], + text: Time.current.in_time_zone('UTC').strftime('%H:%M %Z %D'), + page: 1, + font_size: 12 + } + ] end def track_user_identity(confirmation_number) diff --git a/modules/simple_forms_api/app/models/simple_forms_api/vba_20_10207.rb b/modules/simple_forms_api/app/models/simple_forms_api/vba_20_10207.rb index c85aa2fc66f..c0b5c505672 100644 --- a/modules/simple_forms_api/app/models/simple_forms_api/vba_20_10207.rb +++ b/modules/simple_forms_api/app/models/simple_forms_api/vba_20_10207.rb @@ -93,10 +93,8 @@ def desired_stamps [{ coords:, text: data['statement_of_truth_signature'], page: 4 }] end - def submission_date_config - { - should_stamp_date?: false - } + def submission_date_stamps + [] end def track_user_identity(confirmation_number); end diff --git a/modules/simple_forms_api/app/models/simple_forms_api/vba_21_0845.rb b/modules/simple_forms_api/app/models/simple_forms_api/vba_21_0845.rb index 787c2c88b03..08f4c46d1b8 100644 --- a/modules/simple_forms_api/app/models/simple_forms_api/vba_21_0845.rb +++ b/modules/simple_forms_api/app/models/simple_forms_api/vba_21_0845.rb @@ -41,13 +41,21 @@ def desired_stamps [{ coords: [50, 240], text: data['statement_of_truth_signature'], page: 2 }] end - def submission_date_config - { - should_stamp_date?: true, - page_number: 1, - title_coords: [460, 710], - text_coords: [460, 690] - } + def submission_date_stamps + [ + { + coords: [460, 710], + text: 'Application Submitted:', + page: 1, + font_size: 12 + }, + { + coords: [460, 690], + text: Time.current.in_time_zone('UTC').strftime('%H:%M %Z %D'), + page: 1, + font_size: 12 + } + ] end def track_user_identity(confirmation_number) diff --git a/modules/simple_forms_api/app/models/simple_forms_api/vba_21_0966.rb b/modules/simple_forms_api/app/models/simple_forms_api/vba_21_0966.rb index 6e7da54c6e1..ad38abcb935 100644 --- a/modules/simple_forms_api/app/models/simple_forms_api/vba_21_0966.rb +++ b/modules/simple_forms_api/app/models/simple_forms_api/vba_21_0966.rb @@ -63,13 +63,21 @@ def desired_stamps [{ coords: [50, 415], text: data['statement_of_truth_signature'], page: 1 }] end - def submission_date_config - { - should_stamp_date?: true, - page_number: 0, - title_coords: [460, 710], - text_coords: [460, 690] - } + def submission_date_stamps + [ + { + coords: [460, 710], + text: 'Application Submitted:', + page: 0, + font_size: 12 + }, + { + coords: [460, 690], + text: Time.current.in_time_zone('UTC').strftime('%H:%M %Z %D'), + page: 0, + font_size: 12 + } + ] end def track_user_identity(confirmation_number) diff --git a/modules/simple_forms_api/app/models/simple_forms_api/vba_21_0972.rb b/modules/simple_forms_api/app/models/simple_forms_api/vba_21_0972.rb index fdd73820a23..1b63fe03efc 100644 --- a/modules/simple_forms_api/app/models/simple_forms_api/vba_21_0972.rb +++ b/modules/simple_forms_api/app/models/simple_forms_api/vba_21_0972.rb @@ -31,13 +31,21 @@ def desired_stamps [{ coords: [50, 465], text: data['statement_of_truth_signature'], page: 2 }] end - def submission_date_config - { - should_stamp_date?: true, - page_number: 1, - title_coords: [440, 690], - text_coords: [440, 670] - } + def submission_date_stamps + [ + { + coords: [440, 690], + text: 'Application Submitted:', + page: 1, + font_size: 12 + }, + { + coords: [440, 670], + text: Time.current.in_time_zone('UTC').strftime('%H:%M %Z %D'), + page: 1, + font_size: 12 + } + ] end def track_user_identity(confirmation_number) diff --git a/modules/simple_forms_api/app/models/simple_forms_api/vba_21_10210.rb b/modules/simple_forms_api/app/models/simple_forms_api/vba_21_10210.rb index 2ba5fcbb0cb..3dfb2fbf960 100644 --- a/modules/simple_forms_api/app/models/simple_forms_api/vba_21_10210.rb +++ b/modules/simple_forms_api/app/models/simple_forms_api/vba_21_10210.rb @@ -37,13 +37,21 @@ def desired_stamps [{ coords: [50, 160], text: data['statement_of_truth_signature'], page: 2 }] end - def submission_date_config - { - should_stamp_date?: true, - page_number: 0, - title_coords: [460, 710], - text_coords: [460, 690] - } + def submission_date_stamps + [ + { + coords: [460, 710], + text: 'Application Submitted:', + page: 0, + font_size: 12 + }, + { + coords: [460, 690], + text: Time.current.in_time_zone('UTC').strftime('%H:%M %Z %D'), + page: 0, + font_size: 12 + } + ] end def track_user_identity(confirmation_number) diff --git a/modules/simple_forms_api/app/models/simple_forms_api/vba_21_4142.rb b/modules/simple_forms_api/app/models/simple_forms_api/vba_21_4142.rb index f82f456d972..fa151f1b01a 100644 --- a/modules/simple_forms_api/app/models/simple_forms_api/vba_21_4142.rb +++ b/modules/simple_forms_api/app/models/simple_forms_api/vba_21_4142.rb @@ -36,13 +36,8 @@ def desired_stamps [{ coords: [50, 560], text: data['statement_of_truth_signature'], page: 1 }] end - def submission_date_config - { - should_stamp_date?: true, - page_number: 0, - title_coords: [440, 710], - text_coords: [440, 690] - } + def submission_date_stamps + [submission_date_stamps_first_page, submission_date_stamps_fourth_page].flatten end def track_user_identity(confirmation_number) @@ -98,5 +93,39 @@ def veteran_email data.dig('veteran', 'email')&.[](15..) ] end + + def submission_date_stamps_first_page + [ + { + coords: [440, 710], + text: 'Application Submitted:', + page: 0, + font_size: 12 + }, + { + coords: [440, 690], + text: Time.current.in_time_zone('UTC').strftime('%H:%M %Z %D'), + page: 0, + font_size: 12 + } + ] + end + + def submission_date_stamps_fourth_page + [ + { + coords: [440, 710], + text: 'Application Submitted:', + page: 3, + font_size: 12 + }, + { + coords: [440, 690], + text: Time.current.in_time_zone('UTC').strftime('%H:%M %Z %D'), + page: 3, + font_size: 12 + } + ] + end end end diff --git a/modules/simple_forms_api/app/models/simple_forms_api/vba_21p_0847.rb b/modules/simple_forms_api/app/models/simple_forms_api/vba_21p_0847.rb index d5670cf04bb..424be79a46e 100644 --- a/modules/simple_forms_api/app/models/simple_forms_api/vba_21p_0847.rb +++ b/modules/simple_forms_api/app/models/simple_forms_api/vba_21p_0847.rb @@ -35,13 +35,21 @@ def desired_stamps [{ coords: [50, 190], text: data['statement_of_truth_signature'], page: 1 }] end - def submission_date_config - { - should_stamp_date?: true, - page_number: 1, - title_coords: [460, 710], - text_coords: [460, 690] - } + def submission_date_stamps + [ + { + coords: [460, 710], + text: 'Application Submitted:', + page: 1, + font_size: 12 + }, + { + coords: [460, 690], + text: Time.current.in_time_zone('UTC').strftime('%H:%M %Z %D'), + page: 1, + font_size: 12 + } + ] end def track_user_identity(confirmation_number) diff --git a/modules/simple_forms_api/app/models/simple_forms_api/vba_26_4555.rb b/modules/simple_forms_api/app/models/simple_forms_api/vba_26_4555.rb index 2584fe31709..f80757206ad 100644 --- a/modules/simple_forms_api/app/models/simple_forms_api/vba_26_4555.rb +++ b/modules/simple_forms_api/app/models/simple_forms_api/vba_26_4555.rb @@ -57,8 +57,8 @@ def desired_stamps end.compact end - def submission_date_config - { should_stamp_date?: false } + def submission_date_stamps + [] end def track_user_identity(confirmation_number); end diff --git a/modules/simple_forms_api/app/models/simple_forms_api/vba_40_0247.rb b/modules/simple_forms_api/app/models/simple_forms_api/vba_40_0247.rb index 6e3444e669d..eeeee1754b6 100644 --- a/modules/simple_forms_api/app/models/simple_forms_api/vba_40_0247.rb +++ b/modules/simple_forms_api/app/models/simple_forms_api/vba_40_0247.rb @@ -70,8 +70,8 @@ def words_to_remove veteran_ssn_and_file_number + veteran_dates_of_birth_and_death + applicant_zip + applicant_phone end - def submission_date_config - { should_stamp_date?: false } + def submission_date_stamps + [] end def track_user_identity(confirmation_number); end diff --git a/modules/simple_forms_api/app/models/simple_forms_api/vba_40_10007.rb b/modules/simple_forms_api/app/models/simple_forms_api/vba_40_10007.rb index 9dab970ef19..c4843559c67 100644 --- a/modules/simple_forms_api/app/models/simple_forms_api/vba_40_10007.rb +++ b/modules/simple_forms_api/app/models/simple_forms_api/vba_40_10007.rb @@ -221,8 +221,8 @@ def handle_attachments(file_path) def track_user_identity(confirmation_number); end - def submission_date_config - { should_stamp_date?: false } + def submission_date_stamps + [] end private diff --git a/modules/simple_forms_api/app/models/simple_forms_api/vha_10_10d.rb b/modules/simple_forms_api/app/models/simple_forms_api/vha_10_10d.rb index dd986e4a1e4..0c6c3711284 100644 --- a/modules/simple_forms_api/app/models/simple_forms_api/vha_10_10d.rb +++ b/modules/simple_forms_api/app/models/simple_forms_api/vha_10_10d.rb @@ -56,8 +56,8 @@ def handle_attachments(file_path) file_paths end - def submission_date_config - { should_stamp_date?: false } + def submission_date_stamps + [] end def track_user_identity(confirmation_number) diff --git a/modules/simple_forms_api/app/models/simple_forms_api/vha_10_7959c.rb b/modules/simple_forms_api/app/models/simple_forms_api/vha_10_7959c.rb index 580daa2c90b..b6a2a20cfa4 100644 --- a/modules/simple_forms_api/app/models/simple_forms_api/vha_10_7959c.rb +++ b/modules/simple_forms_api/app/models/simple_forms_api/vha_10_7959c.rb @@ -22,13 +22,8 @@ def metadata } end - def submission_date_config - { - should_stamp_date?: false, - page_number: 1, - title_coords: [440, 690], - text_coords: [440, 670] - } + def submission_date_stamps + [] end end end diff --git a/modules/simple_forms_api/app/models/simple_forms_api/vha_10_7959f_1.rb b/modules/simple_forms_api/app/models/simple_forms_api/vha_10_7959f_1.rb index 7e67ba30f91..1c30686e881 100644 --- a/modules/simple_forms_api/app/models/simple_forms_api/vha_10_7959f_1.rb +++ b/modules/simple_forms_api/app/models/simple_forms_api/vha_10_7959f_1.rb @@ -31,8 +31,8 @@ def desired_stamps [{ coords: [26, 82.5], text: data['statement_of_truth_signature'], page: 0 }] end - def submission_date_config - { should_stamp_date?: false } + def submission_date_stamps + [] end def track_user_identity(confirmation_number); end diff --git a/modules/simple_forms_api/app/models/simple_forms_api/vha_10_7959f_2.rb b/modules/simple_forms_api/app/models/simple_forms_api/vha_10_7959f_2.rb index 9bc44048f24..436e3c869b8 100644 --- a/modules/simple_forms_api/app/models/simple_forms_api/vha_10_7959f_2.rb +++ b/modules/simple_forms_api/app/models/simple_forms_api/vha_10_7959f_2.rb @@ -49,8 +49,8 @@ def handle_attachments(file_path) file_paths end - def submission_date_config - { should_stamp_date?: false } + def submission_date_stamps + [] end def track_user_identity(confirmation_number); end diff --git a/modules/simple_forms_api/app/services/simple_forms_api/pdf_stamper.rb b/modules/simple_forms_api/app/services/simple_forms_api/pdf_stamper.rb index 68cc6e837b5..c2e708d80cc 100644 --- a/modules/simple_forms_api/app/services/simple_forms_api/pdf_stamper.rb +++ b/modules/simple_forms_api/app/services/simple_forms_api/pdf_stamper.rb @@ -13,7 +13,7 @@ def self.stamp_pdf(stamped_template_path, form, current_loa) stamp_auth_text(stamped_template_path, current_loa) - stamp_submission_date(stamped_template_path, form.submission_date_config) + stamp_submission_date(stamped_template_path, form.submission_date_stamps) end def self.stamp_signature(stamped_template_path, form) @@ -81,11 +81,12 @@ def self.stamp(desired_stamp, stamped_template_path, append_to_stamp: false, tex coords = desired_stamp[:coords] text = desired_stamp[:text] page = desired_stamp[:page] + font_size = desired_stamp[:font_size] x = coords[0] y = coords[1] if page page_configuration = get_page_configuration(page, coords) - verified_multistamp(stamped_template_path, text, page_configuration) + verified_multistamp(stamped_template_path, text, page_configuration, font_size) else datestamp_instance = CentralMail::DatestampPdf.new(current_file_path, append_to_stamp:) current_file_path = datestamp_instance.run(text:, x:, y:, text_only:, size: 9) @@ -104,20 +105,9 @@ def self.perform_multistamp(stamped_template_path, stamp_path) raise end - def self.stamp_submission_date(stamped_template_path, config) - if config[:should_stamp_date?] - date_title_stamp_position = config[:title_coords] - date_text_stamp_position = config[:text_coords] - page_configuration = default_page_configuration - page_configuration[config[:page_number]] = { type: :text, position: date_title_stamp_position } - - verified_multistamp(stamped_template_path, SUBMISSION_DATE_TITLE, page_configuration, 12) - - page_configuration = default_page_configuration - page_configuration[config[:page_number]] = { type: :text, position: date_text_stamp_position } - - current_time = Time.current.in_time_zone('UTC').strftime('%H:%M %Z %D') - verified_multistamp(stamped_template_path, current_time, page_configuration, 12) + def self.stamp_submission_date(stamped_template_path, desired_stamps) + desired_stamps.each do |desired_stamp| + stamp(desired_stamp, stamped_template_path) end end @@ -139,20 +129,12 @@ def self.verified_multistamp(stamped_template_path, stamp_text, page_configurati verify(stamped_template_path) { multistamp(stamped_template_path, stamp_text, page_configuration, *) } end - def self.default_page_configuration - [ - { type: :new_page }, - { type: :new_page }, - { type: :new_page }, - { type: :new_page } - ] - end - def self.get_page_configuration(page, position) [ { type: :new_page }, { type: :new_page }, { type: :new_page }, + { type: :new_page }, { type: :new_page } ].tap do |config| config[page] = { type: :text, position: } diff --git a/modules/simple_forms_api/spec/services/pdf_stamper_spec.rb b/modules/simple_forms_api/spec/services/pdf_stamper_spec.rb index 4771703c2fb..aa90b4ff640 100644 --- a/modules/simple_forms_api/spec/services/pdf_stamper_spec.rb +++ b/modules/simple_forms_api/spec/services/pdf_stamper_spec.rb @@ -62,12 +62,13 @@ { type: :new_page }, { type: :new_page }, { type: :text, position: [50, 240] }, + { type: :new_page }, { type: :new_page } ] end it 'calls multistamp correctly' do - expect(described_class).to have_received(:multistamp).with(path, signature, page_config) + expect(described_class).to have_received(:multistamp).with(path, signature, page_config, nil) end end end From e8033139cfead37b68a73710ebd28a1191b5abaa Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 17 Apr 2024 09:54:32 -0400 Subject: [PATCH 58/74] Bump redis from 5.1.0 to 5.2.0 (#16354) Bumps [redis](https://github.com/redis/redis-rb) from 5.1.0 to 5.2.0. - [Changelog](https://github.com/redis/redis-rb/blob/master/CHANGELOG.md) - [Commits](https://github.com/redis/redis-rb/compare/v5.1.0...v5.2.0) --- updated-dependencies: - dependency-name: redis dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Rebecca Tolmach <10993987+rmtolmach@users.noreply.github.com> --- Gemfile.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index be296954a8a..af57e7cd71b 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -813,9 +813,9 @@ GEM rchardet (1.8.0) rdoc (6.6.3.1) psych (>= 4.0.0) - redis (5.1.0) - redis-client (>= 0.17.0) - redis-client (0.20.0) + redis (5.2.0) + redis-client (>= 0.22.0) + redis-client (0.22.0) connection_pool redis-namespace (1.11.0) redis (>= 4) From c04424a30dd50b0e0a9061ec28ae41be5123cb96 Mon Sep 17 00:00:00 2001 From: Gaurav Gupta Date: Wed, 17 Apr 2024 07:05:13 -0700 Subject: [PATCH 59/74] 80792 remove redis client refactor feature flag (#16353) --- config/features.yml | 4 -- .../app/services/travel_claim/redis_client.rb | 40 +++---------------- .../travel_claim/redis_client_spec.rb | 21 +--------- 3 files changed, 6 insertions(+), 59 deletions(-) diff --git a/config/features.yml b/config/features.yml index 7011dffe9f1..a97c1e93cb7 100644 --- a/config/features.yml +++ b/config/features.yml @@ -152,10 +152,6 @@ features: actor_type: user description: Enables the unified experience version of the landing page. enable_in_development: true - check_in_experience_travel_claim_redis_client_refactor: - actor_type: user - description: Uses the refactored code for Travel Claim Redis client to fetch attributes - enable_in_development: true claim_letters_access: actor_type: user description: Enables users to access the claim letters page diff --git a/modules/check_in/app/services/travel_claim/redis_client.rb b/modules/check_in/app/services/travel_claim/redis_client.rb index 0625182f995..4df98536115 100644 --- a/modules/check_in/app/services/travel_claim/redis_client.rb +++ b/modules/check_in/app/services/travel_claim/redis_client.rb @@ -33,53 +33,23 @@ def save_token(token:) end def icn(uuid:) - if Flipper.enabled?('check_in_experience_travel_claim_redis_client_refactor') - return fetch_attribute(uuid:, attribute: :icn) - end - - return nil if appointment_identifiers(uuid:).nil? - - Oj.load(appointment_identifiers(uuid:)).with_indifferent_access.dig(:data, :attributes, :icn) + fetch_attribute(uuid:, attribute: :icn) end def mobile_phone(uuid:) - if Flipper.enabled?('check_in_experience_travel_claim_redis_client_refactor') - return fetch_attribute(uuid:, attribute: :mobilePhone) - end - - return nil if appointment_identifiers(uuid:).nil? - - Oj.load(appointment_identifiers(uuid:)).with_indifferent_access.dig(:data, :attributes, :mobilePhone) + fetch_attribute(uuid:, attribute: :mobilePhone) end def patient_cell_phone(uuid:) - if Flipper.enabled?('check_in_experience_travel_claim_redis_client_refactor') - return fetch_attribute(uuid:, attribute: :patientCellPhone) - end - - return nil if appointment_identifiers(uuid:).nil? - - Oj.load(appointment_identifiers(uuid:)).with_indifferent_access.dig(:data, :attributes, :patientCellPhone) + fetch_attribute(uuid:, attribute: :patientCellPhone) end def station_number(uuid:) - if Flipper.enabled?('check_in_experience_travel_claim_redis_client_refactor') - return fetch_attribute(uuid:, attribute: :stationNo) - end - - return nil if appointment_identifiers(uuid:).nil? - - Oj.load(appointment_identifiers(uuid:)).with_indifferent_access.dig(:data, :attributes, :stationNo) + fetch_attribute(uuid:, attribute: :stationNo) end def facility_type(uuid:) - if Flipper.enabled?('check_in_experience_travel_claim_redis_client_refactor') - return fetch_attribute(uuid:, attribute: :facilityType) - end - - return nil if appointment_identifiers(uuid:).nil? - - Oj.load(appointment_identifiers(uuid:)).with_indifferent_access.dig(:data, :attributes, :facilityType) + fetch_attribute(uuid:, attribute: :facilityType) end def fetch_attribute(uuid:, attribute:) diff --git a/modules/check_in/spec/services/travel_claim/redis_client_spec.rb b/modules/check_in/spec/services/travel_claim/redis_client_spec.rb index 53a1b5a4d75..9763f2ed55c 100644 --- a/modules/check_in/spec/services/travel_claim/redis_client_spec.rb +++ b/modules/check_in/spec/services/travel_claim/redis_client_spec.rb @@ -30,9 +30,6 @@ before do allow(Rails).to receive(:cache).and_return(memory_store) - allow(Flipper).to receive(:enabled?).with('check_in_experience_travel_claim_redis_client_refactor') - .and_return(false) - Rails.cache.clear end @@ -201,23 +198,7 @@ ) end - context 'when cache exists and refactor feature flag is off' do - before do - allow(Flipper).to receive(:enabled?).with('check_in_experience_travel_claim_redis_client_refactor') - .and_return(false) - end - - it 'returns the cached value' do - expect(redis_client.facility_type(uuid:)).to eq(facility_type) - end - end - - context 'when cache exists and refactor feature flag is on' do - before do - allow(Flipper).to receive(:enabled?).with('check_in_experience_travel_claim_redis_client_refactor') - .and_return(true) - end - + context 'when cache exists' do it 'returns the cached value' do expect(redis_client.facility_type(uuid:)).to eq(facility_type) end From 88ec761393103d8a471894492e198db1ac327ae9 Mon Sep 17 00:00:00 2001 From: Eric Tillberg Date: Wed, 17 Apr 2024 10:43:33 -0400 Subject: [PATCH 60/74] Fix 20-10207 mapping and date stamp bug (#16376) --- .../simple_forms_api/app/form_mappings/vba_20_10207.json.erb | 5 ++--- .../app/services/simple_forms_api/pdf_stamper.rb | 3 +-- .../spec/fixtures/form_json/vba_20_10207-veteran.json | 3 ++- 3 files changed, 5 insertions(+), 6 deletions(-) diff --git a/modules/simple_forms_api/app/form_mappings/vba_20_10207.json.erb b/modules/simple_forms_api/app/form_mappings/vba_20_10207.json.erb index dcbb0119b2e..776c194bfc3 100644 --- a/modules/simple_forms_api/app/form_mappings/vba_20_10207.json.erb +++ b/modules/simple_forms_api/app/form_mappings/vba_20_10207.json.erb @@ -49,6 +49,7 @@ "form1[0].#subform[3].CheckBox1[1]": "<%= nil %>", "form1[0].#subform[3].Email_Address[3]": "<%= nil %>", "form1[0].#subform[3].VA_File_Number_If_Applicable[1]": "<%= form.data.dig('veteran_id', 'va_file_number') %>", + "form1[0].#subform[3].CurrentlyHomeless[0]": "<%= form.data.dig('living_situation', 'none') ? 1 : 0 %>", "form1[0].#subform[4].I_Live_Or_Sleep_In_A_Place_That_Is_Not_Meant_For_Regular_Sleeping[0]": "<%= form.data.dig('living_situation', 'overnight') ? 1 : 0 %>", "form1[0].#subform[4].I_Live_In_A_Shelter[0]": "<%= form.data.dig('living_situation', 'shelter') ? 1 : 0 %>", @@ -57,10 +58,8 @@ "form1[0].#subform[4].IN_THE_NEXT_30_DAYS_I_WILL_LOSE_MY_HOME[0]": "<%= form.data.dig('living_situation', 'losing_home') ? 1 : 0 %>", "form1[0].#subform[4].NONE_OF_THESE_SITUATIONS_APPLY_TO_ME[0]": "<%= form.data.dig('living_situation', 'none') ? 1 : 0 %>", "form1[0].#subform[4].OTHER_Specify[0]": "<%= form.data.dig('living_situation', 'other_risk') ? 1 : 0 %>", - - "form1[0].#subform[3].CurrentlyHomeless[0]": "<%= form.data.dig('living_situation', 'none') ? 1 : 0 %>", + "form1[0].#subform[4].Other1[0]": "<%= form.data['other_housing_risks'] %>", - "form1[0].#subform[3].Other1[0]": "<%= form.data['other_housing_risks'] %>", "form1[0].#subform[4].Veterans_SocialSecurityNumber_LastFourNumbers[1]": "<%= form.data.dig('veteran_id', 'ssn')&.[](5..8) %>", "form1[0].#subform[4].Veterans_SocialSecurityNumber_SecondTwoNumbers[1]": "<%= form.data.dig('veteran_id', 'ssn')&.[](3..4) %>", "form1[0].#subform[4].Veterans_SocialSecurityNumber_FirstThreeNumbers[1]": "<%= form.data.dig('veteran_id', 'ssn')&.[](0..2) %>", diff --git a/modules/simple_forms_api/app/services/simple_forms_api/pdf_stamper.rb b/modules/simple_forms_api/app/services/simple_forms_api/pdf_stamper.rb index c2e708d80cc..02988c59632 100644 --- a/modules/simple_forms_api/app/services/simple_forms_api/pdf_stamper.rb +++ b/modules/simple_forms_api/app/services/simple_forms_api/pdf_stamper.rb @@ -37,8 +37,7 @@ def self.stamp_auth_text(stamped_template_path, current_loa) end coords = [10, 10] text = SUBMISSION_TEXT + current_time - page = 0 - desired_stamp = { coords:, text:, page: } + desired_stamp = { coords:, text: } verify(stamped_template_path) do stamp(desired_stamp, stamped_template_path, append_to_stamp: auth_text, text_only: false) end diff --git a/modules/simple_forms_api/spec/fixtures/form_json/vba_20_10207-veteran.json b/modules/simple_forms_api/spec/fixtures/form_json/vba_20_10207-veteran.json index 05ec5f3be90..dde9552118f 100644 --- a/modules/simple_forms_api/spec/fixtures/form_json/vba_20_10207-veteran.json +++ b/modules/simple_forms_api/spec/fixtures/form_json/vba_20_10207-veteran.json @@ -11,7 +11,8 @@ }, "living_situation": { "overnight": true, - "losing_home": true + "losing_home": true, + "other_risk": true }, "other_housing_risks": "Other housing risks", "mailing_address_yes_no": true, From 3bc601f3e755b8a701a5571d1b3deda8173b0ca4 Mon Sep 17 00:00:00 2001 From: stevenjcumming <134282106+stevenjcumming@users.noreply.github.com> Date: Wed, 17 Apr 2024 11:07:31 -0400 Subject: [PATCH 61/74] Remove DOB and SSN from veteran_representatives (#16369) * remove dob and ssn from veteran_representatives * rubocop formatting * rubocop formatting * add data back to personal_information_log_schema * move migration to another PR * reset schema to master * reset schema to master * add ignored columns to vet rep * remove ignore_columns --- .../models/veteran/service/representative.rb | 58 ++++--------------- .../veteran/service/representative_spec.rb | 55 ++++++------------ 2 files changed, 29 insertions(+), 84 deletions(-) diff --git a/modules/veteran/app/models/veteran/service/representative.rb b/modules/veteran/app/models/veteran/service/representative.rb index 4cfc2da6ad8..ff777fef6d4 100644 --- a/modules/veteran/app/models/veteran/service/representative.rb +++ b/modules/veteran/app/models/veteran/service/representative.rb @@ -9,8 +9,6 @@ class Representative < ApplicationRecord BASE_URL = 'https://www.va.gov/ogc/apps/accreditation/' self.primary_key = :representative_id - has_kms_key - has_encrypted :dob, :ssn, key: :kms_key, **lockbox_options scope :attorneys, -> { where(user_types: ['attorney']) } scope :veteran_service_officers, -> { where(user_types: ['veteran_service_officer']) } @@ -24,62 +22,28 @@ class Representative < ApplicationRecord # Find all representatives that matches the provided search criteria # @param first_name: [String] First name to search for, ignoring case # @param last_name: [String] Last name to search for, ignoring case - # @param ssn: nil [String] SSN to search for - # @param dob: nil [String] Date of birth to search for # @param middle_initial: nil [String] Middle initial to search for # @param poa_code: nil [String] filter to reps working this POA code # # @return [Array(Veteran::Service::Representative)] All representatives found using the submitted search criteria - def self.all_for_user(first_name:, last_name:, ssn: nil, dob: nil, middle_initial: nil, poa_code: nil) # rubocop:disable Metrics/ParameterLists - reps = where('lower(first_name) = ? AND lower(last_name) = ?', first_name.downcase, last_name.downcase) - reps = reps.where('? = ANY(poa_codes)', poa_code) if poa_code - - reps.select do |rep| - matching_ssn(rep, ssn) && - matching_date_of_birth(rep, dob) && - matching_middle_initial(rep, middle_initial) - end + def self.all_for_user(first_name:, last_name:, middle_initial: nil, poa_code: nil) + representatives = where('lower(first_name) = ? AND lower(last_name) = ?', first_name.downcase, + last_name.downcase) + representatives = representatives.where('? = ANY(poa_codes)', poa_code) if poa_code + representatives.select { |rep| matching_middle_initial(rep, middle_initial) } end # # Find first representative that matches the provided search criteria # @param first_name: [String] First name to search for, ignoring case # @param last_name: [String] Last name to search for, ignoring case - # @param ssn: nil [String] SSN to search for - # @param dob: nil [String] Date of birth to search for # # @return [Veteran::Service::Representative] First representative record found using the submitted search criteria - def self.for_user(first_name:, last_name:, ssn: nil, dob: nil) - reps = all_for_user(first_name:, last_name:, ssn:, dob:) - return nil if reps.blank? - - reps.first - end - - # - # Determine if representative ssn matches submitted ssn search query - # @note Assumes that the consumer did not submit an ssn value if the value is blank - # @param rep [Veteran::Service::Representative] Representative to match soon with - # @param ssn [String] Submitted ssn to match against representative - # - # @return [Boolean] True if matches, false if not - def self.matching_ssn(rep, ssn) - return true if ssn.blank? - - rep.ssn.present? && rep.ssn == ssn - end - - # - # Determine if representative dob matches submitted birth_date search query - # @note Assumes that the consumer did not submit a birth_date value if the value is blank - # @param rep [Veteran::Service::Representative] Representative to match soon with - # @param birth_date [String] Submitted birth_date to match against representative - # - # @return [Boolean] True if matches, false if not - def self.matching_date_of_birth(rep, birth_date) - return true if birth_date.blank? + def self.for_user(first_name:, last_name:) + representatives = all_for_user(first_name:, last_name:) + return nil if representatives.blank? - rep.dob.present? && rep.dob == birth_date + representatives.first end # @@ -89,10 +53,10 @@ def self.matching_date_of_birth(rep, birth_date) # @param middle_initial [String] Submitted middle_initial to match against representative # # @return [Boolean] True if matches, false if not - def self.matching_middle_initial(rep, middle_initial) + def self.matching_middle_initial(representative, middle_initial) return true if middle_initial.blank? - rep.middle_initial.present? && rep.middle_initial == middle_initial + representative.middle_initial.present? && representative.middle_initial == middle_initial end # diff --git a/modules/veteran/spec/models/veteran/service/representative_spec.rb b/modules/veteran/spec/models/veteran/service/representative_spec.rb index 0ed3407192a..a8f4d72f625 100644 --- a/modules/veteran/spec/models/veteran/service/representative_spec.rb +++ b/modules/veteran/spec/models/veteran/service/representative_spec.rb @@ -25,50 +25,31 @@ def basic_attributes end describe 'finding by identity' do - let(:rep) do + let(:representative) do FactoryBot.create(:representative, - basic_attributes.merge!(ssn: identity.ssn, dob: identity.birth_date)) + basic_attributes) end before do identity - rep + representative end - describe 'finding by all fields' do - it 'finds a user by name, ssn, and dob' do + describe 'finding by the name' do + it 'finds a user' do expect(Veteran::Service::Representative.for_user( first_name: identity.first_name, - last_name: identity.last_name, - dob: identity.birth_date, - ssn: identity.ssn - ).id).to eq(rep.id) + last_name: identity.last_name + ).id).to eq(representative.id) end it 'finds right user when 2 with the same name exist' do FactoryBot.create(:representative, - basic_attributes.merge!(ssn: '123-45-6789', dob: '1929-10-01')) - expect(Veteran::Service::Representative.for_user( - first_name: identity.first_name, - last_name: identity.last_name, - dob: identity.birth_date, - ssn: identity.ssn - ).id).to eq(rep.id) - end - end - - describe 'finding by the name only' do - it 'finds a user by name fields' do - rep = FactoryBot.create(:representative, first_name: 'Bob', last_name: 'Smith') - identity = FactoryBot.create(:user_identity, first_name: rep.first_name, last_name: rep.last_name) - Veteran::Service::Representative.for_user( - first_name: identity.first_name, - last_name: identity.last_name - ) + basic_attributes) expect(Veteran::Service::Representative.for_user( first_name: identity.first_name, last_name: identity.last_name - ).id).to eq(rep.id) + ).id).to eq(representative.id) end end end @@ -118,26 +99,26 @@ def basic_attributes describe '#set_full_name' do context 'creating a new representative' do it 'sets the full_name attribute as first_name + last_name' do - rep = described_class.new(representative_id: 'abc', poa_codes: ['123'], first_name: 'Joe', - last_name: 'Smith') + representative = described_class.new(representative_id: 'abc', poa_codes: ['123'], first_name: 'Joe', + last_name: 'Smith') - expect(rep.full_name).to be_nil + expect(representative.full_name).to be_nil - rep.save! + representative.save! - expect(rep.reload.full_name).to eq('Joe Smith') + expect(representative.reload.full_name).to eq('Joe Smith') end end context 'updating an existing representative' do it 'sets the full_name attribute as first_name + last_name' do - rep = create(:representative, first_name: 'Joe', last_name: 'Smith') + representative = create(:representative, first_name: 'Joe', last_name: 'Smith') - expect(rep.full_name).to eq('Joe Smith') + expect(representative.full_name).to eq('Joe Smith') - rep.update(first_name: 'Bob') + representative.update(first_name: 'Bob') - expect(rep.reload.full_name).to eq('Bob Smith') + expect(representative.reload.full_name).to eq('Bob Smith') end end end From 9bfab54c6cf4dd6001ab2d311130edc1c746041e Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 17 Apr 2024 11:13:31 -0400 Subject: [PATCH 62/74] Bump aws-sdk-s3 from 1.146.1 to 1.147.0 (#16373) --- updated-dependencies: - dependency-name: aws-sdk-s3 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- Gemfile.lock | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index af57e7cd71b..464d2e167c6 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -243,8 +243,8 @@ GEM attr_extras (7.1.0) awesome_print (1.9.2) aws-eventstream (1.3.0) - aws-partitions (1.913.0) - aws-sdk-core (3.191.6) + aws-partitions (1.914.0) + aws-sdk-core (3.192.0) aws-eventstream (~> 1, >= 1.3.0) aws-partitions (~> 1, >= 1.651.0) aws-sigv4 (~> 1.8) @@ -252,8 +252,8 @@ GEM aws-sdk-kms (1.79.0) aws-sdk-core (~> 3, >= 3.191.0) aws-sigv4 (~> 1.1) - aws-sdk-s3 (1.146.1) - aws-sdk-core (~> 3, >= 3.191.0) + aws-sdk-s3 (1.147.0) + aws-sdk-core (~> 3, >= 3.192.0) aws-sdk-kms (~> 1) aws-sigv4 (~> 1.8) aws-sdk-sns (1.72.0) From a6e314d23d2fd66b3144326f10d071f40d73d3de Mon Sep 17 00:00:00 2001 From: Oren Mittman Date: Wed, 17 Apr 2024 11:28:41 -0400 Subject: [PATCH 63/74] API-34439 remove obsolete rswag generator and output (#16349) --- .../app/swagger/claims_api/v2/swagger.json | 8690 ----------------- rakelib/rswag.rake | 10 - 2 files changed, 8700 deletions(-) delete mode 100644 modules/claims_api/app/swagger/claims_api/v2/swagger.json diff --git a/modules/claims_api/app/swagger/claims_api/v2/swagger.json b/modules/claims_api/app/swagger/claims_api/v2/swagger.json deleted file mode 100644 index 83418ddde00..00000000000 --- a/modules/claims_api/app/swagger/claims_api/v2/swagger.json +++ /dev/null @@ -1,8690 +0,0 @@ -{ - "openapi": "3.0.1", - "info": { - "title": "Benefits Claims", - "version": "v2", - "description": "## Background\n\nThe Benefits Claims API Version 2 lets internal consumers: \n\n- Retrieve existing claim information, including status, by claim ID\n- Automatically establish an Intent To File (21-0966) in VBMS\n- Automatically establish a disability compensation claim (21-526EZ) in VBMS\n- Digitally submit supporting documentation for disability compensation claims\n\nAdditional functionality will be added over time.\n\nYou should use the [Benefits Claims API Version 1](https://developer.va.gov/explore/benefits/docs/claims?version=current) if: \n\n- You are a consumer outside of VA and do not have the necessary VA agreements to use this API, and/or\n- You want automatic establishment of power of attorney (21-22 or 21-22a)\n \n## Technical Overview\n\nThis API accepts a payload of requests and responses with the payload identifying the claim and Veteran. Responses provide the submission’s processing status. Responses also provide a unique ID which can be used with the appropriate GET endpoint to return detailed, end-to-end claims status tracking. \n\nEnd-to-end claims tracking provides the status of claims as they move through the submission process, but does not return whether the claim was approved or denied. \n\n### Claim statuses\n\nClaims are first submitted by this API and then established in Veterans Benefits Management System (VBMS). A 200 response means that the claim was successfully submitted by the API. It does not mean VA has received the claim. Use the appropriate GET endpoint and the ID returned with your submission response to confirm the status of the submission. Statuses are:\n\n- Pending - the claim is successfully submitted to Lighthouse\n- Errored - the submission encountered upstream errors\n- Canceled - the claim was identified as a duplicate or another issue caused the claim to be canceled. For duplicate claims, the tracking of the claim's progress happens under a different Claim ID . \n\nOther statuses this API returns align with the [VA.gov](http://va.gov/) [claim status descriptions](https://www.va.gov/resources/what-your-claim-status-means/), which are:\n\n- Claim received\n- Initial review\n- Evidence gathering, review, and decision\n- Preparation for notification\n- Complete\n\n### Finding a Veteran's unique VA ID\n\nThis API uses a unique Veteran identifier to identify the subject of each API request. This Veteran identifier can be retrieved by passing the Veteran’s first name, last name, DOB, and SSN to the ‘/veteran-id’ endpoint. This identifier should then be used as the Veteran ID parameter in request URLs.\n\nNote: though Veteran identifiers are typically static, they may change over time. If a specific Veteran ID suddenly responds with a ‘404 not found’ error, the identifier may have changed. It’s a good idea to periodically check the identifier for each Veteran.\n\n### Authentication and authorization\n\nThe authentication model for the Benefits Claims Version 2 is based on OAuth 2.0 / OpenID Connect and supports the [client credentials grant](https://developer.va.gov/explore/authorization/docs/client-credentials?api=claims).\n\n**Important**: To get production access, you must either work for VA or have specific VA agreements in place. If you have questions, [contact us](https://developer.va.gov/support/contact-us).\n\n### Test data for sandbox environment use\n\nWe use mock [test data in the sandbox environment](https://github.com/department-of-veterans-affairs/vets-api-clients/blob/master/test_accounts.md). Sandbox test data and test users for the Benefits Claims API are valid for all versions of the API.\n" - }, - "tags": [ - { - "name": "Veteran Identifier", - "description": "Allows authenticated veterans and veteran representatives to retrieve a veteran's id." - }, - { - "name": "Claims", - "description": "Allows authenticated and authorized users to access claims data for a given Veteran. No data is returned if the user is not authenticated and authorized.\n" - }, - { - "name": "5103 Waiver", - "description": "Allows authenticated and authorized users to file a 5103 Notice Response on a claim." - }, - { - "name": "Intent to File", - "description": "Allows authenticated and authorized users to automatically establish an Intent to File (21-0966) in VBMS.\n" - }, - { - "name": "Disability Compensation Claims", - "description": "Allows authenticated and authorized users to automatically establish a Disability Compensation Claim (21-526EZ) in VBMS\n" - } - ], - "components": { - "securitySchemes": { - "bearer_token": { - "type": "http", - "scheme": "bearer", - "bearerFormat": "JWT" - }, - "productionOauth": { - "type": "oauth2", - "description": "This API uses OAuth 2 with the authorization code grant flow. [More info](https://developer.va.gov/explore/authorization?api=claims)", - "flows": { - "authorizationCode": { - "authorizationUrl": "https://api.va.gov/oauth2/authorization", - "tokenUrl": "https://api.va.gov/oauth2/token", - "scopes": { - "system/claim.read": "Retrieve claim data", - "system/claim.write": "Submit claim data" - } - } - } - }, - "sandboxOauth": { - "type": "oauth2", - "description": "This API uses OAuth 2 with the authorization code grant flow. [More info](https://developer.va.gov/explore/authorization?api=claims)", - "flows": { - "authorizationCode": { - "authorizationUrl": "https://sandbox-api.va.gov/oauth2/authorization", - "tokenUrl": "https://sandbox-api.va.gov/oauth2/token", - "scopes": { - "system/claim.read": "Retrieve claim data", - "system/claim.write": "Submit claim data" - } - } - } - } - } - }, - "paths": { - "/veteran-id:find": { - "post": { - "summary": "Retrieve Veteran ID.", - "tags": [ - "Veteran Identifier" - ], - "operationId": "postVeteranId", - "security": [ - { - "productionOauth": [ - "system/claim.read" - ] - }, - { - "sandboxOauth": [ - "system/claim.read" - ] - }, - { - "bearer_token": [ - - ] - } - ], - "description": "Allows authenticated and authorized users to retrieve a Veteran's ID.", - "parameters": [ - - ], - "responses": { - "201": { - "description": "Veteran's unique identifier", - "content": { - "application/json": { - "example": { - "id": "1012667145V762142" - }, - "schema": { - "additionalProperties": false, - "properties": { - "id": { - "type": "string", - "example": "1012667145V762142" - } - } - } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "example": { - "errors": [ - { - "title": "invalid value for SSN", - "detail": "blank is not valid for SSN" - } - ] - }, - "schema": { - "required": [ - "errors" - ], - "properties": { - "errors": { - "type": "array", - "items": { - "additionalProperties": false, - "required": [ - "title", - "detail" - ], - "properties": { - "title": { - "type": "string", - "description": "HTTP error title" - }, - "detail": { - "type": "string", - "description": "HTTP error detail" - }, - "source": { - "type": "object", - "additionalProperties": false, - "description": "Source of error", - "properties": { - "pointer": { - "type": "string", - "description": "Pointer to source of error" - } - } - } - } - } - } - } - } - } - } - }, - "401": { - "description": "Unauthorized", - "content": { - "application/json": { - "example": { - "errors": [ - { - "title": "Not authorized", - "detail": "Not authorized" - } - ] - }, - "schema": { - "required": [ - "errors" - ], - "properties": { - "errors": { - "type": "array", - "items": { - "additionalProperties": false, - "required": [ - "title", - "detail" - ], - "properties": { - "title": { - "type": "string", - "description": "HTTP error title" - }, - "detail": { - "type": "string", - "description": "HTTP error detail" - }, - "source": { - "type": "object", - "additionalProperties": false, - "description": "Source of error", - "properties": { - "pointer": { - "type": "string", - "description": "Pointer to source of error" - } - } - } - } - } - } - } - } - } - } - }, - "404": { - "description": "Resource not found", - "content": { - "application/json": { - "example": { - "errors": [ - { - "title": "Resource not found", - "detail": "Resource not found" - } - ] - }, - "schema": { - "required": [ - "errors" - ], - "properties": { - "errors": { - "type": "array", - "items": { - "additionalProperties": false, - "required": [ - "title", - "detail" - ], - "properties": { - "title": { - "type": "string", - "description": "HTTP error title" - }, - "detail": { - "type": "string", - "description": "HTTP error detail" - }, - "source": { - "type": "object", - "additionalProperties": false, - "description": "Source of error", - "properties": { - "pointer": { - "type": "string", - "description": "Pointer to source of error" - } - } - } - } - } - } - } - } - } - } - } - }, - "requestBody": { - "content": { - "application/json": { - "schema": { - "type": "object", - "required": [ - "ssn", - "birthdate", - "firstName", - "lastName" - ], - "properties": { - "ssn": { - "type": "string", - "example": "796130115", - "description": "SSN of Veteran being represented" - }, - "firstName": { - "type": "string", - "example": "Tamara", - "description": "First name of Veteran being represented" - }, - "lastName": { - "type": "string", - "example": "Ellis", - "description": "Last name of Veteran being represented" - }, - "birthdate": { - "type": "string", - "example": "1967-06-19", - "description": "Date of birth of Veteran being represented, in iso8601 format" - } - }, - "example": { - "ssn": "796130115", - "firstName": "Tamara", - "lastName": "Ellis", - "birthdate": "1967-06-19" - } - } - } - }, - "required": true - } - } - }, - "/veterans/{veteranId}/claims": { - "get": { - "summary": "Find all benefits claims for a Veteran.", - "tags": [ - "Claims" - ], - "operationId": "findClaims", - "security": [ - { - "productionOauth": [ - "system/claim.read" - ] - }, - { - "sandboxOauth": [ - "system/claim.read" - ] - }, - { - "bearer_token": [ - - ] - } - ], - "description": "Retrieves all claims for Veteran.", - "parameters": [ - { - "name": "veteranId", - "in": "path", - "required": true, - "example": "1012667145V762142", - "description": "ID of Veteran", - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "claim response", - "content": { - "application/json": { - "example": { - "data": [ - { - "id": "555555555", - "type": "claim", - "attributes": { - "baseEndProductCode": "400", - "claimDate": "2017-05-02", - "claimPhaseDates": { - "phaseChangeDate": "2017-10-18" - }, - "claimType": "Compensation", - "closeDate": "2017-10-18", - "decisionLetterSent": false, - "developmentLetterSent": false, - "documentsNeeded": false, - "endProductCode": "404", - "evidenceWaiverSubmitted5103": false, - "lighthouseId": null, - "status": "COMPLETE" - } - } - ] - }, - "schema": { - "$schema": "http://json-schema.org/draft-04/schema#", - "type": "object", - "required": [ - "data" - ], - "properties": { - "data": { - "type": "array", - "items": { - "required": [ - "id", - "type", - "attributes" - ], - "additionalProperties": false, - "description": "Claim details", - "properties": { - "id": { - "type": "string", - "nullable": true, - "description": "Claim ID in VBMS. If a claim was submitted with Lighthouse and not successfully established upstream, it could have a null claimId.", - "example": "600131328" - }, - "type": { - "type": "string", - "example": "claim" - }, - "attributes": { - "type": "object", - "required": [ - "baseEndProductCode", - "claimType", - "claimDate", - "claimPhaseDates", - "closeDate", - "developmentLetterSent", - "decisionLetterSent", - "documentsNeeded", - "endProductCode", - "evidenceWaiverSubmitted5103", - "lighthouseId", - "status" - ], - "properties": { - "baseEndProductCode": { - "type": "string", - "description": "Base end product code for claim", - "example": "400" - }, - "claimType": { - "type": "string", - "description": "Name of claim type", - "example": "Compensation" - }, - "claimDate": { - "format": "date", - "type": "string", - "description": "Date in YYYY-MM-DD the claim was first filed", - "example": "2018-06-04" - }, - "claimPhaseDates": { - "type": "object", - "properties": { - "phaseChangeDate": { - "format": "date", - "type": "string", - "description": "The date that the claim changed to its current phase", - "example": "2017-10-18" - } - } - }, - "closeDate": { - "format": "date", - "type": "string", - "description": "Date claim was closed", - "example": "2019-09-04" - }, - "developmentLetterSent": { - "type": "boolean", - "description": "If true, a development letter has been sent to the claimant regarding a benefit claim", - "example": "false" - }, - "decisionLetterSent": { - "type": "boolean", - "description": "If true, a decision letter has been sent to the claimant regarding a benefit claim", - "example": "false" - }, - "documentsNeeded": { - "type": "boolean", - "description": "If true, the claim requires additional documents to be submitted", - "example": "false" - }, - "endProductCode": { - "type": "string", - "description": "End product code of claim" - }, - "evidenceWaiverSubmitted5103": { - "type": "boolean", - "nullable": true, - "description": "If true, indicates a decision has been requested and/or a Waiver 5103 has been submitted", - "example": "false" - }, - "lighthouseId": { - "type": "string", - "nullable": true, - "description": "Claim ID in Lighthouse", - "example": "0BAEFC26-1CE4-4046-9B3C-3071055603DB" - }, - "status": { - "type": "string", - "description": "Status of claim", - "enum": [ - "PENDING", - "CLAIM_RECEIVED", - "INITIAL_REVIEW", - "EVIDENCE_GATHERING_REVIEW_DECISION", - "PREPARATION_FOR_NOTIFICATION", - "COMPLETE", - "ERRORED", - "CANCELED" - ] - } - } - } - } - } - } - } - } - } - } - }, - "401": { - "description": "Unauthorized", - "content": { - "application/json": { - "example": { - "errors": [ - { - "title": "Not authorized", - "detail": "Not authorized" - } - ] - }, - "schema": { - "required": [ - "errors" - ], - "properties": { - "errors": { - "type": "array", - "items": { - "additionalProperties": false, - "required": [ - "title", - "detail" - ], - "properties": { - "title": { - "type": "string", - "description": "HTTP error title" - }, - "detail": { - "type": "string", - "description": "HTTP error detail" - }, - "source": { - "type": "object", - "additionalProperties": false, - "description": "Source of error", - "properties": { - "pointer": { - "type": "string", - "description": "Pointer to source of error" - } - } - } - } - } - } - } - } - } - } - } - } - } - }, - "/veterans/{veteranId}/claims/{id}": { - "get": { - "summary": "Find claim by ID", - "tags": [ - "Claims" - ], - "operationId": "findClaimById", - "security": [ - { - "productionOauth": [ - "system/claim.read" - ] - }, - { - "sandboxOauth": [ - "system/claim.read" - ] - }, - { - "bearer_token": [ - - ] - } - ], - "description": "Retrieves a specific claim for a Veteran", - "parameters": [ - { - "name": "id", - "in": "path", - "example": "1234", - "description": "The ID of the claim being requested", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "veteranId", - "in": "path", - "required": true, - "example": "1012667145V762142", - "description": "ID of Veteran", - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "claim response", - "content": { - "application/json": { - "example": { - "data": { - "id": "555555555", - "type": "claim", - "attributes": { - "claimTypeCode": "400PREDSCHRG", - "claimDate": "2017-05-02", - "claimPhaseDates": { - "phaseChangeDate": "2017-10-18", - "currentPhaseBack": false, - "latestPhaseType": "COMPLETE", - "previousPhases": { - "phase7CompleteDate": "2017-10-18" - } - }, - "claimType": "Compensation", - "closeDate": "2017-10-18", - "contentions": [ - { - "name": "abnormal heart (New)" - }, - { - "name": "abscess kidney (New)" - }, - { - "name": "encephalitis lethargica residuals (New)" - }, - { - "name": "dracunculiasis (New)" - }, - { - "name": "gingivitis (New)" - }, - { - "name": "abnormal weight loss (New)" - }, - { - "name": "groin condition (New)" - }, - { - "name": "metritis (New)" - } - ], - "decisionLetterSent": false, - "developmentLetterSent": false, - "documentsNeeded": false, - "endProductCode": "404", - "evidenceWaiverSubmitted5103": false, - "errors": [ - - ], - "jurisdiction": "National Work Queue", - "lighthouseId": null, - "maxEstClaimDate": null, - "minEstClaimDate": null, - "status": "COMPLETE", - "submitterApplicationCode": "EBN", - "submitterRoleCode": "VET", - "supportingDocuments": [ - { - "documentId": "{54EF0C16-A9E7-4C3F-B876-B2C7BEC1F834}", - "documentTypeLabel": "Medical", - "originalFileName": null, - "trackedItemId": null, - "uploadDate": null - } - ], - "tempJurisdiction": null, - "trackedItems": [ - { - "closedDate": "2021-06-04", - "description": null, - "displayName": "21-4142a", - "overdue": false, - "receivedDate": null, - "requestedDate": "2021-05-05", - "status": "NO_LONGER_REQUIRED", - "suspenseDate": "2021-06-04", - "id": 293440, - "uploadsAllowed": false - }, - { - "closedDate": "2021-06-04", - "description": null, - "displayName": "Employment info needed", - "overdue": false, - "receivedDate": null, - "requestedDate": "2021-05-05", - "status": "NO_LONGER_REQUIRED", - "suspenseDate": "2021-06-04", - "id": 293443, - "uploadsAllowed": false - }, - { - "closedDate": "2021-06-04", - "description": null, - "displayName": "Accidental injury - 21-4176 needed", - "overdue": false, - "receivedDate": null, - "requestedDate": "2021-05-05", - "status": "NO_LONGER_REQUIRED", - "suspenseDate": "2021-06-04", - "id": 293444, - "uploadsAllowed": false - }, - { - "closedDate": "2021-06-04", - "description": null, - "displayName": "Buddy mentioned - No complete address", - "overdue": false, - "receivedDate": null, - "requestedDate": "2021-05-05", - "status": "NO_LONGER_REQUIRED", - "suspenseDate": "2021-06-04", - "id": 293446, - "uploadsAllowed": false - } - ] - } - } - }, - "schema": { - "$schema": "http://json-schema.org/draft-04/schema#", - "type": "object", - "required": [ - "data" - ], - "properties": { - "data": { - "type": "object", - "required": [ - "id", - "type", - "attributes" - ], - "additionalProperties": false, - "description": "Claim with some details for the given Veteran info", - "properties": { - "id": { - "type": "string", - "nullable": true, - "description": "Claim ID in VBMS. If a claim was submitted with Lighthouse and not successfully established upstream, it could have a null claimId.", - "example": "600131328" - }, - "type": { - "type": "string", - "example": "evss_claims" - }, - "attributes": { - "type": "object", - "additionalProperties": false, - "required": [ - "claimTypeCode", - "claimDate", - "claimPhaseDates", - "claimType", - "closeDate", - "contentions", - "decisionLetterSent", - "developmentLetterSent", - "documentsNeeded", - "endProductCode", - "evidenceWaiverSubmitted5103", - "errors", - "jurisdiction", - "lighthouseId", - "maxEstClaimDate", - "minEstClaimDate", - "status", - "submitterApplicationCode", - "submitterRoleCode", - "supportingDocuments", - "tempJurisdiction", - "trackedItems" - ], - "properties": { - "claimTypeCode": { - "type": "string", - "description": "Type Code of benefit claim", - "example": "400PREDSCHRG" - }, - "claimType": { - "type": "string", - "description": "Name of claim type", - "example": "Compensation" - }, - "contentions": { - "type": "array", - "description": "The contentions being submitted with a claim", - "items": { - "type": "object", - "properties": { - "name": { - "type": "string", - "example": "abscess kidney (New)" - } - } - } - }, - "claimDate": { - "format": "date", - "type": "string", - "nullable": true, - "description": "The date a claim was filed", - "example": "2017-10-18" - }, - "claimPhaseDates": { - "type": "object", - "properties": { - "currentPhaseBack": { - "type": "boolean", - "description": "Indicates whether the current phase is moving backward." - }, - "latestPhaseType": { - "type": "string", - "enum": [ - "CLAIM_RECEIVED", - "UNDER_REVIEW", - "GATHERING_OF_EVIDENCE", - "REVIEW_OF_EVIDENCE", - "PREPARATION_FOR_DECISION", - "PENDING_DECISION_APPROVAL", - "PREPARATION_FOR_NOTIFICATION", - "COMPLETE" - ], - "nullable": true, - "description": "The most current phase for the claim" - }, - "phaseChangeDate": { - "format": "date", - "type": "string", - "nullable": true, - "description": "The date that the claim changed to its current phase", - "example": "2017-10-18" - }, - "previousPhases": { - "type": "object", - "properties": { - "phase1CompleteDate": { - "format": "date", - "type": "string", - "description": "Completed date of the claim received phase.", - "example": "2017-10-18" - }, - "phase2CompleteDate": { - "format": "date", - "type": "string", - "description": "Completed date of the initial review phase.", - "example": "2017-10-18" - }, - "phase3CompleteDate": { - "format": "date", - "type": "string", - "description": "Completed date of the gathering of evidence phase.", - "example": "2017-10-18" - }, - "phase4CompleteDate": { - "format": "date", - "type": "string", - "description": "Completed date of the reviewing of evidence phase.", - "example": "2017-10-18" - }, - "phase5CompleteDate": { - "format": "date", - "type": "string", - "description": "Completed date of the preparation for decision phase.", - "example": "2017-10-18" - }, - "phase6CompleteDate": { - "format": "date", - "type": "string", - "description": "Completed date of the pending decision approval phase.", - "example": "2017-10-18" - }, - "phase7CompleteDate": { - "format": "date", - "type": "string", - "description": "Completed date of the preparation for notification phase.", - "example": "2017-10-18" - }, - "phase8CompleteDate": { - "format": "date", - "type": "string", - "description": "Completed date of the completed phase.", - "example": "2017-10-18" - } - } - } - } - }, - "closeDate": { - "format": "date", - "type": "string", - "nullable": true, - "description": "Date claim was closed", - "example": "2019-09-04" - }, - "decisionLetterSent": { - "type": "boolean", - "description": "If true, a decision letter has been sent to the claimant regarding a benefit claim" - }, - "developmentLetterSent": { - "type": "boolean", - "description": "If true, a development letter has been sent to the claimant regarding a benefit claim" - }, - "documentsNeeded": { - "type": "boolean", - "description": "If true, the claim requires additional documents to be submitted" - }, - "endProductCode": { - "type": "string", - "description": "End product code of claim", - "example": "930" - }, - "evidenceWaiverSubmitted5103": { - "type": "boolean", - "nullable": true, - "description": "If true, indicates a decision has been requested and/or a Waiver 5103 has been submitted", - "example": "false" - }, - "errors": { - "type": "array", - "description": "Error details if claim is in an errored state.", - "items": { - "properties": { - "detail": { - "type": "string", - "example": "Something happened" - }, - "source": { - "type": "string", - "example": "some/error/path" - } - } - } - }, - "jurisdiction": { - "type": "string", - "description": "Current station of jurisdiction" - }, - "lighthouseId": { - "type": "string", - "nullable": true, - "description": "Claim ID in Lighthouse", - "example": "0BAEFC26-1CE4-4046-9B3C-3071055603DB" - }, - "minEstClaimDate": { - "format": "date", - "type": "string", - "nullable": true, - "description": "Minimum Estimated Claim Completion Date", - "example": "2019-06-04" - }, - "maxEstClaimDate": { - "format": "date", - "type": "string", - "nullable": true, - "description": "Maximum Estimated Claim Completion Date", - "example": "2019-09-04" - }, - "status": { - "type": "string", - "description": "Status of claim", - "enum": [ - "PENDING", - "CLAIM_RECEIVED", - "INITIAL_REVIEW", - "EVIDENCE_GATHERING_REVIEW_DECISION", - "PREPARATION_FOR_NOTIFICATION", - "COMPLETE", - "ERRORED", - "CANCELED" - ] - }, - "submitterApplicationCode": { - "type": "string", - "description": "Application Code of benefit claim submitter", - "example": "EBN" - }, - "submitterRoleCode": { - "type": "string", - "description": "Role Code of benefit claim submitter", - "example": "VET" - }, - "supportingDocuments": { - "type": "array", - "description": "Information regarding any supported documents attached to a claim", - "items": { - "properties": { - "documentId": { - "type": "string", - "description": "Unique identifier of document" - }, - "documentTypeLabel": { - "type": "string", - "nullable": true - }, - "originalFileName": { - "type": "string", - "description": "Name of document", - "nullable": true - }, - "trackedItemId": { - "type": "string", - "nullable": true - }, - "uploadDate": { - "format": "date", - "type": "string", - "description": "Date and time document was uploaded", - "nullable": true - } - } - } - }, - "tempJurisdiction": { - "type": "string", - "description": "Temporary jurisdiction of claim" - }, - "trackedItems": { - "type": "array", - "description": "", - "items": { - "type": "object", - "additionalProperties": false, - "properties": { - "closedDate": { - "format": "date", - "type": "string", - "nullable": true, - "description": "Date the tracked item was closed", - "example": "2017-10-18" - }, - "description": { - "type": "string", - "nullable": true, - "description": "Description of the tracked item", - "example": "Buddy mentioned - No complete address" - }, - "requestedDate": { - "format": "date", - "type": "string", - "nullable": true, - "description": "Date the tracked item was requested", - "example": "2017-10-18" - }, - "id": { - "type": "integer", - "description": "ID of the tracked item", - "example": 293454 - }, - "displayName": { - "type": "string", - "nullable": true, - "description": "Description of the tracked item", - "example": "Buddy mentioned - No complete address" - }, - "receivedDate": { - "format": "date", - "type": "string", - "nullable": true, - "description": "Date the tracked item was received", - "example": "2017-10-18" - }, - "overdue": { - "type": "boolean", - "nullable": true, - "description": "True if the item is overdue", - "example": true - }, - "status": { - "type": "string", - "nullable": true, - "description": "Enum with the status of the tracked item", - "example": "NO_LONGER_REQUIRED", - "enum": [ - "ACCEPTED", - "INITIAL_REVIEW_COMPLETE", - "NEEDED_FROM_YOU", - "NEEDED_FROM_OTHERS", - "NO_LONGER_REQUIRED", - "SUBMITTED_AWAITING_REVIEW" - ] - }, - "suspenseDate": { - "format": "date", - "type": "string", - "nullable": true, - "example": "2017-10-18" - }, - "uploadsAllowed": { - "type": "boolean", - "example": true - } - } - } - } - } - } - } - } - } - } - } - } - }, - "401": { - "description": "Unauthorized", - "content": { - "application/json": { - "example": { - "errors": [ - { - "title": "Not authorized", - "detail": "Not authorized" - } - ] - }, - "schema": { - "required": [ - "errors" - ], - "properties": { - "errors": { - "type": "array", - "items": { - "additionalProperties": false, - "required": [ - "title", - "detail" - ], - "properties": { - "title": { - "type": "string", - "description": "HTTP error title" - }, - "detail": { - "type": "string", - "description": "HTTP error detail" - }, - "source": { - "type": "object", - "additionalProperties": false, - "description": "Source of error", - "properties": { - "pointer": { - "type": "string", - "description": "Pointer to source of error" - } - } - } - } - } - } - } - } - } - } - }, - "404": { - "description": "Resource not found", - "content": { - "application/json": { - "example": { - "errors": [ - { - "title": "Resource not found", - "detail": "Claim not found" - } - ] - }, - "schema": { - "required": [ - "errors" - ], - "properties": { - "errors": { - "type": "array", - "items": { - "additionalProperties": false, - "required": [ - "title", - "detail" - ], - "properties": { - "title": { - "type": "string", - "description": "HTTP error title" - }, - "detail": { - "type": "string", - "description": "HTTP error detail" - }, - "source": { - "type": "object", - "additionalProperties": false, - "description": "Source of error", - "properties": { - "pointer": { - "type": "string", - "description": "Pointer to source of error" - } - } - } - } - } - } - } - } - } - } - } - } - } - }, - "/veterans/{veteranId}/526": { - "post": { - "summary": "Submits form 526", - "tags": [ - "Disability Compensation Claims" - ], - "operationId": "post526Claim", - "security": [ - { - "productionOauth": [ - "system/claim.read", - "system/claim.write" - ] - }, - { - "sandboxOauth": [ - "system/claim.read", - "system/claim.write" - ] - }, - { - "bearer_token": [ - - ] - } - ], - "description": "Automatically establishes a disability compensation claim (21-526EZ) in Veterans Benefits Management System (VBMS). \nThis endpoint generates a filled and electronically signed 526EZ form, establishes the disability claim in VBMS, and \nsubmits the form to the Veteran's eFolder.\n\nA 202 response indicates the API submission was accepted. The claim has not reached VBMS until it has a CLAIM_RECEIVED status. \nCheck claim status using the GET veterans/{veteranId}/claims/{id} endpoint.\n\n**A substantially complete 526EZ claim must include:**\n* Veteran's name\n* Sufficient service information for VA to verify the claimed service\n* At least one claimed disability or medical condition and how it relates to service\n* Veteran and/or Representative signature\n\n**Standard and fully developed claims (FDCs)**\n\n[Fully developed claims (FDCs)](https://www.va.gov/disability/how-to-file-claim/evidence-needed/fully-developed-claims/)\nare claims certified by the submitter to include all information needed for processing. These claims process faster \nthan claims submitted through the standard claim process. If a claim is certified for the FDC, but is missing needed information, \nit will be processed as a standard claim.\n\nTo certify a claim for the FDC process, set the claimProcessType to FDC_PROGRAM.\n", - "parameters": [ - { - "name": "veteranId", - "in": "path", - "required": true, - "example": "1012667145V762142", - "description": "ID of Veteran", - "schema": { - "type": "string" - } - } - ], - "responses": { - "202": { - "description": "Successful response with disability", - "content": { - "application/json": { - "example": { - "data": { - "id": "713e8c10-9e06-49ce-b311-dad87a00191a", - "type": "forms/526", - "attributes": { - "veteranIdentification": { - "currentVaEmployee": false, - "mailingAddress": { - "addressLine1": "1234 Couch Street", - "addressLine2": "Unit 4", - "addressLine3": "Room 1", - "city": "Portland", - "country": "USA", - "zipFirstFive": "41726", - "zipLastFour": "1234", - "state": "OR" - }, - "serviceNumber": "123456789", - "emailAddress": { - "email": "valid@somedomain.com", - "agreeToEmailRelatedToClaim": true - }, - "veteranNumber": { - "telephone": "5555555555", - "internationalTelephone": "+44 20 1234 5678" - } - }, - "serviceInformation": { - "servicePeriods": [ - { - "serviceBranch": "Public Health Service", - "activeDutyBeginDate": "2008-11-14", - "activeDutyEndDate": "2023-10-30", - "serviceComponent": "Active", - "separationLocationCode": "98282" - } - ], - "confinements": [ - { - "approximateBeginDate": "2018-06-04", - "approximateEndDate": "2018-07-04" - }, - { - "approximateBeginDate": "2020-06", - "approximateEndDate": "2020-07" - } - ], - "federalActivation": { - "anticipatedSeparationDate": "2023-12-22", - "activationDate": "2023-10-01" - }, - "reservesNationalGuardService": { - "obligationTermsOfService": { - "beginDate": "2019-06-04", - "endDate": "2020-06-04" - }, - "unitName": "National Guard Unit Name", - "unitAddress": "1243 pine court", - "component": "National Guard", - "unitPhone": { - "areaCode": "555", - "phoneNumber": "5555555" - }, - "receivingInactiveDutyTrainingPay": "YES" - }, - "alternateNames": [ - "john jacob", - "johnny smith" - ], - "servedInActiveCombatSince911": "NO" - }, - "disabilities": [ - { - "disabilityActionType": "NEW", - "name": "Traumatic Brain Injury", - "classificationCode": "9014", - "serviceRelevance": "ABCDEFG", - "approximateDate": "2018-03-11", - "ratedDisabilityId": "ABCDEFGHIJKLMNOPQRSTUVWX", - "diagnosticCode": 9020, - "secondaryDisabilities": [ - { - "name": "Post Traumatic Stress Disorder (PTSD) Combat - Mental Disorders", - "disabilityActionType": "SECONDARY", - "serviceRelevance": "ABCDEFGHIJKLMNOPQ", - "classificationCode": "9014", - "approximateDate": "2018-03-12", - "exposureOrEventOrInjury": "EXPOSURE" - } - ], - "isRelatedToToxicExposure": true, - "exposureOrEventOrInjury": "EXPOSURE" - }, - { - "disabilityActionType": "NEW", - "name": "Cancer - Musculoskeletal - Elbow", - "classificationCode": "9014", - "serviceRelevance": "ABCDEFG", - "approximateDate": "2018-03-02", - "ratedDisabilityId": "ABCDEFGHIJKLMNOPQRSTUVWX", - "diagnosticCode": 249470, - "isRelatedToToxicExposure": true, - "exposureOrEventOrInjury": "EXPOSURE" - }, - { - "disabilityActionType": "NEW", - "name": "Cancer - Musculoskeletal - Knee", - "classificationCode": "9014", - "serviceRelevance": "ABCDEFG", - "approximateDate": "2015", - "ratedDisabilityId": "ABCDEFGHIJKLMNOPQRSTUVWX", - "diagnosticCode": 249470, - "isRelatedToToxicExposure": true, - "exposureOrEventOrInjury": "EXPOSURE" - } - ], - "claimantCertification": true, - "claimProcessType": "STANDARD_CLAIM_PROCESS", - "changeOfAddress": { - "dates": { - "beginDate": "2023-06-04", - "endDate": "2023-12-04" - }, - "typeOfAddressChange": "TEMPORARY", - "addressLine1": "10 Peach St", - "addressLine2": "Unit 4", - "addressLine3": "Room 1", - "city": "Atlanta", - "zipFirstFive": "42220", - "zipLastFour": "9897", - "state": "GA", - "country": "USA" - }, - "homeless": { - "pointOfContact": "john stewart", - "pointOfContactNumber": { - "telephone": "5555555555", - "internationalTelephone": "+44 20 1234 5678" - }, - "currentlyHomeless": { - "homelessSituationOptions": "FLEEING_CURRENT_RESIDENCE", - "otherDescription": "ABCDEFGHIJKLM" - } - }, - "toxicExposure": { - "gulfWarHazardService": { - "servedInGulfWarHazardLocations": "YES", - "serviceDates": { - "beginDate": "2018-07", - "endDate": "2018-08" - } - }, - "herbicideHazardService": { - "servedInHerbicideHazardLocations": "YES", - "otherLocationsServed": "ABCDEFGHIJKLM", - "serviceDates": { - "beginDate": "2018-07", - "endDate": "2018-08" - } - }, - "additionalHazardExposures": { - "additionalExposures": [ - "ASBESTOS", - "SHIPBOARD_HAZARD_AND_DEFENSE" - ], - "specifyOtherExposures": "Other exposure details", - "exposureDates": { - "beginDate": "2018-07", - "endDate": "2018-08" - } - }, - "multipleExposures": [ - { - "exposureDates": { - "beginDate": "2012-12", - "endDate": "2013-07" - }, - "exposureLocation": "Guam", - "hazardExposedTo": "RADIATION" - } - ] - }, - "treatments": [ - { - "treatedDisabilityNames": [ - "Traumatic Brain Injury", - "Post Traumatic Stress Disorder (PTSD) Combat - Mental Disorders", - "Cancer - Musculoskeletal - Elbow" - ], - "center": { - "name": "Center One", - "state": "GA", - "city": "Decatur" - }, - "beginDate": "2009-03" - } - ], - "servicePay": { - "favorTrainingPay": true, - "favorMilitaryRetiredPay": false, - "receivingMilitaryRetiredPay": "NO", - "futureMilitaryRetiredPay": "YES", - "futureMilitaryRetiredPayExplanation": "ABCDEFGHIJKLMNOPQRSTUVW", - "militaryRetiredPay": { - "branchOfService": "Army", - "monthlyAmount": 840.75 - }, - "retiredStatus": "PERMANENT_DISABILITY_RETIRED_LIST", - "receivedSeparationOrSeverancePay": "NO", - "separationSeverancePay": { - "datePaymentReceived": "2022-03-12", - "branchOfService": "Naval Academy", - "preTaxAmountReceived": 379.25 - } - }, - "directDeposit": { - "accountType": "CHECKING", - "accountNumber": "ABCDEF", - "routingNumber": "123123123", - "financialInstitutionName": "Chase", - "noAccount": false - } - } - } - }, - "schema": { - "name": "data", - "required": [ - "data" - ], - "properties": { - "data": { - "type": "object", - "required": [ - "id", - "type", - "attributes" - ], - "properties": { - "id": { - "type": "string", - "example": "7d0de77e-b7bd-4db7-a8d9-69a25482c80a" - }, - "type": { - "type": "string", - "example": "form/526" - }, - "attributes": { - "description": "Claims API 526 Schema", - "type": "object", - "additionalProperties": false, - "required": [ - "claimantCertification", - "claimProcessType", - "disabilities", - "serviceInformation", - "veteranIdentification" - ], - "properties": { - "claimProcessType": { - "type": "string", - "description": "Select type of claim program/process that applies to the Veteran.", - "enum": [ - "STANDARD_CLAIM_PROCESS", - "FDC_PROGRAM", - "BDD_PROGRAM" - ] - }, - "claimantCertification": { - "type": "boolean", - "description": "Claimant certifies and authorizes release of information.", - "default": false - }, - "veteranIdentification": { - "type": "object", - "additionalProperties": false, - "required": [ - "mailingAddress" - ], - "properties": { - "currentVaEmployee": { - "type": "boolean", - "description": "Set to true if Veteran is a VA employee.", - "default": false, - "nullable": true - }, - "serviceNumber": { - "type": "string", - "description": "Service identification number", - "nullable": true - }, - "emailAddress": { - "description": "Information associated with the Veteran's email address.", - "type": "object", - "nullable": true, - "properties": { - "email": { - "type": "string", - "pattern": "^\\w+([\\.-]?\\w+)*@\\w+([\\.-]?\\w+)*(\\.\\w{2,3})+$", - "description": "The most current email address of the Veteran.", - "maxLength": 50, - "nullable": true - }, - "agreeToEmailRelatedToClaim": { - "type": "boolean", - "description": "Agreement to email information relating to this claim.", - "example": true, - "default": false, - "nullable": true - } - } - }, - "veteranNumber": { - "description": "If there is no phone number in VBMS for the Veteran, the exams will not be ordered. Including the phone number is recommended to avoid claim processing delays.", - "type": "object", - "nullable": true, - "properties": { - "telephone": { - "description": "Veteran's phone number.", - "type": "string", - "pattern": "^\\d{10}?$", - "example": "5555555", - "minLength": 10, - "maxLength": 10, - "nullable": true - }, - "internationalTelephone": { - "type": "string", - "description": "Veteran's international phone number.", - "example": "+44 20 1234 5678", - "nullable": true - } - } - }, - "mailingAddress": { - "type": "object", - "additionalProperties": false, - "required": [ - "addressLine1", - "city", - "state", - "zipFirstFive", - "country" - ], - "properties": { - "addressLine1": { - "description": "Address line 1 for the Veteran's current mailing address.", - "type": "string", - "pattern": "^([-a-zA-Z0-9'.,&#]([-a-zA-Z0-9'.,&# ])?)+$", - "maxLength": 20, - "example": "1234 Couch Street" - }, - "addressLine2": { - "description": "Address line 2 for the Veteran's current mailing address.", - "type": "string", - "pattern": "^([-a-zA-Z0-9'.,&#]([-a-zA-Z0-9'.,&# ])?)+$", - "maxLength": 20, - "example": "Unit 4", - "nullable": true - }, - "addressLine3": { - "description": "Address line 3 for the Veteran's current mailing address.", - "type": "string", - "pattern": "^([-a-zA-Z0-9'.,&#]([-a-zA-Z0-9'.,&# ])?)+$", - "maxLength": 20, - "example": "Room 1", - "nullable": true - }, - "city": { - "description": "City for the Veteran's current mailing address.", - "type": "string", - "pattern": "^([-a-zA-Z0-9'.#]([-a-zA-Z0-9'.# ])?)+$", - "example": "Portland" - }, - "country": { - "description": "Country for the Veteran's current mailing address. Must match the values returned by the /countries endpoint on the [Benefits Reference Data API](https://developer.va.gov/explore/benefits/docs/benefits_reference_data?version=current).", - "type": "string", - "example": "USA" - }, - "zipFirstFive": { - "description": "Zip code (First 5 digits) for the Veteran's current mailing address.", - "type": "string", - "pattern": "^\\d{5}?$", - "example": "12345" - }, - "zipLastFour": { - "description": "Zip code (Last 4 digits) for the Veteran's current mailing address.", - "type": "string", - "pattern": "^\\d{4}?$", - "example": "6789", - "nullable": true - }, - "state": { - "description": "State for the Veteran's current mailing address.", - "type": "string", - "pattern": "^[a-z,A-Z]{2}$", - "example": "OR" - } - } - } - } - }, - "changeOfAddress": { - "description": "If 'changeOfAddress' is included, the following attributes are required: 'typeOfAddressChange', 'dates.beginDate', 'addressLine1', 'city', 'state', 'country', 'zipFirstFive'.", - "type": "object", - "nullable": true, - "additionalProperties": false, - "properties": { - "dates": { - "type": "object", - "properties": { - "beginDate": { - "description": "Begin date for the Veteran's new address.", - "pattern": "^(?:[0-9]{4})-(?:0[1-9]|1[0-2])-(?:0[1-9]|[1-2][0-9]|3[0-1])$", - "type": "string", - "example": "2018-06-04" - }, - "endDate": { - "description": "Date in YYYY-MM-DD the changed address expires, if change is temporary.", - "type": "string", - "nullable": true, - "pattern": "^(?:[0-9]{4})-(?:0[1-9]|1[0-2])-(?:0[1-9]|[1-2][0-9]|3[0-1])$", - "example": "2018-06-04" - } - } - }, - "typeOfAddressChange": { - "description": "Temporary or Permanent change of address. If 'TEMPORARY', 'beginDate' and 'endDate' are required.", - "type": "string", - "enum": [ - "TEMPORARY", - "PERMANENT" - ], - "example": "PERMANENT" - }, - "addressLine1": { - "description": "Address line 1 for the Veteran's new address.", - "type": "string", - "pattern": "^$|^([-a-zA-Z0-9'.,&#]([-a-zA-Z0-9'.,&# ])?)+$", - "maxLength": 20, - "example": "1234 Couch Street" - }, - "addressLine2": { - "description": "Address line 2 for the Veteran's new address.", - "type": "string", - "maxLength": 20, - "example": "Unit 4", - "nullable": true - }, - "addressLine3": { - "description": "Address line 3 for the Veteran's new address.", - "type": "string", - "maxLength": 20, - "example": "Room 1", - "nullable": true - }, - "city": { - "description": "City for the Veteran's new address.", - "type": "string", - "pattern": "^$|^([-a-zA-Z0-9'.#]([-a-zA-Z0-9'.# ])?)+$", - "example": "Portland" - }, - "country": { - "description": "Country for the Veteran's new address. Value must match the values returned by the /countries endpoint on the [Benefits Reference Data API](https://developer.va.gov/explore/benefits/docs/benefits_reference_data?version=current).", - "type": "string", - "example": "USA" - }, - "zipFirstFive": { - "description": "Zip code (First 5 digits) for the Veteran's new address.", - "type": "string", - "pattern": "^$|^\\d{5}?$", - "example": "12345" - }, - "zipLastFour": { - "description": "Zip code (Last 4 digits) for the Veteran's new address.", - "type": "string", - "nullable": true, - "pattern": "^$|^\\d{4}?$", - "example": "6789" - }, - "state": { - "description": "State for the Veteran's new address.", - "type": "string", - "pattern": "^$|^[a-z,A-Z]{2}$", - "example": "OR" - } - } - }, - "homeless": { - "type": "object", - "nullable": true, - "additionalProperties": false, - "properties": { - "pointOfContact": { - "description": "Individual in direct contact with Veteran.", - "type": "string", - "nullable": true, - "minLength": 1, - "maxLength": 100, - "pattern": "^([-a-zA-Z0-9/']+( ?))*$", - "example": "Jane Doe" - }, - "pointOfContactNumber": { - "type": "object", - "nullable": true, - "additionalProperties": false, - "properties": { - "telephone": { - "description": "Primary phone of point of contact.", - "type": "string", - "pattern": "^\\d{10}?$", - "example": "5555555", - "minLength": 10, - "maxLength": 10, - "nullable": true - }, - "internationalTelephone": { - "description": "International phone of point of contact.", - "type": "string", - "example": "+44 20 1234 5678", - "nullable": true - } - } - }, - "currentlyHomeless": { - "type": "object", - "nullable": true, - "additionalProperties": false, - "properties": { - "homelessSituationOptions": { - "description": "Veteran's living situation.", - "type": "string", - "nullable": true, - "default": "other", - "enum": [ - "LIVING_IN_A_HOMELESS_SHELTER", - "NOT_CURRENTLY_IN_A_SHELTERED_ENVIRONMENT", - "STAYING_WITH_ANOTHER_PERSON", - "FLEEING_CURRENT_RESIDENCE", - "OTHER" - ], - "example": "FLEEING_CURRENT_RESIDENCE" - }, - "otherDescription": { - "description": "Explanation of living situation. Required if 'homelessSituationOptions' is 'OTHER'.", - "type": "string", - "nullable": true, - "maxLength": 500, - "example": "other living situation" - } - } - }, - "riskOfBecomingHomeless": { - "type": "object", - "nullable": true, - "additionalProperties": false, - "properties": { - "livingSituationOptions": { - "type": "string", - "nullable": true, - "default": "HOUSING_WILL_BE_LOST_IN_30_DAYS", - "enum": [ - "HOUSING_WILL_BE_LOST_IN_30_DAYS", - "LEAVING_PUBLICLY_FUNDED_SYSTEM_OF_CARE", - "OTHER" - ] - }, - "otherDescription": { - "description": "Explanation of living situation. Required if 'livingSituationOptions' is 'OTHER'.", - "type": "string", - "nullable": true, - "maxLength": 500, - "example": "other living situation" - } - } - } - } - }, - "toxicExposure": { - "type": "object", - "nullable": true, - "properties": { - "gulfWarHazardService": { - "type": "object", - "nullable": true, - "description": "Toxic exposure related to the Gulf war.", - "properties": { - "servedInGulfWarHazardLocations": { - "type": "string", - "description": "Set to true if the Veteran served in any of the following Gulf War hazard locations: Iraq; Kuwait; Saudi Arabia; the neutral zone between Iraq and Saudi Arabia; Bahrain; Qatar; the United Arab Emirates; Oman; Yemen; Lebanon; Somalia; Afghanistan; Israel; Egypt; Turkey; Syria; Jordan; Djibouti; Uzbekistan; the Gulf of Aden; the Gulf of Oman; the Persian Gulf; the Arabian Sea; and the Red Sea.", - "example": "YES", - "enum": [ - "NO", - "YES" - ], - "nullable": true - }, - "serviceDates": { - "type": "object", - "nullable": true, - "description": "Date range for when the exposure happened.", - "properties": { - "beginDate": { - "type": "string", - "nullable": true, - "description": "Approximate begin date for serving in Gulf War hazard location.", - "example": "2018-06 or 2018" - }, - "endDate": { - "type": "string", - "nullable": true, - "description": "Approximate end date for serving in Gulf War hazard location.", - "example": "2018-06 or 2018" - } - } - } - } - }, - "herbicideHazardService": { - "description": "Toxic exposure related to herbicide (Agent Orange) hazards.", - "type": "object", - "nullable": true, - "properties": { - "servedInHerbicideHazardLocations": { - "type": "string", - "description": "Set to true if the Veteran served in any of the following herbicide/Agent Orange locations: Republic of Vietnam to include the 12 nautical mile territorial waters; Thailand at any United States or Royal Thai base; Laos; Cambodia at Mimot or Krek; Kampong Cham Province; Guam or American Samoa; or in the territorial waters thereof; Johnston Atoll or a ship that called at Johnston Atoll; Korean demilitarized zone; aboard (to include repeated operations and maintenance with) a C-123 aircraft known to have been used to spray an herbicide agent (during service in the Air Force and Air Force Reserves).", - "example": "YES", - "enum": [ - "NO", - "YES" - ], - "nullable": true - }, - "otherLocationsServed": { - "type": "string", - "nullable": true, - "pattern": "^([-a-zA-Z0-9'.,&#]([-a-zA-Z0-9'.,&# ])?)+$", - "description": "Other location(s) where Veteran served." - }, - "serviceDates": { - "description": "Date range for exposure in herbicide hazard location.", - "type": "object", - "nullable": true, - "properties": { - "beginDate": { - "type": "string", - "nullable": true, - "description": "Approximate begin date for serving in herbicide location.", - "pattern": "^(?:19|20)[0-9][0-9]$|^(?:19|20)[0-9][0-9]-(0[1-9]|1[0-2])$", - "example": "2018-06 or 2018" - }, - "endDate": { - "type": "string", - "nullable": true, - "description": "Approximate end date for serving in herbicide location.", - "pattern": "^(?:19|20)[0-9][0-9]$|^(?:19|20)[0-9][0-9]-(0[1-9]|1[0-2])$", - "example": "2018-06 or 2018" - } - } - } - } - }, - "additionalHazardExposures": { - "type": "object", - "nullable": true, - "description": "Additional hazardous exposures.", - "properties": { - "additionalExposures": { - "description": "Additional exposure incidents.", - "type": "array", - "nullable": true, - "uniqueItems": true, - "items": { - "type": "string", - "additionalProperties": false, - "enum": [ - "ASBESTOS", - "MUSTARD_GAS", - "RADIATION", - "SHIPBOARD_HAZARD_AND_DEFENSE", - "MILITARY_OCCUPATIONAL_SPECIALTY_RELATED_TOXIN", - "CONTAMINATED_WATER_AT_CAMP_LEJEUNE", - "OTHER" - ] - } - }, - "specifyOtherExposures": { - "type": "string", - "nullable": true, - "pattern": "^([-a-zA-Z0-9'.,&#]([-a-zA-Z0-9'.,&# ])?)+$", - "description": "Exposure to asbestos." - }, - "exposureDates": { - "type": "object", - "nullable": true, - "description": "Date range for when the exposure happened.", - "properties": { - "beginDate": { - "type": "string", - "nullable": true, - "description": "Approximate begin date for exposure.", - "pattern": "^(?:19|20)[0-9][0-9]$|^(?:19|20)[0-9][0-9]-(0[1-9]|1[0-2])$", - "example": "2018-06 or 2018" - }, - "endDate": { - "type": "string", - "nullable": true, - "description": "Approximate end date for exposure.", - "pattern": "^(?:19|20)[0-9][0-9]$|^(?:19|20)[0-9][0-9]-(0[1-9]|1[0-2])$", - "example": "2018-06 or 2018" - } - } - } - } - }, - "multipleExposures": { - "type": "array", - "nullable": true, - "minItems": 1, - "uniqueItems": true, - "items": { - "type": "object", - "additionalProperties": false, - "properties": { - "exposureDates": { - "type": "object", - "nullable": true, - "description": "Date range for when the exposure happened.", - "properties": { - "beginDate": { - "type": "string", - "nullable": true, - "description": "Approximate begin date for exposure.", - "pattern": "^(?:19|20)[0-9][0-9]$|^(?:19|20)[0-9][0-9]-(0[1-9]|1[0-2])$", - "example": "2018-06 or 2018" - }, - "endDate": { - "type": "string", - "nullable": true, - "description": "Approximate end date for exposure.", - "pattern": "^(?:19|20)[0-9][0-9]$|^(?:19|20)[0-9][0-9]-(0[1-9]|1[0-2])$", - "example": "2018-06 or 2018" - } - } - }, - "exposureLocation": { - "type": "string", - "nullable": true, - "pattern": "^([-a-zA-Z0-9'.,&#]([-a-zA-Z0-9'.,&# ])?)+$", - "description": "Location where the exposure happened." - }, - "hazardExposedTo": { - "type": "string", - "nullable": true, - "pattern": "^([-a-zA-Z0-9'.,&#]([-a-zA-Z0-9'.,&# ])?)+$", - "description": "Hazard the Veteran was exposed to." - } - } - } - } - } - }, - "disabilities": { - "description": "Any current disabilities or symptoms the Veteran is claiming are related to their military service and/or are service-connected.", - "type": "array", - "minItems": 1, - "items": { - "type": "object", - "additionalProperties": false, - "required": [ - "disabilityActionType", - "name" - ], - "properties": { - "name": { - "description": "Name of the disability. The /disabilities endpoint on the [Benefits Reference Data API](https://developer.va.gov/explore/benefits/docs/benefits_reference_data?version=current) may be used to retrieve possible disability names.", - "type": "string", - "pattern": "^$|([a-zA-Z0-9\"\\/&\\(\\)\\-'.,# ]([a-zA-Z0-9(\\)\\-'.,# ])?)+$", - "example": "PTSD (post traumatic stress disorder)", - "maxLength": 255 - }, - "classificationCode": { - "type": "string", - "description": "Classification code for the associated body system. Must match an active code returned by the /disabilities endpoint on the [Benefits Reference Data API](https://developer.va.gov/explore/benefits/docs/benefits_reference_data?version=current).", - "example": "249470", - "nullable": true - }, - "serviceRelevance": { - "description": "Explanation of how the disability(ies) relates to the in-service event/exposure/injury. If the disabilityActionType is 'NEW', the serviceRelevance is required.", - "type": "string", - "nullable": true, - "example": "Heavy equipment operator in service." - }, - "approximateDate": { - "description": "Approximate date disability began. Date must be in the past. \n Format can be either YYYY-MM-DD or YYYY-MM or YYYY", - "type": "string", - "pattern": "^(?:[0-9]{4}(?:-(?!00)(?:0[1-9]|1[0-2])(?:-(?:0[1-9]|[1-2][0-9]|3[0-1]))?)?)$", - "example": "2018-03-02 or 2018-03 or 2018", - "nullable": true - }, - "ratedDisabilityId": { - "description": "When submitting a contention with action type 'INCREASE', the previously rated disability id may be included.", - "type": "string", - "example": "1100583", - "nullable": true - }, - "diagnosticCode": { - "description": "If the disabilityActionType is 'NONE' or 'INCREASE', the diagnosticCode should correspond to an existing rated disability.", - "type": "integer", - "example": 9999, - "nullable": true - }, - "disabilityActionType": { - "description": "Action type requested for the disability. If 'INCREASE' or 'NONE', then 'ratedDisabilityId' and 'diagnosticCode' should be included. 'NONE' should be used when including a secondary disability.", - "type": "string", - "enum": [ - "NONE", - "NEW", - "INCREASE" - ], - "example": "NEW" - }, - "secondaryDisabilities": { - "description": "If secondaryDisability is included, the following attributes are required: 'secondaryDisability.name', 'secondaryDisability.disabilityActionType' and 'secondaryDisability.serviceRelevance'", - "type": "array", - "items": { - "type": "object", - "additionalProperties": false, - "properties": { - "name": { - "description": "Name of the disability. The /disabilities endpoint on the [Benefits Reference Data API](https://developer.va.gov/explore/benefits/docs/benefits_reference_data?version=current) may be used to retrieve possible disability names.", - "type": "string", - "pattern": "^$|([a-zA-Z0-9\"\\/&\\(\\)\\-'.,# ]([a-zA-Z0-9(\\)\\-'.,# ])?)+$", - "example": "PTSD (post traumatic stress disorder)", - "maxLength": 255 - }, - "disabilityActionType": { - "description": "The status of the secondary disability.", - "type": "string", - "example": "SECONDARY", - "enum": [ - "SECONDARY" - ] - }, - "serviceRelevance": { - "description": "Explanation of how the disability(ies) relates to the in-service event/exposure/injury.", - "type": "string", - "nullable": true, - "example": "Heavy equipment operator in service." - }, - "classificationCode": { - "type": "string", - "description": "Classification code for the associated body system. Must match an active code returned by the /disabilities endpoint on the [Benefits Reference Data API](https://developer.va.gov/explore/benefits/docs/benefits_reference_data?version=current).", - "example": "249470", - "nullable": true - }, - "approximateDate": { - "description": "Approximate date disability began. Date must be in the past. \n Format can be either YYYY-MM-DD or YYYY-MM or YYYY", - "type": "string", - "pattern": "^(?:[0-9]{4}(?:-(?!00)(?:0[1-9]|1[0-2])(?:-(?:0[1-9]|[1-2][0-9]|3[0-1]))?)?)$", - "example": "2018-03-02 or 2018-03 or 2018", - "nullable": true - }, - "exposureOrEventOrInjury": { - "type": "string", - "description": "What caused the disability?", - "nullable": true, - "examples": [ - "Agent Orange", - "radiation", - "burn pits" - ] - } - } - } - }, - "isRelatedToToxicExposure": { - "type": "boolean", - "description": "Is the disability related to toxic exposures? If true, related 'toxicExposure' must be included.", - "example": true, - "default": false, - "nullable": true - }, - "exposureOrEventOrInjury": { - "type": "string", - "description": "What caused the disability?", - "nullable": true, - "examples": [ - "Agent Orange", - "radiation", - "burn pits" - ] - } - } - } - }, - "treatments": { - "description": "Identifies the Service Treatment information of the Veteran.", - "type": "array", - "nullable": true, - "uniqueItems": true, - "items": { - "type": "object", - "additionalProperties": false, - "properties": { - "beginDate": { - "description": "Begin date for treatment. If treatment began from 2005 to present, you do not need to provide dates. Each treatment begin date must be after the first 'servicePeriod.activeDutyBeginDate'.", - "type": "string", - "pattern": "^(?:19|20)[0-9][0-9]$|^(?:19|20)[0-9][0-9]-(0[1-9]|1[0-2])$", - "example": "2018-06 or 2018", - "nullable": true - }, - "treatedDisabilityNames": { - "description": "Name(s) of disabilities treated in this time frame. Name must match 'name' of a disability included on this claim.", - "type": "array", - "nullable": true, - "maxItems": 101, - "items": { - "type": "string", - "additionalProperties": false, - "example": [ - "PTSD (post traumatic stress disorder)", - "Trauma" - ] - } - }, - "center": { - "description": "VA Medical Center(s) and Department of Defense Military Treatment Facilities where the Veteran received treatment after discharge for any claimed disabilities.", - "type": "object", - "nullable": true, - "additionalProperties": false, - "properties": { - "name": { - "description": "Name of facility Veteran was treated in. The /treatment-centers endpoint on the [Benefits Reference Data API](https://developer.va.gov/explore/benefits/docs/benefits_reference_data?version=current) may be used to retrieve possible treatment center names.", - "type": "string", - "nullable": true, - "pattern": "^$|(?!(?: )$)([a-zA-Z0-9\"\\/&\\(\\)\\-'.,# ]([a-zA-Z0-9(\\)\\-'.,# ])?)+$", - "example": "Private Facility 2", - "maxLength": 100 - }, - "city": { - "description": "City of treatment facility.", - "type": "string", - "pattern": "^$|^([-a-zA-Z'.#]([-a-zA-Z'.# ])?)+$", - "example": "Portland", - "nullable": true - }, - "state": { - "description": "State of treatment facility.", - "type": "string", - "pattern": "^$|^[a-z,A-Z]{2}$", - "example": "OR", - "nullable": true - } - } - } - } - } - }, - "serviceInformation": { - "type": "object", - "additionalProperties": false, - "required": [ - "servicePeriods" - ], - "properties": { - "servicePeriods": { - "description": "Identifies the Service dates and Branch the Veteran served in.", - "type": "array", - "minItems": 1, - "uniqueItems": true, - "items": { - "type": "object", - "required": [ - "serviceBranch", - "serviceComponent" - ], - "properties": { - "serviceBranch": { - "description": "Branch of service during period. The /service-branches endpoint on the [Benefits Reference Data API](https://developer.va.gov/explore/benefits/docs/benefits_reference_data?version=current) may be used to retrieve list of possible service branches.", - "type": "string", - "example": "Air Force" - }, - "serviceComponent": { - "type": "string", - "description": "", - "enum": [ - "Active", - "Reserves", - "National Guard" - ] - }, - "activeDutyBeginDate": { - "description": "Date started active duty.", - "type": "string", - "nullable": true, - "pattern": "^(?:[0-9]{4})-(?:0[1-9]|1[0-2])-(?:0[1-9]|[1-2][0-9]|3[0-1])$", - "example": "2018-06-06" - }, - "activeDutyEndDate": { - "description": "Date completed active duty. If in the future, 'separationLocationCode' is required.", - "type": "string", - "nullable": true, - "pattern": "^(?:[0-9]{4})-(?:0[1-9]|1[0-2])-(?:0[1-9]|[1-2][0-9]|3[0-1])$", - "example": "2018-06-06" - }, - "separationLocationCode": { - "description": "Location code for the facility the Veteran plans to separate from. Required if 'servicePeriod.activeDutyEndDate' is in the future. Code must match the values returned by the /intake-sites endpoint on the [Benefits reference Data API](https://developer.va.gov/explore/benefits/docs/benefits_reference_data?version=current).", - "type": "string", - "nullable": true, - "example": "98283" - } - } - } - }, - "confinements": { - "type": "array", - "nullable": true, - "uniqueItems": true, - "items": { - "additionalProperties": false, - "type": "object", - "properties": { - "approximateBeginDate": { - "description": "The approximateBeginDate must be after the earliest servicePeriod activeDutyBeginDate.", - "type": "string", - "nullable": true, - "pattern": "^(?:[0-9]{4})-(?:0[1-9]|1[0-2])-(?:0[1-9]|[1-2][0-9]|3[0-1])$|(?:[0-9]{4})-(?:0[1-9]|1[0-2])$", - "example": "2018-06-06 or 2018-06" - }, - "approximateEndDate": { - "type": "string", - "nullable": true, - "pattern": "^(?:[0-9]{4})-(?:0[1-9]|1[0-2])-(?:0[1-9]|[1-2][0-9]|3[0-1])$|(?:[0-9]{4})-(?:0[1-9]|1[0-2])$", - "example": "2018-06-06 or 2018-06" - } - } - } - }, - "federalActivation": { - "type": "object", - "nullable": true, - "additionalProperties": false, - "properties": { - "anticipatedSeparationDate": { - "description": "Anticipated date of separation. Date must be in the future.", - "type": "string", - "pattern": "^(?:[0-9]{4})-(?:0[1-9]|1[0-2])-(?:0[1-9]|[1-2][0-9]|3[0-1])$", - "example": "2018-06-06", - "nullable": true - }, - "activationDate": { - "description": "Date cannot be in the future and must be after the earliest servicePeriod.activeDutyBeginDate.", - "type": "string", - "pattern": "^(?:[0-9]{4})-(?:0[1-9]|1[0-2])-(?:0[1-9]|[1-2][0-9]|3[0-1])$", - "example": "2018-06-06", - "nullable": true - } - } - }, - "reservesNationalGuardService": { - "type": "object", - "nullable": true, - "additionalProperties": false, - "properties": { - "obligationTermsOfService": { - "type": "object", - "nullable": true, - "description": "If 'obligationTermsOfService' is included, the following attributes are required: 'beginDate ' and 'endDate'.", - "additionalProperties": false, - "properties": { - "beginDate": { - "type": "string", - "nullable": true, - "pattern": "^(?:[0-9]{4})-(?:0[1-9]|1[0-2])-(?:0[1-9]|[1-2][0-9]|3[0-1])$", - "example": "2018-06-06" - }, - "endDate": { - "type": "string", - "nullable": true, - "pattern": "^(?:[0-9]{4})-(?:0[1-9]|1[0-2])-(?:0[1-9]|[1-2][0-9]|3[0-1])$", - "example": "2018-06-06" - } - } - }, - "component": { - "type": "string", - "nullable": true, - "description": "", - "enum": [ - "Reserves", - "National Guard" - ] - }, - "unitName": { - "type": "string", - "nullable": true, - "pattern": "^$|([a-zA-Z0-9\\-'.,# ][a-zA-Z0-9\\-'.,# ]?)*$" - }, - "unitAddress": { - "type": "string", - "pattern": "^$|^([-a-zA-Z0-9'.,&#]([-a-zA-Z0-9'.,&# ])?)+$", - "nullable": true - }, - "unitPhone": { - "type": "object", - "nullable": true, - "additionalProperties": false, - "properties": { - "areaCode": { - "type": "string", - "nullable": true, - "maxLength": 3, - "pattern": "^$|^\\d{3}$", - "example": "555" - }, - "phoneNumber": { - "type": "string", - "nullable": true, - "maxLength": 20, - "example": "5555555" - } - } - }, - "receivingInactiveDutyTrainingPay": { - "type": "string", - "enum": [ - "YES", - "NO" - ], - "nullable": true, - "example": "YES" - } - } - }, - "alternateNames": { - "description": "List any other names under which the Veteran served, if applicable.", - "type": "array", - "nullable": true, - "maxItems": 100, - "uniqueItems": true, - "items": { - "type": "string", - "additionalProperties": false, - "examples": [ - "jane", - "janey lee", - "jane lee MacDonald" - ] - } - }, - "servedInActiveCombatSince911": { - "type": "string", - "enum": [ - "YES", - "NO" - ], - "description": "Did Veteran serve in a combat zone since 9-11-2001?", - "example": "YES", - "nullable": true - } - } - }, - "servicePay": { - "type": "object", - "nullable": true, - "additionalProperties": false, - "properties": { - "favorTrainingPay": { - "description": "Is the Veteran waiving VA benefits to retain training pay? See item 28 on form 21-526EZ for more details. ", - "type": "boolean", - "nullable": true, - "example": true, - "default": false - }, - "favorMilitaryRetiredPay": { - "description": "Is the Veteran waiving VA benefits to retain military retired pay? See item 26 on form 21-526EZ for more details.", - "type": "boolean", - "nullable": true, - "example": true, - "default": false - }, - "receivingMilitaryRetiredPay": { - "description": "Is the Veteran receiving military retired pay?", - "type": "string", - "enum": [ - "YES", - "NO" - ], - "example": "YES", - "nullable": true - }, - "futureMilitaryRetiredPay": { - "description": "Will the Veteran receive military retired pay pay in future? \n If true, then 'futurePayExplanation' is required.", - "type": "string", - "enum": [ - "YES", - "NO" - ], - "example": "YES", - "nullable": true - }, - "futureMilitaryRetiredPayExplanation": { - "description": "Explains why future pay will be received.", - "type": "string", - "example": "Will be retiring soon.", - "nullable": true - }, - "militaryRetiredPay": { - "type": "object", - "nullable": true, - "description": "", - "properties": { - "branchOfService": { - "description": "Branch of service. The /service-branches endpoint on the [Benefits Reference Data API](https://developer.va.gov/explore/benefits/docs/benefits_reference_data?version=current) may be used to retrieve list of possible service branches.", - "type": "string", - "nullable": true, - "example": "Air Force" - }, - "monthlyAmount": { - "description": "Amount being received.", - "type": "number", - "nullable": true, - "minimum": 1, - "maximum": 999999, - "example": 100 - } - } - }, - "retiredStatus": { - "type": "string", - "nullable": true, - "description": "", - "enum": [ - "RETIRED", - "TEMPORARY_DISABILITY_RETIRED_LIST", - "PERMANENT_DISABILITY_RETIRED_LIST" - ] - }, - "receivedSeparationOrSeverancePay": { - "description": "Has the Veteran ever received separation pay, disability severance pay, or any other lump sum payment from their branch of service?", - "type": "string", - "enum": [ - "YES", - "NO" - ], - "example": "YES", - "nullable": true - }, - "separationSeverancePay": { - "type": "object", - "nullable": true, - "description": "", - "properties": { - "datePaymentReceived": { - "description": "Approximate date separation pay was received. \n Format can be either YYYY-MM-DD or YYYY-MM or YYYY", - "type": "string", - "pattern": "^(?:[0-9]{4})-(?:0[1-9]|1[0-2])-(?:0[1-9]|[1-2][0-9]|3[0-1])$|(?:[0-9]{4})$|(?:[0-9]{4})-(?:0[1-9]|1[0-2])$", - "example": "2018-03-02 or 2018-03 or 2018" - }, - "branchOfService": { - "description": "Branch of service. The /service-branches endpoint on the [Benefits Reference Data API](https://developer.va.gov/explore/benefits/docs/benefits_reference_data?version=current) may be used to retrieve list of possible service branches.", - "type": "string", - "nullable": true, - "example": "Air Force" - }, - "preTaxAmountReceived": { - "description": "Amount being received.", - "type": "number", - "nullable": true, - "minimum": 1, - "maximum": 999999, - "example": 100 - } - } - } - } - }, - "directDeposit": { - "type": "object", - "nullable": true, - "additionalProperties": false, - "description": "If direct deposit information is included, the following attributes are required: accountType, accountNumber, routingNumber.", - "properties": { - "accountType": { - "description": "Account type for the direct deposit.", - "type": "string", - "nullable": true, - "example": "CHECKING", - "enum": [ - "CHECKING", - "SAVINGS" - ] - }, - "accountNumber": { - "description": "Account number for the direct deposit.", - "pattern": "^(?:[a-zA-Z0-9]{4,17})?$", - "type": "string", - "nullable": true, - "example": "123123123123" - }, - "routingNumber": { - "description": "Routing number for the direct deposit.", - "type": "string", - "nullable": true, - "pattern": "^(?:\\d{9})?$", - "example": "123123123" - }, - "financialInstitutionName": { - "description": "Provide the name of the financial institution where the Veteran wants the direct deposit.", - "maxLength": 35, - "type": "string", - "nullable": true, - "example": "Some Bank" - }, - "noAccount": { - "type": "boolean", - "nullable": true, - "description": "Claimant certifies that they do not have an account with a financial institution or certified payment agent.", - "default": false - } - } - } - } - } - } - } - } - } - } - } - }, - "401": { - "description": "Unauthorized", - "content": { - "application/json": { - "example": { - "errors": [ - { - "title": "Not authorized", - "status": "401", - "detail": "Not authorized" - } - ] - }, - "schema": { - "required": [ - "errors" - ], - "properties": { - "errors": { - "type": "array", - "items": { - "additionalProperties": false, - "required": [ - "title", - "detail" - ], - "properties": { - "title": { - "type": "string", - "description": "HTTP error title" - }, - "detail": { - "type": "string", - "description": "HTTP error detail" - }, - "status": { - "type": "string", - "description": "HTTP error status code" - }, - "source": { - "type": "object", - "additionalProperties": false, - "description": "Source of error", - "properties": { - "pointer": { - "type": "string", - "description": "Pointer to source of error" - } - } - } - } - } - } - } - } - } - } - }, - "422": { - "description": "Unprocessable entity", - "content": { - "application/json": { - "examples": { - "Violates JSON Schema": { - "value": { - "errors": [ - { - "title": "Unprocessable entity", - "detail": "The property / did not contain the required key claimProcessType", - "status": "422", - "source": { - "pointer": "data/attributes/" - } - }, - { - "title": "Unprocessable entity", - "detail": "The property / did not contain the required key disabilities", - "status": "422", - "source": { - "pointer": "data/attributes/" - } - }, - { - "title": "Unprocessable entity", - "detail": "The property / did not contain the required key serviceInformation", - "status": "422", - "source": { - "pointer": "data/attributes/" - } - }, - { - "title": "Unprocessable entity", - "detail": "The property / did not contain the required key veteranIdentification", - "status": "422", - "source": { - "pointer": "data/attributes/" - } - } - ] - } - }, - "Not a JSON Object": { - "value": { - "errors": [ - { - "title": "Unprocessable entity", - "status": "422", - "detail": "The request body is not a valid JSON object: This is not valid JSON", - "source": { - "pointer": null - } - } - ] - } - } - }, - "schema": { - "required": [ - "errors" - ], - "properties": { - "errors": { - "type": "array", - "items": { - "additionalProperties": false, - "required": [ - "title", - "status", - "detail" - ], - "properties": { - "status": { - "type": "string", - "description": "HTTP error code" - }, - "detail": { - "type": "string", - "description": "HTTP error detail" - }, - "source": { - "type": "object", - "pointer": { - "type": "string" - } - }, - "title": { - "type": "string" - } - } - } - } - } - } - } - } - } - }, - "requestBody": { - "content": { - "application/json": { - "schema": { - "type": "object", - "required": [ - "data" - ], - "properties": { - "data": { - "type": "object", - "required": [ - "attributes", - null - ], - "properties": { - "attributes": { - "$schema": "http://json-schema.org/draft-07/schema#", - "description": "Claims API 526 Schema", - "type": "object", - "additionalProperties": false, - "required": [ - "claimantCertification", - "claimProcessType", - "disabilities", - "serviceInformation", - "veteranIdentification" - ], - "properties": { - "claimProcessType": { - "type": "string", - "description": "Select type of claim program/process that applies to the Veteran.", - "enum": [ - "STANDARD_CLAIM_PROCESS", - "FDC_PROGRAM", - "BDD_PROGRAM" - ] - }, - "claimantCertification": { - "type": "boolean", - "description": "Claimant certifies and authorizes release of information.", - "default": false - }, - "veteranIdentification": { - "type": "object", - "additionalProperties": false, - "required": [ - "mailingAddress" - ], - "properties": { - "currentVaEmployee": { - "type": "boolean", - "description": "Set to true if Veteran is a VA employee.", - "default": false, - "nullable": true - }, - "serviceNumber": { - "type": "string", - "description": "Service identification number", - "nullable": true - }, - "emailAddress": { - "description": "Information associated with the Veteran's email address.", - "type": "object", - "nullable": true, - "properties": { - "email": { - "type": "string", - "pattern": "^\\w+([\\.-]?\\w+)*@\\w+([\\.-]?\\w+)*(\\.\\w{2,3})+$", - "description": "The most current email address of the Veteran.", - "maxLength": 50, - "nullable": true - }, - "agreeToEmailRelatedToClaim": { - "type": "boolean", - "description": "Agreement to email information relating to this claim.", - "example": true, - "default": false, - "nullable": true - } - } - }, - "veteranNumber": { - "description": "If there is no phone number in VBMS for the Veteran, the exams will not be ordered. Including the phone number is recommended to avoid claim processing delays.", - "type": "object", - "nullable": true, - "properties": { - "telephone": { - "description": "Veteran's phone number.", - "type": "string", - "pattern": "^\\d{10}?$", - "example": "5555555", - "minLength": 10, - "maxLength": 10, - "nullable": true - }, - "internationalTelephone": { - "type": "string", - "description": "Veteran's international phone number.", - "example": "+44 20 1234 5678", - "nullable": true - } - } - }, - "mailingAddress": { - "type": "object", - "additionalProperties": false, - "required": [ - "addressLine1", - "city", - "state", - "zipFirstFive", - "country" - ], - "properties": { - "addressLine1": { - "description": "Address line 1 for the Veteran's current mailing address.", - "type": "string", - "pattern": "^([-a-zA-Z0-9'.,&#]([-a-zA-Z0-9'.,&# ])?)+$", - "maxLength": 20, - "example": "1234 Couch Street" - }, - "addressLine2": { - "description": "Address line 2 for the Veteran's current mailing address.", - "type": "string", - "pattern": "^([-a-zA-Z0-9'.,&#]([-a-zA-Z0-9'.,&# ])?)+$", - "maxLength": 20, - "example": "Unit 4", - "nullable": true - }, - "addressLine3": { - "description": "Address line 3 for the Veteran's current mailing address.", - "type": "string", - "pattern": "^([-a-zA-Z0-9'.,&#]([-a-zA-Z0-9'.,&# ])?)+$", - "maxLength": 20, - "example": "Room 1", - "nullable": true - }, - "city": { - "description": "City for the Veteran's current mailing address.", - "type": "string", - "pattern": "^([-a-zA-Z0-9'.#]([-a-zA-Z0-9'.# ])?)+$", - "example": "Portland" - }, - "country": { - "description": "Country for the Veteran's current mailing address. Must match the values returned by the /countries endpoint on the [Benefits Reference Data API](https://developer.va.gov/explore/benefits/docs/benefits_reference_data?version=current).", - "type": "string", - "example": "USA" - }, - "zipFirstFive": { - "description": "Zip code (First 5 digits) for the Veteran's current mailing address.", - "type": "string", - "pattern": "^\\d{5}?$", - "example": "12345" - }, - "zipLastFour": { - "description": "Zip code (Last 4 digits) for the Veteran's current mailing address.", - "type": "string", - "pattern": "^\\d{4}?$", - "example": "6789", - "nullable": true - }, - "state": { - "description": "State for the Veteran's current mailing address.", - "type": "string", - "pattern": "^[a-z,A-Z]{2}$", - "example": "OR" - } - } - } - } - }, - "changeOfAddress": { - "description": "If 'changeOfAddress' is included, the following attributes are required: 'typeOfAddressChange', 'dates.beginDate', 'addressLine1', 'city', 'state', 'country', 'zipFirstFive'.", - "type": "object", - "nullable": true, - "additionalProperties": false, - "properties": { - "dates": { - "type": "object", - "properties": { - "beginDate": { - "description": "Begin date for the Veteran's new address.", - "pattern": "^(?:[0-9]{4})-(?:0[1-9]|1[0-2])-(?:0[1-9]|[1-2][0-9]|3[0-1])$", - "type": "string", - "example": "2018-06-04" - }, - "endDate": { - "description": "Date in YYYY-MM-DD the changed address expires, if change is temporary.", - "type": "string", - "nullable": true, - "pattern": "^(?:[0-9]{4})-(?:0[1-9]|1[0-2])-(?:0[1-9]|[1-2][0-9]|3[0-1])$", - "example": "2018-06-04" - } - } - }, - "typeOfAddressChange": { - "description": "Temporary or Permanent change of address. If 'TEMPORARY', 'beginDate' and 'endDate' are required.", - "type": "string", - "enum": [ - "TEMPORARY", - "PERMANENT" - ], - "example": "PERMANENT" - }, - "addressLine1": { - "description": "Address line 1 for the Veteran's new address.", - "type": "string", - "pattern": "^$|^([-a-zA-Z0-9'.,&#]([-a-zA-Z0-9'.,&# ])?)+$", - "maxLength": 20, - "example": "1234 Couch Street" - }, - "addressLine2": { - "description": "Address line 2 for the Veteran's new address.", - "type": "string", - "maxLength": 20, - "example": "Unit 4", - "nullable": true - }, - "addressLine3": { - "description": "Address line 3 for the Veteran's new address.", - "type": "string", - "maxLength": 20, - "example": "Room 1", - "nullable": true - }, - "city": { - "description": "City for the Veteran's new address.", - "type": "string", - "pattern": "^$|^([-a-zA-Z0-9'.#]([-a-zA-Z0-9'.# ])?)+$", - "example": "Portland" - }, - "country": { - "description": "Country for the Veteran's new address. Value must match the values returned by the /countries endpoint on the [Benefits Reference Data API](https://developer.va.gov/explore/benefits/docs/benefits_reference_data?version=current).", - "type": "string", - "example": "USA" - }, - "zipFirstFive": { - "description": "Zip code (First 5 digits) for the Veteran's new address.", - "type": "string", - "pattern": "^$|^\\d{5}?$", - "example": "12345" - }, - "zipLastFour": { - "description": "Zip code (Last 4 digits) for the Veteran's new address.", - "type": "string", - "nullable": true, - "pattern": "^$|^\\d{4}?$", - "example": "6789" - }, - "state": { - "description": "State for the Veteran's new address.", - "type": "string", - "pattern": "^$|^[a-z,A-Z]{2}$", - "example": "OR" - } - } - }, - "homeless": { - "type": "object", - "nullable": true, - "additionalProperties": false, - "properties": { - "pointOfContact": { - "description": "Individual in direct contact with Veteran.", - "type": "string", - "nullable": true, - "minLength": 1, - "maxLength": 100, - "pattern": "^([-a-zA-Z0-9/']+( ?))*$", - "example": "Jane Doe" - }, - "pointOfContactNumber": { - "type": "object", - "nullable": true, - "additionalProperties": false, - "properties": { - "telephone": { - "description": "Primary phone of point of contact.", - "type": "string", - "pattern": "^\\d{10}?$", - "example": "5555555", - "minLength": 10, - "maxLength": 10, - "nullable": true - }, - "internationalTelephone": { - "description": "International phone of point of contact.", - "type": "string", - "example": "+44 20 1234 5678", - "nullable": true - } - } - }, - "currentlyHomeless": { - "type": "object", - "nullable": true, - "additionalProperties": false, - "properties": { - "homelessSituationOptions": { - "description": "Veteran's living situation.", - "type": "string", - "nullable": true, - "default": "other", - "enum": [ - "LIVING_IN_A_HOMELESS_SHELTER", - "NOT_CURRENTLY_IN_A_SHELTERED_ENVIRONMENT", - "STAYING_WITH_ANOTHER_PERSON", - "FLEEING_CURRENT_RESIDENCE", - "OTHER" - ], - "example": "FLEEING_CURRENT_RESIDENCE" - }, - "otherDescription": { - "description": "Explanation of living situation. Required if 'homelessSituationOptions' is 'OTHER'.", - "type": "string", - "nullable": true, - "maxLength": 500, - "example": "other living situation" - } - } - }, - "riskOfBecomingHomeless": { - "type": "object", - "nullable": true, - "additionalProperties": false, - "properties": { - "livingSituationOptions": { - "type": "string", - "nullable": true, - "default": "HOUSING_WILL_BE_LOST_IN_30_DAYS", - "enum": [ - "HOUSING_WILL_BE_LOST_IN_30_DAYS", - "LEAVING_PUBLICLY_FUNDED_SYSTEM_OF_CARE", - "OTHER" - ] - }, - "otherDescription": { - "description": "Explanation of living situation. Required if 'livingSituationOptions' is 'OTHER'.", - "type": "string", - "nullable": true, - "maxLength": 500, - "example": "other living situation" - } - } - } - } - }, - "toxicExposure": { - "type": "object", - "nullable": true, - "properties": { - "gulfWarHazardService": { - "type": "object", - "nullable": true, - "description": "Toxic exposure related to the Gulf war.", - "properties": { - "servedInGulfWarHazardLocations": { - "type": "string", - "description": "Set to true if the Veteran served in any of the following Gulf War hazard locations: Iraq; Kuwait; Saudi Arabia; the neutral zone between Iraq and Saudi Arabia; Bahrain; Qatar; the United Arab Emirates; Oman; Yemen; Lebanon; Somalia; Afghanistan; Israel; Egypt; Turkey; Syria; Jordan; Djibouti; Uzbekistan; the Gulf of Aden; the Gulf of Oman; the Persian Gulf; the Arabian Sea; and the Red Sea.", - "example": "YES", - "enum": [ - "NO", - "YES" - ], - "nullable": true - }, - "serviceDates": { - "type": "object", - "nullable": true, - "description": "Date range for when the exposure happened.", - "properties": { - "beginDate": { - "type": "string", - "nullable": true, - "description": "Approximate begin date for serving in Gulf War hazard location.", - "example": "2018-06 or 2018" - }, - "endDate": { - "type": "string", - "nullable": true, - "description": "Approximate end date for serving in Gulf War hazard location.", - "example": "2018-06 or 2018" - } - } - } - } - }, - "herbicideHazardService": { - "description": "Toxic exposure related to herbicide (Agent Orange) hazards.", - "type": "object", - "nullable": true, - "properties": { - "servedInHerbicideHazardLocations": { - "type": "string", - "description": "Set to true if the Veteran served in any of the following herbicide/Agent Orange locations: Republic of Vietnam to include the 12 nautical mile territorial waters; Thailand at any United States or Royal Thai base; Laos; Cambodia at Mimot or Krek; Kampong Cham Province; Guam or American Samoa; or in the territorial waters thereof; Johnston Atoll or a ship that called at Johnston Atoll; Korean demilitarized zone; aboard (to include repeated operations and maintenance with) a C-123 aircraft known to have been used to spray an herbicide agent (during service in the Air Force and Air Force Reserves).", - "example": "YES", - "enum": [ - "NO", - "YES" - ], - "nullable": true - }, - "otherLocationsServed": { - "type": "string", - "nullable": true, - "pattern": "^([-a-zA-Z0-9'.,&#]([-a-zA-Z0-9'.,&# ])?)+$", - "description": "Other location(s) where Veteran served." - }, - "serviceDates": { - "description": "Date range for exposure in herbicide hazard location.", - "type": "object", - "nullable": true, - "properties": { - "beginDate": { - "type": "string", - "nullable": true, - "description": "Approximate begin date for serving in herbicide location.", - "pattern": "^(?:19|20)[0-9][0-9]$|^(?:19|20)[0-9][0-9]-(0[1-9]|1[0-2])$", - "example": "2018-06 or 2018" - }, - "endDate": { - "type": "string", - "nullable": true, - "description": "Approximate end date for serving in herbicide location.", - "pattern": "^(?:19|20)[0-9][0-9]$|^(?:19|20)[0-9][0-9]-(0[1-9]|1[0-2])$", - "example": "2018-06 or 2018" - } - } - } - } - }, - "additionalHazardExposures": { - "type": "object", - "nullable": true, - "description": "Additional hazardous exposures.", - "properties": { - "additionalExposures": { - "description": "Additional exposure incidents.", - "type": "array", - "nullable": true, - "uniqueItems": true, - "items": { - "type": "string", - "additionalProperties": false, - "enum": [ - "ASBESTOS", - "MUSTARD_GAS", - "RADIATION", - "SHIPBOARD_HAZARD_AND_DEFENSE", - "MILITARY_OCCUPATIONAL_SPECIALTY_RELATED_TOXIN", - "CONTAMINATED_WATER_AT_CAMP_LEJEUNE", - "OTHER" - ] - } - }, - "specifyOtherExposures": { - "type": "string", - "nullable": true, - "pattern": "^([-a-zA-Z0-9'.,&#]([-a-zA-Z0-9'.,&# ])?)+$", - "description": "Exposure to asbestos." - }, - "exposureDates": { - "type": "object", - "nullable": true, - "description": "Date range for when the exposure happened.", - "properties": { - "beginDate": { - "type": "string", - "nullable": true, - "description": "Approximate begin date for exposure.", - "pattern": "^(?:19|20)[0-9][0-9]$|^(?:19|20)[0-9][0-9]-(0[1-9]|1[0-2])$", - "example": "2018-06 or 2018" - }, - "endDate": { - "type": "string", - "nullable": true, - "description": "Approximate end date for exposure.", - "pattern": "^(?:19|20)[0-9][0-9]$|^(?:19|20)[0-9][0-9]-(0[1-9]|1[0-2])$", - "example": "2018-06 or 2018" - } - } - } - } - }, - "multipleExposures": { - "type": "array", - "nullable": true, - "minItems": 1, - "uniqueItems": true, - "items": { - "type": "object", - "additionalProperties": false, - "properties": { - "exposureDates": { - "type": "object", - "nullable": true, - "description": "Date range for when the exposure happened.", - "properties": { - "beginDate": { - "type": "string", - "nullable": true, - "description": "Approximate begin date for exposure.", - "pattern": "^(?:19|20)[0-9][0-9]$|^(?:19|20)[0-9][0-9]-(0[1-9]|1[0-2])$", - "example": "2018-06 or 2018" - }, - "endDate": { - "type": "string", - "nullable": true, - "description": "Approximate end date for exposure.", - "pattern": "^(?:19|20)[0-9][0-9]$|^(?:19|20)[0-9][0-9]-(0[1-9]|1[0-2])$", - "example": "2018-06 or 2018" - } - } - }, - "exposureLocation": { - "type": "string", - "nullable": true, - "pattern": "^([-a-zA-Z0-9'.,&#]([-a-zA-Z0-9'.,&# ])?)+$", - "description": "Location where the exposure happened." - }, - "hazardExposedTo": { - "type": "string", - "nullable": true, - "pattern": "^([-a-zA-Z0-9'.,&#]([-a-zA-Z0-9'.,&# ])?)+$", - "description": "Hazard the Veteran was exposed to." - } - } - } - } - } - }, - "disabilities": { - "description": "Any current disabilities or symptoms the Veteran is claiming are related to their military service and/or are service-connected.", - "type": "array", - "minItems": 1, - "items": { - "type": "object", - "additionalProperties": false, - "required": [ - "disabilityActionType", - "name" - ], - "properties": { - "name": { - "description": "Name of the disability. The /disabilities endpoint on the [Benefits Reference Data API](https://developer.va.gov/explore/benefits/docs/benefits_reference_data?version=current) may be used to retrieve possible disability names.", - "type": "string", - "pattern": "^$|([a-zA-Z0-9\"\\/&\\(\\)\\-'.,# ]([a-zA-Z0-9(\\)\\-'.,# ])?)+$", - "example": "PTSD (post traumatic stress disorder)", - "maxLength": 255 - }, - "classificationCode": { - "type": "string", - "description": "Classification code for the associated body system. Must match an active code returned by the /disabilities endpoint on the [Benefits Reference Data API](https://developer.va.gov/explore/benefits/docs/benefits_reference_data?version=current).", - "example": "249470", - "nullable": true - }, - "serviceRelevance": { - "description": "Explanation of how the disability(ies) relates to the in-service event/exposure/injury. If the disabilityActionType is 'NEW', the serviceRelevance is required.", - "type": "string", - "nullable": true, - "example": "Heavy equipment operator in service." - }, - "approximateDate": { - "description": "Approximate date disability began. Date must be in the past. \n Format can be either YYYY-MM-DD or YYYY-MM or YYYY", - "type": "string", - "pattern": "^(?:[0-9]{4}(?:-(?!00)(?:0[1-9]|1[0-2])(?:-(?:0[1-9]|[1-2][0-9]|3[0-1]))?)?)$", - "example": "2018-03-02 or 2018-03 or 2018", - "nullable": true - }, - "ratedDisabilityId": { - "description": "When submitting a contention with action type 'INCREASE', the previously rated disability id may be included.", - "type": "string", - "example": "1100583", - "nullable": true - }, - "diagnosticCode": { - "description": "If the disabilityActionType is 'NONE' or 'INCREASE', the diagnosticCode should correspond to an existing rated disability.", - "type": "integer", - "example": 9999, - "nullable": true - }, - "disabilityActionType": { - "description": "Action type requested for the disability. If 'INCREASE' or 'NONE', then 'ratedDisabilityId' and 'diagnosticCode' should be included. 'NONE' should be used when including a secondary disability.", - "type": "string", - "enum": [ - "NONE", - "NEW", - "INCREASE" - ], - "example": "NEW" - }, - "secondaryDisabilities": { - "description": "If secondaryDisability is included, the following attributes are required: 'secondaryDisability.name', 'secondaryDisability.disabilityActionType' and 'secondaryDisability.serviceRelevance'", - "type": "array", - "items": { - "type": "object", - "additionalProperties": false, - "properties": { - "name": { - "description": "Name of the disability. The /disabilities endpoint on the [Benefits Reference Data API](https://developer.va.gov/explore/benefits/docs/benefits_reference_data?version=current) may be used to retrieve possible disability names.", - "type": "string", - "pattern": "^$|([a-zA-Z0-9\"\\/&\\(\\)\\-'.,# ]([a-zA-Z0-9(\\)\\-'.,# ])?)+$", - "example": "PTSD (post traumatic stress disorder)", - "maxLength": 255 - }, - "disabilityActionType": { - "description": "The status of the secondary disability.", - "type": "string", - "example": "SECONDARY", - "enum": [ - "SECONDARY" - ] - }, - "serviceRelevance": { - "description": "Explanation of how the disability(ies) relates to the in-service event/exposure/injury.", - "type": "string", - "nullable": true, - "example": "Heavy equipment operator in service." - }, - "classificationCode": { - "type": "string", - "description": "Classification code for the associated body system. Must match an active code returned by the /disabilities endpoint on the [Benefits Reference Data API](https://developer.va.gov/explore/benefits/docs/benefits_reference_data?version=current).", - "example": "249470", - "nullable": true - }, - "approximateDate": { - "description": "Approximate date disability began. Date must be in the past. \n Format can be either YYYY-MM-DD or YYYY-MM or YYYY", - "type": "string", - "pattern": "^(?:[0-9]{4}(?:-(?!00)(?:0[1-9]|1[0-2])(?:-(?:0[1-9]|[1-2][0-9]|3[0-1]))?)?)$", - "example": "2018-03-02 or 2018-03 or 2018", - "nullable": true - }, - "exposureOrEventOrInjury": { - "type": "string", - "description": "What caused the disability?", - "nullable": true, - "examples": [ - "Agent Orange", - "radiation", - "burn pits" - ] - } - } - } - }, - "isRelatedToToxicExposure": { - "type": "boolean", - "description": "Is the disability related to toxic exposures? If true, related 'toxicExposure' must be included.", - "example": true, - "default": false, - "nullable": true - }, - "exposureOrEventOrInjury": { - "type": "string", - "description": "What caused the disability?", - "nullable": true, - "examples": [ - "Agent Orange", - "radiation", - "burn pits" - ] - } - } - } - }, - "treatments": { - "description": "Identifies the Service Treatment information of the Veteran.", - "type": "array", - "nullable": true, - "uniqueItems": true, - "items": { - "type": "object", - "additionalProperties": false, - "properties": { - "beginDate": { - "description": "Begin date for treatment. If treatment began from 2005 to present, you do not need to provide dates. Each treatment begin date must be after the first 'servicePeriod.activeDutyBeginDate'.", - "type": "string", - "pattern": "^(?:19|20)[0-9][0-9]$|^(?:19|20)[0-9][0-9]-(0[1-9]|1[0-2])$", - "example": "2018-06 or 2018", - "nullable": true - }, - "treatedDisabilityNames": { - "description": "Name(s) of disabilities treated in this time frame. Name must match 'name' of a disability included on this claim.", - "type": "array", - "nullable": true, - "maxItems": 101, - "items": { - "type": "string", - "additionalProperties": false, - "example": [ - "PTSD (post traumatic stress disorder)", - "Trauma" - ] - } - }, - "center": { - "description": "VA Medical Center(s) and Department of Defense Military Treatment Facilities where the Veteran received treatment after discharge for any claimed disabilities.", - "type": "object", - "nullable": true, - "additionalProperties": false, - "properties": { - "name": { - "description": "Name of facility Veteran was treated in. The /treatment-centers endpoint on the [Benefits Reference Data API](https://developer.va.gov/explore/benefits/docs/benefits_reference_data?version=current) may be used to retrieve possible treatment center names.", - "type": "string", - "nullable": true, - "pattern": "^$|(?!(?: )$)([a-zA-Z0-9\"\\/&\\(\\)\\-'.,# ]([a-zA-Z0-9(\\)\\-'.,# ])?)+$", - "example": "Private Facility 2", - "maxLength": 100 - }, - "city": { - "description": "City of treatment facility.", - "type": "string", - "pattern": "^$|^([-a-zA-Z'.#]([-a-zA-Z'.# ])?)+$", - "example": "Portland", - "nullable": true - }, - "state": { - "description": "State of treatment facility.", - "type": "string", - "pattern": "^$|^[a-z,A-Z]{2}$", - "example": "OR", - "nullable": true - } - } - } - } - } - }, - "serviceInformation": { - "type": "object", - "additionalProperties": false, - "required": [ - "servicePeriods" - ], - "properties": { - "servicePeriods": { - "description": "Identifies the Service dates and Branch the Veteran served in.", - "type": "array", - "minItems": 1, - "uniqueItems": true, - "items": { - "type": "object", - "required": [ - "serviceBranch", - "serviceComponent" - ], - "properties": { - "serviceBranch": { - "description": "Branch of service during period. The /service-branches endpoint on the [Benefits Reference Data API](https://developer.va.gov/explore/benefits/docs/benefits_reference_data?version=current) may be used to retrieve list of possible service branches.", - "type": "string", - "example": "Air Force" - }, - "serviceComponent": { - "type": "string", - "description": "", - "enum": [ - "Active", - "Reserves", - "National Guard" - ] - }, - "activeDutyBeginDate": { - "description": "Date started active duty.", - "type": "string", - "nullable": true, - "pattern": "^(?:[0-9]{4})-(?:0[1-9]|1[0-2])-(?:0[1-9]|[1-2][0-9]|3[0-1])$", - "example": "2018-06-06" - }, - "activeDutyEndDate": { - "description": "Date completed active duty. If in the future, 'separationLocationCode' is required.", - "type": "string", - "nullable": true, - "pattern": "^(?:[0-9]{4})-(?:0[1-9]|1[0-2])-(?:0[1-9]|[1-2][0-9]|3[0-1])$", - "example": "2018-06-06" - }, - "separationLocationCode": { - "description": "Location code for the facility the Veteran plans to separate from. Required if 'servicePeriod.activeDutyEndDate' is in the future. Code must match the values returned by the /intake-sites endpoint on the [Benefits reference Data API](https://developer.va.gov/explore/benefits/docs/benefits_reference_data?version=current).", - "type": "string", - "nullable": true, - "example": "98283" - } - } - } - }, - "confinements": { - "type": "array", - "nullable": true, - "uniqueItems": true, - "items": { - "additionalProperties": false, - "type": "object", - "properties": { - "approximateBeginDate": { - "description": "The approximateBeginDate must be after the earliest servicePeriod activeDutyBeginDate.", - "type": "string", - "nullable": true, - "pattern": "^(?:[0-9]{4})-(?:0[1-9]|1[0-2])-(?:0[1-9]|[1-2][0-9]|3[0-1])$|(?:[0-9]{4})-(?:0[1-9]|1[0-2])$", - "example": "2018-06-06 or 2018-06" - }, - "approximateEndDate": { - "type": "string", - "nullable": true, - "pattern": "^(?:[0-9]{4})-(?:0[1-9]|1[0-2])-(?:0[1-9]|[1-2][0-9]|3[0-1])$|(?:[0-9]{4})-(?:0[1-9]|1[0-2])$", - "example": "2018-06-06 or 2018-06" - } - } - } - }, - "federalActivation": { - "type": "object", - "nullable": true, - "additionalProperties": false, - "properties": { - "anticipatedSeparationDate": { - "description": "Anticipated date of separation. Date must be in the future.", - "type": "string", - "pattern": "^(?:[0-9]{4})-(?:0[1-9]|1[0-2])-(?:0[1-9]|[1-2][0-9]|3[0-1])$", - "example": "2018-06-06", - "nullable": true - }, - "activationDate": { - "description": "Date cannot be in the future and must be after the earliest servicePeriod.activeDutyBeginDate.", - "type": "string", - "pattern": "^(?:[0-9]{4})-(?:0[1-9]|1[0-2])-(?:0[1-9]|[1-2][0-9]|3[0-1])$", - "example": "2018-06-06", - "nullable": true - } - } - }, - "reservesNationalGuardService": { - "type": "object", - "nullable": true, - "additionalProperties": false, - "properties": { - "obligationTermsOfService": { - "type": "object", - "nullable": true, - "description": "If 'obligationTermsOfService' is included, the following attributes are required: 'beginDate ' and 'endDate'.", - "additionalProperties": false, - "properties": { - "beginDate": { - "type": "string", - "nullable": true, - "pattern": "^(?:[0-9]{4})-(?:0[1-9]|1[0-2])-(?:0[1-9]|[1-2][0-9]|3[0-1])$", - "example": "2018-06-06" - }, - "endDate": { - "type": "string", - "nullable": true, - "pattern": "^(?:[0-9]{4})-(?:0[1-9]|1[0-2])-(?:0[1-9]|[1-2][0-9]|3[0-1])$", - "example": "2018-06-06" - } - } - }, - "component": { - "type": "string", - "nullable": true, - "description": "", - "enum": [ - "Reserves", - "National Guard" - ] - }, - "unitName": { - "type": "string", - "nullable": true, - "pattern": "^$|([a-zA-Z0-9\\-'.,# ][a-zA-Z0-9\\-'.,# ]?)*$" - }, - "unitAddress": { - "type": "string", - "pattern": "^$|^([-a-zA-Z0-9'.,&#]([-a-zA-Z0-9'.,&# ])?)+$", - "nullable": true - }, - "unitPhone": { - "type": "object", - "nullable": true, - "additionalProperties": false, - "properties": { - "areaCode": { - "type": "string", - "nullable": true, - "maxLength": 3, - "pattern": "^$|^\\d{3}$", - "example": "555" - }, - "phoneNumber": { - "type": "string", - "nullable": true, - "maxLength": 20, - "example": "5555555" - } - } - }, - "receivingInactiveDutyTrainingPay": { - "type": "string", - "enum": [ - "YES", - "NO" - ], - "nullable": true, - "example": "YES" - } - } - }, - "alternateNames": { - "description": "List any other names under which the Veteran served, if applicable.", - "type": "array", - "nullable": true, - "maxItems": 100, - "uniqueItems": true, - "items": { - "type": "string", - "additionalProperties": false, - "examples": [ - "jane", - "janey lee", - "jane lee MacDonald" - ] - } - }, - "servedInActiveCombatSince911": { - "type": "string", - "enum": [ - "YES", - "NO" - ], - "description": "Did Veteran serve in a combat zone since 9-11-2001?", - "example": "YES", - "nullable": true - } - } - }, - "servicePay": { - "type": "object", - "nullable": true, - "additionalProperties": false, - "properties": { - "favorTrainingPay": { - "description": "Is the Veteran waiving VA benefits to retain training pay? See item 28 on form 21-526EZ for more details. ", - "type": "boolean", - "nullable": true, - "example": true, - "default": false - }, - "favorMilitaryRetiredPay": { - "description": "Is the Veteran waiving VA benefits to retain military retired pay? See item 26 on form 21-526EZ for more details.", - "type": "boolean", - "nullable": true, - "example": true, - "default": false - }, - "receivingMilitaryRetiredPay": { - "description": "Is the Veteran receiving military retired pay?", - "type": "string", - "enum": [ - "YES", - "NO" - ], - "example": "YES", - "nullable": true - }, - "futureMilitaryRetiredPay": { - "description": "Will the Veteran receive military retired pay pay in future? \n If true, then 'futurePayExplanation' is required.", - "type": "string", - "enum": [ - "YES", - "NO" - ], - "example": "YES", - "nullable": true - }, - "futureMilitaryRetiredPayExplanation": { - "description": "Explains why future pay will be received.", - "type": "string", - "example": "Will be retiring soon.", - "nullable": true - }, - "militaryRetiredPay": { - "type": "object", - "nullable": true, - "description": "", - "properties": { - "branchOfService": { - "description": "Branch of service. The /service-branches endpoint on the [Benefits Reference Data API](https://developer.va.gov/explore/benefits/docs/benefits_reference_data?version=current) may be used to retrieve list of possible service branches.", - "type": "string", - "nullable": true, - "example": "Air Force" - }, - "monthlyAmount": { - "description": "Amount being received.", - "type": "number", - "nullable": true, - "minimum": 1, - "maximum": 999999, - "example": 100 - } - } - }, - "retiredStatus": { - "type": "string", - "nullable": true, - "description": "", - "enum": [ - "RETIRED", - "TEMPORARY_DISABILITY_RETIRED_LIST", - "PERMANENT_DISABILITY_RETIRED_LIST" - ] - }, - "receivedSeparationOrSeverancePay": { - "description": "Has the Veteran ever received separation pay, disability severance pay, or any other lump sum payment from their branch of service?", - "type": "string", - "enum": [ - "YES", - "NO" - ], - "example": "YES", - "nullable": true - }, - "separationSeverancePay": { - "type": "object", - "nullable": true, - "description": "", - "properties": { - "datePaymentReceived": { - "description": "Approximate date separation pay was received. \n Format can be either YYYY-MM-DD or YYYY-MM or YYYY", - "type": "string", - "pattern": "^(?:[0-9]{4})-(?:0[1-9]|1[0-2])-(?:0[1-9]|[1-2][0-9]|3[0-1])$|(?:[0-9]{4})$|(?:[0-9]{4})-(?:0[1-9]|1[0-2])$", - "example": "2018-03-02 or 2018-03 or 2018" - }, - "branchOfService": { - "description": "Branch of service. The /service-branches endpoint on the [Benefits Reference Data API](https://developer.va.gov/explore/benefits/docs/benefits_reference_data?version=current) may be used to retrieve list of possible service branches.", - "type": "string", - "nullable": true, - "example": "Air Force" - }, - "preTaxAmountReceived": { - "description": "Amount being received.", - "type": "number", - "nullable": true, - "minimum": 1, - "maximum": 999999, - "example": 100 - } - } - } - } - }, - "directDeposit": { - "type": "object", - "nullable": true, - "additionalProperties": false, - "description": "If direct deposit information is included, the following attributes are required: accountType, accountNumber, routingNumber.", - "properties": { - "accountType": { - "description": "Account type for the direct deposit.", - "type": "string", - "nullable": true, - "example": "CHECKING", - "enum": [ - "CHECKING", - "SAVINGS" - ] - }, - "accountNumber": { - "description": "Account number for the direct deposit.", - "pattern": "^(?:[a-zA-Z0-9]{4,17})?$", - "type": "string", - "nullable": true, - "example": "123123123123" - }, - "routingNumber": { - "description": "Routing number for the direct deposit.", - "type": "string", - "nullable": true, - "pattern": "^(?:\\d{9})?$", - "example": "123123123" - }, - "financialInstitutionName": { - "description": "Provide the name of the financial institution where the Veteran wants the direct deposit.", - "maxLength": 35, - "type": "string", - "nullable": true, - "example": "Some Bank" - }, - "noAccount": { - "type": "boolean", - "nullable": true, - "description": "Claimant certifies that they do not have an account with a financial institution or certified payment agent.", - "default": false - } - } - } - } - } - } - } - }, - "example": { - "data": { - "type": "form/526", - "attributes": { - "claimantCertification": true, - "claimProcessType": "STANDARD_CLAIM_PROCESS", - "veteranIdentification": { - "currentVaEmployee": false, - "mailingAddress": { - "addressLine1": "123 Main Street", - "addressLine2": "Unit 1", - "addressLine3": "Room 2", - "city": "Portland", - "country": "USA", - "zipFirstFive": "41726", - "zipLastFour": "1234", - "state": "OR" - }, - "serviceNumber": "123456789", - "emailAddress": { - "email": "valid@somedomain.com", - "agreeToEmailRelatedToClaim": true - }, - "veteranNumber": { - "telephone": "5555555555" - } - }, - "changeOfAddress": { - "dates": { - "beginDate": "2025-06-04", - "endDate": "2026-06-04" - }, - "typeOfAddressChange": "TEMPORARY", - "addressLine1": "456 Main Street", - "addressLine2": "Unit 3", - "addressLine3": "Room 4", - "city": "Atlanta", - "zipFirstFive": "42220", - "zipLastFour": "9897", - "state": "GA", - "country": "USA" - }, - "homeless": { - "pointOfContact": "John Doe", - "pointOfContactNumber": { - "telephone": "5555555555" - }, - "currentlyHomeless": { - "homelessSituationOptions": "OTHER", - "otherDescription": "Other living situation" - } - }, - "toxicExposure": { - "gulfWarHazardService": { - "servedInGulfWarHazardLocations": "YES", - "serviceDates": { - "beginDate": "1999-07", - "endDate": "2005-01" - } - }, - "herbicideHazardService": { - "servedInHerbicideHazardLocations": "YES", - "otherLocationsServed": "Guam", - "serviceDates": { - "beginDate": "2002-03", - "endDate": "2004-10" - } - }, - "additionalHazardExposures": { - "additionalExposures": [ - "ASBESTOS", - "SHIPBOARD_HAZARD_AND_DEFENSE" - ], - "specifyOtherExposures": "Other exposure details", - "exposureDates": { - "beginDate": "2011-07", - "endDate": "2013-10" - } - }, - "multipleExposures": [ - { - "exposureDates": { - "beginDate": "2012-12", - "endDate": "2013-07" - }, - "exposureLocation": "Guam", - "hazardExposedTo": "Hazard" - } - ] - }, - "disabilities": [ - { - "disabilityActionType": "NEW", - "name": "Hearing Loss", - "serviceRelevance": "Heavy equipment operator in service", - "approximateDate": "1988-07", - "isRelatedToToxicExposure": false, - "exposureOrEventOrInjury": "Noise" - } - ], - "treatments": [ - { - "treatedDisabilityNames": [ - "Hearing Loss" - ], - "center": { - "name": "Center One", - "state": "GA", - "city": "Decatur" - }, - "beginDate": "2009-04" - }, - { - "treatedDisabilityNames": [ - "Hearing Loss" - ], - "center": { - "name": "Center One", - "state": "GA", - "city": "Decatur" - }, - "beginDate": "2009-03" - } - ], - "serviceInformation": { - "servicePeriods": [ - { - "serviceBranch": "Air Force", - "activeDutyBeginDate": "2008-11-14", - "activeDutyEndDate": "2023-10-30", - "serviceComponent": "Active", - "separationLocationCode": "98282" - } - ], - "confinements": [ - { - "approximateBeginDate": "2016-06-11", - "approximateEndDate": "2016-09-11" - }, - { - "approximateBeginDate": "2019-06", - "approximateEndDate": "2019-07" - } - ], - "federalActivation": { - "anticipatedSeparationDate": "2023-12-03", - "activationDate": "2023-02-10" - }, - "reservesNationalGuardService": { - "obligationTermsOfService": { - "beginDate": "2016-11-24", - "endDate": "2017-11-17" - }, - "unitName": "National Guard Unit Name", - "unitAddress": "1243 pine court", - "component": "National Guard", - "unitPhone": { - "areaCode": "555", - "phoneNumber": "5555555" - }, - "receivingInactiveDutyTrainingPay": "YES" - }, - "servedInActiveCombatSince911": "NO" - }, - "servicePay": { - "favorTrainingPay": true, - "favorMilitaryRetiredPay": false, - "receivingMilitaryRetiredPay": "NO", - "futureMilitaryRetiredPay": "YES", - "futureMilitaryRetiredPayExplanation": "Explanation of future military retired pay", - "militaryRetiredPay": { - "branchOfService": "Army", - "monthlyAmount": 840.75 - }, - "retiredStatus": "PERMANENT_DISABILITY_RETIRED_LIST", - "receivedSeparationOrSeverancePay": "NO", - "separationSeverancePay": { - "datePaymentReceived": "2018-07-31", - "branchOfService": "Naval Academy", - "preTaxAmountReceived": 379.25 - } - }, - "directDeposit": { - "accountType": "CHECKING", - "accountNumber": "123123123123", - "routingNumber": "123456789", - "financialInstitutionName": "Chase", - "noAccount": false - } - } - } - } - } - } - }, - "required": true - } - } - }, - "/veterans/{veteranId}/526/validate": { - "post": { - "summary": "Validates a 526 claim form submission.", - "tags": [ - "Disability Compensation Claims" - ], - "operationId": "post526ClaimValidate", - "security": [ - { - "productionOauth": [ - "system/claim.read", - "system/claim.write" - ] - }, - { - "sandboxOauth": [ - "system/claim.read", - "system/claim.write" - ] - }, - { - "bearer_token": [ - - ] - } - ], - "description": "Validates a request for a disability compensation claim submission (21-526EZ).\nThis endpoint can be used to test the request parameters for your /526 submission.\n", - "parameters": [ - { - "name": "veteranId", - "in": "path", - "required": true, - "example": "1012667145V762142", - "description": "ID of Veteran", - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "Successful response with disability", - "content": { - "application/json": { - "example": { - "data": { - "type": "claims_api_auto_established_claim_validation", - "attributes": { - "status": "valid" - } - } - }, - "schema": { - "$schema": "http://json-schema.org/draft-04/schema#", - "type": "object", - "required": [ - "data" - ], - "properties": { - "data": { - "type": "object", - "additionalProperties": false, - "required": [ - "type", - "attributes" - ], - "properties": { - "type": { - "type": "string" - }, - "attributes": { - "type": "object", - "additionalProperties": false, - "required": [ - "status" - ], - "properties": { - "status": { - "type": "string", - "enum": [ - "valid" - ], - "description": "Return whether or not whether or not the payload is valid" - } - } - } - } - } - } - } - } - } - }, - "401": { - "description": "Unauthorized", - "content": { - "application/json": { - "example": { - "errors": [ - { - "title": "Not authorized", - "status": "401", - "detail": "Not authorized" - } - ] - }, - "schema": { - "required": [ - "errors" - ], - "properties": { - "errors": { - "type": "array", - "items": { - "additionalProperties": false, - "required": [ - "title", - "detail" - ], - "properties": { - "title": { - "type": "string", - "description": "HTTP error title" - }, - "detail": { - "type": "string", - "description": "HTTP error detail" - }, - "status": { - "type": "string", - "description": "HTTP error status code" - }, - "source": { - "type": "object", - "additionalProperties": false, - "description": "Source of error", - "properties": { - "pointer": { - "type": "string", - "description": "Pointer to source of error" - } - } - } - } - } - } - } - } - } - } - }, - "422": { - "description": "Unprocessable entity", - "content": { - "application/json": { - "example": { - "errors": [ - { - "title": "Unprocessable entity", - "detail": "The property / did not contain the required key claimProcessType", - "status": "422", - "source": { - "pointer": "data/attributes/" - } - }, - { - "title": "Unprocessable entity", - "detail": "The property / did not contain the required key disabilities", - "status": "422", - "source": { - "pointer": "data/attributes/" - } - }, - { - "title": "Unprocessable entity", - "detail": "The property / did not contain the required key serviceInformation", - "status": "422", - "source": { - "pointer": "data/attributes/" - } - }, - { - "title": "Unprocessable entity", - "detail": "The property / did not contain the required key veteranIdentification", - "status": "422", - "source": { - "pointer": "data/attributes/" - } - } - ] - }, - "schema": { - "required": [ - "errors" - ], - "properties": { - "errors": { - "type": "array", - "items": { - "additionalProperties": false, - "required": [ - "title", - "status", - "detail" - ], - "properties": { - "status": { - "type": "string", - "description": "HTTP error code" - }, - "detail": { - "type": "string", - "description": "HTTP error detail" - }, - "source": { - "type": "object", - "pointer": { - "type": "string" - } - }, - "title": { - "type": "string" - } - } - } - } - } - } - } - } - } - }, - "requestBody": { - "content": { - "application/json": { - "schema": { - "type": "object", - "required": [ - "data" - ], - "properties": { - "data": { - "type": "object", - "required": [ - "attributes", - null - ], - "properties": { - "attributes": { - "$schema": "http://json-schema.org/draft-07/schema#", - "description": "Claims API 526 Schema", - "type": "object", - "additionalProperties": false, - "required": [ - "claimantCertification", - "claimProcessType", - "disabilities", - "serviceInformation", - "veteranIdentification" - ], - "properties": { - "claimProcessType": { - "type": "string", - "description": "Select type of claim program/process that applies to the Veteran.", - "enum": [ - "STANDARD_CLAIM_PROCESS", - "FDC_PROGRAM", - "BDD_PROGRAM" - ] - }, - "claimantCertification": { - "type": "boolean", - "description": "Claimant certifies and authorizes release of information.", - "default": false - }, - "veteranIdentification": { - "type": "object", - "additionalProperties": false, - "required": [ - "mailingAddress" - ], - "properties": { - "currentVaEmployee": { - "type": "boolean", - "description": "Set to true if Veteran is a VA employee.", - "default": false, - "nullable": true - }, - "serviceNumber": { - "type": "string", - "description": "Service identification number", - "nullable": true - }, - "emailAddress": { - "description": "Information associated with the Veteran's email address.", - "type": "object", - "nullable": true, - "properties": { - "email": { - "type": "string", - "pattern": "^\\w+([\\.-]?\\w+)*@\\w+([\\.-]?\\w+)*(\\.\\w{2,3})+$", - "description": "The most current email address of the Veteran.", - "maxLength": 50, - "nullable": true - }, - "agreeToEmailRelatedToClaim": { - "type": "boolean", - "description": "Agreement to email information relating to this claim.", - "example": true, - "default": false, - "nullable": true - } - } - }, - "veteranNumber": { - "description": "If there is no phone number in VBMS for the Veteran, the exams will not be ordered. Including the phone number is recommended to avoid claim processing delays.", - "type": "object", - "nullable": true, - "properties": { - "telephone": { - "description": "Veteran's phone number.", - "type": "string", - "pattern": "^\\d{10}?$", - "example": "5555555", - "minLength": 10, - "maxLength": 10, - "nullable": true - }, - "internationalTelephone": { - "type": "string", - "description": "Veteran's international phone number.", - "example": "+44 20 1234 5678", - "nullable": true - } - } - }, - "mailingAddress": { - "type": "object", - "additionalProperties": false, - "required": [ - "addressLine1", - "city", - "state", - "zipFirstFive", - "country" - ], - "properties": { - "addressLine1": { - "description": "Address line 1 for the Veteran's current mailing address.", - "type": "string", - "pattern": "^([-a-zA-Z0-9'.,&#]([-a-zA-Z0-9'.,&# ])?)+$", - "maxLength": 20, - "example": "1234 Couch Street" - }, - "addressLine2": { - "description": "Address line 2 for the Veteran's current mailing address.", - "type": "string", - "pattern": "^([-a-zA-Z0-9'.,&#]([-a-zA-Z0-9'.,&# ])?)+$", - "maxLength": 20, - "example": "Unit 4", - "nullable": true - }, - "addressLine3": { - "description": "Address line 3 for the Veteran's current mailing address.", - "type": "string", - "pattern": "^([-a-zA-Z0-9'.,&#]([-a-zA-Z0-9'.,&# ])?)+$", - "maxLength": 20, - "example": "Room 1", - "nullable": true - }, - "city": { - "description": "City for the Veteran's current mailing address.", - "type": "string", - "pattern": "^([-a-zA-Z0-9'.#]([-a-zA-Z0-9'.# ])?)+$", - "example": "Portland" - }, - "country": { - "description": "Country for the Veteran's current mailing address. Must match the values returned by the /countries endpoint on the [Benefits Reference Data API](https://developer.va.gov/explore/benefits/docs/benefits_reference_data?version=current).", - "type": "string", - "example": "USA" - }, - "zipFirstFive": { - "description": "Zip code (First 5 digits) for the Veteran's current mailing address.", - "type": "string", - "pattern": "^\\d{5}?$", - "example": "12345" - }, - "zipLastFour": { - "description": "Zip code (Last 4 digits) for the Veteran's current mailing address.", - "type": "string", - "pattern": "^\\d{4}?$", - "example": "6789", - "nullable": true - }, - "state": { - "description": "State for the Veteran's current mailing address.", - "type": "string", - "pattern": "^[a-z,A-Z]{2}$", - "example": "OR" - } - } - } - } - }, - "changeOfAddress": { - "description": "If 'changeOfAddress' is included, the following attributes are required: 'typeOfAddressChange', 'dates.beginDate', 'addressLine1', 'city', 'state', 'country', 'zipFirstFive'.", - "type": "object", - "nullable": true, - "additionalProperties": false, - "properties": { - "dates": { - "type": "object", - "properties": { - "beginDate": { - "description": "Begin date for the Veteran's new address.", - "pattern": "^(?:[0-9]{4})-(?:0[1-9]|1[0-2])-(?:0[1-9]|[1-2][0-9]|3[0-1])$", - "type": "string", - "example": "2018-06-04" - }, - "endDate": { - "description": "Date in YYYY-MM-DD the changed address expires, if change is temporary.", - "type": "string", - "nullable": true, - "pattern": "^(?:[0-9]{4})-(?:0[1-9]|1[0-2])-(?:0[1-9]|[1-2][0-9]|3[0-1])$", - "example": "2018-06-04" - } - } - }, - "typeOfAddressChange": { - "description": "Temporary or Permanent change of address. If 'TEMPORARY', 'beginDate' and 'endDate' are required.", - "type": "string", - "enum": [ - "TEMPORARY", - "PERMANENT" - ], - "example": "PERMANENT" - }, - "addressLine1": { - "description": "Address line 1 for the Veteran's new address.", - "type": "string", - "pattern": "^$|^([-a-zA-Z0-9'.,&#]([-a-zA-Z0-9'.,&# ])?)+$", - "maxLength": 20, - "example": "1234 Couch Street" - }, - "addressLine2": { - "description": "Address line 2 for the Veteran's new address.", - "type": "string", - "maxLength": 20, - "example": "Unit 4", - "nullable": true - }, - "addressLine3": { - "description": "Address line 3 for the Veteran's new address.", - "type": "string", - "maxLength": 20, - "example": "Room 1", - "nullable": true - }, - "city": { - "description": "City for the Veteran's new address.", - "type": "string", - "pattern": "^$|^([-a-zA-Z0-9'.#]([-a-zA-Z0-9'.# ])?)+$", - "example": "Portland" - }, - "country": { - "description": "Country for the Veteran's new address. Value must match the values returned by the /countries endpoint on the [Benefits Reference Data API](https://developer.va.gov/explore/benefits/docs/benefits_reference_data?version=current).", - "type": "string", - "example": "USA" - }, - "zipFirstFive": { - "description": "Zip code (First 5 digits) for the Veteran's new address.", - "type": "string", - "pattern": "^$|^\\d{5}?$", - "example": "12345" - }, - "zipLastFour": { - "description": "Zip code (Last 4 digits) for the Veteran's new address.", - "type": "string", - "nullable": true, - "pattern": "^$|^\\d{4}?$", - "example": "6789" - }, - "state": { - "description": "State for the Veteran's new address.", - "type": "string", - "pattern": "^$|^[a-z,A-Z]{2}$", - "example": "OR" - } - } - }, - "homeless": { - "type": "object", - "nullable": true, - "additionalProperties": false, - "properties": { - "pointOfContact": { - "description": "Individual in direct contact with Veteran.", - "type": "string", - "nullable": true, - "minLength": 1, - "maxLength": 100, - "pattern": "^([-a-zA-Z0-9/']+( ?))*$", - "example": "Jane Doe" - }, - "pointOfContactNumber": { - "type": "object", - "nullable": true, - "additionalProperties": false, - "properties": { - "telephone": { - "description": "Primary phone of point of contact.", - "type": "string", - "pattern": "^\\d{10}?$", - "example": "5555555", - "minLength": 10, - "maxLength": 10, - "nullable": true - }, - "internationalTelephone": { - "description": "International phone of point of contact.", - "type": "string", - "example": "+44 20 1234 5678", - "nullable": true - } - } - }, - "currentlyHomeless": { - "type": "object", - "nullable": true, - "additionalProperties": false, - "properties": { - "homelessSituationOptions": { - "description": "Veteran's living situation.", - "type": "string", - "nullable": true, - "default": "other", - "enum": [ - "LIVING_IN_A_HOMELESS_SHELTER", - "NOT_CURRENTLY_IN_A_SHELTERED_ENVIRONMENT", - "STAYING_WITH_ANOTHER_PERSON", - "FLEEING_CURRENT_RESIDENCE", - "OTHER" - ], - "example": "FLEEING_CURRENT_RESIDENCE" - }, - "otherDescription": { - "description": "Explanation of living situation. Required if 'homelessSituationOptions' is 'OTHER'.", - "type": "string", - "nullable": true, - "maxLength": 500, - "example": "other living situation" - } - } - }, - "riskOfBecomingHomeless": { - "type": "object", - "nullable": true, - "additionalProperties": false, - "properties": { - "livingSituationOptions": { - "type": "string", - "nullable": true, - "default": "HOUSING_WILL_BE_LOST_IN_30_DAYS", - "enum": [ - "HOUSING_WILL_BE_LOST_IN_30_DAYS", - "LEAVING_PUBLICLY_FUNDED_SYSTEM_OF_CARE", - "OTHER" - ] - }, - "otherDescription": { - "description": "Explanation of living situation. Required if 'livingSituationOptions' is 'OTHER'.", - "type": "string", - "nullable": true, - "maxLength": 500, - "example": "other living situation" - } - } - } - } - }, - "toxicExposure": { - "type": "object", - "nullable": true, - "properties": { - "gulfWarHazardService": { - "type": "object", - "nullable": true, - "description": "Toxic exposure related to the Gulf war.", - "properties": { - "servedInGulfWarHazardLocations": { - "type": "string", - "description": "Set to true if the Veteran served in any of the following Gulf War hazard locations: Iraq; Kuwait; Saudi Arabia; the neutral zone between Iraq and Saudi Arabia; Bahrain; Qatar; the United Arab Emirates; Oman; Yemen; Lebanon; Somalia; Afghanistan; Israel; Egypt; Turkey; Syria; Jordan; Djibouti; Uzbekistan; the Gulf of Aden; the Gulf of Oman; the Persian Gulf; the Arabian Sea; and the Red Sea.", - "example": "YES", - "enum": [ - "NO", - "YES" - ], - "nullable": true - }, - "serviceDates": { - "type": "object", - "nullable": true, - "description": "Date range for when the exposure happened.", - "properties": { - "beginDate": { - "type": "string", - "nullable": true, - "description": "Approximate begin date for serving in Gulf War hazard location.", - "example": "2018-06 or 2018" - }, - "endDate": { - "type": "string", - "nullable": true, - "description": "Approximate end date for serving in Gulf War hazard location.", - "example": "2018-06 or 2018" - } - } - } - } - }, - "herbicideHazardService": { - "description": "Toxic exposure related to herbicide (Agent Orange) hazards.", - "type": "object", - "nullable": true, - "properties": { - "servedInHerbicideHazardLocations": { - "type": "string", - "description": "Set to true if the Veteran served in any of the following herbicide/Agent Orange locations: Republic of Vietnam to include the 12 nautical mile territorial waters; Thailand at any United States or Royal Thai base; Laos; Cambodia at Mimot or Krek; Kampong Cham Province; Guam or American Samoa; or in the territorial waters thereof; Johnston Atoll or a ship that called at Johnston Atoll; Korean demilitarized zone; aboard (to include repeated operations and maintenance with) a C-123 aircraft known to have been used to spray an herbicide agent (during service in the Air Force and Air Force Reserves).", - "example": "YES", - "enum": [ - "NO", - "YES" - ], - "nullable": true - }, - "otherLocationsServed": { - "type": "string", - "nullable": true, - "pattern": "^([-a-zA-Z0-9'.,&#]([-a-zA-Z0-9'.,&# ])?)+$", - "description": "Other location(s) where Veteran served." - }, - "serviceDates": { - "description": "Date range for exposure in herbicide hazard location.", - "type": "object", - "nullable": true, - "properties": { - "beginDate": { - "type": "string", - "nullable": true, - "description": "Approximate begin date for serving in herbicide location.", - "pattern": "^(?:19|20)[0-9][0-9]$|^(?:19|20)[0-9][0-9]-(0[1-9]|1[0-2])$", - "example": "2018-06 or 2018" - }, - "endDate": { - "type": "string", - "nullable": true, - "description": "Approximate end date for serving in herbicide location.", - "pattern": "^(?:19|20)[0-9][0-9]$|^(?:19|20)[0-9][0-9]-(0[1-9]|1[0-2])$", - "example": "2018-06 or 2018" - } - } - } - } - }, - "additionalHazardExposures": { - "type": "object", - "nullable": true, - "description": "Additional hazardous exposures.", - "properties": { - "additionalExposures": { - "description": "Additional exposure incidents.", - "type": "array", - "nullable": true, - "uniqueItems": true, - "items": { - "type": "string", - "additionalProperties": false, - "enum": [ - "ASBESTOS", - "MUSTARD_GAS", - "RADIATION", - "SHIPBOARD_HAZARD_AND_DEFENSE", - "MILITARY_OCCUPATIONAL_SPECIALTY_RELATED_TOXIN", - "CONTAMINATED_WATER_AT_CAMP_LEJEUNE", - "OTHER" - ] - } - }, - "specifyOtherExposures": { - "type": "string", - "nullable": true, - "pattern": "^([-a-zA-Z0-9'.,&#]([-a-zA-Z0-9'.,&# ])?)+$", - "description": "Exposure to asbestos." - }, - "exposureDates": { - "type": "object", - "nullable": true, - "description": "Date range for when the exposure happened.", - "properties": { - "beginDate": { - "type": "string", - "nullable": true, - "description": "Approximate begin date for exposure.", - "pattern": "^(?:19|20)[0-9][0-9]$|^(?:19|20)[0-9][0-9]-(0[1-9]|1[0-2])$", - "example": "2018-06 or 2018" - }, - "endDate": { - "type": "string", - "nullable": true, - "description": "Approximate end date for exposure.", - "pattern": "^(?:19|20)[0-9][0-9]$|^(?:19|20)[0-9][0-9]-(0[1-9]|1[0-2])$", - "example": "2018-06 or 2018" - } - } - } - } - }, - "multipleExposures": { - "type": "array", - "nullable": true, - "minItems": 1, - "uniqueItems": true, - "items": { - "type": "object", - "additionalProperties": false, - "properties": { - "exposureDates": { - "type": "object", - "nullable": true, - "description": "Date range for when the exposure happened.", - "properties": { - "beginDate": { - "type": "string", - "nullable": true, - "description": "Approximate begin date for exposure.", - "pattern": "^(?:19|20)[0-9][0-9]$|^(?:19|20)[0-9][0-9]-(0[1-9]|1[0-2])$", - "example": "2018-06 or 2018" - }, - "endDate": { - "type": "string", - "nullable": true, - "description": "Approximate end date for exposure.", - "pattern": "^(?:19|20)[0-9][0-9]$|^(?:19|20)[0-9][0-9]-(0[1-9]|1[0-2])$", - "example": "2018-06 or 2018" - } - } - }, - "exposureLocation": { - "type": "string", - "nullable": true, - "pattern": "^([-a-zA-Z0-9'.,&#]([-a-zA-Z0-9'.,&# ])?)+$", - "description": "Location where the exposure happened." - }, - "hazardExposedTo": { - "type": "string", - "nullable": true, - "pattern": "^([-a-zA-Z0-9'.,&#]([-a-zA-Z0-9'.,&# ])?)+$", - "description": "Hazard the Veteran was exposed to." - } - } - } - } - } - }, - "disabilities": { - "description": "Any current disabilities or symptoms the Veteran is claiming are related to their military service and/or are service-connected.", - "type": "array", - "minItems": 1, - "items": { - "type": "object", - "additionalProperties": false, - "required": [ - "disabilityActionType", - "name" - ], - "properties": { - "name": { - "description": "Name of the disability. The /disabilities endpoint on the [Benefits Reference Data API](https://developer.va.gov/explore/benefits/docs/benefits_reference_data?version=current) may be used to retrieve possible disability names.", - "type": "string", - "pattern": "^$|([a-zA-Z0-9\"\\/&\\(\\)\\-'.,# ]([a-zA-Z0-9(\\)\\-'.,# ])?)+$", - "example": "PTSD (post traumatic stress disorder)", - "maxLength": 255 - }, - "classificationCode": { - "type": "string", - "description": "Classification code for the associated body system. Must match an active code returned by the /disabilities endpoint on the [Benefits Reference Data API](https://developer.va.gov/explore/benefits/docs/benefits_reference_data?version=current).", - "example": "249470", - "nullable": true - }, - "serviceRelevance": { - "description": "Explanation of how the disability(ies) relates to the in-service event/exposure/injury. If the disabilityActionType is 'NEW', the serviceRelevance is required.", - "type": "string", - "nullable": true, - "example": "Heavy equipment operator in service." - }, - "approximateDate": { - "description": "Approximate date disability began. Date must be in the past. \n Format can be either YYYY-MM-DD or YYYY-MM or YYYY", - "type": "string", - "pattern": "^(?:[0-9]{4}(?:-(?!00)(?:0[1-9]|1[0-2])(?:-(?:0[1-9]|[1-2][0-9]|3[0-1]))?)?)$", - "example": "2018-03-02 or 2018-03 or 2018", - "nullable": true - }, - "ratedDisabilityId": { - "description": "When submitting a contention with action type 'INCREASE', the previously rated disability id may be included.", - "type": "string", - "example": "1100583", - "nullable": true - }, - "diagnosticCode": { - "description": "If the disabilityActionType is 'NONE' or 'INCREASE', the diagnosticCode should correspond to an existing rated disability.", - "type": "integer", - "example": 9999, - "nullable": true - }, - "disabilityActionType": { - "description": "Action type requested for the disability. If 'INCREASE' or 'NONE', then 'ratedDisabilityId' and 'diagnosticCode' should be included. 'NONE' should be used when including a secondary disability.", - "type": "string", - "enum": [ - "NONE", - "NEW", - "INCREASE" - ], - "example": "NEW" - }, - "secondaryDisabilities": { - "description": "If secondaryDisability is included, the following attributes are required: 'secondaryDisability.name', 'secondaryDisability.disabilityActionType' and 'secondaryDisability.serviceRelevance'", - "type": "array", - "items": { - "type": "object", - "additionalProperties": false, - "properties": { - "name": { - "description": "Name of the disability. The /disabilities endpoint on the [Benefits Reference Data API](https://developer.va.gov/explore/benefits/docs/benefits_reference_data?version=current) may be used to retrieve possible disability names.", - "type": "string", - "pattern": "^$|([a-zA-Z0-9\"\\/&\\(\\)\\-'.,# ]([a-zA-Z0-9(\\)\\-'.,# ])?)+$", - "example": "PTSD (post traumatic stress disorder)", - "maxLength": 255 - }, - "disabilityActionType": { - "description": "The status of the secondary disability.", - "type": "string", - "example": "SECONDARY", - "enum": [ - "SECONDARY" - ] - }, - "serviceRelevance": { - "description": "Explanation of how the disability(ies) relates to the in-service event/exposure/injury.", - "type": "string", - "nullable": true, - "example": "Heavy equipment operator in service." - }, - "classificationCode": { - "type": "string", - "description": "Classification code for the associated body system. Must match an active code returned by the /disabilities endpoint on the [Benefits Reference Data API](https://developer.va.gov/explore/benefits/docs/benefits_reference_data?version=current).", - "example": "249470", - "nullable": true - }, - "approximateDate": { - "description": "Approximate date disability began. Date must be in the past. \n Format can be either YYYY-MM-DD or YYYY-MM or YYYY", - "type": "string", - "pattern": "^(?:[0-9]{4}(?:-(?!00)(?:0[1-9]|1[0-2])(?:-(?:0[1-9]|[1-2][0-9]|3[0-1]))?)?)$", - "example": "2018-03-02 or 2018-03 or 2018", - "nullable": true - }, - "exposureOrEventOrInjury": { - "type": "string", - "description": "What caused the disability?", - "nullable": true, - "examples": [ - "Agent Orange", - "radiation", - "burn pits" - ] - } - } - } - }, - "isRelatedToToxicExposure": { - "type": "boolean", - "description": "Is the disability related to toxic exposures? If true, related 'toxicExposure' must be included.", - "example": true, - "default": false, - "nullable": true - }, - "exposureOrEventOrInjury": { - "type": "string", - "description": "What caused the disability?", - "nullable": true, - "examples": [ - "Agent Orange", - "radiation", - "burn pits" - ] - } - } - } - }, - "treatments": { - "description": "Identifies the Service Treatment information of the Veteran.", - "type": "array", - "nullable": true, - "uniqueItems": true, - "items": { - "type": "object", - "additionalProperties": false, - "properties": { - "beginDate": { - "description": "Begin date for treatment. If treatment began from 2005 to present, you do not need to provide dates. Each treatment begin date must be after the first 'servicePeriod.activeDutyBeginDate'.", - "type": "string", - "pattern": "^(?:19|20)[0-9][0-9]$|^(?:19|20)[0-9][0-9]-(0[1-9]|1[0-2])$", - "example": "2018-06 or 2018", - "nullable": true - }, - "treatedDisabilityNames": { - "description": "Name(s) of disabilities treated in this time frame. Name must match 'name' of a disability included on this claim.", - "type": "array", - "nullable": true, - "maxItems": 101, - "items": { - "type": "string", - "additionalProperties": false, - "example": [ - "PTSD (post traumatic stress disorder)", - "Trauma" - ] - } - }, - "center": { - "description": "VA Medical Center(s) and Department of Defense Military Treatment Facilities where the Veteran received treatment after discharge for any claimed disabilities.", - "type": "object", - "nullable": true, - "additionalProperties": false, - "properties": { - "name": { - "description": "Name of facility Veteran was treated in. The /treatment-centers endpoint on the [Benefits Reference Data API](https://developer.va.gov/explore/benefits/docs/benefits_reference_data?version=current) may be used to retrieve possible treatment center names.", - "type": "string", - "nullable": true, - "pattern": "^$|(?!(?: )$)([a-zA-Z0-9\"\\/&\\(\\)\\-'.,# ]([a-zA-Z0-9(\\)\\-'.,# ])?)+$", - "example": "Private Facility 2", - "maxLength": 100 - }, - "city": { - "description": "City of treatment facility.", - "type": "string", - "pattern": "^$|^([-a-zA-Z'.#]([-a-zA-Z'.# ])?)+$", - "example": "Portland", - "nullable": true - }, - "state": { - "description": "State of treatment facility.", - "type": "string", - "pattern": "^$|^[a-z,A-Z]{2}$", - "example": "OR", - "nullable": true - } - } - } - } - } - }, - "serviceInformation": { - "type": "object", - "additionalProperties": false, - "required": [ - "servicePeriods" - ], - "properties": { - "servicePeriods": { - "description": "Identifies the Service dates and Branch the Veteran served in.", - "type": "array", - "minItems": 1, - "uniqueItems": true, - "items": { - "type": "object", - "required": [ - "serviceBranch", - "serviceComponent" - ], - "properties": { - "serviceBranch": { - "description": "Branch of service during period. The /service-branches endpoint on the [Benefits Reference Data API](https://developer.va.gov/explore/benefits/docs/benefits_reference_data?version=current) may be used to retrieve list of possible service branches.", - "type": "string", - "example": "Air Force" - }, - "serviceComponent": { - "type": "string", - "description": "", - "enum": [ - "Active", - "Reserves", - "National Guard" - ] - }, - "activeDutyBeginDate": { - "description": "Date started active duty.", - "type": "string", - "nullable": true, - "pattern": "^(?:[0-9]{4})-(?:0[1-9]|1[0-2])-(?:0[1-9]|[1-2][0-9]|3[0-1])$", - "example": "2018-06-06" - }, - "activeDutyEndDate": { - "description": "Date completed active duty. If in the future, 'separationLocationCode' is required.", - "type": "string", - "nullable": true, - "pattern": "^(?:[0-9]{4})-(?:0[1-9]|1[0-2])-(?:0[1-9]|[1-2][0-9]|3[0-1])$", - "example": "2018-06-06" - }, - "separationLocationCode": { - "description": "Location code for the facility the Veteran plans to separate from. Required if 'servicePeriod.activeDutyEndDate' is in the future. Code must match the values returned by the /intake-sites endpoint on the [Benefits reference Data API](https://developer.va.gov/explore/benefits/docs/benefits_reference_data?version=current).", - "type": "string", - "nullable": true, - "example": "98283" - } - } - } - }, - "confinements": { - "type": "array", - "nullable": true, - "uniqueItems": true, - "items": { - "additionalProperties": false, - "type": "object", - "properties": { - "approximateBeginDate": { - "description": "The approximateBeginDate must be after the earliest servicePeriod activeDutyBeginDate.", - "type": "string", - "nullable": true, - "pattern": "^(?:[0-9]{4})-(?:0[1-9]|1[0-2])-(?:0[1-9]|[1-2][0-9]|3[0-1])$|(?:[0-9]{4})-(?:0[1-9]|1[0-2])$", - "example": "2018-06-06 or 2018-06" - }, - "approximateEndDate": { - "type": "string", - "nullable": true, - "pattern": "^(?:[0-9]{4})-(?:0[1-9]|1[0-2])-(?:0[1-9]|[1-2][0-9]|3[0-1])$|(?:[0-9]{4})-(?:0[1-9]|1[0-2])$", - "example": "2018-06-06 or 2018-06" - } - } - } - }, - "federalActivation": { - "type": "object", - "nullable": true, - "additionalProperties": false, - "properties": { - "anticipatedSeparationDate": { - "description": "Anticipated date of separation. Date must be in the future.", - "type": "string", - "pattern": "^(?:[0-9]{4})-(?:0[1-9]|1[0-2])-(?:0[1-9]|[1-2][0-9]|3[0-1])$", - "example": "2018-06-06", - "nullable": true - }, - "activationDate": { - "description": "Date cannot be in the future and must be after the earliest servicePeriod.activeDutyBeginDate.", - "type": "string", - "pattern": "^(?:[0-9]{4})-(?:0[1-9]|1[0-2])-(?:0[1-9]|[1-2][0-9]|3[0-1])$", - "example": "2018-06-06", - "nullable": true - } - } - }, - "reservesNationalGuardService": { - "type": "object", - "nullable": true, - "additionalProperties": false, - "properties": { - "obligationTermsOfService": { - "type": "object", - "nullable": true, - "description": "If 'obligationTermsOfService' is included, the following attributes are required: 'beginDate ' and 'endDate'.", - "additionalProperties": false, - "properties": { - "beginDate": { - "type": "string", - "nullable": true, - "pattern": "^(?:[0-9]{4})-(?:0[1-9]|1[0-2])-(?:0[1-9]|[1-2][0-9]|3[0-1])$", - "example": "2018-06-06" - }, - "endDate": { - "type": "string", - "nullable": true, - "pattern": "^(?:[0-9]{4})-(?:0[1-9]|1[0-2])-(?:0[1-9]|[1-2][0-9]|3[0-1])$", - "example": "2018-06-06" - } - } - }, - "component": { - "type": "string", - "nullable": true, - "description": "", - "enum": [ - "Reserves", - "National Guard" - ] - }, - "unitName": { - "type": "string", - "nullable": true, - "pattern": "^$|([a-zA-Z0-9\\-'.,# ][a-zA-Z0-9\\-'.,# ]?)*$" - }, - "unitAddress": { - "type": "string", - "pattern": "^$|^([-a-zA-Z0-9'.,&#]([-a-zA-Z0-9'.,&# ])?)+$", - "nullable": true - }, - "unitPhone": { - "type": "object", - "nullable": true, - "additionalProperties": false, - "properties": { - "areaCode": { - "type": "string", - "nullable": true, - "maxLength": 3, - "pattern": "^$|^\\d{3}$", - "example": "555" - }, - "phoneNumber": { - "type": "string", - "nullable": true, - "maxLength": 20, - "example": "5555555" - } - } - }, - "receivingInactiveDutyTrainingPay": { - "type": "string", - "enum": [ - "YES", - "NO" - ], - "nullable": true, - "example": "YES" - } - } - }, - "alternateNames": { - "description": "List any other names under which the Veteran served, if applicable.", - "type": "array", - "nullable": true, - "maxItems": 100, - "uniqueItems": true, - "items": { - "type": "string", - "additionalProperties": false, - "examples": [ - "jane", - "janey lee", - "jane lee MacDonald" - ] - } - }, - "servedInActiveCombatSince911": { - "type": "string", - "enum": [ - "YES", - "NO" - ], - "description": "Did Veteran serve in a combat zone since 9-11-2001?", - "example": "YES", - "nullable": true - } - } - }, - "servicePay": { - "type": "object", - "nullable": true, - "additionalProperties": false, - "properties": { - "favorTrainingPay": { - "description": "Is the Veteran waiving VA benefits to retain training pay? See item 28 on form 21-526EZ for more details. ", - "type": "boolean", - "nullable": true, - "example": true, - "default": false - }, - "favorMilitaryRetiredPay": { - "description": "Is the Veteran waiving VA benefits to retain military retired pay? See item 26 on form 21-526EZ for more details.", - "type": "boolean", - "nullable": true, - "example": true, - "default": false - }, - "receivingMilitaryRetiredPay": { - "description": "Is the Veteran receiving military retired pay?", - "type": "string", - "enum": [ - "YES", - "NO" - ], - "example": "YES", - "nullable": true - }, - "futureMilitaryRetiredPay": { - "description": "Will the Veteran receive military retired pay pay in future? \n If true, then 'futurePayExplanation' is required.", - "type": "string", - "enum": [ - "YES", - "NO" - ], - "example": "YES", - "nullable": true - }, - "futureMilitaryRetiredPayExplanation": { - "description": "Explains why future pay will be received.", - "type": "string", - "example": "Will be retiring soon.", - "nullable": true - }, - "militaryRetiredPay": { - "type": "object", - "nullable": true, - "description": "", - "properties": { - "branchOfService": { - "description": "Branch of service. The /service-branches endpoint on the [Benefits Reference Data API](https://developer.va.gov/explore/benefits/docs/benefits_reference_data?version=current) may be used to retrieve list of possible service branches.", - "type": "string", - "nullable": true, - "example": "Air Force" - }, - "monthlyAmount": { - "description": "Amount being received.", - "type": "number", - "nullable": true, - "minimum": 1, - "maximum": 999999, - "example": 100 - } - } - }, - "retiredStatus": { - "type": "string", - "nullable": true, - "description": "", - "enum": [ - "RETIRED", - "TEMPORARY_DISABILITY_RETIRED_LIST", - "PERMANENT_DISABILITY_RETIRED_LIST" - ] - }, - "receivedSeparationOrSeverancePay": { - "description": "Has the Veteran ever received separation pay, disability severance pay, or any other lump sum payment from their branch of service?", - "type": "string", - "enum": [ - "YES", - "NO" - ], - "example": "YES", - "nullable": true - }, - "separationSeverancePay": { - "type": "object", - "nullable": true, - "description": "", - "properties": { - "datePaymentReceived": { - "description": "Approximate date separation pay was received. \n Format can be either YYYY-MM-DD or YYYY-MM or YYYY", - "type": "string", - "pattern": "^(?:[0-9]{4})-(?:0[1-9]|1[0-2])-(?:0[1-9]|[1-2][0-9]|3[0-1])$|(?:[0-9]{4})$|(?:[0-9]{4})-(?:0[1-9]|1[0-2])$", - "example": "2018-03-02 or 2018-03 or 2018" - }, - "branchOfService": { - "description": "Branch of service. The /service-branches endpoint on the [Benefits Reference Data API](https://developer.va.gov/explore/benefits/docs/benefits_reference_data?version=current) may be used to retrieve list of possible service branches.", - "type": "string", - "nullable": true, - "example": "Air Force" - }, - "preTaxAmountReceived": { - "description": "Amount being received.", - "type": "number", - "nullable": true, - "minimum": 1, - "maximum": 999999, - "example": 100 - } - } - } - } - }, - "directDeposit": { - "type": "object", - "nullable": true, - "additionalProperties": false, - "description": "If direct deposit information is included, the following attributes are required: accountType, accountNumber, routingNumber.", - "properties": { - "accountType": { - "description": "Account type for the direct deposit.", - "type": "string", - "nullable": true, - "example": "CHECKING", - "enum": [ - "CHECKING", - "SAVINGS" - ] - }, - "accountNumber": { - "description": "Account number for the direct deposit.", - "pattern": "^(?:[a-zA-Z0-9]{4,17})?$", - "type": "string", - "nullable": true, - "example": "123123123123" - }, - "routingNumber": { - "description": "Routing number for the direct deposit.", - "type": "string", - "nullable": true, - "pattern": "^(?:\\d{9})?$", - "example": "123123123" - }, - "financialInstitutionName": { - "description": "Provide the name of the financial institution where the Veteran wants the direct deposit.", - "maxLength": 35, - "type": "string", - "nullable": true, - "example": "Some Bank" - }, - "noAccount": { - "type": "boolean", - "nullable": true, - "description": "Claimant certifies that they do not have an account with a financial institution or certified payment agent.", - "default": false - } - } - } - } - } - } - } - }, - "example": { - "data": { - "type": "form/526", - "attributes": { - "claimantCertification": true, - "claimProcessType": "STANDARD_CLAIM_PROCESS", - "veteranIdentification": { - "currentVaEmployee": false, - "mailingAddress": { - "addressLine1": "123 Main Street", - "addressLine2": "Unit 1", - "addressLine3": "Room 2", - "city": "Portland", - "country": "USA", - "zipFirstFive": "41726", - "zipLastFour": "1234", - "state": "OR" - }, - "serviceNumber": "123456789", - "emailAddress": { - "email": "valid@somedomain.com", - "agreeToEmailRelatedToClaim": true - }, - "veteranNumber": { - "telephone": "5555555555" - } - }, - "changeOfAddress": { - "dates": { - "beginDate": "2025-06-04", - "endDate": "2026-06-04" - }, - "typeOfAddressChange": "TEMPORARY", - "addressLine1": "456 Main Street", - "addressLine2": "Unit 3", - "addressLine3": "Room 4", - "city": "Atlanta", - "zipFirstFive": "42220", - "zipLastFour": "9897", - "state": "GA", - "country": "USA" - }, - "homeless": { - "pointOfContact": "John Doe", - "pointOfContactNumber": { - "telephone": "5555555555" - }, - "currentlyHomeless": { - "homelessSituationOptions": "OTHER", - "otherDescription": "Other living situation" - } - }, - "toxicExposure": { - "gulfWarHazardService": { - "servedInGulfWarHazardLocations": "YES", - "serviceDates": { - "beginDate": "1999-07", - "endDate": "2005-01" - } - }, - "herbicideHazardService": { - "servedInHerbicideHazardLocations": "YES", - "otherLocationsServed": "Guam", - "serviceDates": { - "beginDate": "2002-03", - "endDate": "2004-10" - } - }, - "additionalHazardExposures": { - "additionalExposures": [ - "ASBESTOS", - "SHIPBOARD_HAZARD_AND_DEFENSE" - ], - "specifyOtherExposures": "Other exposure details", - "exposureDates": { - "beginDate": "2011-07", - "endDate": "2013-10" - } - }, - "multipleExposures": [ - { - "exposureDates": { - "beginDate": "2012-12", - "endDate": "2013-07" - }, - "exposureLocation": "Guam", - "hazardExposedTo": "Hazard" - } - ] - }, - "disabilities": [ - { - "disabilityActionType": "NEW", - "name": "Hearing Loss", - "serviceRelevance": "Heavy equipment operator in service", - "approximateDate": "1988-07", - "isRelatedToToxicExposure": false, - "exposureOrEventOrInjury": "Noise" - } - ], - "treatments": [ - { - "treatedDisabilityNames": [ - "Hearing Loss" - ], - "center": { - "name": "Center One", - "state": "GA", - "city": "Decatur" - }, - "beginDate": "2009-04" - }, - { - "treatedDisabilityNames": [ - "Hearing Loss" - ], - "center": { - "name": "Center One", - "state": "GA", - "city": "Decatur" - }, - "beginDate": "2009-03" - } - ], - "serviceInformation": { - "servicePeriods": [ - { - "serviceBranch": "Air Force", - "activeDutyBeginDate": "2008-11-14", - "activeDutyEndDate": "2023-10-30", - "serviceComponent": "Active", - "separationLocationCode": "98282" - } - ], - "confinements": [ - { - "approximateBeginDate": "2016-06-11", - "approximateEndDate": "2016-09-11" - }, - { - "approximateBeginDate": "2019-06", - "approximateEndDate": "2019-07" - } - ], - "federalActivation": { - "anticipatedSeparationDate": "2023-12-03", - "activationDate": "2023-02-10" - }, - "reservesNationalGuardService": { - "obligationTermsOfService": { - "beginDate": "2016-11-24", - "endDate": "2017-11-17" - }, - "unitName": "National Guard Unit Name", - "unitAddress": "1243 pine court", - "component": "National Guard", - "unitPhone": { - "areaCode": "555", - "phoneNumber": "5555555" - }, - "receivingInactiveDutyTrainingPay": "YES" - }, - "servedInActiveCombatSince911": "NO" - }, - "servicePay": { - "favorTrainingPay": true, - "favorMilitaryRetiredPay": false, - "receivingMilitaryRetiredPay": "NO", - "futureMilitaryRetiredPay": "YES", - "futureMilitaryRetiredPayExplanation": "Explanation of future military retired pay", - "militaryRetiredPay": { - "branchOfService": "Army", - "monthlyAmount": 840.75 - }, - "retiredStatus": "PERMANENT_DISABILITY_RETIRED_LIST", - "receivedSeparationOrSeverancePay": "NO", - "separationSeverancePay": { - "datePaymentReceived": "2018-07-31", - "branchOfService": "Naval Academy", - "preTaxAmountReceived": 379.25 - } - }, - "directDeposit": { - "accountType": "CHECKING", - "accountNumber": "123123123123", - "routingNumber": "123456789", - "financialInstitutionName": "Chase", - "noAccount": false - } - } - } - } - } - } - }, - "required": true - } - } - }, - "/veterans/{veteranId}/526/{id}/attachments": { - "post": { - "summary": "Upload documents supporting a 526 claim", - "tags": [ - "Disability Compensation Claims" - ], - "operationId": "upload526Attachments", - "security": [ - { - "productionOauth": [ - "system/claim.read", - "system/claim.write" - ] - }, - { - "sandboxOauth": [ - "system/claim.read", - "system/claim.write" - ] - }, - { - "bearer_token": [ - - ] - } - ], - "description": "Uploads supporting documents related to a disability compensation claim. This endpoint accepts a document binary PDF as part of a multi-part payload.\n", - "parameters": [ - { - "name": "id", - "in": "path", - "required": true, - "description": "UUID given when Disability Claim was submitted", - "schema": { - "type": "string" - } - }, - { - "name": "veteranId", - "in": "path", - "required": true, - "example": "1012667145V762142", - "description": "ID of Veteran", - "schema": { - "type": "string" - } - } - ], - "responses": { - "202": { - "description": "upload response", - "content": { - "application/json": { - "example": { - "data": { - "id": "98dd5011-0ea9-4a52-9ac9-c771da355110", - "type": "forms/526", - "attributes": { - "veteran": { - "flashes": [ - "Hardship", - "Homeless" - ], - "currentlyVAEmployee": false, - "currentMailingAddress": { - "city": "Portland", - "country": "USA", - "zipFirstFive": "12345", - "addressLine1": "1234 Couch Street", - "addressLine2": "Apt. 22", - "type": "DOMESTIC", - "zipLastFour": "6789", - "state": "OR" - }, - "homelessness": { - "currentlyHomeless": { - "homelessSituationType": "fleeing", - "otherLivingSituation": "none" - }, - "pointOfContact": { - "pointOfContactName": "Firstname Lastname", - "primaryPhone": { - "areaCode": "123", - "phoneNumber": "5551234" - } - } - } - }, - "claimantCertification": true, - "disabilities": [ - { - "ratedDisabilityId": "1100583", - "diagnosticCode": 9999, - "disabilityActionType": "NEW", - "name": "PTSD (post traumatic stress disorder)", - "specialIssues": [ - "Fully Developed Claim", - "PTSD/2" - ], - "secondaryDisabilities": [ - { - "name": "PTSD personal trauma", - "disabilityActionType": "SECONDARY", - "serviceRelevance": "Caused by a service-connected disability\\nLengthy description" - } - ] - } - ], - "standardClaim": false, - "autoCestPDFGenerationDisabled": true, - "claimDate": "1990-01-03", - "applicationExpirationDate": "2055-08-28T19:53:45+00:00", - "serviceInformation": { - "servicePeriods": [ - { - "activeDutyEndDate": "1990-01-02", - "serviceBranch": "Air Force", - "activeDutyBeginDate": "1980-02-05" - }, - { - "activeDutyEndDate": "1999-01-01", - "serviceBranch": "Air Force", - "activeDutyBeginDate": "1990-04-05" - } - ], - "reservesNationalGuardService": { - "obligationTermOfServiceFromDate": "2000-01-01", - "obligationTermOfServiceToDate": "2000-01-02", - "unitName": "A name, with commas, and double spaces" - } - } - } - } - } - } - } - }, - "401": { - "description": "Unauthorized", - "content": { - "application/json": { - "example": { - "errors": [ - { - "title": "Not authorized", - "status": "401", - "detail": "Not authorized" - } - ] - }, - "schema": { - "required": [ - "errors" - ], - "properties": { - "errors": { - "type": "array", - "items": { - "additionalProperties": false, - "required": [ - "title", - "detail" - ], - "properties": { - "title": { - "type": "string", - "description": "HTTP error title" - }, - "detail": { - "type": "string", - "description": "HTTP error detail" - }, - "status": { - "type": "string", - "description": "HTTP error status code" - }, - "source": { - "type": "object", - "additionalProperties": false, - "description": "Source of error", - "properties": { - "pointer": { - "type": "string", - "description": "Pointer to source of error" - } - } - } - } - } - } - } - } - } - } - }, - "404": { - "description": "Resource not found", - "content": { - "application/json": { - "example": { - "errors": [ - { - "title": "Resource not found", - "status": "404", - "detail": "Resource not found", - "source": { - "pointer": "/modules/claims_api/app/controllers/claims_api/v2/veterans/disability_compensation_controller.rb:74:in `attachments'" - } - } - ] - }, - "schema": { - "required": [ - "errors" - ], - "properties": { - "errors": { - "type": "array", - "items": { - "additionalProperties": false, - "required": [ - "title", - "detail" - ], - "properties": { - "title": { - "type": "string", - "description": "HTTP error title" - }, - "detail": { - "type": "string", - "description": "HTTP error detail" - }, - "status": { - "type": "string", - "description": "HTTP error status code" - }, - "source": { - "type": "object", - "additionalProperties": false, - "description": "Source of error", - "properties": { - "pointer": { - "type": "string", - "description": "Pointer to source of error" - } - } - } - } - } - } - } - } - } - } - } - }, - "requestBody": { - "content": { - "multipart/form-data": { - "schema": { - "type": "object", - "properties": { - "attachment1": { - "type": "file", - "description": "Attachment contents. Must be provided in binary PDF or [base64 string](https://raw.githubusercontent.com/department-of-veterans-affairs/vets-api/master/modules/claims_api/spec/fixtures/base64pdf) format and less than 11 in x 11 in.\n" - }, - "attachment2": { - "type": "file", - "description": "Attachment contents. Must be provided in binary PDF or [base64 string](https://raw.githubusercontent.com/department-of-veterans-affairs/vets-api/master/modules/claims_api/spec/fixtures/base64pdf) format and less than 11 in x 11 in.\n" - } - } - } - } - } - } - } - }, - "/veterans/{veteranId}/526/generatePDF": { - "post": { - "summary": "Returns filled out 526EZ form as PDF", - "tags": [ - "Disability Compensation Claims" - ], - "operationId": "post526Pdf", - "security": [ - { - "productionOauth": [ - "system/claim.read", - "system/claim.write" - ] - }, - { - "sandboxOauth": [ - "system/claim.read", - "system/claim.write" - ] - }, - { - "bearer_token": [ - - ] - } - ], - "parameters": [ - { - "name": "veteranId", - "in": "path", - "required": true, - "example": "1012667145V762142", - "description": "ID of Veteran", - "schema": { - "type": "string" - } - } - ], - "description": "Returns a filled out 526EZ form for a disability compensation claim (21-526EZ).\n\nThis endpoint can be used to generate the PDF based on the request data in the case that the submission was not able to be successfully auto-established. The PDF can then be uploaded via the [Benefits Intake API](https://developer.va.gov/explore/api/benefits-intake) to digitally submit directly to the Veterans Benefits Administration's (VBA) claims intake process.\n", - "responses": { - "200": { - "description": "post pdf response", - "content": { - "application/json": { - "example": { - "data": { - "attributes": { - } - } - } - } - } - }, - "401": { - "description": "Unauthorized", - "content": { - "application/json": { - "example": { - "errors": [ - { - "title": "Not authorized", - "status": "401", - "detail": "Not authorized" - } - ] - } - } - } - } - }, - "requestBody": { - "content": { - "application/json": { - "schema": { - "type": "object", - "required": [ - "data" - ], - "properties": { - "data": { - "type": "object", - "required": [ - "attributes", - null - ], - "properties": { - "attributes": { - "$schema": "http://json-schema.org/draft-07/schema#", - "description": "Claims API 526 Schema", - "type": "object", - "additionalProperties": false, - "required": [ - "claimantCertification", - "claimProcessType", - "disabilities", - "serviceInformation", - "veteranIdentification" - ], - "properties": { - "claimProcessType": { - "type": "string", - "description": "Select type of claim program/process that applies to the Veteran.", - "enum": [ - "STANDARD_CLAIM_PROCESS", - "FDC_PROGRAM", - "BDD_PROGRAM" - ] - }, - "claimantCertification": { - "type": "boolean", - "description": "Claimant certifies and authorizes release of information.", - "default": false - }, - "veteranIdentification": { - "type": "object", - "additionalProperties": false, - "required": [ - "mailingAddress" - ], - "properties": { - "currentVaEmployee": { - "type": "boolean", - "description": "Set to true if Veteran is a VA employee.", - "default": false, - "nullable": true - }, - "serviceNumber": { - "type": "string", - "description": "Service identification number", - "nullable": true - }, - "emailAddress": { - "description": "Information associated with the Veteran's email address.", - "type": "object", - "nullable": true, - "properties": { - "email": { - "type": "string", - "pattern": "^\\w+([\\.-]?\\w+)*@\\w+([\\.-]?\\w+)*(\\.\\w{2,3})+$", - "description": "The most current email address of the Veteran.", - "maxLength": 50, - "nullable": true - }, - "agreeToEmailRelatedToClaim": { - "type": "boolean", - "description": "Agreement to email information relating to this claim.", - "example": true, - "default": false, - "nullable": true - } - } - }, - "veteranNumber": { - "description": "If there is no phone number in VBMS for the Veteran, the exams will not be ordered. Including the phone number is recommended to avoid claim processing delays.", - "type": "object", - "nullable": true, - "properties": { - "telephone": { - "description": "Veteran's phone number.", - "type": "string", - "pattern": "^\\d{10}?$", - "example": "5555555", - "minLength": 10, - "maxLength": 10, - "nullable": true - }, - "internationalTelephone": { - "type": "string", - "description": "Veteran's international phone number.", - "example": "+44 20 1234 5678", - "nullable": true - } - } - }, - "mailingAddress": { - "type": "object", - "additionalProperties": false, - "required": [ - "addressLine1", - "city", - "state", - "zipFirstFive", - "country" - ], - "properties": { - "addressLine1": { - "description": "Address line 1 for the Veteran's current mailing address.", - "type": "string", - "pattern": "^([-a-zA-Z0-9'.,&#]([-a-zA-Z0-9'.,&# ])?)+$", - "maxLength": 20, - "example": "1234 Couch Street" - }, - "addressLine2": { - "description": "Address line 2 for the Veteran's current mailing address.", - "type": "string", - "pattern": "^([-a-zA-Z0-9'.,&#]([-a-zA-Z0-9'.,&# ])?)+$", - "maxLength": 20, - "example": "Unit 4", - "nullable": true - }, - "addressLine3": { - "description": "Address line 3 for the Veteran's current mailing address.", - "type": "string", - "pattern": "^([-a-zA-Z0-9'.,&#]([-a-zA-Z0-9'.,&# ])?)+$", - "maxLength": 20, - "example": "Room 1", - "nullable": true - }, - "city": { - "description": "City for the Veteran's current mailing address.", - "type": "string", - "pattern": "^([-a-zA-Z0-9'.#]([-a-zA-Z0-9'.# ])?)+$", - "example": "Portland" - }, - "country": { - "description": "Country for the Veteran's current mailing address. Must match the values returned by the /countries endpoint on the [Benefits Reference Data API](https://developer.va.gov/explore/benefits/docs/benefits_reference_data?version=current).", - "type": "string", - "example": "USA" - }, - "zipFirstFive": { - "description": "Zip code (First 5 digits) for the Veteran's current mailing address.", - "type": "string", - "pattern": "^\\d{5}?$", - "example": "12345" - }, - "zipLastFour": { - "description": "Zip code (Last 4 digits) for the Veteran's current mailing address.", - "type": "string", - "pattern": "^\\d{4}?$", - "example": "6789", - "nullable": true - }, - "state": { - "description": "State for the Veteran's current mailing address.", - "type": "string", - "pattern": "^[a-z,A-Z]{2}$", - "example": "OR" - } - } - } - } - }, - "changeOfAddress": { - "description": "If 'changeOfAddress' is included, the following attributes are required: 'typeOfAddressChange', 'dates.beginDate', 'addressLine1', 'city', 'state', 'country', 'zipFirstFive'.", - "type": "object", - "nullable": true, - "additionalProperties": false, - "properties": { - "dates": { - "type": "object", - "properties": { - "beginDate": { - "description": "Begin date for the Veteran's new address.", - "pattern": "^(?:[0-9]{4})-(?:0[1-9]|1[0-2])-(?:0[1-9]|[1-2][0-9]|3[0-1])$", - "type": "string", - "example": "2018-06-04" - }, - "endDate": { - "description": "Date in YYYY-MM-DD the changed address expires, if change is temporary.", - "type": "string", - "nullable": true, - "pattern": "^(?:[0-9]{4})-(?:0[1-9]|1[0-2])-(?:0[1-9]|[1-2][0-9]|3[0-1])$", - "example": "2018-06-04" - } - } - }, - "typeOfAddressChange": { - "description": "Temporary or Permanent change of address. If 'TEMPORARY', 'beginDate' and 'endDate' are required.", - "type": "string", - "enum": [ - "TEMPORARY", - "PERMANENT" - ], - "example": "PERMANENT" - }, - "addressLine1": { - "description": "Address line 1 for the Veteran's new address.", - "type": "string", - "pattern": "^$|^([-a-zA-Z0-9'.,&#]([-a-zA-Z0-9'.,&# ])?)+$", - "maxLength": 20, - "example": "1234 Couch Street" - }, - "addressLine2": { - "description": "Address line 2 for the Veteran's new address.", - "type": "string", - "maxLength": 20, - "example": "Unit 4", - "nullable": true - }, - "addressLine3": { - "description": "Address line 3 for the Veteran's new address.", - "type": "string", - "maxLength": 20, - "example": "Room 1", - "nullable": true - }, - "city": { - "description": "City for the Veteran's new address.", - "type": "string", - "pattern": "^$|^([-a-zA-Z0-9'.#]([-a-zA-Z0-9'.# ])?)+$", - "example": "Portland" - }, - "country": { - "description": "Country for the Veteran's new address. Value must match the values returned by the /countries endpoint on the [Benefits Reference Data API](https://developer.va.gov/explore/benefits/docs/benefits_reference_data?version=current).", - "type": "string", - "example": "USA" - }, - "zipFirstFive": { - "description": "Zip code (First 5 digits) for the Veteran's new address.", - "type": "string", - "pattern": "^$|^\\d{5}?$", - "example": "12345" - }, - "zipLastFour": { - "description": "Zip code (Last 4 digits) for the Veteran's new address.", - "type": "string", - "nullable": true, - "pattern": "^$|^\\d{4}?$", - "example": "6789" - }, - "state": { - "description": "State for the Veteran's new address.", - "type": "string", - "pattern": "^$|^[a-z,A-Z]{2}$", - "example": "OR" - } - } - }, - "homeless": { - "type": "object", - "nullable": true, - "additionalProperties": false, - "properties": { - "pointOfContact": { - "description": "Individual in direct contact with Veteran.", - "type": "string", - "nullable": true, - "minLength": 1, - "maxLength": 100, - "pattern": "^([-a-zA-Z0-9/']+( ?))*$", - "example": "Jane Doe" - }, - "pointOfContactNumber": { - "type": "object", - "nullable": true, - "additionalProperties": false, - "properties": { - "telephone": { - "description": "Primary phone of point of contact.", - "type": "string", - "pattern": "^\\d{10}?$", - "example": "5555555", - "minLength": 10, - "maxLength": 10, - "nullable": true - }, - "internationalTelephone": { - "description": "International phone of point of contact.", - "type": "string", - "example": "+44 20 1234 5678", - "nullable": true - } - } - }, - "currentlyHomeless": { - "type": "object", - "nullable": true, - "additionalProperties": false, - "properties": { - "homelessSituationOptions": { - "description": "Veteran's living situation.", - "type": "string", - "nullable": true, - "default": "other", - "enum": [ - "LIVING_IN_A_HOMELESS_SHELTER", - "NOT_CURRENTLY_IN_A_SHELTERED_ENVIRONMENT", - "STAYING_WITH_ANOTHER_PERSON", - "FLEEING_CURRENT_RESIDENCE", - "OTHER" - ], - "example": "FLEEING_CURRENT_RESIDENCE" - }, - "otherDescription": { - "description": "Explanation of living situation. Required if 'homelessSituationOptions' is 'OTHER'.", - "type": "string", - "nullable": true, - "maxLength": 500, - "example": "other living situation" - } - } - }, - "riskOfBecomingHomeless": { - "type": "object", - "nullable": true, - "additionalProperties": false, - "properties": { - "livingSituationOptions": { - "type": "string", - "nullable": true, - "default": "HOUSING_WILL_BE_LOST_IN_30_DAYS", - "enum": [ - "HOUSING_WILL_BE_LOST_IN_30_DAYS", - "LEAVING_PUBLICLY_FUNDED_SYSTEM_OF_CARE", - "OTHER" - ] - }, - "otherDescription": { - "description": "Explanation of living situation. Required if 'livingSituationOptions' is 'OTHER'.", - "type": "string", - "nullable": true, - "maxLength": 500, - "example": "other living situation" - } - } - } - } - }, - "toxicExposure": { - "type": "object", - "nullable": true, - "properties": { - "gulfWarHazardService": { - "type": "object", - "nullable": true, - "description": "Toxic exposure related to the Gulf war.", - "properties": { - "servedInGulfWarHazardLocations": { - "type": "string", - "description": "Set to true if the Veteran served in any of the following Gulf War hazard locations: Iraq; Kuwait; Saudi Arabia; the neutral zone between Iraq and Saudi Arabia; Bahrain; Qatar; the United Arab Emirates; Oman; Yemen; Lebanon; Somalia; Afghanistan; Israel; Egypt; Turkey; Syria; Jordan; Djibouti; Uzbekistan; the Gulf of Aden; the Gulf of Oman; the Persian Gulf; the Arabian Sea; and the Red Sea.", - "example": "YES", - "enum": [ - "NO", - "YES" - ], - "nullable": true - }, - "serviceDates": { - "type": "object", - "nullable": true, - "description": "Date range for when the exposure happened.", - "properties": { - "beginDate": { - "type": "string", - "nullable": true, - "description": "Approximate begin date for serving in Gulf War hazard location.", - "example": "2018-06 or 2018" - }, - "endDate": { - "type": "string", - "nullable": true, - "description": "Approximate end date for serving in Gulf War hazard location.", - "example": "2018-06 or 2018" - } - } - } - } - }, - "herbicideHazardService": { - "description": "Toxic exposure related to herbicide (Agent Orange) hazards.", - "type": "object", - "nullable": true, - "properties": { - "servedInHerbicideHazardLocations": { - "type": "string", - "description": "Set to true if the Veteran served in any of the following herbicide/Agent Orange locations: Republic of Vietnam to include the 12 nautical mile territorial waters; Thailand at any United States or Royal Thai base; Laos; Cambodia at Mimot or Krek; Kampong Cham Province; Guam or American Samoa; or in the territorial waters thereof; Johnston Atoll or a ship that called at Johnston Atoll; Korean demilitarized zone; aboard (to include repeated operations and maintenance with) a C-123 aircraft known to have been used to spray an herbicide agent (during service in the Air Force and Air Force Reserves).", - "example": "YES", - "enum": [ - "NO", - "YES" - ], - "nullable": true - }, - "otherLocationsServed": { - "type": "string", - "nullable": true, - "pattern": "^([-a-zA-Z0-9'.,&#]([-a-zA-Z0-9'.,&# ])?)+$", - "description": "Other location(s) where Veteran served." - }, - "serviceDates": { - "description": "Date range for exposure in herbicide hazard location.", - "type": "object", - "nullable": true, - "properties": { - "beginDate": { - "type": "string", - "nullable": true, - "description": "Approximate begin date for serving in herbicide location.", - "pattern": "^(?:19|20)[0-9][0-9]$|^(?:19|20)[0-9][0-9]-(0[1-9]|1[0-2])$", - "example": "2018-06 or 2018" - }, - "endDate": { - "type": "string", - "nullable": true, - "description": "Approximate end date for serving in herbicide location.", - "pattern": "^(?:19|20)[0-9][0-9]$|^(?:19|20)[0-9][0-9]-(0[1-9]|1[0-2])$", - "example": "2018-06 or 2018" - } - } - } - } - }, - "additionalHazardExposures": { - "type": "object", - "nullable": true, - "description": "Additional hazardous exposures.", - "properties": { - "additionalExposures": { - "description": "Additional exposure incidents.", - "type": "array", - "nullable": true, - "uniqueItems": true, - "items": { - "type": "string", - "additionalProperties": false, - "enum": [ - "ASBESTOS", - "MUSTARD_GAS", - "RADIATION", - "SHIPBOARD_HAZARD_AND_DEFENSE", - "MILITARY_OCCUPATIONAL_SPECIALTY_RELATED_TOXIN", - "CONTAMINATED_WATER_AT_CAMP_LEJEUNE", - "OTHER" - ] - } - }, - "specifyOtherExposures": { - "type": "string", - "nullable": true, - "pattern": "^([-a-zA-Z0-9'.,&#]([-a-zA-Z0-9'.,&# ])?)+$", - "description": "Exposure to asbestos." - }, - "exposureDates": { - "type": "object", - "nullable": true, - "description": "Date range for when the exposure happened.", - "properties": { - "beginDate": { - "type": "string", - "nullable": true, - "description": "Approximate begin date for exposure.", - "pattern": "^(?:19|20)[0-9][0-9]$|^(?:19|20)[0-9][0-9]-(0[1-9]|1[0-2])$", - "example": "2018-06 or 2018" - }, - "endDate": { - "type": "string", - "nullable": true, - "description": "Approximate end date for exposure.", - "pattern": "^(?:19|20)[0-9][0-9]$|^(?:19|20)[0-9][0-9]-(0[1-9]|1[0-2])$", - "example": "2018-06 or 2018" - } - } - } - } - }, - "multipleExposures": { - "type": "array", - "nullable": true, - "minItems": 1, - "uniqueItems": true, - "items": { - "type": "object", - "additionalProperties": false, - "properties": { - "exposureDates": { - "type": "object", - "nullable": true, - "description": "Date range for when the exposure happened.", - "properties": { - "beginDate": { - "type": "string", - "nullable": true, - "description": "Approximate begin date for exposure.", - "pattern": "^(?:19|20)[0-9][0-9]$|^(?:19|20)[0-9][0-9]-(0[1-9]|1[0-2])$", - "example": "2018-06 or 2018" - }, - "endDate": { - "type": "string", - "nullable": true, - "description": "Approximate end date for exposure.", - "pattern": "^(?:19|20)[0-9][0-9]$|^(?:19|20)[0-9][0-9]-(0[1-9]|1[0-2])$", - "example": "2018-06 or 2018" - } - } - }, - "exposureLocation": { - "type": "string", - "nullable": true, - "pattern": "^([-a-zA-Z0-9'.,&#]([-a-zA-Z0-9'.,&# ])?)+$", - "description": "Location where the exposure happened." - }, - "hazardExposedTo": { - "type": "string", - "nullable": true, - "pattern": "^([-a-zA-Z0-9'.,&#]([-a-zA-Z0-9'.,&# ])?)+$", - "description": "Hazard the Veteran was exposed to." - } - } - } - } - } - }, - "disabilities": { - "description": "Any current disabilities or symptoms the Veteran is claiming are related to their military service and/or are service-connected.", - "type": "array", - "minItems": 1, - "items": { - "type": "object", - "additionalProperties": false, - "required": [ - "disabilityActionType", - "name" - ], - "properties": { - "name": { - "description": "Name of the disability. The /disabilities endpoint on the [Benefits Reference Data API](https://developer.va.gov/explore/benefits/docs/benefits_reference_data?version=current) may be used to retrieve possible disability names.", - "type": "string", - "pattern": "^$|([a-zA-Z0-9\"\\/&\\(\\)\\-'.,# ]([a-zA-Z0-9(\\)\\-'.,# ])?)+$", - "example": "PTSD (post traumatic stress disorder)", - "maxLength": 255 - }, - "classificationCode": { - "type": "string", - "description": "Classification code for the associated body system. Must match an active code returned by the /disabilities endpoint on the [Benefits Reference Data API](https://developer.va.gov/explore/benefits/docs/benefits_reference_data?version=current).", - "example": "249470", - "nullable": true - }, - "serviceRelevance": { - "description": "Explanation of how the disability(ies) relates to the in-service event/exposure/injury. If the disabilityActionType is 'NEW', the serviceRelevance is required.", - "type": "string", - "nullable": true, - "example": "Heavy equipment operator in service." - }, - "approximateDate": { - "description": "Approximate date disability began. Date must be in the past. \n Format can be either YYYY-MM-DD or YYYY-MM or YYYY", - "type": "string", - "pattern": "^(?:[0-9]{4}(?:-(?!00)(?:0[1-9]|1[0-2])(?:-(?:0[1-9]|[1-2][0-9]|3[0-1]))?)?)$", - "example": "2018-03-02 or 2018-03 or 2018", - "nullable": true - }, - "ratedDisabilityId": { - "description": "When submitting a contention with action type 'INCREASE', the previously rated disability id may be included.", - "type": "string", - "example": "1100583", - "nullable": true - }, - "diagnosticCode": { - "description": "If the disabilityActionType is 'NONE' or 'INCREASE', the diagnosticCode should correspond to an existing rated disability.", - "type": "integer", - "example": 9999, - "nullable": true - }, - "disabilityActionType": { - "description": "Action type requested for the disability. If 'INCREASE' or 'NONE', then 'ratedDisabilityId' and 'diagnosticCode' should be included. 'NONE' should be used when including a secondary disability.", - "type": "string", - "enum": [ - "NONE", - "NEW", - "INCREASE" - ], - "example": "NEW" - }, - "secondaryDisabilities": { - "description": "If secondaryDisability is included, the following attributes are required: 'secondaryDisability.name', 'secondaryDisability.disabilityActionType' and 'secondaryDisability.serviceRelevance'", - "type": "array", - "items": { - "type": "object", - "additionalProperties": false, - "properties": { - "name": { - "description": "Name of the disability. The /disabilities endpoint on the [Benefits Reference Data API](https://developer.va.gov/explore/benefits/docs/benefits_reference_data?version=current) may be used to retrieve possible disability names.", - "type": "string", - "pattern": "^$|([a-zA-Z0-9\"\\/&\\(\\)\\-'.,# ]([a-zA-Z0-9(\\)\\-'.,# ])?)+$", - "example": "PTSD (post traumatic stress disorder)", - "maxLength": 255 - }, - "disabilityActionType": { - "description": "The status of the secondary disability.", - "type": "string", - "example": "SECONDARY", - "enum": [ - "SECONDARY" - ] - }, - "serviceRelevance": { - "description": "Explanation of how the disability(ies) relates to the in-service event/exposure/injury.", - "type": "string", - "nullable": true, - "example": "Heavy equipment operator in service." - }, - "classificationCode": { - "type": "string", - "description": "Classification code for the associated body system. Must match an active code returned by the /disabilities endpoint on the [Benefits Reference Data API](https://developer.va.gov/explore/benefits/docs/benefits_reference_data?version=current).", - "example": "249470", - "nullable": true - }, - "approximateDate": { - "description": "Approximate date disability began. Date must be in the past. \n Format can be either YYYY-MM-DD or YYYY-MM or YYYY", - "type": "string", - "pattern": "^(?:[0-9]{4}(?:-(?!00)(?:0[1-9]|1[0-2])(?:-(?:0[1-9]|[1-2][0-9]|3[0-1]))?)?)$", - "example": "2018-03-02 or 2018-03 or 2018", - "nullable": true - }, - "exposureOrEventOrInjury": { - "type": "string", - "description": "What caused the disability?", - "nullable": true, - "examples": [ - "Agent Orange", - "radiation", - "burn pits" - ] - } - } - } - }, - "isRelatedToToxicExposure": { - "type": "boolean", - "description": "Is the disability related to toxic exposures? If true, related 'toxicExposure' must be included.", - "example": true, - "default": false, - "nullable": true - }, - "exposureOrEventOrInjury": { - "type": "string", - "description": "What caused the disability?", - "nullable": true, - "examples": [ - "Agent Orange", - "radiation", - "burn pits" - ] - } - } - } - }, - "treatments": { - "description": "Identifies the Service Treatment information of the Veteran.", - "type": "array", - "nullable": true, - "uniqueItems": true, - "items": { - "type": "object", - "additionalProperties": false, - "properties": { - "beginDate": { - "description": "Begin date for treatment. If treatment began from 2005 to present, you do not need to provide dates. Each treatment begin date must be after the first 'servicePeriod.activeDutyBeginDate'.", - "type": "string", - "pattern": "^(?:19|20)[0-9][0-9]$|^(?:19|20)[0-9][0-9]-(0[1-9]|1[0-2])$", - "example": "2018-06 or 2018", - "nullable": true - }, - "treatedDisabilityNames": { - "description": "Name(s) of disabilities treated in this time frame. Name must match 'name' of a disability included on this claim.", - "type": "array", - "nullable": true, - "maxItems": 101, - "items": { - "type": "string", - "additionalProperties": false, - "example": [ - "PTSD (post traumatic stress disorder)", - "Trauma" - ] - } - }, - "center": { - "description": "VA Medical Center(s) and Department of Defense Military Treatment Facilities where the Veteran received treatment after discharge for any claimed disabilities.", - "type": "object", - "nullable": true, - "additionalProperties": false, - "properties": { - "name": { - "description": "Name of facility Veteran was treated in. The /treatment-centers endpoint on the [Benefits Reference Data API](https://developer.va.gov/explore/benefits/docs/benefits_reference_data?version=current) may be used to retrieve possible treatment center names.", - "type": "string", - "nullable": true, - "pattern": "^$|(?!(?: )$)([a-zA-Z0-9\"\\/&\\(\\)\\-'.,# ]([a-zA-Z0-9(\\)\\-'.,# ])?)+$", - "example": "Private Facility 2", - "maxLength": 100 - }, - "city": { - "description": "City of treatment facility.", - "type": "string", - "pattern": "^$|^([-a-zA-Z'.#]([-a-zA-Z'.# ])?)+$", - "example": "Portland", - "nullable": true - }, - "state": { - "description": "State of treatment facility.", - "type": "string", - "pattern": "^$|^[a-z,A-Z]{2}$", - "example": "OR", - "nullable": true - } - } - } - } - } - }, - "serviceInformation": { - "type": "object", - "additionalProperties": false, - "required": [ - "servicePeriods" - ], - "properties": { - "servicePeriods": { - "description": "Identifies the Service dates and Branch the Veteran served in.", - "type": "array", - "minItems": 1, - "uniqueItems": true, - "items": { - "type": "object", - "required": [ - "serviceBranch", - "serviceComponent" - ], - "properties": { - "serviceBranch": { - "description": "Branch of service during period. The /service-branches endpoint on the [Benefits Reference Data API](https://developer.va.gov/explore/benefits/docs/benefits_reference_data?version=current) may be used to retrieve list of possible service branches.", - "type": "string", - "example": "Air Force" - }, - "serviceComponent": { - "type": "string", - "description": "", - "enum": [ - "Active", - "Reserves", - "National Guard" - ] - }, - "activeDutyBeginDate": { - "description": "Date started active duty.", - "type": "string", - "nullable": true, - "pattern": "^(?:[0-9]{4})-(?:0[1-9]|1[0-2])-(?:0[1-9]|[1-2][0-9]|3[0-1])$", - "example": "2018-06-06" - }, - "activeDutyEndDate": { - "description": "Date completed active duty. If in the future, 'separationLocationCode' is required.", - "type": "string", - "nullable": true, - "pattern": "^(?:[0-9]{4})-(?:0[1-9]|1[0-2])-(?:0[1-9]|[1-2][0-9]|3[0-1])$", - "example": "2018-06-06" - }, - "separationLocationCode": { - "description": "Location code for the facility the Veteran plans to separate from. Required if 'servicePeriod.activeDutyEndDate' is in the future. Code must match the values returned by the /intake-sites endpoint on the [Benefits reference Data API](https://developer.va.gov/explore/benefits/docs/benefits_reference_data?version=current).", - "type": "string", - "nullable": true, - "example": "98283" - } - } - } - }, - "confinements": { - "type": "array", - "nullable": true, - "uniqueItems": true, - "items": { - "additionalProperties": false, - "type": "object", - "properties": { - "approximateBeginDate": { - "description": "The approximateBeginDate must be after the earliest servicePeriod activeDutyBeginDate.", - "type": "string", - "nullable": true, - "pattern": "^(?:[0-9]{4})-(?:0[1-9]|1[0-2])-(?:0[1-9]|[1-2][0-9]|3[0-1])$|(?:[0-9]{4})-(?:0[1-9]|1[0-2])$", - "example": "2018-06-06 or 2018-06" - }, - "approximateEndDate": { - "type": "string", - "nullable": true, - "pattern": "^(?:[0-9]{4})-(?:0[1-9]|1[0-2])-(?:0[1-9]|[1-2][0-9]|3[0-1])$|(?:[0-9]{4})-(?:0[1-9]|1[0-2])$", - "example": "2018-06-06 or 2018-06" - } - } - } - }, - "federalActivation": { - "type": "object", - "nullable": true, - "additionalProperties": false, - "properties": { - "anticipatedSeparationDate": { - "description": "Anticipated date of separation. Date must be in the future.", - "type": "string", - "pattern": "^(?:[0-9]{4})-(?:0[1-9]|1[0-2])-(?:0[1-9]|[1-2][0-9]|3[0-1])$", - "example": "2018-06-06", - "nullable": true - }, - "activationDate": { - "description": "Date cannot be in the future and must be after the earliest servicePeriod.activeDutyBeginDate.", - "type": "string", - "pattern": "^(?:[0-9]{4})-(?:0[1-9]|1[0-2])-(?:0[1-9]|[1-2][0-9]|3[0-1])$", - "example": "2018-06-06", - "nullable": true - } - } - }, - "reservesNationalGuardService": { - "type": "object", - "nullable": true, - "additionalProperties": false, - "properties": { - "obligationTermsOfService": { - "type": "object", - "nullable": true, - "description": "If 'obligationTermsOfService' is included, the following attributes are required: 'beginDate ' and 'endDate'.", - "additionalProperties": false, - "properties": { - "beginDate": { - "type": "string", - "nullable": true, - "pattern": "^(?:[0-9]{4})-(?:0[1-9]|1[0-2])-(?:0[1-9]|[1-2][0-9]|3[0-1])$", - "example": "2018-06-06" - }, - "endDate": { - "type": "string", - "nullable": true, - "pattern": "^(?:[0-9]{4})-(?:0[1-9]|1[0-2])-(?:0[1-9]|[1-2][0-9]|3[0-1])$", - "example": "2018-06-06" - } - } - }, - "component": { - "type": "string", - "nullable": true, - "description": "", - "enum": [ - "Reserves", - "National Guard" - ] - }, - "unitName": { - "type": "string", - "nullable": true, - "pattern": "^$|([a-zA-Z0-9\\-'.,# ][a-zA-Z0-9\\-'.,# ]?)*$" - }, - "unitAddress": { - "type": "string", - "pattern": "^$|^([-a-zA-Z0-9'.,&#]([-a-zA-Z0-9'.,&# ])?)+$", - "nullable": true - }, - "unitPhone": { - "type": "object", - "nullable": true, - "additionalProperties": false, - "properties": { - "areaCode": { - "type": "string", - "nullable": true, - "maxLength": 3, - "pattern": "^$|^\\d{3}$", - "example": "555" - }, - "phoneNumber": { - "type": "string", - "nullable": true, - "maxLength": 20, - "example": "5555555" - } - } - }, - "receivingInactiveDutyTrainingPay": { - "type": "string", - "enum": [ - "YES", - "NO" - ], - "nullable": true, - "example": "YES" - } - } - }, - "alternateNames": { - "description": "List any other names under which the Veteran served, if applicable.", - "type": "array", - "nullable": true, - "maxItems": 100, - "uniqueItems": true, - "items": { - "type": "string", - "additionalProperties": false, - "examples": [ - "jane", - "janey lee", - "jane lee MacDonald" - ] - } - }, - "servedInActiveCombatSince911": { - "type": "string", - "enum": [ - "YES", - "NO" - ], - "description": "Did Veteran serve in a combat zone since 9-11-2001?", - "example": "YES", - "nullable": true - } - } - }, - "servicePay": { - "type": "object", - "nullable": true, - "additionalProperties": false, - "properties": { - "favorTrainingPay": { - "description": "Is the Veteran waiving VA benefits to retain training pay? See item 28 on form 21-526EZ for more details. ", - "type": "boolean", - "nullable": true, - "example": true, - "default": false - }, - "favorMilitaryRetiredPay": { - "description": "Is the Veteran waiving VA benefits to retain military retired pay? See item 26 on form 21-526EZ for more details.", - "type": "boolean", - "nullable": true, - "example": true, - "default": false - }, - "receivingMilitaryRetiredPay": { - "description": "Is the Veteran receiving military retired pay?", - "type": "string", - "enum": [ - "YES", - "NO" - ], - "example": "YES", - "nullable": true - }, - "futureMilitaryRetiredPay": { - "description": "Will the Veteran receive military retired pay pay in future? \n If true, then 'futurePayExplanation' is required.", - "type": "string", - "enum": [ - "YES", - "NO" - ], - "example": "YES", - "nullable": true - }, - "futureMilitaryRetiredPayExplanation": { - "description": "Explains why future pay will be received.", - "type": "string", - "example": "Will be retiring soon.", - "nullable": true - }, - "militaryRetiredPay": { - "type": "object", - "nullable": true, - "description": "", - "properties": { - "branchOfService": { - "description": "Branch of service. The /service-branches endpoint on the [Benefits Reference Data API](https://developer.va.gov/explore/benefits/docs/benefits_reference_data?version=current) may be used to retrieve list of possible service branches.", - "type": "string", - "nullable": true, - "example": "Air Force" - }, - "monthlyAmount": { - "description": "Amount being received.", - "type": "number", - "nullable": true, - "minimum": 1, - "maximum": 999999, - "example": 100 - } - } - }, - "retiredStatus": { - "type": "string", - "nullable": true, - "description": "", - "enum": [ - "RETIRED", - "TEMPORARY_DISABILITY_RETIRED_LIST", - "PERMANENT_DISABILITY_RETIRED_LIST" - ] - }, - "receivedSeparationOrSeverancePay": { - "description": "Has the Veteran ever received separation pay, disability severance pay, or any other lump sum payment from their branch of service?", - "type": "string", - "enum": [ - "YES", - "NO" - ], - "example": "YES", - "nullable": true - }, - "separationSeverancePay": { - "type": "object", - "nullable": true, - "description": "", - "properties": { - "datePaymentReceived": { - "description": "Approximate date separation pay was received. \n Format can be either YYYY-MM-DD or YYYY-MM or YYYY", - "type": "string", - "pattern": "^(?:[0-9]{4})-(?:0[1-9]|1[0-2])-(?:0[1-9]|[1-2][0-9]|3[0-1])$|(?:[0-9]{4})$|(?:[0-9]{4})-(?:0[1-9]|1[0-2])$", - "example": "2018-03-02 or 2018-03 or 2018" - }, - "branchOfService": { - "description": "Branch of service. The /service-branches endpoint on the [Benefits Reference Data API](https://developer.va.gov/explore/benefits/docs/benefits_reference_data?version=current) may be used to retrieve list of possible service branches.", - "type": "string", - "nullable": true, - "example": "Air Force" - }, - "preTaxAmountReceived": { - "description": "Amount being received.", - "type": "number", - "nullable": true, - "minimum": 1, - "maximum": 999999, - "example": 100 - } - } - } - } - }, - "directDeposit": { - "type": "object", - "nullable": true, - "additionalProperties": false, - "description": "If direct deposit information is included, the following attributes are required: accountType, accountNumber, routingNumber.", - "properties": { - "accountType": { - "description": "Account type for the direct deposit.", - "type": "string", - "nullable": true, - "example": "CHECKING", - "enum": [ - "CHECKING", - "SAVINGS" - ] - }, - "accountNumber": { - "description": "Account number for the direct deposit.", - "pattern": "^(?:[a-zA-Z0-9]{4,17})?$", - "type": "string", - "nullable": true, - "example": "123123123123" - }, - "routingNumber": { - "description": "Routing number for the direct deposit.", - "type": "string", - "nullable": true, - "pattern": "^(?:\\d{9})?$", - "example": "123123123" - }, - "financialInstitutionName": { - "description": "Provide the name of the financial institution where the Veteran wants the direct deposit.", - "maxLength": 35, - "type": "string", - "nullable": true, - "example": "Some Bank" - }, - "noAccount": { - "type": "boolean", - "nullable": true, - "description": "Claimant certifies that they do not have an account with a financial institution or certified payment agent.", - "default": false - } - } - } - } - } - } - } - }, - "example": { - "data": { - "type": "form/526", - "attributes": { - "claimantCertification": true, - "claimProcessType": "STANDARD_CLAIM_PROCESS", - "veteranIdentification": { - "currentVaEmployee": false, - "mailingAddress": { - "addressLine1": "123 Main Street", - "addressLine2": "Unit 1", - "addressLine3": "Room 2", - "city": "Portland", - "country": "USA", - "zipFirstFive": "41726", - "zipLastFour": "1234", - "state": "OR" - }, - "serviceNumber": "123456789", - "emailAddress": { - "email": "valid@somedomain.com", - "agreeToEmailRelatedToClaim": true - }, - "veteranNumber": { - "telephone": "5555555555" - } - }, - "changeOfAddress": { - "dates": { - "beginDate": "2025-06-04", - "endDate": "2026-06-04" - }, - "typeOfAddressChange": "TEMPORARY", - "addressLine1": "456 Main Street", - "addressLine2": "Unit 3", - "addressLine3": "Room 4", - "city": "Atlanta", - "zipFirstFive": "42220", - "zipLastFour": "9897", - "state": "GA", - "country": "USA" - }, - "homeless": { - "pointOfContact": "John Doe", - "pointOfContactNumber": { - "telephone": "5555555555" - }, - "currentlyHomeless": { - "homelessSituationOptions": "OTHER", - "otherDescription": "Other living situation" - } - }, - "toxicExposure": { - "gulfWarHazardService": { - "servedInGulfWarHazardLocations": "YES", - "serviceDates": { - "beginDate": "1999-07", - "endDate": "2005-01" - } - }, - "herbicideHazardService": { - "servedInHerbicideHazardLocations": "YES", - "otherLocationsServed": "Guam", - "serviceDates": { - "beginDate": "2002-03", - "endDate": "2004-10" - } - }, - "additionalHazardExposures": { - "additionalExposures": [ - "ASBESTOS", - "SHIPBOARD_HAZARD_AND_DEFENSE" - ], - "specifyOtherExposures": "Other exposure details", - "exposureDates": { - "beginDate": "2011-07", - "endDate": "2013-10" - } - }, - "multipleExposures": [ - { - "exposureDates": { - "beginDate": "2012-12", - "endDate": "2013-07" - }, - "exposureLocation": "Guam", - "hazardExposedTo": "Hazard" - } - ] - }, - "disabilities": [ - { - "disabilityActionType": "NEW", - "name": "Hearing Loss", - "serviceRelevance": "Heavy equipment operator in service", - "approximateDate": "1988-07", - "isRelatedToToxicExposure": false, - "exposureOrEventOrInjury": "Noise" - } - ], - "treatments": [ - { - "treatedDisabilityNames": [ - "Hearing Loss" - ], - "center": { - "name": "Center One", - "state": "GA", - "city": "Decatur" - }, - "beginDate": "2009-04" - }, - { - "treatedDisabilityNames": [ - "Hearing Loss" - ], - "center": { - "name": "Center One", - "state": "GA", - "city": "Decatur" - }, - "beginDate": "2009-03" - } - ], - "serviceInformation": { - "servicePeriods": [ - { - "serviceBranch": "Air Force", - "activeDutyBeginDate": "2008-11-14", - "activeDutyEndDate": "2023-10-30", - "serviceComponent": "Active", - "separationLocationCode": "98282" - } - ], - "confinements": [ - { - "approximateBeginDate": "2016-06-11", - "approximateEndDate": "2016-09-11" - }, - { - "approximateBeginDate": "2019-06", - "approximateEndDate": "2019-07" - } - ], - "federalActivation": { - "anticipatedSeparationDate": "2023-12-03", - "activationDate": "2023-02-10" - }, - "reservesNationalGuardService": { - "obligationTermsOfService": { - "beginDate": "2016-11-24", - "endDate": "2017-11-17" - }, - "unitName": "National Guard Unit Name", - "unitAddress": "1243 pine court", - "component": "National Guard", - "unitPhone": { - "areaCode": "555", - "phoneNumber": "5555555" - }, - "receivingInactiveDutyTrainingPay": "YES" - }, - "servedInActiveCombatSince911": "NO" - }, - "servicePay": { - "favorTrainingPay": true, - "favorMilitaryRetiredPay": false, - "receivingMilitaryRetiredPay": "NO", - "futureMilitaryRetiredPay": "YES", - "futureMilitaryRetiredPayExplanation": "Explanation of future military retired pay", - "militaryRetiredPay": { - "branchOfService": "Army", - "monthlyAmount": 840.75 - }, - "retiredStatus": "PERMANENT_DISABILITY_RETIRED_LIST", - "receivedSeparationOrSeverancePay": "NO", - "separationSeverancePay": { - "datePaymentReceived": "2018-07-31", - "branchOfService": "Naval Academy", - "preTaxAmountReceived": 379.25 - } - }, - "directDeposit": { - "accountType": "CHECKING", - "accountNumber": "123123123123", - "routingNumber": "123456789", - "financialInstitutionName": "Chase", - "noAccount": false - } - } - } - } - } - } - }, - "required": true - } - } - }, - "/veterans/{veteranId}/claims/{id}/5103": { - "post": { - "summary": "Submit Evidence Waiver 5103", - "tags": [ - "5103 Waiver" - ], - "operationId": "submitEvidenceWaiver5103", - "security": [ - { - "productionOauth": [ - "system/claim.write" - ] - }, - { - "sandboxOauth": [ - "system/claim.write" - ] - }, - { - "bearer_token": [ - - ] - } - ], - "description": "Submit Evidence Waiver 5103 for Veteran.", - "parameters": [ - { - "name": "id", - "in": "path", - "example": "1234", - "description": "The ID of the claim being requested", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "veteranId", - "in": "path", - "required": true, - "example": "1012667145V762142", - "description": "ID of Veteran", - "schema": { - "type": "string" - } - }, - { - "name": "sponsorIcn", - "in": "query", - "required": false, - "example": "1012861229V078999", - "description": "ICN of the veteran affiliated with the dependent", - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "Successful response", - "content": { - "application/json": { - "example": { - "success": true - }, - "schema": { - "type": "object", - "additionalProperties": true, - "properties": { - "success": { - "type": "boolean", - "example": "true" - } - } - } - } - } - }, - "401": { - "description": "Unauthorized", - "content": { - "application/json": { - "example": { - "errors": [ - { - "title": "Not authorized", - "detail": "Not authorized" - } - ] - }, - "schema": { - "required": [ - "errors" - ], - "properties": { - "errors": { - "type": "array", - "items": { - "additionalProperties": false, - "required": [ - "title", - "detail" - ], - "properties": { - "title": { - "type": "string", - "description": "HTTP error title" - }, - "detail": { - "type": "string", - "description": "HTTP error detail" - }, - "source": { - "type": "object", - "additionalProperties": false, - "description": "Source of error", - "properties": { - "pointer": { - "type": "string", - "description": "Pointer to source of error" - } - } - } - } - } - } - } - } - } - } - }, - "404": { - "description": "NotFound", - "content": { - "application/json": { - "example": { - "errors": [ - { - "title": "Resource not found", - "detail": "Claim not found" - } - ] - }, - "schema": { - "required": [ - "errors" - ], - "properties": { - "errors": { - "type": "array", - "items": { - "additionalProperties": false, - "required": [ - "title", - "detail" - ], - "properties": { - "title": { - "type": "string", - "description": "HTTP error title" - }, - "detail": { - "type": "string", - "description": "HTTP error detail" - }, - "source": { - "type": "object", - "additionalProperties": false, - "description": "Source of error", - "properties": { - "pointer": { - "type": "string", - "description": "Pointer to source of error" - } - } - } - } - } - } - } - } - } - } - } - } - } - }, - "/veterans/{veteranId}/intent-to-file/{type}": { - "get": { - "summary": "Returns last active Intent to File form submission for given 'type'.", - "tags": [ - "Intent to File" - ], - "operationId": "active0966itf", - "security": [ - { - "productionOauth": [ - "system/claim.read" - ] - }, - { - "sandboxOauth": [ - "system/claim.read" - ] - }, - { - "bearer_token": [ - - ] - } - ], - "description": "Returns Veteran's last active Intent to File submission for given benefit type.", - "parameters": [ - { - "name": "veteranId", - "in": "path", - "required": true, - "example": "1012667145V762142", - "description": "ID of Veteran", - "schema": { - "type": "string" - } - }, - { - "name": "type", - "in": "path", - "required": true, - "description": "Type of Intent to File to return. Available values - compensation, pension, survivor.", - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "Successful response with active Intent to File", - "content": { - "application/json": { - "example": { - "data": { - "id": "193685", - "type": "intent_to_file", - "attributes": { - "creationDate": "2021-03-16T19:15:21.000-05:00", - "expirationDate": "2022-03-16T19:15:20.000-05:00", - "type": "compensation", - "status": "active" - } - } - }, - "schema": { - "$schema": "http://json-schema.org/draft-04/schema#", - "required": [ - "data" - ], - "properties": { - "data": { - "type": "object", - "additionalProperties": false, - "required": [ - "id", - "type", - "attributes" - ], - "properties": { - "id": { - "type": "string", - "description": "Intent To File ID", - "example": "600131328" - }, - "type": { - "type": "string", - "example": "intent_to_file" - }, - "attributes": { - "required": [ - "creationDate", - "expirationDate", - "status", - "type" - ], - "properties": { - "creationDate": { - "type": "string", - "format": "date", - "description": "Date the Intent to File was received at the VA" - }, - "expirationDate": { - "type": "string", - "format": "date", - "description": "Date the Intent to File expires, this is 1 year from the createdDate" - }, - "status": { - "type": "string", - "description": "The status of the Intent to File", - "example": "active" - }, - "type": { - "type": "string", - "description": "The type of Intent to File filed.", - "example": "compensation" - } - } - } - } - } - } - } - } - } - }, - "401": { - "description": "Unauthorized", - "content": { - "application/json": { - "example": { - "errors": [ - { - "title": "Not authorized", - "detail": "Not authorized" - } - ] - }, - "schema": { - "required": [ - "errors" - ], - "properties": { - "errors": { - "type": "array", - "items": { - "additionalProperties": false, - "required": [ - "title", - "detail" - ], - "properties": { - "title": { - "type": "string", - "description": "HTTP error title" - }, - "detail": { - "type": "string", - "description": "HTTP error detail" - }, - "source": { - "type": "object", - "additionalProperties": false, - "description": "Source of error", - "properties": { - "pointer": { - "type": "string", - "description": "Pointer to source of error" - } - } - } - } - } - } - } - } - } - } - }, - "404": { - "description": "Resource not found", - "content": { - "application/json": { - "example": { - "errors": [ - { - "title": "Resource not found", - "detail": "No active 'C' intent to file found." - } - ] - }, - "schema": { - "required": [ - "errors" - ], - "properties": { - "errors": { - "type": "array", - "items": { - "additionalProperties": false, - "required": [ - "title", - "detail" - ], - "properties": { - "title": { - "type": "string", - "description": "HTTP error title" - }, - "detail": { - "type": "string", - "description": "HTTP error detail" - }, - "source": { - "type": "object", - "additionalProperties": false, - "description": "Source of error", - "properties": { - "pointer": { - "type": "string", - "description": "Pointer to source of error" - } - } - } - } - } - } - } - } - } - } - } - } - } - }, - "/veterans/{veteranId}/intent-to-file": { - "post": { - "summary": "Submit form 0966 Intent to File.", - "tags": [ - "Intent to File" - ], - "operationId": "post0966itf", - "security": [ - { - "productionOauth": [ - "system/claim.read", - "system/claim.write" - ] - }, - { - "sandboxOauth": [ - "system/claim.read", - "system/claim.write" - ] - }, - { - "bearer_token": [ - - ] - } - ], - "description": "Establishes an Intent to File for disability compensation, pension, and survivor claims.", - "parameters": [ - { - "name": "veteranId", - "in": "path", - "required": true, - "example": "1012667145V762142", - "description": "ID of Veteran", - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "0966 Response", - "content": { - "application/json": { - "example": { - "data": { - "id": "1", - "type": "intent_to_file", - "attributes": { - "creationDate": "2023-12-20", - "expirationDate": "2024-12-20", - "type": "compensation", - "status": "active" - } - } - }, - "schema": { - "$schema": "http://json-schema.org/draft-04/schema#", - "required": [ - "data" - ], - "properties": { - "data": { - "type": "object", - "additionalProperties": false, - "required": [ - "id", - "type", - "attributes" - ], - "properties": { - "id": { - "type": "string", - "description": "Intent To File ID", - "example": "600131328" - }, - "type": { - "type": "string", - "example": "intent_to_file" - }, - "attributes": { - "required": [ - "creationDate", - "expirationDate", - "status", - "type" - ], - "properties": { - "creationDate": { - "type": "string", - "format": "date", - "description": "Date the Intent to File was received at the VA" - }, - "expirationDate": { - "type": "string", - "format": "date", - "description": "Date the Intent to File expires, this is 1 year from the createdDate" - }, - "status": { - "type": "string", - "description": "The status of the Intent to File", - "example": "active" - }, - "type": { - "type": "string", - "description": "The type of Intent to File filed.", - "example": "compensation" - } - } - } - } - } - } - } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "example": { - "errors": [ - { - "title": "invalid value for type", - "detail": "some-invalid-value is not valid for type" - } - ] - }, - "schema": { - "required": [ - "errors" - ], - "properties": { - "errors": { - "type": "array", - "items": { - "additionalProperties": false, - "required": [ - "title", - "detail" - ], - "properties": { - "title": { - "type": "string", - "description": "HTTP error title" - }, - "detail": { - "type": "string", - "description": "HTTP error detail" - }, - "source": { - "type": "object", - "additionalProperties": false, - "description": "Source of error", - "properties": { - "pointer": { - "type": "string", - "description": "Pointer to source of error" - } - } - } - } - } - } - } - } - } - } - }, - "401": { - "description": "Unauthorized", - "content": { - "application/json": { - "example": { - "errors": [ - { - "title": "Not authorized", - "detail": "Not authorized" - } - ] - }, - "schema": { - "required": [ - "errors" - ], - "properties": { - "errors": { - "type": "array", - "items": { - "additionalProperties": false, - "required": [ - "title", - "detail" - ], - "properties": { - "title": { - "type": "string", - "description": "HTTP error title" - }, - "detail": { - "type": "string", - "description": "HTTP error detail" - }, - "source": { - "type": "object", - "additionalProperties": false, - "description": "Source of error", - "properties": { - "pointer": { - "type": "string", - "description": "Pointer to source of error" - } - } - } - } - } - } - } - } - } - } - }, - "422": { - "description": "Unprocessable entity", - "content": { - "application/json": { - "example": { - "errors": [ - { - "title": "Unprocessable Entity", - "detail": "Invalid claimantSsn parameter" - } - ] - }, - "schema": { - "required": [ - "errors" - ], - "properties": { - "errors": { - "type": "array", - "items": { - "additionalProperties": false, - "required": [ - "title", - "detail" - ], - "properties": { - "title": { - "type": "string", - "description": "HTTP error title" - }, - "detail": { - "type": "string", - "description": "HTTP error detail" - }, - "source": { - "type": "object", - "additionalProperties": false, - "description": "Source of error", - "properties": { - "pointer": { - "type": "string", - "description": "Pointer to source of error" - } - } - } - } - } - } - } - } - } - } - } - }, - "requestBody": { - "content": { - "application/json": { - "schema": { - "type": "object", - "required": [ - "data" - ], - "properties": { - "data": { - "type": "object", - "required": [ - "attributes" - ], - "properties": { - "attributes": { - "required": [ - "type" - ], - "properties": { - "type": { - "type": "string", - "example": "compensation", - "description": "Type of Intent To File being submitted. For type \"survivor\", the request must include claimantSsn and be made by a valid Veteran Representative. If the Representative is not a Veteran or a VA employee, this method is currently not available to them, and they should use the Benefits Intake API as an alternative.", - "enum": [ - "compensation", - "pension", - "survivor" - ] - }, - "claimantSsn": { - "type": "string", - "example": "001122334", - "description": "SSN of the Claimant." - } - }, - "example": { - "type": "compensation" - } - } - } - } - }, - "example": { - "data": { - "type": "intent_to_file", - "attributes": { - "type": "compensation" - } - } - } - } - } - }, - "required": true - } - } - }, - "/veterans/{veteranId}/intent-to-file/validate": { - "post": { - "summary": "Validate form 0966 Intent to File.", - "tags": [ - "Intent to File" - ], - "operationId": "validate0966itf", - "security": [ - { - "productionOauth": [ - "system/claim.read", - "system/claim.write" - ] - }, - { - "sandboxOauth": [ - "system/claim.read", - "system/claim.write" - ] - }, - { - "bearer_token": [ - - ] - } - ], - "description": "Validates an Intent to File for disability compensation, pension, and survivor claims.", - "parameters": [ - { - "name": "veteranId", - "in": "path", - "required": true, - "example": "1012667145V762142", - "description": "ID of Veteran", - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "0966 Response", - "content": { - "application/json": { - "example": { - "data": { - "type": "intent_to_file_validation", - "attributes": { - "status": "valid" - } - } - }, - "schema": { - "required": [ - "data" - ], - "properties": { - "data": { - "type": "object", - "additionalProperties": false, - "required": [ - "type", - "attributes" - ], - "properties": { - "type": { - "type": "string" - }, - "attributes": { - "type": "object", - "additionalProperties": false, - "required": [ - "status" - ], - "properties": { - "status": { - "type": "string", - "description": "The status of the Intent to File", - "enum": [ - "valid" - ] - } - } - } - } - } - } - } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "example": { - "errors": [ - { - "title": "invalid value for type", - "detail": "some-invalid-value is not valid for type" - } - ] - }, - "schema": { - "required": [ - "errors" - ], - "properties": { - "errors": { - "type": "array", - "items": { - "additionalProperties": false, - "required": [ - "title", - "detail" - ], - "properties": { - "title": { - "type": "string", - "description": "HTTP error title" - }, - "detail": { - "type": "string", - "description": "HTTP error detail" - }, - "source": { - "type": "object", - "additionalProperties": false, - "description": "Source of error", - "properties": { - "pointer": { - "type": "string", - "description": "Pointer to source of error" - } - } - } - } - } - } - } - } - } - } - }, - "401": { - "description": "Unauthorized", - "content": { - "application/json": { - "example": { - "errors": [ - { - "title": "Not authorized", - "detail": "Not authorized" - } - ] - }, - "schema": { - "required": [ - "errors" - ], - "properties": { - "errors": { - "type": "array", - "items": { - "additionalProperties": false, - "required": [ - "title", - "detail" - ], - "properties": { - "title": { - "type": "string", - "description": "HTTP error title" - }, - "detail": { - "type": "string", - "description": "HTTP error detail" - }, - "source": { - "type": "object", - "additionalProperties": false, - "description": "Source of error", - "properties": { - "pointer": { - "type": "string", - "description": "Pointer to source of error" - } - } - } - } - } - } - } - } - } - } - } - }, - "requestBody": { - "content": { - "application/json": { - "schema": { - "type": "object", - "required": [ - "data" - ], - "properties": { - "data": { - "type": "object", - "required": [ - "attributes" - ], - "properties": { - "attributes": { - "required": [ - "type" - ], - "properties": { - "type": { - "type": "string", - "example": "compensation", - "description": "Type of Intent To File being submitted. For type \"survivor\", the request must include claimantSsn and be made by a valid Veteran Representative. If the Representative is not a Veteran or a VA employee, this method is currently not available to them, and they should use the Benefits Intake API as an alternative.", - "enum": [ - "compensation", - "pension", - "survivor" - ] - }, - "claimantSsn": { - "type": "string", - "example": "001122334", - "description": "SSN of the Claimant." - } - }, - "example": { - "type": "compensation" - } - } - } - } - }, - "example": { - "data": { - "type": "intent_to_file", - "attributes": { - "type": "compensation" - } - } - } - } - } - }, - "required": true - } - } - }, - "/veterans/{veteranId}/power-of-attorney": { - "get": { - "summary": "Find current Power of Attorney for a Veteran.", - "tags": [ - "Power of Attorney" - ], - "operationId": "findPowerOfAttorney", - "security": [ - { - "productionOauth": [ - "system/claim.read", - "system/system/claim.write" - ] - }, - { - "sandboxOauth": [ - "system/claim.read", - "system/system/claim.write" - ] - }, - { - "bearer_token": [ - - ] - } - ], - "description": "Retrieves current Power of Attorney for Veteran.", - "parameters": [ - { - "name": "veteranId", - "in": "path", - "required": true, - "description": "ID of Veteran", - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "Successful response with a current Power of Attorney", - "content": { - "application/json": { - "example": { - "code": "A1Q", - "name": "Firstname Lastname", - "phone": { - "number": "555-555-5555" - }, - "type": "individual" - }, - "schema": { - "type": "object", - "additionalProperties": false, - "required": [ - "code" - ], - "properties": { - "code": { - "type": "string", - "description": "Power of Attorney Code currently assigned to Veteran" - }, - "name": { - "description": "Name of individual representative or organization", - "type": "string", - "nullable": true, - "example": "Jane Smith" - }, - "type": { - "description": "Type of representative, organization or individual", - "type": "string", - "nullable": true, - "example": "individual" - }, - "phone": { - "type": "object", - "additionalProperties": false, - "properties": { - "number": { - "description": "Phone number of representative. Can be organization or individual phone number.", - "type": "string", - "nullable": true, - "example": "555-555-5555" - } - } - } - } - } - } - } - }, - "204": { - "description": "Successful response with no current Power of Attorney", - "content": { - "application/json": { - "example": "" - } - } - }, - "401": { - "description": "Unauthorized", - "content": { - "application/json": { - "example": { - "errors": [ - { - "title": "Not authorized", - "detail": "Not authorized" - } - ] - }, - "schema": { - "required": [ - "errors" - ], - "properties": { - "errors": { - "type": "array", - "items": { - "additionalProperties": false, - "required": [ - "title", - "detail" - ], - "properties": { - "title": { - "type": "string", - "description": "HTTP error title" - }, - "detail": { - "type": "string", - "description": "HTTP error detail" - }, - "source": { - "type": "object", - "additionalProperties": false, - "description": "Source of error", - "properties": { - "pointer": { - "type": "string", - "description": "Pointer to source of error" - } - } - } - } - } - } - } - } - } - } - } - } - } - }, - "/veterans/{veteranId}/2122a/validate": { - "post": { - "summary": "Validates a 2122a form submission.", - "tags": [ - "Power of Attorney" - ], - "operationId": "post2122aValidate", - "security": [ - { - "productionOauth": [ - "system/claim.read", - "system/claim.write" - ] - }, - { - "sandboxOauth": [ - "system/claim.read", - "system/claim.write" - ] - }, - { - "bearer_token": [ - - ] - } - ], - "parameters": [ - { - "name": "veteranId", - "in": "path", - "required": true, - "example": "1012667145V762142", - "description": "ID of Veteran", - "schema": { - "type": "string" - } - } - ], - "description": "Validates a request appointing an individual as Power of Attorney (21-22a).\n", - "responses": { - "200": { - "description": "Valid request response" - }, - "401": { - "description": "Unauthorized" - } - } - } - }, - "/veterans/{veteranId}/2122a": { - "post": { - "summary": "Appoint an individual as Power of Attorney.", - "tags": [ - "Power of Attorney" - ], - "operationId": "post2122a", - "security": [ - { - "productionOauth": [ - "system/claim.read", - "system/claim.write" - ] - }, - { - "sandboxOauth": [ - "system/claim.read", - "system/claim.write" - ] - }, - { - "bearer_token": [ - - ] - } - ], - "parameters": [ - { - "name": "veteranId", - "in": "path", - "required": true, - "example": "1012667145V762142", - "description": "ID of Veteran", - "schema": { - "type": "string" - } - } - ], - "description": "Validates a request appointing an individual as Power of Attorney (21-22a).\n", - "responses": { - "200": { - "description": "Valid request response" - }, - "401": { - "description": "Unauthorized" - } - } - } - }, - "/veterans/{veteranId}/2122/validate": { - "post": { - "summary": "Validates a 2122 form submission.", - "tags": [ - "Power of Attorney" - ], - "operationId": "post2122Validate", - "security": [ - { - "productionOauth": [ - "system/claim.read", - "system/claim.write" - ] - }, - { - "sandboxOauth": [ - "system/claim.read", - "system/claim.write" - ] - }, - { - "bearer_token": [ - - ] - } - ], - "parameters": [ - { - "name": "veteranId", - "in": "path", - "required": true, - "example": "1012667145V762142", - "description": "ID of Veteran", - "schema": { - "type": "string" - } - } - ], - "description": "Validates a request appointing an organization as Power of Attorney (21-22).\n", - "responses": { - "200": { - "description": "Valid request response" - }, - "401": { - "description": "Unauthorized" - } - } - } - }, - "/veterans/{veteranId}/2122": { - "post": { - "summary": "Appoint an organization as Power of Attorney", - "tags": [ - "Power of Attorney" - ], - "operationId": "post2122", - "security": [ - { - "productionOauth": [ - "system/claim.read", - "system/claim.write" - ] - }, - { - "sandboxOauth": [ - "system/claim.read", - "system/claim.write" - ] - }, - { - "bearer_token": [ - - ] - } - ], - "parameters": [ - { - "name": "veteranId", - "in": "path", - "required": true, - "example": "1012667145V762142", - "description": "ID of Veteran", - "schema": { - "type": "string" - } - } - ], - "description": "Validates a request appointing an organization as Power of Attorney (21-22).\n", - "responses": { - "200": { - "description": "Valid request response" - }, - "401": { - "description": "Unauthorized" - } - } - } - }, - "/veterans/{veteranId}/power-of-attorney/{id}": { - "get": { - "summary": "Checks status of Power of Attorney appointment form submission", - "tags": [ - "Power of Attorney" - ], - "operationId": "getPowerOfAttorneyStatus", - "security": [ - { - "productionOauth": [ - "system/claim.read", - "system/claim.write" - ] - }, - { - "sandboxOauth": [ - "system/claim.read", - "system/claim.write" - ] - }, - { - "bearer_token": [ - - ] - } - ], - "parameters": [ - { - "name": "veteranId", - "in": "path", - "required": true, - "example": "1012667145V762142", - "description": "ID of Veteran", - "schema": { - "type": "string" - } - }, - { - "name": "id", - "in": "path", - "required": true, - "example": "12e13134-7229-4e44-90ae-bcea2a4525fa", - "description": "Power of Attorney appointment request id", - "schema": { - "type": "string" - } - } - ], - "description": "Gets the Power of Attorney appointment request status (21-22/21-22a)\n", - "responses": { - "200": { - "description": "Successful response" - }, - "401": { - "description": "Unauthorized" - } - } - } - } - }, - "servers": [ - { - "url": "https://sandbox-api.va.gov/services/claims/{version}", - "description": "VA.gov API sandbox environment", - "variables": { - "version": { - "default": "v2" - } - } - }, - { - "url": "https://api.va.gov/services/claims/{version}", - "description": "VA.gov API production environment", - "variables": { - "version": { - "default": "v2" - } - } - } - ] -} \ No newline at end of file diff --git a/rakelib/rswag.rake b/rakelib/rswag.rake index ce030b04aff..2d1a184fbae 100644 --- a/rakelib/rswag.rake +++ b/rakelib/rswag.rake @@ -33,16 +33,6 @@ end namespace :rswag do namespace :claims_api do - desc 'Generate rswag docs for claims_api' - task run: :environment do - ENV['PATTERN'] = 'modules/claims_api/spec/requests/**/*_spec.rb' - ENV['RAILS_MODULE'] = 'claims_api' - ENV['SWAGGER_DRY_RUN'] = '0' - Rake::Task['rswag:specs:swaggerize'].invoke - - %w[v1 v2].each { |version| format_for_swagger(version) } - end - desc 'Generate rswag docs by environment for the claims_api' task build: :environment do ENV['PATTERN'] = 'modules/claims_api/spec/requests/**/*_spec.rb' From 134aef5409f2bf0a799ce57ee877e8ffabecc8a0 Mon Sep 17 00:00:00 2001 From: Bryan Alexander Date: Wed, 17 Apr 2024 11:29:32 -0400 Subject: [PATCH 64/74] 80349: Drop pega_tables; Create table for ivc_champva_forms (#16367) --- db/migrate/20240416155611_drop_pega_tables.rb | 5 +++ ...20240416155705_create_ivc_champva_forms.rb | 18 +++++++++ db/schema.rb | 39 +++++++++---------- 3 files changed, 41 insertions(+), 21 deletions(-) create mode 100644 db/migrate/20240416155611_drop_pega_tables.rb create mode 100644 db/migrate/20240416155705_create_ivc_champva_forms.rb diff --git a/db/migrate/20240416155611_drop_pega_tables.rb b/db/migrate/20240416155611_drop_pega_tables.rb new file mode 100644 index 00000000000..91de41886dd --- /dev/null +++ b/db/migrate/20240416155611_drop_pega_tables.rb @@ -0,0 +1,5 @@ +class DropPegaTables < ActiveRecord::Migration[7.1] + def change + drop_table :pega_tables, if_exists: true + end +end diff --git a/db/migrate/20240416155705_create_ivc_champva_forms.rb b/db/migrate/20240416155705_create_ivc_champva_forms.rb new file mode 100644 index 00000000000..6033e53cd27 --- /dev/null +++ b/db/migrate/20240416155705_create_ivc_champva_forms.rb @@ -0,0 +1,18 @@ +class CreateIvcChampvaForms < ActiveRecord::Migration[7.1] + def change + create_table :ivc_champva_forms do |t| + t.string :email + t.string :first_name + t.string :last_name + t.string :form_number + t.string :file_name + t.uuid :form_uuid + t.string :s3_status + t.string :pega_status + + t.timestamps + end + + add_index :ivc_champva_forms, :email, unique: true + end +end \ No newline at end of file diff --git a/db/schema.rb b/db/schema.rb index b4e248bd815..35645d8e92c 100644 --- a/db/schema.rb +++ b/db/schema.rb @@ -10,7 +10,7 @@ # # It's strongly recommended that you check this file into your version control system. -ActiveRecord::Schema[7.1].define(version: 2024_04_11_235242) do +ActiveRecord::Schema[7.1].define(version: 2024_04_16_155705) do # These are extensions that must be enabled in order to support this database enable_extension "btree_gin" enable_extension "pg_stat_statements" @@ -272,8 +272,8 @@ t.index ["user_uuid"], name: "index_async_transactions_on_user_uuid" end - create_table "average_days_for_claim_completions", id: :serial, force: :cascade do |t| - t.float "average_days", null: false + create_table "average_days_for_claim_completions", force: :cascade do |t| + t.float "average_days" t.datetime "created_at", null: false t.datetime "updated_at", null: false end @@ -823,6 +823,20 @@ t.index ["edipi"], name: "index_invalid_letter_address_edipis_on_edipi" end + create_table "ivc_champva_forms", force: :cascade do |t| + t.string "email" + t.string "first_name" + t.string "last_name" + t.string "form_number" + t.string "file_name" + t.uuid "form_uuid" + t.string "s3_status" + t.string "pega_status" + t.datetime "created_at", null: false + t.datetime "updated_at", null: false + t.index ["email"], name: "index_ivc_champva_forms_on_email", unique: true + end + create_table "maintenance_windows", id: :serial, force: :cascade do |t| t.string "pagerduty_id" t.string "external_service" @@ -891,23 +905,6 @@ t.index ["va_profile_id", "dismissed"], name: "show_onsite_notifications_index" end - create_table "pega_tables", force: :cascade do |t| - t.uuid "uuid" - t.string "veteranfirstname" - t.string "veteranmiddlename" - t.string "veteranlastname" - t.string "applicantfirstname" - t.string "applicantmiddlename" - t.string "applicantlastname" - t.jsonb "response" - t.string "filenumber" - t.string "doctype" - t.datetime "date_created" - t.datetime "date_completed" - t.datetime "created_at", null: false - t.datetime "updated_at", null: false - end - create_table "pension_ipf_notifications", force: :cascade do |t| t.text "payload_ciphertext" t.text "encrypted_kms_key" @@ -979,7 +976,7 @@ t.string "type" t.text "form_ciphertext" t.text "encrypted_kms_key" - t.string "uploaded_forms", array: true + t.string "uploaded_forms", default: [], array: true t.datetime "itf_datetime", precision: nil t.index ["created_at", "type"], name: "index_saved_claims_on_created_at_and_type" t.index ["guid"], name: "index_saved_claims_on_guid", unique: true From 04b9ebf5879ff21243920c9ba2d47220d55a32a6 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 17 Apr 2024 12:45:15 -0400 Subject: [PATCH 65/74] Bump rspec-sidekiq from 4.1.0 to 4.2.0 (#16374) Bumps [rspec-sidekiq](https://github.com/wspurgin/rspec-sidekiq) from 4.1.0 to 4.2.0. - [Release notes](https://github.com/wspurgin/rspec-sidekiq/releases) - [Changelog](https://github.com/wspurgin/rspec-sidekiq/blob/main/CHANGES.md) - [Commits](https://github.com/wspurgin/rspec-sidekiq/compare/v4.1.0...v4.2.0) --- updated-dependencies: - dependency-name: rspec-sidekiq dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- Gemfile.lock | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index 464d2e167c6..36bdbc2b9bf 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -815,7 +815,7 @@ GEM psych (>= 4.0.0) redis (5.2.0) redis-client (>= 0.22.0) - redis-client (0.22.0) + redis-client (0.22.1) connection_pool redis-namespace (1.11.0) redis (>= 4) @@ -874,7 +874,7 @@ GEM rspec-support (~> 3.13) rspec-retry (0.6.2) rspec-core (> 3.3) - rspec-sidekiq (4.1.0) + rspec-sidekiq (4.2.0) rspec-core (~> 3.0) rspec-expectations (~> 3.0) rspec-mocks (~> 3.0) From fa3f42fabfab3f0318fe3e023dddf36a3d0aeab8 Mon Sep 17 00:00:00 2001 From: Khoa Nguyen <134089461+Khoa-V-Nguyen@users.noreply.github.com> Date: Wed, 17 Apr 2024 10:47:50 -0600 Subject: [PATCH 66/74] fix bug (#16381) Co-authored-by: khoa-v-nguyen --- .../ask_va_api/app/lib/ask_va_api/correspondences/creator.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/ask_va_api/app/lib/ask_va_api/correspondences/creator.rb b/modules/ask_va_api/app/lib/ask_va_api/correspondences/creator.rb index 09d91f58cda..8e22434a394 100644 --- a/modules/ask_va_api/app/lib/ask_va_api/correspondences/creator.rb +++ b/modules/ask_va_api/app/lib/ask_va_api/correspondences/creator.rb @@ -29,7 +29,7 @@ def default_service def post_data(payload: {}) endpoint = "inquiries/#{inquiry_id}/reply/new" - response = service.call(endpoint:, payload:) + response = service.call(endpoint:, method: :post, payload:) handle_response_data(response) end From adf8a662bc7bfb1c22fcc11dbbba9267d8a99e3d Mon Sep 17 00:00:00 2001 From: Eric Tillberg Date: Wed, 17 Apr 2024 13:38:08 -0400 Subject: [PATCH 67/74] Refactor uploads spec, simple forms (#16380) * Refactor uploads spec, simple forms * rubocop --- .../spec/requests/v1/uploads_spec.rb | 462 +++++++++--------- 1 file changed, 238 insertions(+), 224 deletions(-) diff --git a/modules/simple_forms_api/spec/requests/v1/uploads_spec.rb b/modules/simple_forms_api/spec/requests/v1/uploads_spec.rb index 7663eac253f..5c70fcf9c1b 100644 --- a/modules/simple_forms_api/spec/requests/v1/uploads_spec.rb +++ b/modules/simple_forms_api/spec/requests/v1/uploads_spec.rb @@ -31,92 +31,105 @@ ] describe '#submit' do - let(:metadata_file) { "#{file_seed}.SimpleFormsApi.metadata.json" } - let(:file_seed) { 'tmp/some-unique-simple-forms-file-seed' } + context 'going to Lighthouse Benefits Intake API' do + let(:metadata_file) { "#{file_seed}.SimpleFormsApi.metadata.json" } + let(:file_seed) { 'tmp/some-unique-simple-forms-file-seed' } - before { allow(Common::FileHelpers).to receive(:random_file_path).and_return(file_seed) } + before do + VCR.insert_cassette('lighthouse/benefits_intake/200_lighthouse_intake_upload_location') + VCR.insert_cassette('lighthouse/benefits_intake/200_lighthouse_intake_upload') + allow(Common::FileHelpers).to receive(:random_file_path).and_return(file_seed) + end - after { Common::FileHelpers.delete_file_if_exists(metadata_file) } + after do + VCR.eject_cassette('lighthouse/benefits_intake/200_lighthouse_intake_upload_location') + VCR.eject_cassette('lighthouse/benefits_intake/200_lighthouse_intake_upload') + Common::FileHelpers.delete_file_if_exists(metadata_file) + end - non_ivc_forms.each do |form| - fixture_path = Rails.root.join('modules', 'simple_forms_api', 'spec', 'fixtures', 'form_json', form) - data = JSON.parse(fixture_path.read) + non_ivc_forms.each do |form| + fixture_path = Rails.root.join('modules', 'simple_forms_api', 'spec', 'fixtures', 'form_json', form) + data = JSON.parse(fixture_path.read) - it 'makes the request' do - VCR.use_cassette('lighthouse/benefits_intake/200_lighthouse_intake_upload_location') do - VCR.use_cassette('lighthouse/benefits_intake/200_lighthouse_intake_upload') do - allow(SimpleFormsApiSubmission::MetadataValidator).to receive(:validate) + it 'makes the request' do + allow(SimpleFormsApiSubmission::MetadataValidator).to receive(:validate) - post '/simple_forms_api/v1/simple_forms', params: data + post '/simple_forms_api/v1/simple_forms', params: data - expect(SimpleFormsApiSubmission::MetadataValidator).to have_received(:validate) - expect(response).to have_http_status(:ok) - end + expect(SimpleFormsApiSubmission::MetadataValidator).to have_received(:validate) + expect(response).to have_http_status(:ok) + end + + it 'saves a FormSubmissionAttempt' do + allow(SimpleFormsApiSubmission::MetadataValidator).to receive(:validate) + + expect do + post '/simple_forms_api/v1/simple_forms', params: data + end.to change(FormSubmissionAttempt, :count).by(1) end end - it 'saves a FormSubmissionAttempt' do - VCR.use_cassette('lighthouse/benefits_intake/200_lighthouse_intake_upload_location') do - VCR.use_cassette('lighthouse/benefits_intake/200_lighthouse_intake_upload') do + authenticated_non_ivc_forms.each do |form| + fixture_path = Rails.root.join('modules', 'simple_forms_api', 'spec', 'fixtures', 'form_json', form) + data = JSON.parse(fixture_path.read) + + context 'authenticated user' do + before do + user = create(:user) + sign_in_as(user) + create(:in_progress_form, user_uuid: user.uuid, form_id: data['form_number']) + end + + it 'clears the InProgressForm' do allow(SimpleFormsApiSubmission::MetadataValidator).to receive(:validate) expect do post '/simple_forms_api/v1/simple_forms', params: data - end.to change(FormSubmissionAttempt, :count).by(1) + end.to change(InProgressForm, :count).by(-1) end end end - end - authenticated_non_ivc_forms.each do |form| - fixture_path = Rails.root.join('modules', 'simple_forms_api', 'spec', 'fixtures', 'form_json', form) - data = JSON.parse(fixture_path.read) + context 'request with intent to file' do + context 'authenticated' do + before do + sign_in + allow_any_instance_of(User).to receive(:icn).and_return('123498767V234859') + allow_any_instance_of(Auth::ClientCredentials::Service).to receive(:get_token).and_return('fake_token') + end - context 'authenticated user' do - before do - user = create(:user) - sign_in_as(user) - create(:in_progress_form, user_uuid: user.uuid, form_id: data['form_number']) - end + context 'third party' do + let(:expiration_date) { Time.zone.now } - it 'clears the InProgressForm' do - VCR.use_cassette('lighthouse/benefits_intake/200_lighthouse_intake_upload_location') do - VCR.use_cassette('lighthouse/benefits_intake/200_lighthouse_intake_upload') do - allow(SimpleFormsApiSubmission::MetadataValidator).to receive(:validate) + before do + allow_any_instance_of(ActiveSupport::TimeZone).to receive(:now).and_return(expiration_date) + end + + %w[THIRD_PARTY_VETERAN THIRD_PARTY_SURVIVING_DEPENDENT].each do |identification| + it 'returns an expiration date' do + fixture_path = Rails.root.join('modules', 'simple_forms_api', 'spec', 'fixtures', 'form_json', + 'vba_21_0966.json') + data = JSON.parse(fixture_path.read) + data['preparer_identification'] = identification - expect do post '/simple_forms_api/v1/simple_forms', params: data - end.to change(InProgressForm, :count).by(-1) + + parsed_response_body = JSON.parse(response.body) + parsed_expiration_date = Time.zone.parse(parsed_response_body['expiration_date']) + expect(parsed_expiration_date.to_s).to eq (expiration_date + 1.year).to_s + end end end end - end - end - ivc_forms.each do |form| - fixture_path = Rails.root.join('modules', 'simple_forms_api', 'spec', 'fixtures', 'form_json', form) - data = JSON.parse(fixture_path.read) - - it 'uploads a PDF file to S3' do - allow(SimpleFormsApiSubmission::MetadataValidator).to receive(:validate) - allow_any_instance_of(Aws::S3::Client).to receive(:put_object).and_return(true) - - post '/simple_forms_api/v1/simple_forms', params: data - - expect(response).to have_http_status(:ok) - end - end - - describe 'request with intent to file unauthenticated' do - let(:expiration_date) { Time.zone.now } + context 'unauthenticated' do + let(:expiration_date) { Time.zone.now } - before do - allow_any_instance_of(ActiveSupport::TimeZone).to receive(:now).and_return(expiration_date) - end + before do + allow_any_instance_of(ActiveSupport::TimeZone).to receive(:now).and_return(expiration_date) + end - it 'returns an expiration date' do - VCR.use_cassette('lighthouse/benefits_intake/200_lighthouse_intake_upload_location') do - VCR.use_cassette('lighthouse/benefits_intake/200_lighthouse_intake_upload') do + it 'returns an expiration date' do fixture_path = Rails.root.join('modules', 'simple_forms_api', 'spec', 'fixtures', 'form_json', 'vba_21_0966.json') data = JSON.parse(fixture_path.read) @@ -129,112 +142,133 @@ end end end - end - describe 'authenticated' do - before do - sign_in - allow_any_instance_of(User).to receive(:icn).and_return('123498767V234859') - allow_any_instance_of(Auth::ClientCredentials::Service).to receive(:get_token).and_return('fake_token') - end - - describe 'request with intent to file' do - describe 'veteran' do - it 'makes the request with an intent to file' do - VCR.use_cassette('lighthouse/benefits_claims/intent_to_file/404_response') do - VCR.use_cassette('lighthouse/benefits_claims/intent_to_file/200_response_pension') do - VCR.use_cassette('lighthouse/benefits_claims/intent_to_file/200_response_survivor') do - VCR.use_cassette('lighthouse/benefits_claims/intent_to_file/create_compensation_200_response') do - fixture_path = Rails.root.join('modules', 'simple_forms_api', 'spec', 'fixtures', 'form_json', - 'vba_21_0966-min.json') - data = JSON.parse(fixture_path.read) - data['preparer_identification'] = 'VETERAN' - - post '/simple_forms_api/v1/simple_forms', params: data - - expect(response).to have_http_status(:ok) - end - end - end - end - end + context 'request with attached documents' do + it 'appends the attachments to the 40-0247 PDF' do + fixture_path = Rails.root.join('modules', 'simple_forms_api', 'spec', 'fixtures', 'form_json', + 'vba_40_0247_with_supporting_document.json') + pdf_path = Rails.root.join('spec', 'fixtures', 'files', 'doctors-note.pdf') + data = JSON.parse(fixture_path.read) + attachment = double + allow(attachment).to receive(:to_pdf).and_return(pdf_path) + + expect(PersistentAttachment).to receive(:where).with(guid: ['a-random-uuid']).and_return([attachment]) + + post '/simple_forms_api/v1/simple_forms', params: data + + expect(response).to have_http_status(:ok) end - describe 'third party' do - let(:expiration_date) { Time.zone.now } + it 'appends the attachments to the 40-10007 PDF' do + fixture_path = Rails.root.join('modules', 'simple_forms_api', 'spec', 'fixtures', 'form_json', + 'vba_40_10007_with_supporting_document.json') + pdf_path = Rails.root.join('spec', 'fixtures', 'files', 'doctors-note.pdf') + data = JSON.parse(fixture_path.read) + attachment = double + allow(attachment).to receive(:to_pdf).and_return(pdf_path) + expect(PersistentAttachment).to receive(:where).with(guid: ['a-random-uuid']).and_return([attachment]) + post '/simple_forms_api/v1/simple_forms', params: data + expect(response).to have_http_status(:ok) + end + end - before do - allow_any_instance_of(ActiveSupport::TimeZone).to receive(:now).and_return(expiration_date) - end + context 'LOA3 authenticated' do + before do + sign_in + allow_any_instance_of(User).to receive(:icn).and_return('123498767V234859') + allow_any_instance_of(Auth::ClientCredentials::Service).to receive(:get_token).and_return('fake_token') + end - %w[THIRD_PARTY_VETERAN THIRD_PARTY_SURVIVING_DEPENDENT].each do |identification| - it 'returns an expiration date' do - VCR.use_cassette('lighthouse/benefits_intake/200_lighthouse_intake_upload_location') do - VCR.use_cassette('lighthouse/benefits_intake/200_lighthouse_intake_upload') do - fixture_path = Rails.root.join('modules', 'simple_forms_api', 'spec', 'fixtures', 'form_json', - 'vba_21_0966.json') - data = JSON.parse(fixture_path.read) - data['preparer_identification'] = identification - - post '/simple_forms_api/v1/simple_forms', params: data - - parsed_response_body = JSON.parse(response.body) - parsed_expiration_date = Time.zone.parse(parsed_response_body['expiration_date']) - expect(parsed_expiration_date.to_s).to eq (expiration_date + 1.year).to_s - end - end - end - end + it 'stamps the LOA3 text on the PDF' do + fixture_path = Rails.root.join('modules', 'simple_forms_api', 'spec', 'fixtures', 'form_json', + 'vba_21_4142.json') + data = JSON.parse(fixture_path.read) + + allow(SimpleFormsApiSubmission::MetadataValidator).to receive(:validate) + expect_any_instance_of(SimpleFormsApi::PdfFiller).to receive(:generate).with(3) + + post '/simple_forms_api/v1/simple_forms', params: data end end - it 'stamps the LOA3 text on the PDF' do - VCR.use_cassette('lighthouse/benefits_intake/200_lighthouse_intake_upload_location') do - VCR.use_cassette('lighthouse/benefits_intake/200_lighthouse_intake_upload') do + context 'transliterating fields' do + context 'transliteration succeeds' do + it 'responds with ok' do fixture_path = Rails.root.join('modules', 'simple_forms_api', 'spec', 'fixtures', 'form_json', - 'vba_21_4142.json') + 'form_with_accented_chars_21_0966.json') data = JSON.parse(fixture_path.read) - allow(SimpleFormsApiSubmission::MetadataValidator).to receive(:validate) - expect_any_instance_of(SimpleFormsApi::PdfFiller).to receive(:generate).with(3) post '/simple_forms_api/v1/simple_forms', params: data + + expect(response).to have_http_status(:ok) end end - end - end - describe 'request with attached documents' do - it 'appends the attachments to the 40-0247 PDF' do - VCR.use_cassette('lighthouse/benefits_intake/200_lighthouse_intake_upload_location') do - VCR.use_cassette('lighthouse/benefits_intake/200_lighthouse_intake_upload') do + context 'transliteration fails' do + it 'responds with an error' do fixture_path = Rails.root.join('modules', 'simple_forms_api', 'spec', 'fixtures', 'form_json', - 'vba_40_0247_with_supporting_document.json') - pdf_path = Rails.root.join('spec', 'fixtures', 'files', 'doctors-note.pdf') + 'form_with_non_latin_chars_21_0966.json') data = JSON.parse(fixture_path.read) - attachment = double - allow(attachment).to receive(:to_pdf).and_return(pdf_path) - - expect(PersistentAttachment).to receive(:where).with(guid: ['a-random-uuid']).and_return([attachment]) post '/simple_forms_api/v1/simple_forms', params: data - expect(response).to have_http_status(:ok) + expect(response).to have_http_status(:error) + expect(response.body).to include('not compatible with the Windows-1252 character set') end end end + end - it 'appends the attachments to the 40-10007 PDF' do - VCR.use_cassette('lighthouse/benefits_intake/200_lighthouse_intake_upload_location') do - VCR.use_cassette('lighthouse/benefits_intake/200_lighthouse_intake_upload') do - fixture_path = Rails.root.join('modules', 'simple_forms_api', 'spec', 'fixtures', 'form_json', - 'vba_40_10007_with_supporting_document.json') - pdf_path = Rails.root.join('spec', 'fixtures', 'files', 'doctors-note.pdf') - data = JSON.parse(fixture_path.read) - attachment = double - allow(attachment).to receive(:to_pdf).and_return(pdf_path) - expect(PersistentAttachment).to receive(:where).with(guid: ['a-random-uuid']).and_return([attachment]) - post '/simple_forms_api/v1/simple_forms', params: data - expect(response).to have_http_status(:ok) + context 'going to S3' do + ivc_forms.each do |form| + fixture_path = Rails.root.join('modules', 'simple_forms_api', 'spec', 'fixtures', 'form_json', form) + data = JSON.parse(fixture_path.read) + + it 'uploads a PDF file to S3' do + allow(SimpleFormsApiSubmission::MetadataValidator).to receive(:validate) + allow_any_instance_of(Aws::S3::Client).to receive(:put_object).and_return(true) + + post '/simple_forms_api/v1/simple_forms', params: data + + expect(response).to have_http_status(:ok) + end + end + end + + context 'going to Lighthouse Benefits Claims API' do + before do + VCR.insert_cassette('lighthouse/benefits_claims/intent_to_file/404_response') + VCR.insert_cassette('lighthouse/benefits_claims/intent_to_file/200_response_pension') + VCR.insert_cassette('lighthouse/benefits_claims/intent_to_file/200_response_survivor') + VCR.insert_cassette('lighthouse/benefits_claims/intent_to_file/create_compensation_200_response') + end + + after do + VCR.eject_cassette('lighthouse/benefits_claims/intent_to_file/404_response') + VCR.eject_cassette('lighthouse/benefits_claims/intent_to_file/200_response_pension') + VCR.eject_cassette('lighthouse/benefits_claims/intent_to_file/200_response_survivor') + VCR.eject_cassette('lighthouse/benefits_claims/intent_to_file/create_compensation_200_response') + end + + context 'authenticated' do + before do + sign_in + allow_any_instance_of(User).to receive(:icn).and_return('123498767V234859') + allow_any_instance_of(Auth::ClientCredentials::Service).to receive(:get_token).and_return('fake_token') + end + + context 'request with intent to file' do + context 'veteran' do + it 'makes the request with an intent to file' do + fixture_path = Rails.root.join('modules', 'simple_forms_api', 'spec', 'fixtures', 'form_json', + 'vba_21_0966-min.json') + data = JSON.parse(fixture_path.read) + data['preparer_identification'] = 'VETERAN' + + post '/simple_forms_api/v1/simple_forms', params: data + + expect(response).to have_http_status(:ok) + end end end end @@ -368,37 +402,6 @@ end end end - - describe 'transliterating fields' do - context 'transliteration succeeds' do - it 'responds with ok' do - VCR.use_cassette('lighthouse/benefits_intake/200_lighthouse_intake_upload_location') do - VCR.use_cassette('lighthouse/benefits_intake/200_lighthouse_intake_upload') do - fixture_path = Rails.root.join('modules', 'simple_forms_api', 'spec', 'fixtures', 'form_json', - 'form_with_accented_chars_21_0966.json') - data = JSON.parse(fixture_path.read) - - post '/simple_forms_api/v1/simple_forms', params: data - - expect(response).to have_http_status(:ok) - end - end - end - end - - context 'transliteration fails' do - it 'responds with an error' do - fixture_path = Rails.root.join('modules', 'simple_forms_api', 'spec', 'fixtures', 'form_json', - 'form_with_non_latin_chars_21_0966.json') - data = JSON.parse(fixture_path.read) - - post '/simple_forms_api/v1/simple_forms', params: data - - expect(response).to have_http_status(:error) - expect(response.body).to include('not compatible with the Windows-1252 character set') - end - end - end end describe '#submit_supporting_documents' do @@ -429,80 +432,91 @@ describe '#get_intents_to_file' do before do + VCR.insert_cassette('lighthouse/benefits_claims/intent_to_file/404_response') + VCR.insert_cassette('lighthouse/benefits_claims/intent_to_file/404_response_pension') + VCR.insert_cassette('lighthouse/benefits_claims/intent_to_file/404_response_survivor') sign_in allow_any_instance_of(User).to receive(:icn).and_return('123498767V234859') allow_any_instance_of(Auth::ClientCredentials::Service).to receive(:get_token).and_return('fake_token') end + after do + VCR.eject_cassette('lighthouse/benefits_claims/intent_to_file/404_response') + VCR.eject_cassette('lighthouse/benefits_claims/intent_to_file/404_response_pension') + VCR.eject_cassette('lighthouse/benefits_claims/intent_to_file/404_response_survivor') + end + describe 'no intents on file' do it 'returns no intents' do - VCR.use_cassette('lighthouse/benefits_claims/intent_to_file/404_response') do - VCR.use_cassette('lighthouse/benefits_claims/intent_to_file/404_response_pension') do - VCR.use_cassette('lighthouse/benefits_claims/intent_to_file/404_response_survivor') do - get '/simple_forms_api/v1/simple_forms/get_intents_to_file' - - parsed_response = JSON.parse(response.body) - expect(parsed_response['compensation_intent']).to eq nil - expect(parsed_response['pension_intent']).to eq nil - expect(parsed_response['survivor_intent']).to eq nil - expect(response).to have_http_status(:ok) - end - end - end + get '/simple_forms_api/v1/simple_forms/get_intents_to_file' + + parsed_response = JSON.parse(response.body) + expect(parsed_response['compensation_intent']).to eq nil + expect(parsed_response['pension_intent']).to eq nil + expect(parsed_response['survivor_intent']).to eq nil + expect(response).to have_http_status(:ok) end end describe 'compensation intent on file' do + before do + VCR.insert_cassette('lighthouse/benefits_claims/intent_to_file/200_response') + end + + after do + VCR.eject_cassette('lighthouse/benefits_claims/intent_to_file/200_response') + end + it 'returns a compensation intent' do - VCR.use_cassette('lighthouse/benefits_claims/intent_to_file/200_response') do - VCR.use_cassette('lighthouse/benefits_claims/intent_to_file/404_response_pension') do - VCR.use_cassette('lighthouse/benefits_claims/intent_to_file/404_response_survivor') do - get '/simple_forms_api/v1/simple_forms/get_intents_to_file' - - parsed_response = JSON.parse(response.body) - expect(parsed_response['compensation_intent']['type']).to eq 'compensation' - expect(parsed_response['pension_intent']).to eq nil - expect(parsed_response['survivor_intent']).to eq nil - expect(response).to have_http_status(:ok) - end - end - end + get '/simple_forms_api/v1/simple_forms/get_intents_to_file' + + parsed_response = JSON.parse(response.body) + expect(parsed_response['compensation_intent']['type']).to eq 'compensation' + expect(parsed_response['pension_intent']).to eq nil + expect(parsed_response['survivor_intent']).to eq nil + expect(response).to have_http_status(:ok) end end describe 'pension intent on file' do + before do + VCR.insert_cassette('lighthouse/benefits_claims/intent_to_file/200_response_pension') + end + + after do + VCR.eject_cassette('lighthouse/benefits_claims/intent_to_file/200_response_pension') + end + it 'returns a pension intent' do - VCR.use_cassette('lighthouse/benefits_claims/intent_to_file/404_response') do - VCR.use_cassette('lighthouse/benefits_claims/intent_to_file/200_response_pension') do - VCR.use_cassette('lighthouse/benefits_claims/intent_to_file/404_response_survivor') do - get '/simple_forms_api/v1/simple_forms/get_intents_to_file' - - parsed_response = JSON.parse(response.body) - expect(parsed_response['compensation_intent']).to eq nil - expect(parsed_response['pension_intent']['type']).to eq 'pension' - expect(parsed_response['survivor_intent']).to eq nil - expect(response).to have_http_status(:ok) - end - end - end + get '/simple_forms_api/v1/simple_forms/get_intents_to_file' + + parsed_response = JSON.parse(response.body) + expect(parsed_response['compensation_intent']).to eq nil + expect(parsed_response['pension_intent']['type']).to eq 'pension' + expect(parsed_response['survivor_intent']).to eq nil + expect(response).to have_http_status(:ok) end end describe 'both intents on file' do + before do + VCR.insert_cassette('lighthouse/benefits_claims/intent_to_file/200_response') + VCR.insert_cassette('lighthouse/benefits_claims/intent_to_file/200_response_pension') + end + + after do + VCR.eject_cassette('lighthouse/benefits_claims/intent_to_file/200_response') + VCR.eject_cassette('lighthouse/benefits_claims/intent_to_file/200_response_pension') + end + it 'returns a pension intent' do - VCR.use_cassette('lighthouse/benefits_claims/intent_to_file/200_response') do - VCR.use_cassette('lighthouse/benefits_claims/intent_to_file/200_response_pension') do - VCR.use_cassette('lighthouse/benefits_claims/intent_to_file/404_response_survivor') do - get '/simple_forms_api/v1/simple_forms/get_intents_to_file' - - parsed_response = JSON.parse(response.body) - expect(parsed_response['compensation_intent']['type']).to eq 'compensation' - expect(parsed_response['pension_intent']['type']).to eq 'pension' - expect(parsed_response['survivor_intent']).to eq nil - expect(response).to have_http_status(:ok) - end - end - end + get '/simple_forms_api/v1/simple_forms/get_intents_to_file' + + parsed_response = JSON.parse(response.body) + expect(parsed_response['compensation_intent']['type']).to eq 'compensation' + expect(parsed_response['pension_intent']['type']).to eq 'pension' + expect(parsed_response['survivor_intent']).to eq nil + expect(response).to have_http_status(:ok) end end end From 01f3bcdb61163bc112306423e5e7a0e0a9d227a1 Mon Sep 17 00:00:00 2001 From: Dan Hinze Date: Wed, 17 Apr 2024 12:42:09 -0500 Subject: [PATCH 68/74] BTSSS-77372 Add mocked responses for BTSSS (#16231) * Revert to original token URL in service * Add authorized ping mock, too * Handle Bearer Token parsing failures gracefully * Clean up services config * Revert some accidental deletions * Final bit of cleanup * Switch to correct file path * Move authorize method to a before_action * Update mockdata paths * Fix some linting errors --- config/betamocks/services_config.yml | 16 ++++++++++++++++ config/settings.yml | 1 + .../travel_pay/application_controller.rb | 10 ++++++++++ .../controllers/travel_pay/claims_controller.rb | 3 ++- .../controllers/travel_pay/pings_controller.rb | 2 ++ .../travel_pay/app/services/travel_pay/client.rb | 6 +++--- 6 files changed, 34 insertions(+), 4 deletions(-) diff --git a/config/betamocks/services_config.yml b/config/betamocks/services_config.yml index d0d17e6763f..0c8d6f0e546 100644 --- a/config/betamocks/services_config.yml +++ b/config/betamocks/services_config.yml @@ -9,6 +9,18 @@ :path: <%= "/#{Settings.ask_va_api.crm_api.veis_api_path}/ping" %> :file_path: "/ask_va/dynamics_api" :response_delay: 15 + - :method: :get + :path: "/veis/api/btsss/travelclaim/api/v1/Sample/ping" + :file_path: "/travel_pay/ping/default" + :response_delay: 0.3 + - :method: :get + :path: "/veis/api/btsss/travelclaim/api/v1/Sample/authorized-ping" + :file_path: "/travel_pay/ping/default" + :response_delay: 0.3 + - :method: :post + :path: "/veis/api/btsss/travelclaim/api/v1/Auth/access-token" + :file_path: "/travel_pay/token/default" + :response_delay: 0.3 - :method: :post :path: <%= "/#{Settings.ask_va_api.crm_api.veis_api_path}/inquiries/new" %> :file_path: "/ask_va/crm_api/post_inquiries/default" @@ -22,6 +34,10 @@ :path: <%= "/#{Settings.ask_va_api.crm_api.tenant_id}/oauth2/v2.0/token" %> :file_path: "/ask_va/token/default" :response_delay: 0.3 + - :method: :post + :path: <%= "/#{Settings.travel_pay.veis.tenant_id}/oauth2/token" %> + :file_path: "/travel_pay/token/default" + :response_delay: 0.3 - :name: 'carma' :base_uri: <%= "#{URI(Settings['salesforce-carma'].url).host}:#{URI(Settings['salesforce-carma'].url).port}" %> diff --git a/config/settings.yml b/config/settings.yml index 88fac504297..c2aecf2c853 100644 --- a/config/settings.yml +++ b/config/settings.yml @@ -1666,6 +1666,7 @@ brd: travel_pay: + mock: true veis: client_id: ~ client_secret: ~ diff --git a/modules/travel_pay/app/controllers/travel_pay/application_controller.rb b/modules/travel_pay/app/controllers/travel_pay/application_controller.rb index 7e522c1a4a1..ae4696eb0a0 100644 --- a/modules/travel_pay/app/controllers/travel_pay/application_controller.rb +++ b/modules/travel_pay/app/controllers/travel_pay/application_controller.rb @@ -38,6 +38,16 @@ def after_logger logger.info('travel-pay') { Utils::Logger.build(self).after } end + def authorize + auth_header = request.headers['Authorization'] + raise_unauthorized('Missing Authorization header') if auth_header.nil? + raise_unauthorized('Authorization header missing Bearer token') unless auth_header.start_with?('Bearer ') + end + + def raise_unauthorized(detail) + raise Common::Exceptions::Unauthorized.new(detail:) + end + # Blocks requests from being handled if feature flag is disabled def block_if_flag_disabled unless Flipper.enabled?(:travel_pay_power_switch, @current_user) diff --git a/modules/travel_pay/app/controllers/travel_pay/claims_controller.rb b/modules/travel_pay/app/controllers/travel_pay/claims_controller.rb index 413d9ea4a68..18136f9f7e6 100644 --- a/modules/travel_pay/app/controllers/travel_pay/claims_controller.rb +++ b/modules/travel_pay/app/controllers/travel_pay/claims_controller.rb @@ -2,9 +2,10 @@ module TravelPay class ClaimsController < ApplicationController + before_action :authorize + def index veis_token = client.request_veis_token - # Non-intuitive Ruby behavior: #split splits a string on space by default vagov_token = request.headers['Authorization'].split[1] btsss_token = client.request_btsss_token(veis_token, vagov_token) diff --git a/modules/travel_pay/app/controllers/travel_pay/pings_controller.rb b/modules/travel_pay/app/controllers/travel_pay/pings_controller.rb index 8529b72d842..c0d12814307 100644 --- a/modules/travel_pay/app/controllers/travel_pay/pings_controller.rb +++ b/modules/travel_pay/app/controllers/travel_pay/pings_controller.rb @@ -2,6 +2,8 @@ module TravelPay class PingsController < ApplicationController + before_action :authorize, only: [:authorized_ping] + def ping veis_token = client.request_veis_token diff --git a/modules/travel_pay/app/services/travel_pay/client.rb b/modules/travel_pay/app/services/travel_pay/client.rb index 7cafe4a677f..e48b5f52c3a 100644 --- a/modules/travel_pay/app/services/travel_pay/client.rb +++ b/modules/travel_pay/app/services/travel_pay/client.rb @@ -112,7 +112,7 @@ def connection(server_url:) Faraday.new(url: server_url) do |conn| conn.use :breakers conn.response :raise_error, error_prefix: service_name, include_request: true - conn.response :betamocks if use_fakes? + conn.response :betamocks if mock_enabled? conn.response :json conn.request :json @@ -123,8 +123,8 @@ def connection(server_url:) ## # Syntactic sugar for determining if the client should use # fake api responses or actually connect to the BTSSS API - def use_fakes? - Settings.useFakes + def mock_enabled? + Settings.travel_pay.mock end end end From 86b38e2bb97a03d4ce24651b3e485edeb14c52b7 Mon Sep 17 00:00:00 2001 From: Tom Harrison Date: Wed, 17 Apr 2024 15:40:35 -0400 Subject: [PATCH 69/74] Add direct deposit email notification template (#16357) * Add template_type method to VANotifyEmailJob * Update direct deposit email job to accept a default parameter of nil for the direct deposit type. --- .../v0/profile/direct_deposits_controller.rb | 2 +- app/sidekiq/va_notify_dd_email_job.rb | 13 +++- config/settings.yml | 1 + .../direct_deposits_controller_spec.rb | 2 +- spec/sidekiq/va_notify_dd_email_job_spec.rb | 71 +++++++++++++++---- 5 files changed, 71 insertions(+), 18 deletions(-) diff --git a/app/controllers/v0/profile/direct_deposits_controller.rb b/app/controllers/v0/profile/direct_deposits_controller.rb index 4d4f6b92316..942a666f594 100644 --- a/app/controllers/v0/profile/direct_deposits_controller.rb +++ b/app/controllers/v0/profile/direct_deposits_controller.rb @@ -88,7 +88,7 @@ def control_info_params end def send_confirmation_email - VANotifyDdEmailJob.send_to_emails(current_user.all_emails, 'comp_and_pen') + VANotifyDdEmailJob.send_to_emails(current_user.all_emails) end end end diff --git a/app/sidekiq/va_notify_dd_email_job.rb b/app/sidekiq/va_notify_dd_email_job.rb index 6a1dcdc4121..1f8a81c0697 100644 --- a/app/sidekiq/va_notify_dd_email_job.rb +++ b/app/sidekiq/va_notify_dd_email_job.rb @@ -10,7 +10,7 @@ class VANotifyDdEmailJob STATSD_ERROR_NAME = 'worker.direct_deposit_confirmation_email.error' STATSD_SUCCESS_NAME = 'worker.direct_deposit_confirmation_email.success' - def self.send_to_emails(user_emails, dd_type) + def self.send_to_emails(user_emails, dd_type = nil) if user_emails.present? user_emails.each do |email| perform_async(email, dd_type) @@ -25,9 +25,9 @@ def self.send_to_emails(user_emails, dd_type) end end - def perform(email, dd_type) + def perform(email, dd_type = nil) notify_client = VaNotify::Service.new(Settings.vanotify.services.va_gov.api_key) - template_type = "direct_deposit_#{dd_type.to_sym == :ch33 ? 'edu' : 'comp_pen'}" + template_type = template_type(dd_type) template_id = Settings.vanotify.services.va_gov.template_id.public_send(template_type) notify_client.send_email( @@ -39,6 +39,13 @@ def perform(email, dd_type) handle_errors(e) end + def template_type(dd_type) + return 'direct_deposit_edu' if dd_type&.to_sym == :ch33 + return 'direct_deposit_comp_pen' if dd_type&.to_sym == :comp_pen + + 'direct_deposit' + end + def handle_errors(ex) VANotifyDdEmailJob.log_exception_to_sentry(ex) StatsD.increment(STATSD_ERROR_NAME) diff --git a/config/settings.yml b/config/settings.yml index c2aecf2c853..4ca4465d021 100644 --- a/config/settings.yml +++ b/config/settings.yml @@ -1281,6 +1281,7 @@ vanotify: in_progress_reminder_email_generic: fake_template_id covid_vaccine_registration: fake_template_id covid_vaccine_expanded_registration: fake_template_id + direct_deposit: direct_deposit_template_id direct_deposit_edu: edu_template_id direct_deposit_comp_pen: comp_pen_template_id login_reactivation_email: reactivation_email_test_b diff --git a/spec/controllers/v0/profile/direct_deposits_controller_spec.rb b/spec/controllers/v0/profile/direct_deposits_controller_spec.rb index 1e0af7acae2..3dd8abc3e91 100644 --- a/spec/controllers/v0/profile/direct_deposits_controller_spec.rb +++ b/spec/controllers/v0/profile/direct_deposits_controller_spec.rb @@ -181,7 +181,7 @@ context 'when the user does have an associated email address' do it 'sends an email through va notify' do expect(VANotifyDdEmailJob).to receive(:send_to_emails).with( - user.all_emails, 'comp_and_pen' + user.all_emails ) VCR.use_cassette('lighthouse/direct_deposit/update/200_valid') do diff --git a/spec/sidekiq/va_notify_dd_email_job_spec.rb b/spec/sidekiq/va_notify_dd_email_job_spec.rb index 10a5d528e74..406ee454aa7 100644 --- a/spec/sidekiq/va_notify_dd_email_job_spec.rb +++ b/spec/sidekiq/va_notify_dd_email_job_spec.rb @@ -38,19 +38,42 @@ describe '#perform' do let(:notification_client) { double('Notifications::Client') } - %w[ch33 comp_pen].each do |dd_type| - context "with a dd type of #{dd_type}" do - it 'sends a confirmation email' do - allow(VaNotify::Service).to receive(:new) - .with(Settings.vanotify.services.va_gov.api_key).and_return(notification_client) - - expect(notification_client).to receive(:send_email).with( - email_address: email, - template_id: dd_type == 'ch33' ? 'edu_template_id' : 'comp_pen_template_id' - ) - - described_class.new.perform(email, dd_type) - end + context 'with a dd type of ch33' do + it 'sends a confirmation email using the edu template' do + allow(VaNotify::Service).to receive(:new) + .with(Settings.vanotify.services.va_gov.api_key).and_return(notification_client) + + expect(notification_client).to receive(:send_email).with( + email_address: email, template_id: 'edu_template_id' + ) + + described_class.new.perform(email, 'ch33') + end + end + + context 'with a dd type of comp_pen' do + it 'sends a confirmation email using the comp and pen template' do + allow(VaNotify::Service).to receive(:new) + .with(Settings.vanotify.services.va_gov.api_key).and_return(notification_client) + + expect(notification_client).to receive(:send_email).with( + email_address: email, template_id: 'comp_pen_template_id' + ) + + described_class.new.perform(email, 'comp_pen') + end + end + + context 'without a dd type' do + it 'sends a confirmation email using the direct_deposit template' do + allow(VaNotify::Service).to receive(:new) + .with(Settings.vanotify.services.va_gov.api_key).and_return(notification_client) + + expect(notification_client).to receive(:send_email).with( + email_address: email, template_id: 'direct_deposit_template_id' + ) + + described_class.new.perform(email, nil) end end @@ -89,4 +112,26 @@ .and trigger_statsd_increment('worker.direct_deposit_confirmation_email.error') end end + + describe '#get_template' do + let(:job) { VANotifyDdEmailJob.new } + + context 'when dd_type is nil' do + it 'returns the direct_deposit template' do + expect(job.template_type(nil)).to eq('direct_deposit') + end + end + + context 'when dd_type is comp_pen' do + it 'returns the direct_deposit template' do + expect(job.template_type('comp_pen')).to eq('direct_deposit_comp_pen') + end + end + + context 'when dd_type is edu' do + it 'returns the direct_deposit template' do + expect(job.template_type('edu')).to eq('direct_deposit') + end + end + end end From 3a3ec61e4dd099d6ec9be0f3853adc6c7cb612b7 Mon Sep 17 00:00:00 2001 From: Kevin Duensing Date: Wed, 17 Apr 2024 16:08:40 -0400 Subject: [PATCH 70/74] Add method to request a token from STS (#16372) * Add method to request a token from STS * fix rubocop * Fix tests * Remove debugging line * change parameter to reflect actual value * Merge conflict fix * remove diff file from merge conflict --- .../travel_pay/claims_controller.rb | 6 +- .../travel_pay/pings_controller.rb | 4 +- .../app/services/travel_pay/client.rb | 57 ++++++++++++++++++- .../controllers/claims_controller_spec.rb | 12 +++- .../spec/controllers/pings_controller_spec.rb | 3 + 5 files changed, 73 insertions(+), 9 deletions(-) diff --git a/modules/travel_pay/app/controllers/travel_pay/claims_controller.rb b/modules/travel_pay/app/controllers/travel_pay/claims_controller.rb index 18136f9f7e6..59cce20d36d 100644 --- a/modules/travel_pay/app/controllers/travel_pay/claims_controller.rb +++ b/modules/travel_pay/app/controllers/travel_pay/claims_controller.rb @@ -6,9 +6,9 @@ class ClaimsController < ApplicationController def index veis_token = client.request_veis_token - # Non-intuitive Ruby behavior: #split splits a string on space by default - vagov_token = request.headers['Authorization'].split[1] - btsss_token = client.request_btsss_token(veis_token, vagov_token) + + sts_token = client.request_sts_token(@current_user) + btsss_token = client.request_btsss_token(veis_token, sts_token) begin claims = client.get_claims(veis_token, btsss_token) diff --git a/modules/travel_pay/app/controllers/travel_pay/pings_controller.rb b/modules/travel_pay/app/controllers/travel_pay/pings_controller.rb index c0d12814307..6f8964a7fd2 100644 --- a/modules/travel_pay/app/controllers/travel_pay/pings_controller.rb +++ b/modules/travel_pay/app/controllers/travel_pay/pings_controller.rb @@ -13,9 +13,9 @@ def ping end def authorized_ping - vagov_token = request.headers['Authorization'].split[1] + sts_token = client.request_sts_token(@current_user) veis_token = client.request_veis_token - btsss_token = client.request_btsss_token(veis_token, vagov_token) + btsss_token = client.request_btsss_token(veis_token, sts_token) btsss_authorized_ping_response = client.authorized_ping(veis_token, btsss_token) render json: { diff --git a/modules/travel_pay/app/services/travel_pay/client.rb b/modules/travel_pay/app/services/travel_pay/client.rb index e48b5f52c3a..24ef261c2c9 100644 --- a/modules/travel_pay/app/services/travel_pay/client.rb +++ b/modules/travel_pay/app/services/travel_pay/client.rb @@ -1,5 +1,7 @@ # frozen_string_literal: true +require 'securerandom' + module TravelPay class Client ## @@ -24,7 +26,7 @@ def request_veis_token # # @return [Faraday::Response] # - def request_btsss_token(veis_token, vagov_token) + def request_btsss_token(veis_token, sts_token) btsss_url = Settings.travel_pay.base_url api_key = Settings.travel_pay.subscription_key client_number = Settings.travel_pay.client_number @@ -33,7 +35,7 @@ def request_btsss_token(veis_token, vagov_token) req.headers['Authorization'] = "Bearer #{veis_token}" req.headers['Ocp-Apim-Subscription-Key'] = api_key req.headers['BTSSS-API-Client-Number'] = client_number.to_s - req.body = { authJwt: vagov_token } + req.body = { authJwt: sts_token } end response.body['access_token'] end @@ -90,8 +92,59 @@ def get_claims(veis_token, btsss_token) symbolized_body[:data].sort_by(&parse_claim_date).reverse! end + def request_sts_token(user) + host_baseurl = build_host_baseurl({ ip_form: false }) + private_key_file = Settings.sign_in.sts_client.key_path + private_key = OpenSSL::PKey::RSA.new(File.read(private_key_file)) + + assertion = build_sts_assertion(user) + jwt = JWT.encode(assertion, private_key, 'RS256') + + # send to sis + response = connection(server_url: host_baseurl).post('/v0/sign_in/token') do |req| + req.params['grant_type'] = 'urn:ietf:params:oauth:grant-type:jwt-bearer' + req.params['assertion'] = jwt + end + + response.body['data']['access_token'] + end + private + def build_sts_assertion(user) + service_account_id = Settings.travel_pay.sts.service_account_id + host_baseurl = build_host_baseurl({ ip_form: false }) + audience_baseurl = build_host_baseurl({ ip_form: true }) + + current_time = Time.now.to_i + jti = SecureRandom.uuid + + { + 'iss' => host_baseurl, + 'sub' => user.email, + 'aud' => "#{audience_baseurl}/v0/sign_in/token", + 'iat' => current_time, + 'exp' => current_time + 300, + 'scopes' => [], + 'service_account_id' => service_account_id, + 'jti' => jti, + 'user_attributes' => { 'icn' => user.icn } + } + end + + def build_host_baseurl(config) + env = Settings.vsp_environment + host = Settings.hostname + + if env == 'localhost' + return 'http://127.0.0.1:3000' if config[:ip_form] + + 'http://localhost:3000' + end + + "https://#{host}" + end + def veis_params { client_id: Settings.travel_pay.veis.client_id, diff --git a/modules/travel_pay/spec/controllers/claims_controller_spec.rb b/modules/travel_pay/spec/controllers/claims_controller_spec.rb index 0762820acf5..16c2ca24639 100644 --- a/modules/travel_pay/spec/controllers/claims_controller_spec.rb +++ b/modules/travel_pay/spec/controllers/claims_controller_spec.rb @@ -12,9 +12,13 @@ .to receive(:request_veis_token) .and_return('veis_token') + allow_any_instance_of(TravelPay::Client) + .to receive(:request_sts_token) + .and_return('sts_token') + allow_any_instance_of(TravelPay::Client) .to receive(:request_btsss_token) - .with('veis_token', 'vagov_token') + .with('veis_token', 'sts_token') .and_return('btsss_token') allow_any_instance_of(TravelPay::Client) @@ -34,9 +38,13 @@ .to receive(:request_veis_token) .and_return('veis_token') + allow_any_instance_of(TravelPay::Client) + .to receive(:request_sts_token) + .and_return('sts_token') + allow_any_instance_of(TravelPay::Client) .to receive(:request_btsss_token) - .with('veis_token', 'vagov_token') + .with('veis_token', 'sts_token') .and_return('btsss_token') allow_any_instance_of(TravelPay::Client) diff --git a/modules/travel_pay/spec/controllers/pings_controller_spec.rb b/modules/travel_pay/spec/controllers/pings_controller_spec.rb index 750a96600bf..93c43f00240 100644 --- a/modules/travel_pay/spec/controllers/pings_controller_spec.rb +++ b/modules/travel_pay/spec/controllers/pings_controller_spec.rb @@ -48,6 +48,9 @@ before do btsss_authorized_ping_response = double allow(btsss_authorized_ping_response).to receive(:status).and_return(200) + allow(client) + .to receive(:request_sts_token) + .and_return('sample_sts_token') allow(client) .to receive(:request_btsss_token) .and_return('sample_btsss_token') From 21d1546b4211119f6aa634e4f2270a4bc90c2b1a Mon Sep 17 00:00:00 2001 From: Trevor Bosaw Date: Wed, 17 Apr 2024 13:14:09 -0700 Subject: [PATCH 71/74] [80904] Creating a terms of use application check that occurs during secondary authentications with custom (#16371) --- lib/saml/post_url_service.rb | 29 +++++- spec/lib/saml/post_url_service_spec.rb | 129 ++++++++++++++++++------- 2 files changed, 121 insertions(+), 37 deletions(-) diff --git a/lib/saml/post_url_service.rb b/lib/saml/post_url_service.rb index d16313784d4..b91b651d8e0 100644 --- a/lib/saml/post_url_service.rb +++ b/lib/saml/post_url_service.rb @@ -63,8 +63,7 @@ def tou_declined_logout_redirect_url end def terms_of_use_redirect_url - application = @tracker&.payload_attr(:application) || 'vaweb' - if enabled_tou_clients.include?(application) + if terms_of_use_enabled_application Rails.logger.info('Redirecting to /terms-of-use', type: :ssoe) add_query(terms_of_use_url, { redirect_url: login_redirect_url }) else @@ -79,6 +78,32 @@ def ssoe_slo_url private + def terms_of_use_enabled_application + cache_key = "terms_of_use_redirect_user_#{user.uuid}" + cached_application = retrieve_and_delete_terms_of_use_redirect_user(cache_key) + current_application = @tracker&.payload_attr(:application) + write_terms_of_use_redirect_user(cache_key, current_application) if should_cache_application?(current_application) + terms_of_use_redirect_enabled?(cached_application, current_application) + end + + def terms_of_use_redirect_enabled?(cached_application, current_application) + enabled_tou_clients.include?(cached_application || current_application || 'vaweb') + end + + def should_cache_application?(application) + enabled_tou_clients.include?(application) + end + + def retrieve_and_delete_terms_of_use_redirect_user(cache_key) + application = Rails.cache.read(cache_key) + Rails.cache.delete(cache_key) + application + end + + def write_terms_of_use_redirect_user(cache_key, application) + Rails.cache.write(cache_key, application, expires_in: 5.minutes) + end + def terms_of_use_url if Settings.review_instance_slug.present? "http://#{Settings.review_instance_slug}.review.vetsgov-internal/terms-of-use" diff --git a/spec/lib/saml/post_url_service_spec.rb b/spec/lib/saml/post_url_service_spec.rb index 692020efd7a..fb2c9df8172 100644 --- a/spec/lib/saml/post_url_service_spec.rb +++ b/spec/lib/saml/post_url_service_spec.rb @@ -613,29 +613,102 @@ let(:expected_log_message) { 'Redirecting to /terms-of-use' } let(:expected_log_payload) { { type: :ssoe } } - context 'when tracker application is within Settings.terms_of_use.enabled_clients' do + context 'when associated terms of use redirect user cache object exists' do + let(:cache_key) { "terms_of_use_redirect_user_#{user.uuid}" } + let(:enabled_clients) { application } + let(:cache_expiration) { 5.minutes } + before do - allow(Settings.terms_of_use).to receive(:enabled_clients).and_return(application) + allow(Settings.terms_of_use).to receive(:enabled_clients).and_return(enabled_clients) + allow(Rails.cache).to receive(:read).with(cache_key).and_return(application) end - context 'and authentication is occuring on a review instance' do - let(:review_instance_slug) { 'some-review-instance-slug' } - let(:review_instance_url) { "#{review_instance_slug}.review.vetsgov-internal" } + context 'and application is within Settings.terms_of_use.enabled_clients' do + let(:enabled_clients) { application } - before { allow(Settings).to receive(:review_instance_slug).and_return(review_instance_slug) } + context 'and authentication is occuring on a review instance' do + let(:review_instance_slug) { 'some-review-instance-slug' } + let(:review_instance_url) { "#{review_instance_slug}.review.vetsgov-internal" } - it 'has a login redirect url as a parameter embedded in review instance terms of use page' do - expect(subject.terms_of_use_redirect_url) - .to eq("http://#{review_instance_url}/terms-of-use?#{expected_redirect_url_param}") + before { allow(Settings).to receive(:review_instance_slug).and_return(review_instance_slug) } + + it 'has a login redirect url as a parameter embedded in review instance terms of use page' do + expect(subject.terms_of_use_redirect_url) + .to eq("http://#{review_instance_url}/terms-of-use?#{expected_redirect_url_param}") + end + + it 'logs expected message and payload' do + expect(Rails.logger).to receive(:info).with(expected_log_message, expected_log_payload) + subject.terms_of_use_redirect_url + end end - it 'logs expected message and payload' do - expect(Rails.logger).to receive(:info).with(expected_log_message, expected_log_payload) - subject.terms_of_use_redirect_url + context 'and authentication is not occurring on a review instance' do + it 'has a login redirect url as a parameter embedded in terms of use page with success' do + expect(subject.terms_of_use_redirect_url) + .to eq("#{values[:base_redirect]}/terms-of-use?#{expected_redirect_url_param}") + end + + it 'logs expected message and payload' do + expect(Rails.logger).to receive(:info).with(expected_log_message, expected_log_payload) + subject.terms_of_use_redirect_url + end end end - context 'and authentication is not occurring on a review instance' do + context 'and stored application is not within Settings.terms_of_use.enabled_clients' do + let(:enabled_clients) { '' } + + it 'has a login redirect url with success not embedded in a terms of use page' do + expect(subject.terms_of_use_redirect_url).to eq(expected_login_redirect_url) + end + end + + it 'deletes the cached terms of use redirect user object' do + expect(Rails.cache).to receive(:delete).with(cache_key) + subject.terms_of_use_redirect_url + end + end + + context 'when associated terms of use redirect user cache object does not exist' do + context 'when tracker application is within Settings.terms_of_use.enabled_clients' do + before do + allow(Settings.terms_of_use).to receive(:enabled_clients).and_return(application) + end + + context 'and authentication is occuring on a review instance' do + let(:review_instance_slug) { 'some-review-instance-slug' } + let(:review_instance_url) { "#{review_instance_slug}.review.vetsgov-internal" } + + before { allow(Settings).to receive(:review_instance_slug).and_return(review_instance_slug) } + + it 'has a login redirect url as a parameter embedded in review instance terms of use page' do + expect(subject.terms_of_use_redirect_url) + .to eq("http://#{review_instance_url}/terms-of-use?#{expected_redirect_url_param}") + end + + it 'logs expected message and payload' do + expect(Rails.logger).to receive(:info).with(expected_log_message, expected_log_payload) + subject.terms_of_use_redirect_url + end + end + + context 'and authentication is not occurring on a review instance' do + it 'has a login redirect url as a parameter embedded in terms of use page with success' do + expect(subject.terms_of_use_redirect_url) + .to eq("#{values[:base_redirect]}/terms-of-use?#{expected_redirect_url_param}") + end + + it 'logs expected message and payload' do + expect(Rails.logger).to receive(:info).with(expected_log_message, expected_log_payload) + subject.terms_of_use_redirect_url + end + end + end + + context 'when tracker application is nil' do + let(:application) { nil } + it 'has a login redirect url as a parameter embedded in terms of use page with success' do expect(subject.terms_of_use_redirect_url) .to eq("#{values[:base_redirect]}/terms-of-use?#{expected_redirect_url_param}") @@ -646,30 +719,16 @@ subject.terms_of_use_redirect_url end end - end - - context 'when tracker application is nil' do - let(:application) { nil } - - it 'has a login redirect url as a parameter embedded in terms of use page with success' do - expect(subject.terms_of_use_redirect_url) - .to eq("#{values[:base_redirect]}/terms-of-use?#{expected_redirect_url_param}") - end - - it 'logs expected message and payload' do - expect(Rails.logger).to receive(:info).with(expected_log_message, expected_log_payload) - subject.terms_of_use_redirect_url - end - end - context 'when tracker application is not within Settings.terms_of_use.enabled_clients' do - before do - allow(Settings.terms_of_use).to receive(:enabled_clients).and_return('') - end + context 'when tracker application is not within Settings.terms_of_use.enabled_clients' do + before do + allow(Settings.terms_of_use).to receive(:enabled_clients).and_return('') + end - it 'has a login redirect url with success not embedded in a terms of use page' do - expect(subject.terms_of_use_redirect_url) - .to eq(expected_login_redirect_url) + it 'has a login redirect url with success not embedded in a terms of use page' do + expect(subject.terms_of_use_redirect_url) + .to eq(expected_login_redirect_url) + end end end end From 3f1f88aab0801c4e5654e18ab6cf24ae2385e7a5 Mon Sep 17 00:00:00 2001 From: Gregg P <117232882+GcioGregg@users.noreply.github.com> Date: Wed, 17 Apr 2024 13:28:55 -0700 Subject: [PATCH 72/74] remove feature flags (#16390) --- app/sidekiq/education_form/templates/10203.erb | 9 --------- 1 file changed, 9 deletions(-) diff --git a/app/sidekiq/education_form/templates/10203.erb b/app/sidekiq/education_form/templates/10203.erb index bad27173e61..cb756cfd5b1 100644 --- a/app/sidekiq/education_form/templates/10203.erb +++ b/app/sidekiq/education_form/templates/10203.erb @@ -2,11 +2,7 @@ CH33 *START* <%= form_identifier %> -<% if Settings.vsp_environment.eql?('production') -%> -JUN 2020 -<% else -%> OMB Control #: 2900-0878 -<% end -%> APPLICATION FOR EDITH NOURSE ROGERS STEM SCHOLARSHIP @@ -73,10 +69,6 @@ Applicant has POA: <%= yesno(@stem_automated_decision.poa) %> Applicant School Email Address: <%= @applicant.schoolEmailAddress %> Applicant School ID: <%= @applicant.schoolStudentId %> -<% if Settings.vsp_environment.eql?('production') -%> - Certification and Signature of Applicant -Signature of Applicant Date -<% else -%> <% if @applicant.isActiveDuty -%> As an active-duty service member, you have consulted with an Education Service Officer (ESO) regarding your education program. @@ -86,5 +78,4 @@ Signature of Applicant Date <% end -%> -<% end -%> <%= parse_with_template_path('footer') %> From be21fdead181807370d35bdd019c2a6ddab40f4f Mon Sep 17 00:00:00 2001 From: Casey Williams Date: Wed, 17 Apr 2024 13:33:53 -0700 Subject: [PATCH 73/74] API-34961 Trace appeals PII removal with Datadog (#16364) --- .../app/services/appeals_api/remove_pii.rb | 29 +++++++-------- .../services/appeals_api/remove_pii_spec.rb | 35 ++++++++++++++----- 2 files changed, 39 insertions(+), 25 deletions(-) diff --git a/modules/appeals_api/app/services/appeals_api/remove_pii.rb b/modules/appeals_api/app/services/appeals_api/remove_pii.rb index 39fd91d8673..c9626c78e1c 100644 --- a/modules/appeals_api/app/services/appeals_api/remove_pii.rb +++ b/modules/appeals_api/app/services/appeals_api/remove_pii.rb @@ -1,5 +1,7 @@ # frozen_string_literal: true +require 'ddtrace' + module AppealsApi class RemovePii include SentryLogging @@ -15,13 +17,20 @@ def initialize(form_type:) end def run! - validate_form_type! + Datadog::Tracing.trace("#{self.class.name} - #{form_type}") do + validate_form_type! - result = remove_pii! + result = remove_pii! - log_failure_to_sentry if records_were_not_cleared(result) + if result.blank? && records_to_be_expunged.present? + ids = records_to_be_expunged.pluck(:id) + msg = "Failed to remove expired #{form_type} PII from records" + Rails.logger.error(msg, ids) + AppealsApi::Slack::Messager.new({ msg:, ids: }).notify! + end - result + result + end end private @@ -49,17 +58,5 @@ def records_to_be_expunged .pii_expunge_policy end end - - def records_were_not_cleared(result) - result.blank? && records_to_be_expunged.present? - end - - def log_failure_to_sentry - log_message_to_sentry( - "Failed to expunge PII from #{form_type} (modules/appeals_api)", - :error, - ids: records_to_be_expunged.pluck(:id) - ) - end end end diff --git a/modules/appeals_api/spec/services/appeals_api/remove_pii_spec.rb b/modules/appeals_api/spec/services/appeals_api/remove_pii_spec.rb index 8599a4838f5..62d9785c9e6 100644 --- a/modules/appeals_api/spec/services/appeals_api/remove_pii_spec.rb +++ b/modules/appeals_api/spec/services/appeals_api/remove_pii_spec.rb @@ -1,7 +1,6 @@ # frozen_string_literal: true require 'rails_helper' -require AppealsApi::Engine.root.join('spec', 'spec_helper.rb') def update_appeal_status(appeal, status, code: nil, detail: nil) # At the time of writing, the `update_status` method for each appeal model involves kicking off a sidekiq job to @@ -159,6 +158,32 @@ def create_misc_appeals = create_appeals + misc_appeal_types.map { |f| FactoryBo expect { AppealsApi::RemovePii.new(form_type: 'Invalid').run! }.to raise_error(ArgumentError) end + context 'when the removal fails' do + let!(:appeals) do + Timecop.freeze(100.days.ago) do + status = 'complete' + [create(:supplemental_claim, status:), create(:supplemental_claim_v0, status:)] + end + end + + before do + instance = AppealsApi::RemovePii.new(form_type: AppealsApi::SupplementalClaim) + msg = 'Failed to remove expired AppealsApi::SupplementalClaim PII from records' + expect(Rails.logger).to receive(:error).with(msg, appeals.map(&:id)) + expect_any_instance_of(AppealsApi::Slack::Messager).to receive(:notify!) + allow(instance).to receive(:remove_pii!).and_return [] + instance.run! + end + + it 'logs an error and the IDs of records whose PII failed to be removed' do + appeals.each do |appeal| + appeal.reload + expect(appeal.auth_headers).to be_present + expect(appeal.form_data).to be_present + end + end + end + it 'removes PII from HLR records needing PII removal' do day_old_has_pii_v2 = create :higher_level_review_v2, status: 'complete' day_old_has_pii_v2.update updated_at: 1.day.ago @@ -271,13 +296,5 @@ def create_misc_appeals = create_appeals + misc_appeal_types.map { |f| FactoryBo expect(week_old_has_pii_error.reload.form_data_ciphertext).to be_present end end - - it 'sends a message to sentry if the removal failed.' do - allow_any_instance_of(AppealsApi::RemovePii).to receive(:records_were_not_cleared).and_return(true) - service = AppealsApi::RemovePii.new(form_type: AppealsApi::NoticeOfDisagreement) - expect(service).to receive(:log_failure_to_sentry) - - service.run! - end end end From 4d200de939f9d13c53c481f50302e18be0d4c954 Mon Sep 17 00:00:00 2001 From: Khoa Nguyen <134089461+Khoa-V-Nguyen@users.noreply.github.com> Date: Wed, 17 Apr 2024 15:02:19 -0600 Subject: [PATCH 74/74] Add test_create endpoint (#16391) Co-authored-by: khoa-v-nguyen --- .../ask_va_api/v0/inquiries_controller.rb | 12 ++++++++++-- modules/ask_va_api/config/routes.rb | 1 + .../ask_va_api/spec/requests/v0/inquiries_spec.rb | 13 +++++++++++++ 3 files changed, 24 insertions(+), 2 deletions(-) diff --git a/modules/ask_va_api/app/controllers/ask_va_api/v0/inquiries_controller.rb b/modules/ask_va_api/app/controllers/ask_va_api/v0/inquiries_controller.rb index c0bdb1d7b59..0ec2b8d17ed 100644 --- a/modules/ask_va_api/app/controllers/ask_va_api/v0/inquiries_controller.rb +++ b/modules/ask_va_api/app/controllers/ask_va_api/v0/inquiries_controller.rb @@ -6,8 +6,8 @@ class InquiriesController < ApplicationController around_action :handle_exceptions before_action :get_inquiries_by_icn, only: [:index] before_action :get_inquiry_by_id, only: [:show] - skip_before_action :authenticate, only: %i[unauth_create upload_attachment] - skip_before_action :verify_authenticity_token, only: %i[unauth_create upload_attachment] + skip_before_action :authenticate, only: %i[unauth_create upload_attachment test_create] + skip_before_action :verify_authenticity_token, only: %i[unauth_create upload_attachment test_create] def index render json: @user_inquiries.payload, status: @user_inquiries.status @@ -17,6 +17,14 @@ def show render json: @inquiry.payload, status: @inquiry.status end + def test_create + service = Crm::Service.new(icn: nil) + payload = { reply: params[:reply] } + response = service.call(endpoint: params[:endpoint], method: :post, payload:) + + render json: response.to_json, status: :ok + end + def create render json: { message: 'success' }, status: :created end diff --git a/modules/ask_va_api/config/routes.rb b/modules/ask_va_api/config/routes.rb index 0c43f79eb11..eb52ce26270 100644 --- a/modules/ask_va_api/config/routes.rb +++ b/modules/ask_va_api/config/routes.rb @@ -15,6 +15,7 @@ post '/inquiries', to: 'inquiries#unauth_create' post '/upload_attachment', to: 'inquiries#upload_attachment' post '/inquiries/:id/reply/new', to: 'inquiries#create_reply' + post '/test_create', to: 'inquiries#test_create' # static_data get '/categories', to: 'static_data#categories' diff --git a/modules/ask_va_api/spec/requests/v0/inquiries_spec.rb b/modules/ask_va_api/spec/requests/v0/inquiries_spec.rb index 1427d49bed9..3e1bf2ffd11 100644 --- a/modules/ask_va_api/spec/requests/v0/inquiries_spec.rb +++ b/modules/ask_va_api/spec/requests/v0/inquiries_spec.rb @@ -100,6 +100,19 @@ end end + describe 'POST #test_create' do + before do + allow_any_instance_of(Crm::Service).to receive(:call).and_return({ message: 'success' }) + post '/ask_va_api/v0/test_create', + params: { 'reply' => 'test', 'endpoint' => 'inquiries/id/reply/new' }, + as: :json + end + + it 'response with 200' do + expect(response).to have_http_status(:ok) + end + end + describe 'GET #show' do let(:expected_response) do { 'data' =>

      -h47pc^S#A#Yz)~0Vt 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⪚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≠BICJhzwPj6`$EW+s^4hJz9#6bx=By>qw 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