From 94d3cc4ec0f41d7332fcd89eda7fc901e396ad18 Mon Sep 17 00:00:00 2001 From: Trevor Bosaw Date: Fri, 22 Nov 2024 09:28:40 -0800 Subject: [PATCH 01/21] [VI-694] Sourcing mhv accounts on User account from MHV Account Creator instead of MPI for certain cases (#19569) --- app/services/mhv/user_account/creator.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/services/mhv/user_account/creator.rb b/app/services/mhv/user_account/creator.rb index aaf35f75c74..85f4077214d 100644 --- a/app/services/mhv/user_account/creator.rb +++ b/app/services/mhv/user_account/creator.rb @@ -32,7 +32,7 @@ def perform def create_mhv_user_account! account = MHVUserAccount.new(mhv_account_creation_response) account.validate! - + MPIData.find(icn)&.destroy account end From 760c9d4c64cfda59bbf3d4c889939c77ad91642a Mon Sep 17 00:00:00 2001 From: Eric Tillberg Date: Fri, 22 Nov 2024 12:44:17 -0500 Subject: [PATCH 02/21] Handle 20-10206 error message scrubbing (#19543) --- .../models/simple_forms_api/vba_20_10206.rb | 34 +++++++++++++++++++ .../simple_forms_api/lib/simple_forms_api.rb | 2 ++ 2 files changed, 36 insertions(+) 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 14f9a54df08..a4204ea713b 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 @@ -29,6 +29,10 @@ def zip_code_is_us_based @data.dig('address', 'country') == 'USA' end + def words_to_remove + citizen_ssn + address + date_of_birth + home_phone + end + def desired_stamps [] end @@ -55,5 +59,35 @@ def track_user_identity(confirmation_number) StatsD.increment("#{STATS_KEY}.#{identity}") Rails.logger.info('Simple forms api - 20-10206 submission user identity', identity:, confirmation_number:) end + + private + + def citizen_ssn + [ + data.dig('citizen_id', 'ssn')&.[](0..2), + data.dig('citizen_id', 'ssn')&.[](3..4), + data.dig('citizen_id', 'ssn')&.[](5..8) + ] + end + + def address + [data.dig('address', 'postal_code')&.[](0..4), data.dig('address', 'postal_code')&.[](5..8)] + end + + def date_of_birth + [ + data['date_of_birth']&.[](0..3), + data['date_of_birth']&.[](5..6), + data['date_of_birth']&.[](8..9) + ] + end + + def home_phone + [ + data['home_phone']&.gsub('-', '')&.[](0..2), + data['home_phone']&.gsub('-', '')&.[](3..5), + data['home_phone']&.gsub('-', '')&.[](6..9) + ] + end end end diff --git a/modules/simple_forms_api/lib/simple_forms_api.rb b/modules/simple_forms_api/lib/simple_forms_api.rb index 4ac5088fa83..84c928a7f22 100644 --- a/modules/simple_forms_api/lib/simple_forms_api.rb +++ b/modules/simple_forms_api/lib/simple_forms_api.rb @@ -39,6 +39,8 @@ def scrub_pii(message) words_to_remove += SimpleFormsApi::VBA210966.new(params).words_to_remove when '20-10207' words_to_remove += SimpleFormsApi::VBA2010207.new(params).words_to_remove + when '20-10206' + words_to_remove += SimpleFormsApi::VBA2010206.new(params).words_to_remove when '40-10007' words_to_remove += SimpleFormsApi::VBA4010007.new(params).words_to_remove else From 7497c51a66303e0b80b05ebd06ce9e9df8ad6f9e Mon Sep 17 00:00:00 2001 From: Rebecca Tolmach <10993987+rmtolmach@users.noreply.github.com> Date: Fri, 22 Nov 2024 12:51:29 -0500 Subject: [PATCH 03/21] decrease timeouts (#19537) --- .github/workflows/code_checks.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/code_checks.yml b/.github/workflows/code_checks.yml index bce18493148..aee76f49812 100644 --- a/.github/workflows/code_checks.yml +++ b/.github/workflows/code_checks.yml @@ -126,7 +126,7 @@ jobs: - name: Setup Database uses: nick-fields/retry@7152eba30c6575329ac0576536151aca5a72780e # v3.0.0 with: - timeout_minutes: 20 + timeout_minutes: 10 retry_wait_seconds: 3 # Seconds max_attempts: 3 command: | @@ -134,7 +134,7 @@ jobs: -c "CI=true RAILS_ENV=test DISABLE_BOOTSNAP=true bundle exec parallel_test -n 24 -e 'bin/rails db:reset'" - name: Run Specs - timeout-minutes: 20 + timeout-minutes: 15 run: | docker compose -f docker-compose.test.yml run web bash \ -c "CI=true DISABLE_BOOTSNAP=true bundle exec parallel_rspec spec/ modules/ -n 24 -o '--color --tty'" From acb9680fb3922a20e685ee47af62b90f217aae2d Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 22 Nov 2024 13:05:44 -0500 Subject: [PATCH 04/21] Bump rswag-ui from 2.15.0 to 2.16.0 (#19542) Bumps [rswag-ui](https://github.com/rswag/rswag) from 2.15.0 to 2.16.0. - [Release notes](https://github.com/rswag/rswag/releases) - [Changelog](https://github.com/rswag/rswag/blob/master/CHANGELOG.md) - [Commits](https://github.com/rswag/rswag/compare/2.15.0...2.16.0) --- updated-dependencies: - dependency-name: rswag-ui 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: Ryan Johnson <72466113+rjohnson2011@users.noreply.github.com> --- Gemfile.lock | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index 1db03339a0d..080af95b472 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -639,7 +639,7 @@ GEM rake (~> 13.0) lockbox (2.0.0) logger (1.6.1) - loofah (2.22.0) + loofah (2.23.1) crass (~> 1.0.2) nokogiri (>= 1.12.0) lumberjack (1.2.10) @@ -660,7 +660,7 @@ GEM rake mini_magick (4.13.2) mini_mime (1.1.5) - mini_portile2 (2.8.7) + mini_portile2 (2.8.8) minitest (5.25.1) mock_redis (0.45.0) msgpack (1.7.2) @@ -668,7 +668,7 @@ GEM multi_json (1.15.0) multi_xml (0.6.0) multipart-post (2.4.1) - mutex_m (0.2.0) + mutex_m (0.3.0) nap (1.1.0) nenv (0.3.0) net-http (0.4.1) @@ -776,9 +776,9 @@ GEM byebug (~> 11.0) pry (>= 0.13, < 0.15) pstore (0.1.3) - psych (5.1.2) + psych (5.2.0) stringio - psych (5.1.2-java) + psych (5.2.0-java) jar-dependencies (>= 0.1.7) public_suffix (6.0.1) puma (6.4.3) @@ -805,7 +805,7 @@ GEM rack-timeout (0.7.0) rack-vcr (0.1.6) vcr (>= 2.9) - rackup (1.0.0) + rackup (1.0.1) rack (< 3) webrick rails (7.1.4.1) @@ -849,7 +849,7 @@ GEM rb-inotify (0.10.1) ffi (~> 1.0) rchardet (1.8.0) - rdoc (6.7.0) + rdoc (6.8.1) psych (>= 4.0.0) redis (5.3.0) redis-client (>= 0.22.0) @@ -858,7 +858,7 @@ GEM redis-namespace (1.11.0) redis (>= 4) regexp_parser (2.9.2) - reline (0.5.10) + reline (0.5.11) io-console (~> 0.5) representable (3.2.0) declarative (< 0.1.0) @@ -927,9 +927,9 @@ GEM json-schema (>= 2.2, < 6.0) railties (>= 5.2, < 8.0) rspec-core (>= 2.14) - rswag-ui (2.15.0) - actionpack (>= 5.2, < 8.0) - railties (>= 5.2, < 8.0) + rswag-ui (2.16.0) + actionpack (>= 5.2, < 8.1) + railties (>= 5.2, < 8.1) rtesseract (3.1.3) rubocop (1.68.0) json (~> 2.3) @@ -1032,7 +1032,7 @@ GEM ssrf_filter (1.1.2) staccato (0.5.3) statsd-instrument (3.9.7) - stringio (3.1.1) + stringio (3.1.2) strong_migrations (2.0.2) activerecord (>= 6.1) super_diff (0.13.0) @@ -1107,7 +1107,7 @@ GEM xmlmapper (0.8.1) nokogiri (~> 1.11) yard (0.9.37) - zeitwerk (2.6.18) + zeitwerk (2.7.1) PLATFORMS aarch64-linux From 2b30f421cb9e6d8734cd652dfb9e56ff09552169 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 22 Nov 2024 13:06:25 -0500 Subject: [PATCH 05/21] Bump mock_redis from 0.45.0 to 0.46.0 (#19572) Bumps [mock_redis](https://github.com/sds/mock_redis) from 0.45.0 to 0.46.0. - [Release notes](https://github.com/sds/mock_redis/releases) - [Changelog](https://github.com/sds/mock_redis/blob/main/CHANGELOG.md) - [Commits](https://github.com/sds/mock_redis/compare/v0.45.0...v0.46.0) --- updated-dependencies: - dependency-name: mock_redis 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 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index 080af95b472..53af0be6395 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -662,7 +662,7 @@ GEM mini_mime (1.1.5) mini_portile2 (2.8.8) minitest (5.25.1) - mock_redis (0.45.0) + mock_redis (0.46.0) msgpack (1.7.2) msgpack (1.7.2-java) multi_json (1.15.0) From e9bce7c073997091bc383636aa28face6745c669 Mon Sep 17 00:00:00 2001 From: evansmith Date: Fri, 22 Nov 2024 13:10:18 -0500 Subject: [PATCH 06/21] =?UTF-8?q?update=20dependency=20claim=20to=20send?= =?UTF-8?q?=20a=20combo=20email=20if=20both=20686c=20and=20674=20ar?= =?UTF-8?q?=E2=80=A6=20(#19576)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * update dependency claim to send a combo email if both 686c and 674 are present * refactor and comments --- app/models/saved_claim/dependency_claim.rb | 41 +++++++++++-------- .../submit_central_form686c_job_spec.rb | 13 +----- 2 files changed, 26 insertions(+), 28 deletions(-) diff --git a/app/models/saved_claim/dependency_claim.rb b/app/models/saved_claim/dependency_claim.rb index ab62fd15dda..9ded9b3074a 100644 --- a/app/models/saved_claim/dependency_claim.rb +++ b/app/models/saved_claim/dependency_claim.rb @@ -139,23 +139,30 @@ def to_pdf(form_id: FORM) # Future work will be integrating into the Va Notify common lib: # https://github.com/department-of-veterans-affairs/vets-api/blob/master/lib/va_notify/notification_email.rb - def send_failure_email(email) - template_ids = [] - template_ids << Settings.vanotify.services.va_gov.template_id.form21_686c_action_needed_email if submittable_686? - template_ids << Settings.vanotify.services.va_gov.template_id.form21_674_action_needed_email if submittable_674? - - template_ids.each do |template_id| - if email.present? - VANotify::EmailJob.perform_async( - email, - template_id, - { - 'first_name' => parsed_form.dig('veteran_information', 'full_name', 'first')&.upcase.presence, - 'date_submitted' => Time.zone.today.strftime('%B %d, %Y'), - 'confirmation_number' => confirmation_number - } - ) - end + def send_failure_email(email) # rubocop:disable Metrics/MethodLength + # if the claim is both a 686c and a 674, send a combination email. + # otherwise, check to see which individual type it is and send the corresponding email. + template_id = if submittable_686? && submittable_674? + Settings.vanotify.services.va_gov.template_id.form21_686c_674_action_needed_email + elsif submittable_686? + Settings.vanotify.services.va_gov.template_id.form21_686c_action_needed_email + elsif submittable_674? + Settings.vanotify.services.va_gov.template_id.form21_674_action_needed_email + else + Rails.logger.error('Email template cannot be assigned for SavedClaim', saved_claim_id: id) + nil + end + + if email.present? && template_id.present? + VANotify::EmailJob.perform_async( + email, + template_id, + { + 'first_name' => parsed_form.dig('veteran_information', 'full_name', 'first')&.upcase.presence, + 'date_submitted' => Time.zone.today.strftime('%B %d, %Y'), + 'confirmation_number' => confirmation_number + } + ) end end diff --git a/spec/sidekiq/central_mail/submit_central_form686c_job_spec.rb b/spec/sidekiq/central_mail/submit_central_form686c_job_spec.rb index 4acb8c24cdb..4c27544abd8 100644 --- a/spec/sidekiq/central_mail/submit_central_form686c_job_spec.rb +++ b/spec/sidekiq/central_mail/submit_central_form686c_job_spec.rb @@ -304,7 +304,7 @@ end end - it 'logs the error to zsf and sends two emails with the 686C 674 templates' do + it 'logs the error to zsf and a combo email with 686c-674' do CentralMail::SubmitCentralForm686cJob.within_sidekiq_retries_exhausted_block( { 'args' => [claim.id, encrypted_vet_info, encrypted_user_struct] } ) do @@ -313,16 +313,7 @@ expect(SavedClaim::DependencyClaim).to receive(:find).with(claim.id).and_return(claim) expect(VANotify::EmailJob).to receive(:perform_async).with( 'vets.gov.user+228@gmail.com', - 'form21_686c_action_needed_email_template_id', - { - 'first_name' => 'MARK', - 'date_submitted' => Time.zone.today.strftime('%B %d, %Y'), - 'confirmation_number' => claim.confirmation_number - } - ) - expect(VANotify::EmailJob).to receive(:perform_async).with( - 'vets.gov.user+228@gmail.com', - 'form21_674_action_needed_email_template_id', + 'form21_686c_674_action_needed_email_template_id', { 'first_name' => 'MARK', 'date_submitted' => Time.zone.today.strftime('%B %d, %Y'), From b08d630624b9ffa681f1762aec940b7db7863f97 Mon Sep 17 00:00:00 2001 From: Molly Trombley-McCann Date: Thu, 21 Nov 2024 13:30:45 -0800 Subject: [PATCH 07/21] Use shared examples in `sc_status_update_job_spec.rb` --- .../sc_status_updater_job_spec.rb | 519 +----------------- 1 file changed, 6 insertions(+), 513 deletions(-) diff --git a/spec/sidekiq/decision_review/sc_status_updater_job_spec.rb b/spec/sidekiq/decision_review/sc_status_updater_job_spec.rb index 75e4e9f3625..1c1d0740663 100644 --- a/spec/sidekiq/decision_review/sc_status_updater_job_spec.rb +++ b/spec/sidekiq/decision_review/sc_status_updater_job_spec.rb @@ -2,528 +2,21 @@ require 'rails_helper' require 'decision_review_v1/service' +require 'sidekiq/decision_review/shared_examples_for_status_updater_jobs' RSpec.describe DecisionReview::ScStatusUpdaterJob, type: :job do subject { described_class } - let(:service) { instance_double(DecisionReviewV1::Service) } - - let(:guid1) { SecureRandom.uuid } - let(:guid2) { SecureRandom.uuid } - let(:guid3) { SecureRandom.uuid } - - let(:response_complete) do - response = JSON.parse(VetsJsonSchema::EXAMPLES.fetch('SC-SHOW-RESPONSE-200_V2').to_json) # deep copy - response['data']['attributes']['status'] = 'complete' - instance_double(Faraday::Response, body: response) - end - - let(:response_pending) do - instance_double(Faraday::Response, body: VetsJsonSchema::EXAMPLES.fetch('SC-SHOW-RESPONSE-200_V2')) - end - - let(:response_error) do - response = JSON.parse(VetsJsonSchema::EXAMPLES.fetch('SC-SHOW-RESPONSE-200_V2').to_json) # deep copy - response['data']['attributes']['status'] = 'error' - instance_double(Faraday::Response, body: response) - end - - let(:upload_response_vbms) do - response = JSON.parse(File.read('spec/fixtures/supplemental_claims/SC_upload_show_response_200.json')) - instance_double(Faraday::Response, body: response) - end - - let(:upload_response_processing) do - response = JSON.parse(File.read('spec/fixtures/supplemental_claims/SC_upload_show_response_200.json')) - response['data']['attributes']['status'] = 'processing' - instance_double(Faraday::Response, body: response) - end - - let(:upload_response_error) do - response = JSON.parse(File.read('spec/fixtures/supplemental_claims/SC_upload_show_response_200.json')) - response['data']['attributes']['status'] = 'error' - response['data']['attributes']['detail'] = 'Invalid PDF' - instance_double(Faraday::Response, body: response) - end - - before do - allow(DecisionReviewV1::Service).to receive(:new).and_return(service) - end + include_context 'status updater job context', SavedClaim::SupplementalClaim describe 'perform' do context 'with flag enabled', :aggregate_failures do before do Flipper.enable :decision_review_saved_claim_sc_status_updater_job_enabled - allow(StatsD).to receive(:increment) - end - - context 'SavedClaim records are present and there are no evidence uploads' do - before do - SavedClaim::SupplementalClaim.create(guid: guid1, form: '{}') - SavedClaim::SupplementalClaim.create(guid: guid2, form: '{}') - SavedClaim::SupplementalClaim.create(guid: guid3, form: '{}', delete_date: DateTime.new(2024, 2, 1).utc) - SavedClaim::HigherLevelReview.create(form: '{}') - SavedClaim::NoticeOfDisagreement.create(form: '{}') - end - - it 'updates SavedClaim::SupplementalClaim delete_date for completed records without a delete_date' do - expect(service).to receive(:get_supplemental_claim).with(guid1).and_return(response_complete) - expect(service).to receive(:get_supplemental_claim).with(guid2).and_return(response_pending) - expect(service).not_to receive(:get_supplemental_claim).with(guid3) - - expect(service).not_to receive(:get_higher_level_review) - expect(service).not_to receive(:get_notice_of_disagreement) - - frozen_time = DateTime.new(2024, 1, 1).utc - - Timecop.freeze(frozen_time) do - subject.new.perform - - claim1 = SavedClaim::SupplementalClaim.find_by(guid: guid1) - expect(claim1.delete_date).to eq frozen_time + 59.days - expect(claim1.metadata).to include 'complete' - expect(claim1.metadata_updated_at).to eq frozen_time - - claim2 = SavedClaim::SupplementalClaim.find_by(guid: guid2) - expect(claim2.delete_date).to be_nil - expect(claim2.metadata).to include 'pending' - expect(claim2.metadata_updated_at).to eq frozen_time - end - - expect(StatsD).to have_received(:increment) - .with('worker.decision_review.saved_claim_sc_status_updater.processing_records', 2).exactly(1).time - expect(StatsD).to have_received(:increment) - .with('worker.decision_review.saved_claim_sc_status_updater.delete_date_update').exactly(1).time - expect(StatsD).to have_received(:increment) - .with('worker.decision_review.saved_claim_sc_status_updater.status', tags: ['status:pending']) - .exactly(1).time - end - end - - context 'SavedClaim records are present with completed status in LH and have associated evidence uploads' do - let(:upload_id) { SecureRandom.uuid } - let(:upload_id2) { SecureRandom.uuid } - let(:upload_id3) { SecureRandom.uuid } - let(:upload_id4) { SecureRandom.uuid } - - before do - allow(Rails.logger).to receive(:info) - SavedClaim::SupplementalClaim.create(guid: guid1, form: '{}') - SavedClaim::SupplementalClaim.create(guid: guid2, form: '{}') - SavedClaim::SupplementalClaim.create(guid: guid3, form: '{}') - - appeal_submission = create(:appeal_submission, submitted_appeal_uuid: guid1) - create(:appeal_submission_upload, appeal_submission:, lighthouse_upload_id: upload_id) - - appeal_submission2 = create(:appeal_submission, submitted_appeal_uuid: guid2) - create(:appeal_submission_upload, appeal_submission: appeal_submission2, lighthouse_upload_id: upload_id2) - - # One upload vbms, other one still processing - appeal_submission3 = create(:appeal_submission, submitted_appeal_uuid: guid3) - create(:appeal_submission_upload, appeal_submission: appeal_submission3, lighthouse_upload_id: upload_id3) - create(:appeal_submission_upload, appeal_submission: appeal_submission3, lighthouse_upload_id: upload_id4) - end - - it 'only sets delete_date for SavedClaim::SupplementalClaim with all attachments in vbms status' do - expect(service).to receive(:get_supplemental_claim_upload).with(guid: upload_id) - .and_return(upload_response_vbms) - expect(service).to receive(:get_supplemental_claim_upload).with(guid: upload_id2) - .and_return(upload_response_processing) - expect(service).to receive(:get_supplemental_claim_upload).with(guid: upload_id3) - .and_return(upload_response_vbms) - expect(service).to receive(:get_supplemental_claim_upload).with(guid: upload_id4) - .and_return(upload_response_processing) - - expect(service).to receive(:get_supplemental_claim).with(guid1).and_return(response_complete) - expect(service).to receive(:get_supplemental_claim).with(guid2).and_return(response_complete) - expect(service).to receive(:get_supplemental_claim).with(guid3).and_return(response_complete) - - frozen_time = DateTime.new(2024, 1, 1).utc - - Timecop.freeze(frozen_time) do - subject.new.perform - - claim1 = SavedClaim::SupplementalClaim.find_by(guid: guid1) - expect(claim1.delete_date).to eq frozen_time + 59.days - expect(claim1.metadata_updated_at).to eq frozen_time - expect(claim1.metadata).to include 'complete' - expect(claim1.metadata).to include 'vbms' - - claim2 = SavedClaim::SupplementalClaim.find_by(guid: guid2) - expect(claim2.delete_date).to be_nil - expect(claim2.metadata_updated_at).to eq frozen_time - expect(claim2.metadata).to include 'complete' - expect(claim2.metadata).to include 'processing' - - claim3 = SavedClaim::SupplementalClaim.find_by(guid: guid3) - expect(claim3.delete_date).to be_nil - expect(claim3.metadata_updated_at).to eq frozen_time - - metadata3 = JSON.parse(claim3.metadata) - expect(metadata3['status']).to eq 'complete' - expect(metadata3['uploads'].pluck('id', 'status')) - .to contain_exactly([upload_id3, 'vbms'], [upload_id4, 'processing']) - end - - expect(StatsD).to have_received(:increment) - .with('worker.decision_review.saved_claim_sc_status_updater.processing_records', 3).exactly(1).time - expect(StatsD).to have_received(:increment) - .with('worker.decision_review.saved_claim_sc_status_updater.delete_date_update').exactly(1).time - expect(StatsD).to have_received(:increment) - .with('worker.decision_review.saved_claim_sc_status_updater.status', tags: ['status:complete']) - .exactly(2).times - expect(StatsD).to have_received(:increment) - .with('worker.decision_review.saved_claim_sc_status_updater_upload.status', tags: ['status:vbms']) - .exactly(2).times - expect(StatsD).to have_received(:increment) - .with('worker.decision_review.saved_claim_sc_status_updater_upload.status', tags: ['status:processing']) - .exactly(2).times - expect(Rails.logger).not_to have_received(:info) - .with('DecisionReview::SavedClaimScStatusUpdaterJob evidence status error', anything) - end - end - - context 'SavedClaim records are present with completed status in LH and have associated secondary forms' do - let(:benefits_intake_service) { instance_double(BenefitsIntake::Service) } - let!(:secondary_form1) { create(:secondary_appeal_form4142, guid: SecureRandom.uuid) } - let!(:secondary_form2) { create(:secondary_appeal_form4142, guid: SecureRandom.uuid) } - let!(:secondary_form3) { create(:secondary_appeal_form4142, guid: SecureRandom.uuid) } - let!(:secondary_form_with_delete_date) do - create(:secondary_appeal_form4142, guid: SecureRandom.uuid, delete_date: 10.days.from_now) - end - let!(:saved_claim1) do - SavedClaim::SupplementalClaim.create(guid: secondary_form1.appeal_submission.submitted_appeal_uuid, - form: '{}') - end - let!(:saved_claim2) do - SavedClaim::SupplementalClaim.create(guid: secondary_form2.appeal_submission.submitted_appeal_uuid, - form: '{}') - end - let!(:saved_claim3) do - SavedClaim::SupplementalClaim.create(guid: secondary_form3.appeal_submission.submitted_appeal_uuid, - form: '{}') - end - let!(:saved_claim4) do - SavedClaim::SupplementalClaim - .create(guid: secondary_form_with_delete_date.appeal_submission.submitted_appeal_uuid, form: '{}') - end - - let(:upload_response_4142_vbms) do - response = JSON.parse(File.read('spec/fixtures/supplemental_claims/SC_4142_show_response_200.json')) - instance_double(Faraday::Response, body: response) - end - - let(:upload_response_4142_processing) do - response = JSON.parse(File.read('spec/fixtures/supplemental_claims/SC_4142_show_response_200.json')) - response['data']['attributes']['status'] = 'processing' - instance_double(Faraday::Response, body: response) - end - - let(:upload_response_4142_error) do - response = JSON.parse(File.read('spec/fixtures/supplemental_claims/SC_4142_show_response_200.json')) - response['data']['attributes']['status'] = 'error' - response['data']['attributes']['detail'] = 'Invalid PDF' - instance_double(Faraday::Response, body: response) - end - - before do - allow(DecisionReviewV1::Service).to receive(:new).and_return(service) - allow(BenefitsIntake::Service).to receive(:new).and_return(benefits_intake_service) - allow(service).to receive(:get_supplemental_claim).with(saved_claim1.guid).and_return(response_complete) - allow(service).to receive(:get_supplemental_claim).with(saved_claim2.guid).and_return(response_complete) - allow(service).to receive(:get_supplemental_claim).with(saved_claim3.guid).and_return(response_complete) - allow(service).to receive(:get_supplemental_claim).with(saved_claim4.guid).and_return(response_complete) - - allow(StatsD).to receive(:increment) - allow(Rails.logger).to receive(:info) - end - - it 'does NOT check status for 4142 records that already have a delete_date' do - expect(benefits_intake_service).to receive(:get_status).with(uuid: secondary_form1.guid) - expect(benefits_intake_service).to receive(:get_status).with(uuid: secondary_form2.guid) - expect(benefits_intake_service).to receive(:get_status).with(uuid: secondary_form3.guid) - expect(benefits_intake_service).not_to receive(:get_status) - .with(uuid: secondary_form_with_delete_date.guid) - subject.new.perform - end - - context 'updating 4142 information' do - let(:frozen_time) { DateTime.new(2024, 1, 1).utc } - - before do - allow(benefits_intake_service).to receive(:get_status) - .with(uuid: secondary_form1.guid).and_return(upload_response_4142_vbms) - allow(benefits_intake_service).to receive(:get_status) - .with(uuid: secondary_form2.guid).and_return(upload_response_4142_processing) - allow(benefits_intake_service).to receive(:get_status) - .with(uuid: secondary_form3.guid).and_return(upload_response_4142_error) - end - - it 'updates the status and sets delete_date if appropriate' do - Timecop.freeze(frozen_time) do - subject.new.perform - end - expect(secondary_form1.reload.status).to include('vbms') - expect(secondary_form1.reload.status_updated_at).to eq frozen_time - expect(secondary_form1.reload.delete_date).to eq frozen_time + 59.days - - expect(secondary_form2.reload.status).to include('processing') - expect(secondary_form2.reload.status_updated_at).to eq frozen_time - expect(secondary_form2.reload.delete_date).to be_nil - - expect(secondary_form3.reload.status).to include('error') - expect(secondary_form3.reload.status_updated_at).to eq frozen_time - expect(secondary_form3.reload.delete_date).to be_nil - end - - it 'logs ands increments metrics for updates to the 4142 status' do - Timecop.freeze(frozen_time) do - subject.new.perform - end - - expect(StatsD).to have_received(:increment) - .with('worker.decision_review.saved_claim_sc_status_updater_secondary_form.delete_date_update') - .exactly(1).time - expect(StatsD).to have_received(:increment) - .with('worker.decision_review.saved_claim_sc_status_updater_secondary_form.status', tags: ['status:vbms']) - .exactly(1).time - expect(StatsD).to have_received(:increment) - .with('worker.decision_review.saved_claim_sc_status_updater_secondary_form.status', - tags: ['status:processing']) - .exactly(1).time - - expect(Rails.logger).to have_received(:info) - .with('DecisionReview::SavedClaimScStatusUpdaterJob secondary form status error', anything) - expect(StatsD).to have_received(:increment) - .with('silent_failure', tags: ['service:supplemental-claims-4142', - 'function: PDF submission to Lighthouse']) - .exactly(1).time - end - - context 'when the 4142 status is unchanged' do - let(:previous_status) do - { - 'status' => 'processing' - } - end - - before do - secondary_form2.update!(status: previous_status.to_json, status_updated_at: frozen_time - 3.days) - end - - it 'does not log or increment metrics for a status change' do - Timecop.freeze(frozen_time) do - subject.new.perform - end - - expect(secondary_form2.reload.status_updated_at).to eq frozen_time - expect(StatsD).not_to have_received(:increment) - .with('worker.decision_review.saved_claim_sc_status_updater_secondary_form.status', - tags: ['status:processing']) - end - end - - context 'when at least one secondary form is not in vbms status' do - it 'does not set the delete_date for the related SavedCalim::SupplementlClaim' do - Timecop.freeze(frozen_time) do - subject.new.perform - end - - expect(saved_claim1.reload.delete_date).to eq frozen_time + 59.days - expect(saved_claim2.delete_date).to be_nil - end - end - end - - context 'with 4142 flag disabled' do - before do - Flipper.disable :decision_review_track_4142_submissions - end - - it 'does not query SecondaryAppealForm records' do - expect(SecondaryAppealForm).not_to receive(:where) - - subject.new.perform - end - end end - context 'SavedClaim record with previous metadata' do - before do - allow(Rails.logger).to receive(:info) - end - - let(:guid4) { SecureRandom.uuid } - let(:guid5) { SecureRandom.uuid } - - let(:upload_id) { SecureRandom.uuid } - let(:upload_id2) { SecureRandom.uuid } - let(:upload_id3) { SecureRandom.uuid } - - let(:metadata1) do - { - 'status' => 'submitted', - 'uploads' => [ - { - 'status' => 'error', - 'detail' => 'Invalid PDF', - 'id' => upload_id - } - ] - } - end - - let(:metadata2) do - { - 'status' => 'submitted', - 'uploads' => [ - { - 'status' => 'pending', - 'detail' => nil, - 'id' => upload_id2 - }, - { - 'status' => 'processing', - 'detail' => nil, - 'id' => upload_id3 - } - ] - } - end - - it 'does not increment metrics for unchanged form status or existing final statuses' do - SavedClaim::SupplementalClaim.create(guid: guid1, form: '{}', metadata: '{"status":"error","uploads":[]}') - SavedClaim::SupplementalClaim.create(guid: guid2, form: '{}', metadata: '{"status":"submitted","uploads":[]}') - SavedClaim::SupplementalClaim.create(guid: guid3, form: '{}', metadata: '{"status":"pending","uploads":[]}') - SavedClaim::SupplementalClaim.create(guid: guid4, form: '{}', metadata: '{"status":"complete,"uploads":[]}') - SavedClaim::SupplementalClaim.create(guid: guid5, form: '{}', metadata: '{"status":"DR_404,"uploads":[]}') - - expect(service).not_to receive(:get_supplemental_claim).with(guid1) - expect(service).to receive(:get_supplemental_claim).with(guid2).and_return(response_error) - expect(service).to receive(:get_supplemental_claim).with(guid3).and_return(response_pending) - expect(service).not_to receive(:get_supplemental_claim).with(guid4) - expect(service).not_to receive(:get_supplemental_claim).with(guid5) - - subject.new.perform - - claim2 = SavedClaim::SupplementalClaim.find_by(guid: guid2) - expect(claim2.delete_date).to be_nil - expect(claim2.metadata).to include 'error' - - expect(StatsD).to have_received(:increment) - .with('worker.decision_review.saved_claim_sc_status_updater.status', tags: ['status:error']) - .exactly(1).time - expect(StatsD).not_to have_received(:increment) - .with('worker.decision_review.saved_claim_sc_status_updater.status', tags: ['status:pending']) - - expect(Rails.logger).not_to have_received(:info) - .with('DecisionReview::SavedClaimScStatusUpdaterJob form status error', guid: guid1) - expect(Rails.logger).to have_received(:info) - .with('DecisionReview::SavedClaimScStatusUpdaterJob form status error', guid: guid2) - expect(StatsD).to have_received(:increment) - .with('silent_failure', tags: ['service:supplemental-claims', - 'function: form submission to Lighthouse']) - .exactly(1).time - end - - it 'does not increment metrics for unchanged evidence status or existing final statuses' do - SavedClaim::SupplementalClaim.create(guid: guid1, form: '{}', metadata: metadata1.to_json) - appeal_submission = create(:appeal_submission, submitted_appeal_uuid: guid1) - create(:appeal_submission_upload, appeal_submission:, lighthouse_upload_id: upload_id) - - SavedClaim::SupplementalClaim.create(guid: guid2, form: '{}', metadata: metadata2.to_json) - appeal_submission2 = create(:appeal_submission, submitted_appeal_uuid: guid2) - create(:appeal_submission_upload, appeal_submission: appeal_submission2, lighthouse_upload_id: upload_id2) - create(:appeal_submission_upload, appeal_submission: appeal_submission2, lighthouse_upload_id: upload_id3) - - expect(service).to receive(:get_supplemental_claim).with(guid1).and_return(response_pending) - expect(service).to receive(:get_supplemental_claim).with(guid2).and_return(response_error) - - expect(service).not_to receive(:get_supplemental_claim_upload).with(guid: upload_id) - expect(service).to receive(:get_supplemental_claim_upload).with(guid: upload_id2) - .and_return(upload_response_error) - expect(service).to receive(:get_supplemental_claim_upload).with(guid: upload_id3) - .and_return(upload_response_processing) - - subject.new.perform - - expect(StatsD).to have_received(:increment) - .with('worker.decision_review.saved_claim_sc_status_updater_upload.status', tags: ['status:error']) - .exactly(1).times - expect(StatsD).not_to have_received(:increment) - .with('worker.decision_review.saved_claim_sc_status_updater_upload.status', tags: ['status:processing']) - - expect(Rails.logger).not_to have_received(:info) - .with('DecisionReview::SavedClaimScStatusUpdaterJob evidence status error', - guid: anything, lighthouse_upload_id: upload_id, detail: anything) - expect(Rails.logger).to have_received(:info) - .with('DecisionReview::SavedClaimScStatusUpdaterJob evidence status error', - guid: guid2, lighthouse_upload_id: upload_id2, detail: 'Invalid PDF') - expect(StatsD).to have_received(:increment) - .with('silent_failure', tags: ['service:supplemental-claims', - 'function: evidence submission to Lighthouse']) - .exactly(1).time - end - end - - context 'Retrieving SavedClaim records fails' do - before do - allow(SavedClaim::SupplementalClaim).to receive(:where).and_raise(ActiveRecord::ConnectionTimeoutError) - allow(Rails.logger).to receive(:error) - end - - it 'rescues the error and logs' do - subject.new.perform - - expect(Rails.logger).to have_received(:error) - .with('DecisionReview::SavedClaimScStatusUpdaterJob error', anything) - expect(StatsD).to have_received(:increment) - .with('worker.decision_review.saved_claim_sc_status_updater.error').once - end - end - - context 'an error occurs while processing form, attachments, or secondary form' do - before do - SavedClaim::SupplementalClaim.create(guid: guid1, form: '{}') - SavedClaim::SupplementalClaim.create(guid: guid2, form: '{}') - - allow(service).to receive(:get_supplemental_claim).and_raise(exception) - allow(Rails.logger).to receive(:error) - end - - context 'and it is a temporary error' do - let(:exception) { DecisionReviewV1::ServiceException.new(key: 'DR_504') } - - it 'handles request errors and increments the statsd metric' do - allow(service).to receive(:get_supplemental_claim).and_raise(DecisionReviewV1::ServiceException) - - subject.new.perform - - expect(StatsD).to have_received(:increment) - .with('worker.decision_review.saved_claim_sc_status_updater.error').exactly(2).times - end - end - - context 'and it is a 404 error' do - let(:exception) { DecisionReviewV1::ServiceException.new(key: 'DR_404') } - - it 'updates the status of the record' do - subject.new.perform - - sc1 = SavedClaim::SupplementalClaim.find_by(guid: guid1) - metadata1 = JSON.parse(sc1.metadata) - expect(metadata1['status']).to eq 'DR_404' - - sc2 = SavedClaim::SupplementalClaim.find_by(guid: guid2) - metadata2 = JSON.parse(sc2.metadata) - expect(metadata2['status']).to eq 'DR_404' - - expect(Rails.logger).to have_received(:error) - .with('DecisionReview::SavedClaimScStatusUpdaterJob error', { guid: anything, message: anything }) - .exactly(2).times - end - end - end + include_examples 'status updater job with base forms', SavedClaim::SupplementalClaim + include_examples 'status updater job when forms include evidence', SavedClaim::SupplementalClaim end context 'with flag disabled' do @@ -531,8 +24,8 @@ Flipper.disable :decision_review_saved_claim_sc_status_updater_job_enabled end - it 'does not query SavedClaim::HigherLevelReview records' do - expect(SavedClaim::HigherLevelReview).not_to receive(:where) + it 'does not query SavedClaim::SupplementalClaim records' do + expect(SavedClaim::SupplementalClaim).not_to receive(:where) subject.new.perform end From 749ece8a40229128410cdf497631157ab1dd9d96 Mon Sep 17 00:00:00 2001 From: Ryan Johnson <72466113+rjohnson2011@users.noreply.github.com> Date: Fri, 22 Nov 2024 16:38:36 -0500 Subject: [PATCH 08/21] Revert "Bump rswag-ui from 2.15.0 to 2.16.0 (#19542)" (#19586) This reverts commit acb9680fb3922a20e685ee47af62b90f217aae2d. --- Gemfile.lock | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index 53af0be6395..06ecfb22349 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -639,7 +639,7 @@ GEM rake (~> 13.0) lockbox (2.0.0) logger (1.6.1) - loofah (2.23.1) + loofah (2.22.0) crass (~> 1.0.2) nokogiri (>= 1.12.0) lumberjack (1.2.10) @@ -660,7 +660,7 @@ GEM rake mini_magick (4.13.2) mini_mime (1.1.5) - mini_portile2 (2.8.8) + mini_portile2 (2.8.7) minitest (5.25.1) mock_redis (0.46.0) msgpack (1.7.2) @@ -668,7 +668,7 @@ GEM multi_json (1.15.0) multi_xml (0.6.0) multipart-post (2.4.1) - mutex_m (0.3.0) + mutex_m (0.2.0) nap (1.1.0) nenv (0.3.0) net-http (0.4.1) @@ -776,9 +776,9 @@ GEM byebug (~> 11.0) pry (>= 0.13, < 0.15) pstore (0.1.3) - psych (5.2.0) + psych (5.1.2) stringio - psych (5.2.0-java) + psych (5.1.2-java) jar-dependencies (>= 0.1.7) public_suffix (6.0.1) puma (6.4.3) @@ -805,7 +805,7 @@ GEM rack-timeout (0.7.0) rack-vcr (0.1.6) vcr (>= 2.9) - rackup (1.0.1) + rackup (1.0.0) rack (< 3) webrick rails (7.1.4.1) @@ -849,7 +849,7 @@ GEM rb-inotify (0.10.1) ffi (~> 1.0) rchardet (1.8.0) - rdoc (6.8.1) + rdoc (6.7.0) psych (>= 4.0.0) redis (5.3.0) redis-client (>= 0.22.0) @@ -858,7 +858,7 @@ GEM redis-namespace (1.11.0) redis (>= 4) regexp_parser (2.9.2) - reline (0.5.11) + reline (0.5.10) io-console (~> 0.5) representable (3.2.0) declarative (< 0.1.0) @@ -927,9 +927,9 @@ GEM json-schema (>= 2.2, < 6.0) railties (>= 5.2, < 8.0) rspec-core (>= 2.14) - rswag-ui (2.16.0) - actionpack (>= 5.2, < 8.1) - railties (>= 5.2, < 8.1) + rswag-ui (2.15.0) + actionpack (>= 5.2, < 8.0) + railties (>= 5.2, < 8.0) rtesseract (3.1.3) rubocop (1.68.0) json (~> 2.3) @@ -1032,7 +1032,7 @@ GEM ssrf_filter (1.1.2) staccato (0.5.3) statsd-instrument (3.9.7) - stringio (3.1.2) + stringio (3.1.1) strong_migrations (2.0.2) activerecord (>= 6.1) super_diff (0.13.0) @@ -1107,7 +1107,7 @@ GEM xmlmapper (0.8.1) nokogiri (~> 1.11) yard (0.9.37) - zeitwerk (2.7.1) + zeitwerk (2.6.18) PLATFORMS aarch64-linux From 00850ac1387d6b1265c44bf18ecfcc1cbff76916 Mon Sep 17 00:00:00 2001 From: Jennica Stiehl <25069483+stiehlrod@users.noreply.github.com> Date: Mon, 25 Nov 2024 07:09:36 -0700 Subject: [PATCH 09/21] API-42281-find-by-ssn-poa-vbms-sidekiq (#19524) * Adds flipper, and flipper switch for poa vbms sidekiq job. * Adds test, vcr cassette. Adds mocking for lipper features. Renames flipper. --- config/features.yml | 4 + .../lib/claims_api/poa_vbms_sidekiq.rb | 18 +- .../spec/sidekiq/poa_form_builder_job_spec.rb | 2 +- .../spec/sidekiq/poa_vbms_sidekiq_spec.rb | 33 +- .../spec/sidekiq/poa_vbms_upload_job_spec.rb | 3 +- .../sidekiq/v2/poa_form_builder_job_spec.rb | 13 +- .../bgs/person_web_service/find_by_ssn.yml | 900 ++++++++++++++++++ 7 files changed, 959 insertions(+), 14 deletions(-) create mode 100644 spec/support/vcr_cassettes/bgs/person_web_service/find_by_ssn.yml diff --git a/config/features.yml b/config/features.yml index f4e1e7928f5..e3db919d10f 100644 --- a/config/features.yml +++ b/config/features.yml @@ -237,6 +237,10 @@ features: actor_type: user description: When enabled, sends poa forms to BD via the refactored logic enable_in_development: true + claims_api_use_person_web_service: + actor_type: user + description: Uses person web service rather than local bgs + enable_in_development: true claims_api_526_v2_uploads_bd_refactor: actor_type: user description: When enabled, sends 526 forms to BD via the refactored logic diff --git a/modules/claims_api/lib/claims_api/poa_vbms_sidekiq.rb b/modules/claims_api/lib/claims_api/poa_vbms_sidekiq.rb index 90b140aad40..416b0dfefff 100644 --- a/modules/claims_api/lib/claims_api/poa_vbms_sidekiq.rb +++ b/modules/claims_api/lib/claims_api/poa_vbms_sidekiq.rb @@ -1,6 +1,7 @@ # frozen_string_literal: true require 'claims_api/vbms_uploader' +require 'bgs_service/person_web_service' module ClaimsApi module PoaVbmsSidekiq @@ -53,7 +54,7 @@ def retrieve_veteran_file_number(power_of_attorney:) ssn = power_of_attorney.auth_headers['va_eauth_pnid'] begin - bgs_service(power_of_attorney:).people.find_by_ssn(ssn)&.[](:file_nbr) # rubocop:disable Rails/DynamicFindBy + bgs_service(power_of_attorney:).find_by_ssn(ssn)&.[](:file_nbr) # rubocop:disable Rails/DynamicFindBy rescue BGS::ShareError => e error_message = "A BGS failure occurred while trying to retrieve Veteran 'FileNumber'" log_exception_to_sentry(e, nil, { message: error_message }, 'warn') @@ -62,10 +63,17 @@ def retrieve_veteran_file_number(power_of_attorney:) end def bgs_service(power_of_attorney:) - BGS::Services.new( - external_uid: power_of_attorney.auth_headers['va_eauth_pid'], - external_key: power_of_attorney.auth_headers['va_eauth_pid'] - ) + if Flipper.enabled? :claims_api_use_person_web_service + ClaimsApi::PersonWebService.new( + external_uid: power_of_attorney.auth_headers['va_eauth_pid'], + external_key: power_of_attorney.auth_headers['va_eauth_pid'] + ) + else + BGS::Services.new( + external_uid: power_of_attorney.auth_headers['va_eauth_pid'], + external_key: power_of_attorney.auth_headers['va_eauth_pid'] + ).people + end end end end diff --git a/modules/claims_api/spec/sidekiq/poa_form_builder_job_spec.rb b/modules/claims_api/spec/sidekiq/poa_form_builder_job_spec.rb index 79de3c1783e..744d84e4cbd 100644 --- a/modules/claims_api/spec/sidekiq/poa_form_builder_job_spec.rb +++ b/modules/claims_api/spec/sidekiq/poa_form_builder_job_spec.rb @@ -3,7 +3,7 @@ require 'rails_helper' require 'pdf_fill/filler' -RSpec.describe ClaimsApi::V1::PoaFormBuilderJob, type: :job do +RSpec.describe ClaimsApi::V1::PoaFormBuilderJob, type: :job, vcr: 'bgs/person_web_service/find_by_ssn' do subject { described_class } let(:power_of_attorney) { create(:power_of_attorney, :with_full_headers) } diff --git a/modules/claims_api/spec/sidekiq/poa_vbms_sidekiq_spec.rb b/modules/claims_api/spec/sidekiq/poa_vbms_sidekiq_spec.rb index ff7415227fd..e23eae1ecc7 100644 --- a/modules/claims_api/spec/sidekiq/poa_vbms_sidekiq_spec.rb +++ b/modules/claims_api/spec/sidekiq/poa_vbms_sidekiq_spec.rb @@ -2,10 +2,17 @@ require 'rails_helper' require 'claims_api/poa_vbms_sidekiq' +require 'bgs_service/person_web_service' -RSpec.describe ClaimsApi::PoaVbmsSidekiq do +RSpec.describe ClaimsApi::PoaVbmsSidekiq, vcr: 'bgs/person_web_service/find_by_ssn' do let(:dummy_class) { Class.new { extend ClaimsApi::PoaVbmsSidekiq } } + before do + Sidekiq::Job.clear_all + allow_any_instance_of(Flipper).to receive(:enabled?).with(:claims_api_use_person_web_service).and_return false + allow_any_instance_of(Flipper).to receive(:enabled?).with(:lighthouse_claims_api_poa_use_bd).and_return false + end + describe 'upload_to_vbms' do let(:power_of_attorney) { create(:power_of_attorney) } @@ -40,5 +47,29 @@ ) end end + + describe 'when the claims_api_use_person_web_service flipper is on' do + let(:person_web_service) { instance_double(ClaimsApi::PersonWebService) } + + before do + allow(Flipper).to receive(:enabled?).with(:claims_api_use_person_web_service).and_return true + allow(ClaimsApi::PersonWebService).to receive(:new).with(external_uid: anything, + external_key: anything) + .and_return(person_web_service) + allow(person_web_service).to receive(:find_by_ssn).and_return({ file_nbr: '796111863' }) + end + + it 'calls local bgs services instead of bgs-ext' do + allow_any_instance_of(ClaimsApi::VBMSUploader).to receive(:upload!).and_return( + { + vbms_new_document_version_ref_id: 'some value', + vbms_document_series_ref_id: 'some value' + } + ) + + dummy_class.upload_to_vbms(power_of_attorney, '/some/random/path') + expect(person_web_service).to have_received(:find_by_ssn) + end + end end end diff --git a/modules/claims_api/spec/sidekiq/poa_vbms_upload_job_spec.rb b/modules/claims_api/spec/sidekiq/poa_vbms_upload_job_spec.rb index 92f2ffc92a9..6bffb510d34 100644 --- a/modules/claims_api/spec/sidekiq/poa_vbms_upload_job_spec.rb +++ b/modules/claims_api/spec/sidekiq/poa_vbms_upload_job_spec.rb @@ -3,7 +3,7 @@ require 'rails_helper' require_relative '../support/fake_vbms' -RSpec.describe ClaimsApi::PoaVBMSUploadJob, type: :job do +RSpec.describe ClaimsApi::PoaVBMSUploadJob, type: :job, vcr: 'bgs/person_web_service/find_by_ssn' do subject { described_class } before do @@ -12,6 +12,7 @@ allow(VBMS::Client).to receive(:from_env_vars).and_return(@vbms_client) allow(Flipper).to receive(:enabled?).with(:claims_load_testing).and_return false allow(Flipper).to receive(:enabled?).with(:lighthouse_claims_api_poa_use_bd).and_return false + allow(Flipper).to receive(:enabled?).with(:claims_api_use_person_web_service).and_return false allow_any_instance_of(ClaimsApi::V2::BenefitsDocuments::Service) .to receive(:get_auth_token).and_return('some-value-here') end diff --git a/modules/claims_api/spec/sidekiq/v2/poa_form_builder_job_spec.rb b/modules/claims_api/spec/sidekiq/v2/poa_form_builder_job_spec.rb index d2d5a453d7e..23cb4d1ce47 100644 --- a/modules/claims_api/spec/sidekiq/v2/poa_form_builder_job_spec.rb +++ b/modules/claims_api/spec/sidekiq/v2/poa_form_builder_job_spec.rb @@ -3,7 +3,7 @@ require 'rails_helper' require 'pdf_fill/filler' -RSpec.describe ClaimsApi::V2::PoaFormBuilderJob, type: :job do +RSpec.describe ClaimsApi::V2::PoaFormBuilderJob, type: :job, vcr: 'bgs/person_web_service/find_by_ssn' do subject { described_class } let(:power_of_attorney) { create(:power_of_attorney, :with_full_headers) } @@ -15,7 +15,8 @@ before do Sidekiq::Job.clear_all - Flipper.disable(:lighthouse_claims_api_poa_use_bd) + allow_any_instance_of(Flipper).to receive(:enabled?).with(:claims_api_use_person_web_service).and_return false + allow_any_instance_of(Flipper).to receive(:enabled?).with(:lighthouse_claims_api_poa_use_bd).and_return false end describe 'generating and uploading the signed pdf' do @@ -453,7 +454,7 @@ let(:output_path) { 'some.pdf' } before do - Flipper.enable(:lighthouse_claims_api_poa_use_bd) + allow_any_instance_of(Flipper).to receive(:enabled?).with(:lighthouse_claims_api_poa_use_bd).and_return true pdf_constructor_double = instance_double(ClaimsApi::V2::PoaPdfConstructor::Organization) allow_any_instance_of(ClaimsApi::V2::PoaFormBuilderJob).to receive(:pdf_constructor) .and_return(pdf_constructor_double) @@ -462,7 +463,7 @@ end it 'calls the Benefits Documents uploader instead of VBMS' do - Flipper.disable(:claims_api_poa_uploads_bd_refactor) + allow_any_instance_of(Flipper).to receive(:enabled?).with(:claims_api_poa_uploads_bd_refactor).and_return false expect_any_instance_of(ClaimsApi::VBMSUploader).not_to receive(:upload_document) expect_any_instance_of(ClaimsApi::BD).to receive(:upload) subject.new.perform(power_of_attorney.id, '2122', rep.id, action: 'post') @@ -473,8 +474,8 @@ let(:pdf_path) { 'modules/claims_api/spec/fixtures/21-22/signed_filled_final.pdf' } before do - Flipper.enable(:lighthouse_claims_api_poa_use_bd) - Flipper.enable(:claims_api_poa_uploads_bd_refactor) + allow_any_instance_of(Flipper).to receive(:enabled?).with(:lighthouse_claims_api_poa_use_bd).and_return true + allow_any_instance_of(Flipper).to receive(:enabled?).with(:claims_api_poa_uploads_bd_refactor).and_return true pdf_constructor_double = instance_double(ClaimsApi::V2::PoaPdfConstructor::Organization) allow_any_instance_of(ClaimsApi::V2::PoaFormBuilderJob).to receive(:pdf_constructor) .and_return(pdf_constructor_double) diff --git a/spec/support/vcr_cassettes/bgs/person_web_service/find_by_ssn.yml b/spec/support/vcr_cassettes/bgs/person_web_service/find_by_ssn.yml new file mode 100644 index 00000000000..52cdc548ad4 --- /dev/null +++ b/spec/support/vcr_cassettes/bgs/person_web_service/find_by_ssn.yml @@ -0,0 +1,900 @@ +--- +http_interactions: +- request: + method: get + uri: "/PersonWebServiceBean/PersonWebService?WSDL" + body: + encoding: US-ASCII + string: '' + headers: + Host: + - ".vba.va.gov" + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + User-Agent: + - Ruby + response: + status: + code: 200 + message: OK + headers: + Date: + - Thu, 21 Nov 2024 21:19:08 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, 21 Nov 2024 21:19:08 GMT +- request: + method: post + uri: "/PersonWebServiceBean/PersonWebService" + body: + encoding: UTF-8 + string: |- + + + VAgovAPI + + + 10.0.0.205 + 281 + VAgovAPI + 796378881 + 796378881 + + + 796378881 + headers: + Host: + - ".vba.va.gov" + Soapaction: + - '"findPersonBySSN"' + Content-Type: + - text/xml;charset=UTF-8 + Content-Length: + - '1269' + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + User-Agent: + - Ruby + response: + status: + code: 200 + message: OK + headers: + Date: + - Thu, 21 Nov 2024 21:19:08 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: rO0ABXdTAB13ZWJsb2dpYy5hcHAuQ29ycG9yYXRlRGF0YUVBUgAAANYAAAAjd2VibG9naWMud29ya2FyZWEuU3RyaW5nV29ya0NvbnRleHQABTMuNS4wAAA=SALINASKS1954-12-15T00:00:00-06:002022-10-03T15:35:53-05:002022-10-03T15:35:53-05:00YCORP0valid@somedomain.comN796378881JESSE-2M2024-11-21T15:18:35-06:00VAgovAPIlighthouse-vets-apilighthouse-vets-api281VAGOVAPI - + BUPD218935360UVAGOVAPIGRAY-1ADSUSEONLY-1YNUU600045026Person600045026NN796378881031781Y + recorded_at: Thu, 21 Nov 2024 21:19:08 GMT +recorded_with: VCR 6.3.1 From 0765b59750c560890a8caf2698c3278719c034a6 Mon Sep 17 00:00:00 2001 From: Derek Dyer <4297274+digitaldrk@users.noreply.github.com> Date: Mon, 25 Nov 2024 10:11:29 -0500 Subject: [PATCH 10/21] 97116 Debt Team Digital Dispute endpoint (#19501) --- .../v0/digital_disputes_controller.rb | 33 +++++++++++++++++++ modules/debts_api/config/routes.rb | 2 ++ .../debts_api/v0/digital_disputes_spec.rb | 27 +++++++++++++++ 3 files changed, 62 insertions(+) create mode 100644 modules/debts_api/app/controllers/debts_api/v0/digital_disputes_controller.rb create mode 100644 modules/debts_api/spec/requests/debts_api/v0/digital_disputes_spec.rb diff --git a/modules/debts_api/app/controllers/debts_api/v0/digital_disputes_controller.rb b/modules/debts_api/app/controllers/debts_api/v0/digital_disputes_controller.rb new file mode 100644 index 00000000000..1309122154e --- /dev/null +++ b/modules/debts_api/app/controllers/debts_api/v0/digital_disputes_controller.rb @@ -0,0 +1,33 @@ +# frozen_string_literal: true + +module DebtsApi + module V0 + class DigitalDisputesController < ApplicationController + service_tag 'financial-report' + + def create + # Just returning data back for now while we wait on our integration partner + render json: digital_disputes_params + end + + private + + def digital_disputes_params + params.permit( + contact_information: %i[ + email + phone_number + address_line1 + address_line2 + city + ], + debt_information: %i[ + debt + dispute_reason + support_statement + ] + ) + end + end + end +end diff --git a/modules/debts_api/config/routes.rb b/modules/debts_api/config/routes.rb index 5d9ea4397bc..2c33a3e713c 100644 --- a/modules/debts_api/config/routes.rb +++ b/modules/debts_api/config/routes.rb @@ -9,6 +9,8 @@ end end + resources :digital_disputes, only: %i[create] + get 'financial_status_reports/rehydrate_submission/:submission_id', to: 'financial_status_reports#rehydrate' post 'financial_status_reports/transform_and_submit', to: 'financial_status_reports#transform_and_submit' diff --git a/modules/debts_api/spec/requests/debts_api/v0/digital_disputes_spec.rb b/modules/debts_api/spec/requests/debts_api/v0/digital_disputes_spec.rb new file mode 100644 index 00000000000..38a4c1d8619 --- /dev/null +++ b/modules/debts_api/spec/requests/debts_api/v0/digital_disputes_spec.rb @@ -0,0 +1,27 @@ +# frozen_string_literal: true + +require 'rails_helper' + +RSpec.describe 'DebtsApi::V0::DigitalDisputes', type: :request do + let(:user) { build(:user, :loa3) } + + before do + sign_in_as(user) + end + + describe '#create' do + let(:params) do + get_fixture_absolute('modules/debts_api/spec/fixtures/digital_disputes/standard_submission') + end + + it 'returns digital_disputes_params' do + post( + '/debts_api/v0/digital_disputes', + params: params, + as: :json + ) + + expect(response).to have_http_status(:ok) + end + end +end From 20935c7bbf236f6a005d3645c24f2e73cdafacfa Mon Sep 17 00:00:00 2001 From: Ian Perera <25709133+ianperera@users.noreply.github.com> Date: Mon, 25 Nov 2024 10:44:18 -0500 Subject: [PATCH 11/21] VaNotify - Cleanup IcnJob (#19405) * Cleanup IcnJob * fix lint * revert * fix lint * revert --------- Co-authored-by: Jake-Uhteg <102548645+Jake-Uhteg@users.noreply.github.com> --- config/features.yml | 4 - .../va_notify/in_progress_form_reminder.rb | 22 +--- .../app/sidekiq/va_notify/icn_job.rb | 49 -------- .../one_time_in_progress_reminder.rb | 6 +- .../va_notify/spec/sidekiq/icn_job_spec.rb | 110 ------------------ 5 files changed, 7 insertions(+), 184 deletions(-) delete mode 100644 modules/va_notify/app/sidekiq/va_notify/icn_job.rb delete mode 100644 modules/va_notify/spec/sidekiq/icn_job_spec.rb diff --git a/config/features.yml b/config/features.yml index e3db919d10f..fba8c0b8e2a 100644 --- a/config/features.yml +++ b/config/features.yml @@ -861,10 +861,6 @@ features: actor_type: user description: Enable/disable 526ez in progress form reminders (sent via VaNotify) enable_in_development: true - va_notify_user_account_job: - actor_type: user - description: Enable/disable UserAccountJob in VANotify (replacement for IcnJob) - enable_in_development: true letters_check_discrepancies: actor_type: user description: Enables ability to log letter discrepancies between evss and lighthouse diff --git a/modules/va_notify/app/services/va_notify/in_progress_form_reminder.rb b/modules/va_notify/app/services/va_notify/in_progress_form_reminder.rb index 43c1d383913..e60c5205bef 100644 --- a/modules/va_notify/app/services/va_notify/in_progress_form_reminder.rb +++ b/modules/va_notify/app/services/va_notify/in_progress_form_reminder.rb @@ -10,7 +10,6 @@ class InProgressFormReminder class MissingICN < StandardError; end - # rubocop:disable Metrics/MethodLength def perform(form_id) @in_progress_form = InProgressForm.find(form_id) return unless enabled? @@ -22,27 +21,18 @@ def perform(form_id) if only_one_supported_in_progress_form? template_id = VANotify::InProgressFormHelper::TEMPLATE_ID.fetch(in_progress_form.form_id) - if Flipper.enabled?(:va_notify_user_account_job) - UserAccountJob.perform_async(in_progress_form.user_account_id, - template_id, - personalisation_details_single) - else - IcnJob.perform_async(veteran.icn, template_id, personalisation_details_single) - end + UserAccountJob.perform_async(in_progress_form.user_account_id, + template_id, + personalisation_details_single) elsif oldest_in_progress_form? template_id = VANotify::InProgressFormHelper::TEMPLATE_ID.fetch('generic') - if Flipper.enabled?(:va_notify_user_account_job) - UserAccountJob.perform_async(in_progress_form.user_account_id, - template_id, - personalisation_details_multiple) - else - IcnJob.perform_async(veteran.icn, template_id, personalisation_details_single) - end + UserAccountJob.perform_async(in_progress_form.user_account_id, + template_id, + personalisation_details_multiple) end rescue VANotify::Veteran::MPINameError, VANotify::Veteran::MPIError nil end - # rubocop:enable Metrics/MethodLength private diff --git a/modules/va_notify/app/sidekiq/va_notify/icn_job.rb b/modules/va_notify/app/sidekiq/va_notify/icn_job.rb deleted file mode 100644 index f09bcfa2138..00000000000 --- a/modules/va_notify/app/sidekiq/va_notify/icn_job.rb +++ /dev/null @@ -1,49 +0,0 @@ -# frozen_string_literal: true - -module VANotify - class IcnJob - include Sidekiq::Job - include SentryLogging - sidekiq_options retry: 14 - - sidekiq_retries_exhausted do |msg, _ex| - job_id = msg['jid'] - job_class = msg['class'] - error_class = msg['error_class'] - error_message = msg['error_message'] - - message = "#{job_class} retries exhausted" - Rails.logger.error(message, { job_id:, error_class:, error_message: }) - StatsD.increment("sidekiq.jobs.#{job_class.underscore}.retries_exhausted") - end - - def perform(icn, template_id, personalisation = nil, api_key = Settings.vanotify.services.va_gov.api_key) - notify_client = VaNotify::Service.new(api_key) - - notify_client.send_email( - { - recipient_identifier: { id_value: icn, id_type: 'ICN' }, - template_id:, personalisation: - }.compact - ) - StatsD.increment('api.vanotify.icn_job.success') - rescue Common::Exceptions::BackendServiceException => e - handle_backend_exception(e, icn, template_id, personalisation) - end - - def handle_backend_exception(e, icn, template_id, personalisation) - if e.status_code == 400 - log_exception_to_sentry( - e, - { - args: { recipient_identifier: { id_value: icn, id_type: 'ICN' }, - template_id:, personalisation: } - }, - { error: :va_notify_icn_job } - ) - else - raise e - end - end - end -end diff --git a/modules/va_notify/app/sidekiq/va_notify/one_time_in_progress_reminder.rb b/modules/va_notify/app/sidekiq/va_notify/one_time_in_progress_reminder.rb index 998558cbfbb..2fc271acdcd 100644 --- a/modules/va_notify/app/sidekiq/va_notify/one_time_in_progress_reminder.rb +++ b/modules/va_notify/app/sidekiq/va_notify/one_time_in_progress_reminder.rb @@ -17,11 +17,7 @@ def perform(user_account_id, form_name, template_id, personalisation) user_account = UserAccount.find(user_account_id) InProgressRemindersSent.create!(user_account_id:, form_id: form_name) - if Flipper.enabled?(:va_notify_user_account_job) - VANotify::UserAccountJob.perform_async(user_account.id, template_id, personalisation) - else - VANotify::IcnJob.perform_async(user_account.icn, template_id, personalisation) - end + VANotify::UserAccountJob.perform_async(user_account.id, template_id, personalisation) end private diff --git a/modules/va_notify/spec/sidekiq/icn_job_spec.rb b/modules/va_notify/spec/sidekiq/icn_job_spec.rb deleted file mode 100644 index 61a67a0a614..00000000000 --- a/modules/va_notify/spec/sidekiq/icn_job_spec.rb +++ /dev/null @@ -1,110 +0,0 @@ -# frozen_string_literal: true - -require 'rails_helper' - -require 'sidekiq/testing' - -RSpec.describe VANotify::IcnJob, type: :worker do - let(:icn) { '1013062086V794840' } - let(:template_id) { 'template_id' } - - before do - allow_any_instance_of(VaNotify::Configuration).to receive(:base_path).and_return('http://fakeapi.com') - - allow(Settings.vanotify.services.va_gov).to receive(:api_key).and_return( - 'test-aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa-bbbbbbbb-bbbb-bbbb-bbbb-bbbbbbbbbbbb' - ) - end - - describe '#perform' do - it 'sends an email using the template id' do - client = double - expect(VaNotify::Service).to receive(:new).with(Settings.vanotify.services.va_gov.api_key).and_return(client) - - expect(client).to receive(:send_email).with( - { - recipient_identifier: { - id_value: icn, - id_type: 'ICN' - }, - template_id: - } - ) - - expect(StatsD).to receive(:increment).with('api.vanotify.icn_job.success') - - described_class.new.perform(icn, template_id) - end - - it 'can use non-default api key' do - client = double - api_key = 'test-yyyyyyyy-yyyy-yyyy-yyyy-yyyyyyyyyyyy-zzzzzzzz-zzzz-zzzz-zzzz-zzzzzzzzzzzz' - expect(VaNotify::Service).to receive(:new).with(api_key).and_return(client) - - expect(client).to receive(:send_email).with( - { - recipient_identifier: { - id_value: icn, - id_type: 'ICN' - }, - template_id:, - personalisation: {} - } - ) - personalization = {} - - described_class.new.perform(icn, template_id, personalization, api_key) - end - - context 'when vanotify returns a 400 error' do - it 'rescues and logs the error' do - VCR.use_cassette('va_notify/bad_request') do - job = described_class.new - expect(job).to receive(:log_exception_to_sentry).with( - instance_of(Common::Exceptions::BackendServiceException), - { - args: { - recipient_identifier: { - id_value: icn, - id_type: 'ICN' - }, - template_id:, - personalisation: nil - } - }, - { - error: :va_notify_icn_job - } - ) - - job.perform(icn, template_id) - end - end - end - end - - describe 'when job has failed' do - let(:error) { RuntimeError.new('an error occurred!') } - let(:msg) do - { - 'jid' => 123, - 'class' => described_class.to_s, - 'error_class' => 'RuntimeError', - 'error_message' => 'an error occurred!' - } - end - - it 'logs an error to the Rails console and increments StatsD counter' do - expect(Rails.logger).to receive(:error).with( - 'VANotify::IcnJob retries exhausted', - { - job_id: 123, - error_class: 'RuntimeError', - error_message: 'an error occurred!' - } - ) - expect(StatsD).to receive(:increment).with('sidekiq.jobs.va_notify/icn_job.retries_exhausted') - described_class.sidekiq_retries_exhausted_block.call(msg, error) - end - end -end From 8e78ab2867cdff5a66c2925fd6d0596471997dc6 Mon Sep 17 00:00:00 2001 From: Lindsey Hattamer Date: Mon, 25 Nov 2024 11:06:58 -0500 Subject: [PATCH 12/21] move job back to 1am window (#19597) --- lib/periodic_jobs.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/periodic_jobs.rb b/lib/periodic_jobs.rb index 205d2817977..526efe95789 100644 --- a/lib/periodic_jobs.rb +++ b/lib/periodic_jobs.rb @@ -207,7 +207,7 @@ mgr.register('0 2,9,16 * * 1-5', 'VBADocuments::FlipperStatusAlert') # Rotates Lockbox/KMS record keys and _ciphertext fields every October 12th (when the KMS key auto-rotate) - mgr.register('10 5 * * *', 'KmsKeyRotation::BatchInitiatorJob') + mgr.register('10 1 * * *', 'KmsKeyRotation::BatchInitiatorJob') # Updates veteran representatives address attributes (including lat, long, location, address fields, email address, phone number) # rubocop:disable Layout/LineLength mgr.register('0 3 * * *', 'Representatives::QueueUpdates') From 0c6644b88548cfac89342676f8a9527743f55957 Mon Sep 17 00:00:00 2001 From: mchristiansonVA <95487885+mchristiansonVA@users.noreply.github.com> Date: Mon, 25 Nov 2024 11:35:11 -0500 Subject: [PATCH 13/21] Update markdown and swagger for attachments section (#19574) --- modules/claims_api/app/swagger/claims_api/description/v1.md | 4 ++-- modules/claims_api/app/swagger/claims_api/v1/swagger.json | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/modules/claims_api/app/swagger/claims_api/description/v1.md b/modules/claims_api/app/swagger/claims_api/description/v1.md index c4084b33cc7..f193fa0cb96 100644 --- a/modules/claims_api/app/swagger/claims_api/description/v1.md +++ b/modules/claims_api/app/swagger/claims_api/description/v1.md @@ -34,8 +34,8 @@ This API accepts a payload of requests and responses on a per-form basis, with t ### Attachment and 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 11" x 11" - - The entire payload cannot exceed 5 GB - - No single file in a payload can exceed 100 MB + - The entire payload cannot exceed 100 GB + - No single file in a payload can exceed 25 MB ### Authentication and authorization To make an API request, follow our [authentication process](https://developer.va.gov/explore/api/benefits-claims/authorization-code) to receive an [OAuth token](https://oauth.net/2/). diff --git a/modules/claims_api/app/swagger/claims_api/v1/swagger.json b/modules/claims_api/app/swagger/claims_api/v1/swagger.json index 8ef3fdd9062..574ec7697da 100644 --- a/modules/claims_api/app/swagger/claims_api/v1/swagger.json +++ b/modules/claims_api/app/swagger/claims_api/v1/swagger.json @@ -4,7 +4,7 @@ "title": "Benefits Claims", "version": "v1", "termsOfService": "https://developer.va.gov/terms-of-service", - "description": "This API automatically establishes and submits these VA forms.\n| Form number | Form name | Description |\n| :------------- | :----------: | -----------: |\n| [21-526EZ](https://www.va.gov/find-forms/about-form-21-526ez/) | Application for Disability Compensation and Related Compensation Benefits | Used to apply for VA disability compensation and related benefits. |\n| [21-0966](https://www.va.gov/find-forms/about-form-21-0966/) | Intent to File a Claim for Compensation and/or Pension, or Survivors Pension and/or DIC | Submits an intent to file to secure the earliest possible effective date for any retroactive payments. |\n| [21-22](https://www.va.gov/find-forms/about-form-21-22/) | Appointment of Veterans Service Organization as Claimant's Representative | Used to assign a Veterans Service Organization as a POA to help a Veteran or dependent with benefits or claims. |\n| [21-22a](https://www.va.gov/find-forms/about-form-21-22a/) | Appointment of Individual As Claimant's Representative | Used to assign an individual as a POA to help a Veteran with benefits or claims. |\n\nIt also lets claimants or their authorized representatives:\n - Digitally submit supporting documentation for disability compensation claims.\n - Retrieve information such as status for any claim, including pension and burial.\n - Retrieve power of attorney (POA) status for individuals and Veterans Service Organizations (VSOs).\n - Retrieve intent to file status.\n\n## Background\nThe Benefits Claims API offers faster establishment and enhanced reporting for several VA claims and forms. Using this API provides many benefits, such as:\n - Automatic claim and POA establishment\n - Direct establishment of disability compensation claims in Veterans Benefits Management System (VBMS) to avoid unnecessary manual processing and entry by Veteran Service Representatives (VSRs)\n - Faster claims processing by several days\n - End-to-end claims status and result tracking by claim ID\n\nForms not supported by the Benefits Claims API are submitted using the [Benefits Intake API](https://developer.va.gov/explore/benefits/docs/benefits?version=current), which places uploaded PDFs into the Centralized Mail Portal to be manually processed.\n\n## Appointing an accredited representative for dependents\nDependents of Veterans, such as spouses, children (biological and step), and parents (biological and foster) may be eligible for VA benefits and can request representation by an accredited representative.\n\nTo file claims through an accredited representative, dependents must appoint their own. Once appointed, the representative will have power of attorney (POA) to assist with the dependentʼs VA claims.\n\nBefore appointing a representative, the dependentʼs relationship to the Veteran must be established. If a new representative is being appointed, the dependentʼs relationship to the Veteran will be validated first. The representative will be appointed to the dependent, not the Veteran.\n\n## Technical Overview\nThis API accepts a payload of requests and responses on a per-form basis, with the payload identifying the form and Veteran. Trackable responses provide a unique ID which is used with the appropriate GET endpoint to track a submission’s processing status.\n\n### Attachment and file size limits\nThere is no limit on the number of files a payload can contain, but size limits do apply.\n - Uploaded documents cannot be larger than 11\" x 11\"\n - The entire payload cannot exceed 5 GB\n - No single file in a payload can exceed 100 MB\n\n### Authentication and authorization\nTo make an API request, follow our [authentication process](https://developer.va.gov/explore/api/benefits-claims/authorization-code) to receive an [OAuth token](https://oauth.net/2/).\n\n#### Representative authorization\nRepresentatives seeking authorization for a claimant must first [authenticate](https://developer.va.gov/explore/api/benefits-claims/authorization-code) and then pass the Veteran’s information in the right header:\n - SSN in X-VA-SSN\n - First name in X-VA-First-Name\n - Last name in X-VA-Last-Name\n - Date of birth in X-VA-Birth-Date\n\nOmitting the information will cause the API to treat the representative as the claimant.\n\n#### Veteran authorization\nVeterans seeking authorization do not need to include headers such as X-VA-First-Name since the token authentication via ID.me, MyHealtheVet, or DSLogon provides this information.\n\n### POA Codes\nVeteran representatives receive their organization’s POA code. If they are the assigned POA for a claimant, that claimant will have a matching POA code. When a claim is submitted, this API verifies that the representative and Veteran codes match against each other and the codes in the [Office of General Council (OGC) Database](https://www.va.gov/ogc/apps/accreditation/index.asp).\n\nUse the [Power of Attorney endpoint](#operations-Power_of_Attorney-post2122) to assign or update POA status. A newly appointed representative may not be able to submit forms for a Veteran until a day after their POA code is first associated with the OGC data set.\n\n### Test data for sandbox environment use\n[Test data](https://github.com/department-of-veterans-affairs/vets-api-clients/blob/master/test_accounts.md) is used for all forms in the sandbox environment and for 21-526 submissions in the staging environment.\n\n### Claim and form processing\nClaims and forms are first submitted by this API and then established in VBMS. A 200 response means only that your claim or form was submitted successfully. To see if your submission is processed or has reached VBMS, you must check its status using the appropriate GET endpoint and the ID returned with your submission response.\n\nA “claim established” status means the claim has reached VBMS. In sandbox, submissions can take over an hour to reach “claim established” status. In production, this may take over two days.\n" + "description": "This API automatically establishes and submits these VA forms.\n| Form number | Form name | Description |\n| :------------- | :----------: | -----------: |\n| [21-526EZ](https://www.va.gov/find-forms/about-form-21-526ez/) | Application for Disability Compensation and Related Compensation Benefits | Used to apply for VA disability compensation and related benefits. |\n| [21-0966](https://www.va.gov/find-forms/about-form-21-0966/) | Intent to File a Claim for Compensation and/or Pension, or Survivors Pension and/or DIC | Submits an intent to file to secure the earliest possible effective date for any retroactive payments. |\n| [21-22](https://www.va.gov/find-forms/about-form-21-22/) | Appointment of Veterans Service Organization as Claimant's Representative | Used to assign a Veterans Service Organization as a POA to help a Veteran or dependent with benefits or claims. |\n| [21-22a](https://www.va.gov/find-forms/about-form-21-22a/) | Appointment of Individual As Claimant's Representative | Used to assign an individual as a POA to help a Veteran with benefits or claims. |\n\nIt also lets claimants or their authorized representatives:\n - Digitally submit supporting documentation for disability compensation claims.\n - Retrieve information such as status for any claim, including pension and burial.\n - Retrieve power of attorney (POA) status for individuals and Veterans Service Organizations (VSOs).\n - Retrieve intent to file status.\n\n## Background\nThe Benefits Claims API offers faster establishment and enhanced reporting for several VA claims and forms. Using this API provides many benefits, such as:\n - Automatic claim and POA establishment\n - Direct establishment of disability compensation claims in Veterans Benefits Management System (VBMS) to avoid unnecessary manual processing and entry by Veteran Service Representatives (VSRs)\n - Faster claims processing by several days\n - End-to-end claims status and result tracking by claim ID\n\nForms not supported by the Benefits Claims API are submitted using the [Benefits Intake API](https://developer.va.gov/explore/benefits/docs/benefits?version=current), which places uploaded PDFs into the Centralized Mail Portal to be manually processed.\n\n## Appointing an accredited representative for dependents\nDependents of Veterans, such as spouses, children (biological and step), and parents (biological and foster) may be eligible for VA benefits and can request representation by an accredited representative.\n\nTo file claims through an accredited representative, dependents must appoint their own. Once appointed, the representative will have power of attorney (POA) to assist with the dependentʼs VA claims.\n\nBefore appointing a representative, the dependentʼs relationship to the Veteran must be established. If a new representative is being appointed, the dependentʼs relationship to the Veteran will be validated first. The representative will be appointed to the dependent, not the Veteran.\n\n## Technical Overview\nThis API accepts a payload of requests and responses on a per-form basis, with the payload identifying the form and Veteran. Trackable responses provide a unique ID which is used with the appropriate GET endpoint to track a submission’s processing status.\n\n### Attachment and file size limits\nThere is no limit on the number of files a payload can contain, but size limits do apply.\n - Uploaded documents cannot be larger than 11\" x 11\"\n - The entire payload cannot exceed 100 GB\n - No single file in a payload can exceed 25 MB\n\n### Authentication and authorization\nTo make an API request, follow our [authentication process](https://developer.va.gov/explore/api/benefits-claims/authorization-code) to receive an [OAuth token](https://oauth.net/2/).\n\n#### Representative authorization\nRepresentatives seeking authorization for a claimant must first [authenticate](https://developer.va.gov/explore/api/benefits-claims/authorization-code) and then pass the Veteran’s information in the right header:\n - SSN in X-VA-SSN\n - First name in X-VA-First-Name\n - Last name in X-VA-Last-Name\n - Date of birth in X-VA-Birth-Date\n\nOmitting the information will cause the API to treat the representative as the claimant.\n\n#### Veteran authorization\nVeterans seeking authorization do not need to include headers such as X-VA-First-Name since the token authentication via ID.me, MyHealtheVet, or DSLogon provides this information.\n\n### POA Codes\nVeteran representatives receive their organization’s POA code. If they are the assigned POA for a claimant, that claimant will have a matching POA code. When a claim is submitted, this API verifies that the representative and Veteran codes match against each other and the codes in the [Office of General Council (OGC) Database](https://www.va.gov/ogc/apps/accreditation/index.asp).\n\nUse the [Power of Attorney endpoint](#operations-Power_of_Attorney-post2122) to assign or update POA status. A newly appointed representative may not be able to submit forms for a Veteran until a day after their POA code is first associated with the OGC data set.\n\n### Test data for sandbox environment use\n[Test data](https://github.com/department-of-veterans-affairs/vets-api-clients/blob/master/test_accounts.md) is used for all forms in the sandbox environment and for 21-526 submissions in the staging environment.\n\n### Claim and form processing\nClaims and forms are first submitted by this API and then established in VBMS. A 200 response means only that your claim or form was submitted successfully. To see if your submission is processed or has reached VBMS, you must check its status using the appropriate GET endpoint and the ID returned with your submission response.\n\nA “claim established” status means the claim has reached VBMS. In sandbox, submissions can take over an hour to reach “claim established” status. In production, this may take over two days.\n" }, "tags": [ { From e4cdb22c27c974dc8acaa5d3e2869c5ab3d7fb47 Mon Sep 17 00:00:00 2001 From: Brandon Cooper Date: Mon, 25 Nov 2024 13:11:30 -0500 Subject: [PATCH 14/21] [10-10CG] Add ability to retry schema validation (#19571) * add ability to retry schema validation * rename some spec for clarity * Add log for successful validation call --- .../caregivers_assistance_claim.rb | 42 ++++++ config/features.yml | 3 + .../caregivers_assistance_claim_spec.rb | 135 ++++++++++++++++++ 3 files changed, 180 insertions(+) diff --git a/app/models/saved_claim/caregivers_assistance_claim.rb b/app/models/saved_claim/caregivers_assistance_claim.rb index f21b0a0a783..65b5dc6e222 100644 --- a/app/models/saved_claim/caregivers_assistance_claim.rb +++ b/app/models/saved_claim/caregivers_assistance_claim.rb @@ -33,6 +33,24 @@ def to_pdf(filename = nil, **) raise end + def form_matches_schema + super unless Flipper.enabled?(:caregiver_retry_form_validation) + + return unless form_is_string + + schema = VetsJsonSchema::SCHEMAS[self.class::FORM] + validation_errors = validate_form_with_retries(schema) + + validation_errors.each do |e| + errors.add(e[:fragment], e[:message]) + e[:errors]&.flatten(2)&.each { |nested| errors.add(nested[:fragment], nested[:message]) if nested.is_a? Hash } + end + + unless validation_errors.empty? + Rails.logger.error('SavedClaim form did not pass validation', { guid:, errors: validation_errors }) + end + end + # SavedClaims require regional_office to be defined, CaregiversAssistanceClaim has no purpose for it. # # CaregiversAssistanceClaims are not processed regional VA offices. @@ -75,4 +93,28 @@ def destroy_attachment Form1010cg::Attachment.find_by(guid: parsed_form['poaAttachmentId'])&.destroy! end + + def validate_form_with_retries(schema) + attempts = 0 + max_attempts = 3 + + begin + attempts += 1 + errors_array = JSON::Validator.fully_validate(schema, parsed_form, { errors_as_objects: true }) + Rails.logger.info("Form validation succeeded on attempt #{attempts}/#{max_attempts}") if attempts > 1 + errors_array + rescue => e + if attempts <= max_attempts + Rails.logger.warn("Retrying form validation due to error: #{e.message} (Attempt #{attempts}/#{max_attempts})") + sleep(1) # Delay 1 second in between attempts + retry + else + PersonalInformationLog.create(data: { schema:, parsed_form:, params: { errors_as_objects: true } }, + error_class: 'SavedClaim FormValidationError') + Rails.logger.error('Error during form validation after maximimum retries', + { error: e.message, backtrace: e.backtrace, schema: }) + raise + end + end + end end diff --git a/config/features.yml b/config/features.yml index fba8c0b8e2a..fdeee335e78 100644 --- a/config/features.yml +++ b/config/features.yml @@ -80,6 +80,9 @@ features: actor_type: user description: Send 10-10CG submission failure email to Veteran using VANotify. enable_in_development: true + caregiver_retry_form_validation: + actor_type: user + description: Enables 1010CG to retry schema validation hca_browser_monitoring_enabled: actor_type: user description: Enables browser monitoring for the health care application. diff --git a/spec/models/saved_claim/caregivers_assistance_claim_spec.rb b/spec/models/saved_claim/caregivers_assistance_claim_spec.rb index 8f31817c321..131cdd68d64 100644 --- a/spec/models/saved_claim/caregivers_assistance_claim_spec.rb +++ b/spec/models/saved_claim/caregivers_assistance_claim_spec.rb @@ -95,6 +95,141 @@ end end + describe 'validations' do + let(:claim) { build(:caregivers_assistance_claim) } + + before do + allow(Flipper).to receive(:enabled?).and_call_original + end + + context 'caregiver_retry_form_validation disabled' do + before do + allow(Flipper).to receive(:enabled?).with(:caregiver_retry_form_validation).and_return(false) + end + + context 'no validation errors' do + before do + allow(JSON::Validator).to receive(:fully_validate).and_return([]) + end + + it 'returns true' do + expect(claim.validate).to eq true + end + end + + context 'validation errors' do + it 'calls the parent method when the toggle is off' do + allow(claim).to receive(:form_matches_schema).and_call_original + + claim.validate + + expect(claim).to have_received(:form_matches_schema) + end + end + end + + context 'caregiver_retry_form_validation enabled' do + before do + allow(Flipper).to receive(:enabled?).with(:caregiver_retry_form_validation).and_return(true) + end + + context 'no validation errors' do + before do + allow(JSON::Validator).to receive(:fully_validate).and_return([]) + end + + it 'returns true' do + expect(Rails.logger).not_to receive(:info) + .with('Form validation succeeded on attempt 1/3') + + expect(claim.validate).to eq true + end + end + + context 'validation errors' do + let(:schema_errors) { [{ fragment: 'error' }] } + + context 'when JSON:Validator.fully_validate returns errors' do + before do + allow(JSON::Validator).to receive(:fully_validate).and_return(schema_errors) + end + + it 'adds validation errors to the form' do + expect(JSON::Validator).not_to receive(:fully_validate_schema) + + expect(Rails.logger).not_to receive(:info) + .with('Form validation succeeded on attempt 1/3') + + claim.validate + expect(claim.errors.full_messages).not_to be_empty + end + end + + context 'when JSON:Validator.fully_validate throws an exception' do + let(:exception_text) { 'Some exception' } + let(:exception) { StandardError.new(exception_text) } + + context '3 times' do + let(:schema) { 'schema_content' } + + before do + allow(VetsJsonSchema::SCHEMAS).to receive(:[]).and_return(schema) + allow(JSON::Validator).to receive(:fully_validate).and_raise(exception) + end + + it 'logs exceptions and raises exception' do + expect(Rails.logger).to receive(:warn) + .with("Retrying form validation due to error: #{exception_text} (Attempt 1/3)").once + expect(Rails.logger).not_to receive(:info) + .with('Form validation succeeded on attempt 1/3') + expect(Rails.logger).to receive(:warn) + .with("Retrying form validation due to error: #{exception_text} (Attempt 2/3)").once + expect(Rails.logger).to receive(:warn) + .with("Retrying form validation due to error: #{exception_text} (Attempt 3/3)").once + + expect(Rails.logger).to receive(:error) + .with('Error during form validation after maximimum retries', { error: exception.message, + backtrace: anything, schema: }) + + expect(PersonalInformationLog).to receive(:create).with( + data: { schema: schema, + parsed_form: claim.parsed_form, + params: { errors_as_objects: true } }, + error_class: 'SavedClaim FormValidationError' + ) + + expect { claim.validate }.to raise_error(exception.class, exception.message) + end + end + + context '1 time but succeeds after retrying' do + before do + # Throws exception the first time, returns empty array on subsequent calls + call_count = 0 + allow(JSON::Validator).to receive(:fully_validate).and_wrap_original do + call_count += 1 + if call_count == 1 + raise exception + else + [] + end + end + end + + it 'logs exception and validates succesfully after the retry' do + expect(Rails.logger).to receive(:warn) + .with("Retrying form validation due to error: #{exception_text} (Attempt 1/3)").once + expect(Rails.logger).to receive(:info) + .with('Form validation succeeded on attempt 2/3').once + + expect(claim.validate).to eq true + end + end + end + end + end + end + describe '#process_attachments!' do it 'raises a NotImplementedError' do expect { subject.process_attachments! }.to raise_error(NotImplementedError) From 2589b402796d2b4754ca38c3b8052eb8f8002b4e Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 25 Nov 2024 13:40:00 -0500 Subject: [PATCH 15/21] Bump aws-sdk-s3 from 1.172.0 to 1.173.0 (#19593) Bumps [aws-sdk-s3](https://github.com/aws/aws-sdk-ruby) from 1.172.0 to 1.173.0. - [Release notes](https://github.com/aws/aws-sdk-ruby/releases) - [Changelog](https://github.com/aws/aws-sdk-ruby/blob/version-3/gems/aws-sdk-s3/CHANGELOG.md) - [Commits](https://github.com/aws/aws-sdk-ruby/commits) --- 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 | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index 06ecfb22349..cd3eeb94840 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -245,7 +245,7 @@ GEM attr_extras (7.1.0) awesome_print (1.9.2) aws-eventstream (1.3.0) - aws-partitions (1.1010.0) + aws-partitions (1.1013.0) aws-sdk-core (3.213.0) aws-eventstream (~> 1, >= 1.3.0) aws-partitions (~> 1, >= 1.992.0) @@ -254,7 +254,7 @@ GEM aws-sdk-kms (1.95.0) aws-sdk-core (~> 3, >= 3.210.0) aws-sigv4 (~> 1.5) - aws-sdk-s3 (1.172.0) + aws-sdk-s3 (1.173.0) aws-sdk-core (~> 3, >= 3.210.0) aws-sdk-kms (~> 1) aws-sigv4 (~> 1.5) From f95a9f99ff1bea6ceaa6d037af00a303298bdbf1 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 25 Nov 2024 13:55:00 -0500 Subject: [PATCH 16/21] Bump puma from 6.4.3 to 6.5.0 (#19594) Bumps [puma](https://github.com/puma/puma) from 6.4.3 to 6.5.0. - [Release notes](https://github.com/puma/puma/releases) - [Changelog](https://github.com/puma/puma/blob/master/History.md) - [Commits](https://github.com/puma/puma/compare/v6.4.3...v6.5.0) --- updated-dependencies: - dependency-name: puma 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: Ryan Johnson <72466113+rjohnson2011@users.noreply.github.com> --- Gemfile.lock | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index cd3eeb94840..077296b8527 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -685,8 +685,8 @@ GEM net-smtp (0.5.0) net-protocol net-ssh (7.2.0) - nio4r (2.7.3) - nio4r (2.7.3-java) + nio4r (2.7.4) + nio4r (2.7.4-java) nkf (0.2.0) nkf (0.2.0-java) nokogiri (1.16.7) @@ -781,9 +781,9 @@ GEM psych (5.1.2-java) jar-dependencies (>= 0.1.7) public_suffix (6.0.1) - puma (6.4.3) + puma (6.5.0) nio4r (~> 2.0) - puma (6.4.3-java) + puma (6.5.0-java) nio4r (~> 2.0) pundit (2.4.0) activesupport (>= 3.0.0) From 83770cb6b3f5dc3c6ac6c9fedacc117071261490 Mon Sep 17 00:00:00 2001 From: Ryan Johnson <72466113+rjohnson2011@users.noreply.github.com> Date: Mon, 25 Nov 2024 14:00:36 -0500 Subject: [PATCH 17/21] Revert "Revert "Bump rswag-ui from 2.15.0 to 2.16.0 (#19542)" (#19586)" (#19598) This reverts commit 749ece8a40229128410cdf497631157ab1dd9d96. --- Gemfile.lock | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index 077296b8527..66b709828f5 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -639,7 +639,7 @@ GEM rake (~> 13.0) lockbox (2.0.0) logger (1.6.1) - loofah (2.22.0) + loofah (2.23.1) crass (~> 1.0.2) nokogiri (>= 1.12.0) lumberjack (1.2.10) @@ -660,7 +660,7 @@ GEM rake mini_magick (4.13.2) mini_mime (1.1.5) - mini_portile2 (2.8.7) + mini_portile2 (2.8.8) minitest (5.25.1) mock_redis (0.46.0) msgpack (1.7.2) @@ -668,7 +668,7 @@ GEM multi_json (1.15.0) multi_xml (0.6.0) multipart-post (2.4.1) - mutex_m (0.2.0) + mutex_m (0.3.0) nap (1.1.0) nenv (0.3.0) net-http (0.4.1) @@ -776,9 +776,9 @@ GEM byebug (~> 11.0) pry (>= 0.13, < 0.15) pstore (0.1.3) - psych (5.1.2) + psych (5.2.0) stringio - psych (5.1.2-java) + psych (5.2.0-java) jar-dependencies (>= 0.1.7) public_suffix (6.0.1) puma (6.5.0) @@ -805,7 +805,7 @@ GEM rack-timeout (0.7.0) rack-vcr (0.1.6) vcr (>= 2.9) - rackup (1.0.0) + rackup (1.0.1) rack (< 3) webrick rails (7.1.4.1) @@ -849,7 +849,7 @@ GEM rb-inotify (0.10.1) ffi (~> 1.0) rchardet (1.8.0) - rdoc (6.7.0) + rdoc (6.8.1) psych (>= 4.0.0) redis (5.3.0) redis-client (>= 0.22.0) @@ -858,7 +858,7 @@ GEM redis-namespace (1.11.0) redis (>= 4) regexp_parser (2.9.2) - reline (0.5.10) + reline (0.5.11) io-console (~> 0.5) representable (3.2.0) declarative (< 0.1.0) @@ -927,9 +927,9 @@ GEM json-schema (>= 2.2, < 6.0) railties (>= 5.2, < 8.0) rspec-core (>= 2.14) - rswag-ui (2.15.0) - actionpack (>= 5.2, < 8.0) - railties (>= 5.2, < 8.0) + rswag-ui (2.16.0) + actionpack (>= 5.2, < 8.1) + railties (>= 5.2, < 8.1) rtesseract (3.1.3) rubocop (1.68.0) json (~> 2.3) @@ -1032,7 +1032,7 @@ GEM ssrf_filter (1.1.2) staccato (0.5.3) statsd-instrument (3.9.7) - stringio (3.1.1) + stringio (3.1.2) strong_migrations (2.0.2) activerecord (>= 6.1) super_diff (0.13.0) @@ -1107,7 +1107,7 @@ GEM xmlmapper (0.8.1) nokogiri (~> 1.11) yard (0.9.37) - zeitwerk (2.6.18) + zeitwerk (2.7.1) PLATFORMS aarch64-linux From 13e4739a9c12d34bb59a925271d336a569f45520 Mon Sep 17 00:00:00 2001 From: Ryan McNeil Date: Mon, 25 Nov 2024 12:04:23 -0700 Subject: [PATCH 18/21] Bump prawn 2.4.0 -> 2.5.0 (#19474) * Bump prawn 2.4.0 -> 2.5.0 * add code to determine where warning is coming from * comment out warning code * remove extra lines * add pdf_fill pdf copy * Replace PdfFill test cases (and keep _old ones) * fix/cleanup codeowners * remove unused spec_helper method * replace Va21p527ez test case pdf * Delete "old" files --- .github/CODEOWNERS | 7 +------ Gemfile.lock | 17 ++++++++++++----- .../lib/pdf_fill/fixtures/overflow_extras.pdf | Bin 51296 -> 58445 bytes .../10-10CG/signed/overflow_extras.pdf | Bin 26744 -> 29738 bytes .../pdf_fill/21-0538/overflow_extras.pdf | Bin 15170 -> 17246 bytes .../pdf_fill/21-0781/overflow_extras.pdf | Bin 22728 -> 26575 bytes .../pdf_fill/21-0781a/overflow_extras.pdf | Bin 34696 -> 40314 bytes .../pdf_fill/21-4142/overflow_extras.pdf | Bin 21424 -> 24658 bytes .../pdf_fill/21-674/overflow_extras.pdf | Bin 20212 -> 24519 bytes .../pdf_fill/21-8940/overflow_extras.pdf | Bin 32450 -> 38293 bytes .../pdf_fill/21P-0969/overflow_extras.pdf | Bin 25973 -> 30950 bytes .../pdf_fill/21P-530V2/overflow_extras.pdf | Bin 12613 -> 13216 bytes .../pdf_fill/26-1880/overflow_extras.pdf | Bin 26812 -> 31655 bytes .../pdf_fill/28-1900/overflow_extras.pdf | Bin 16216 -> 19210 bytes .../pdf_fill/28-8832/overflow_extras.pdf | Bin 15513 -> 17955 bytes .../pdf_fill/5655/overflow_extras.pdf | Bin 17549 -> 20578 bytes .../pdf_fill/686C-674/overflow_extras.pdf | Bin 46108 -> 50545 bytes spec/fixtures/pdf_fill/extras.pdf | Bin 12088 -> 12543 bytes 18 files changed, 13 insertions(+), 11 deletions(-) diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index 0d49491012a..230d4e56dc2 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -1315,21 +1315,16 @@ spec/fixtures/notice_of_disagreements/NOD_show_response_200.json @department-of- spec/fixtures/notice_of_disagreements/valid_NOD_create_request.json @department-of-veterans-affairs/backend-review-group spec/fixtures/okta @department-of-veterans-affairs/lighthouse-pivot spec/fixtures/okta/okta_callback_request_idme_1567760195.json @department-of-veterans-affairs/lighthouse-pivot +spec/fixtures/pdf_fill @department-of-veterans-affairs/va-api-engineers @department-of-veterans-affairs/backend-review-group spec/fixtures/pdf_fill/10-10CG @department-of-veterans-affairs/vfs-10-10 @department-of-veterans-affairs/va-api-engineers @department-of-veterans-affairs/backend-review-group -spec/fixtures/pdf_fill/21-0538 @department-of-veterans-affairs/va-api-engineers @department-of-veterans-affairs/backend-review-group -spec/fixtures/pdf_fill/21-0781 @department-of-veterans-affairs/va-api-engineers @department-of-veterans-affairs/backend-review-group -spec/fixtures/pdf_fill/21-4142 @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/va-api-engineers @department-of-veterans-affairs/backend-review-group spec/fixtures/pdf_fill/21P-0969 @department-of-veterans-affairs/pension-and-burials @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/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-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/pension-and-burials @department-of-veterans-affairs/backend-review-group spec/fixtures/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/Gemfile.lock b/Gemfile.lock index 66b709828f5..744ba729342 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -529,6 +529,11 @@ GEM google-protobuf (4.28.3) bigdecimal rake (>= 13) + google-protobuf (4.28.3-java) + bigdecimal + ffi (~> 1) + ffi-compiler (~> 1) + rake (>= 13) googleauth (1.11.2) faraday (>= 1.0, < 3.a) google-cloud-env (~> 2.1) @@ -736,7 +741,7 @@ GEM racc patience_diff (1.2.0) optimist (~> 3.0) - pdf-core (0.9.0) + pdf-core (0.10.0) pdf-forms (1.5.1) cliver (~> 0.3.2) rexml (~> 3.2, >= 3.2.6) @@ -756,9 +761,10 @@ GEM activerecord (>= 6.1) activesupport (>= 6.1) pkce_challenge (1.0.0) - prawn (2.4.0) - pdf-core (~> 0.9.0) - ttfunk (~> 1.7) + prawn (2.5.0) + matrix (~> 0.4) + pdf-core (~> 0.10.0) + ttfunk (~> 1.8) prawn-markup (1.0.0) nokogiri prawn @@ -1049,7 +1055,8 @@ GEM timecop (0.9.10) timeout (0.4.2) trailblazer-option (0.1.2) - ttfunk (1.7.0) + ttfunk (1.8.0) + bigdecimal (~> 3.1) typhoeus (1.4.1) ethon (>= 0.9.0) tzinfo (2.0.6) diff --git a/modules/pensions/spec/lib/pdf_fill/fixtures/overflow_extras.pdf b/modules/pensions/spec/lib/pdf_fill/fixtures/overflow_extras.pdf index dde5b73a43ee7a749db5fe0699fd72c060d75233..9f501c05006a9571384d42187203a873fdd5c4f9 100644 GIT binary patch literal 58445 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 S@7lD5l_?&P2S!lTz- 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 Y{bONOji5HvGv~R@UAqpsc&PdR19|>l;s5{u delta 20713 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 I)!&T^0H_-54FCWD diff --git a/spec/fixtures/pdf_fill/10-10CG/signed/overflow_extras.pdf b/spec/fixtures/pdf_fill/10-10CG/signed/overflow_extras.pdf index a256b92f496ab951dd108ddef4169d83539acf20..d7555730b9814004ac5ce4e548c34b061b0b51e0 100644 GIT binary patch literal 29738 zcmeHw349bq_J37(&rC82$>fHFV}?M2kj#BTUA;oMIN--~Zb5XR52KtE=97_3G8D z_g;4fPaQw8(qVNO2Y2Dm=rG&OEejVLtE$Ylac#kxj+QoaRei9&-fs8U?RKBjZudHH z_Td~HX|zpkYpGja8$4#Ekt2=4<~r7@Gp6;aH4VXbvkN8DjJ6r8TZ8DZrlY2*rNJ0| zfZgr}r)7C_huLYgo!VH}Zl2>|PnrWPou@Ux+l+bK9rO5U!RCgJMP`rP6<{^mJAmC% z<1(Xh>M zr?<}Q(C&>i&sc1nFvA#a(;M(uovfwqR-L?6m&0XuIh;YK-Q)Fo@Vo~tIlMt`lUZ-E_*TJw+`gJ=J58%?HvJ`!I z?N+-xHEPb|LJdd*^`A!0?X$W)K!_1F7CEOo;Q(?8C2o*0xhw^8PPf(X{SoY3$Aw)T zhLo{Vt=IDtgXeHs!2!wmx!ef{a7id}yHb@U}LHkPaeW$sjL>hbxkj$}OD$$!8q#oxbI`tQ_EK{2n}>S5C;k?VR4SBf^>4r{>q zBU~2vxkdqk1mepVNI3$|fYs$n!D}9O!U5_flwb~~C`*B*-D~x^Q}PP*2J3_)e3Jw60` zxZb+_eyi7&Lh=PLr{WHv6L-z7Qk5m6=<-4ZbElAm3`b?XJw6v^ z;Q&SnCGMJ3Wht<9*`ZaWkc13NWz{`CERSRDbvgXjR2t$!cftYG5=z_)dtTP_n#sMS zAfVl2^#)R~ViJVO&pQ1st0R@d%80Klwm%#3kG14FeRe1kDHyHRop6A52_HA1tLNg|OLxx~DKNCd3Hi#mh3Zm&A_L>_`=ElPV9bPZ zao1tn>P$R(Ue@!PiG6sS$s>c^Hx!xV1-M7gdYslD85cKKxsFdD^k6KGB_JHGfYqOB zr;#-AQwf7qWhtoU@Ij^c5!@AZ^FN9EF*S7vY3Lg%_^?NNdEo!E)=Q=xY%5UZk~MXw z3oFS9u+1^`b#K7xPC=67shL!Q>Dt3Gx1EV#XxhAfGU9Hp)t_pM;=%%|7_&}XjvdRq zb(WDC5>?BcYEoooK+QrprmbUa%PR96JIcJ6K+x`C8XVgc4A!M6AJ@{{5p3>gH!~|C zY>?yHT3S<7J3Uy}Sd*fBYE2uS)(n`_g6%EK+iGFaWR}y3Xj;jzos~~%pIa5ZJP-RL zvz*pW4|bU6*kFM*+hzn;b(n2amclAJRy~hX&r{|xgQaaoTjSCca44ozX8DXUe6nsd zs*J5^4|0HP{-D?C_70oYvaqG2rE+Xb6EkHrwzYSRTU66#cEPmD>WvS!*S0mbGRv=n znS()^(`wW@4yVIto4$Nu2e;SGXj>j+-2=9knaz#0Epxr#}Wx z&5VqV*N>Qyp(&_ly*uH6oJuHh*QY8=o`&84WP!Fm#42}e9xD666Q74Y+#7oR zkO|s45`(V??t=IOtA5gvsw@S*u)I07^&k;nMVUQue0#i4^m-gtuO|LuF?M(o4q%s1 z0{dZ#vJ@D@DrZ-veImljHu1y}J`T+t+P)Raev%0^S=9oX|HmkZUOOx_DJ)&d5GD_V z#}CU(D%%p9YRaDRKQa=>QV%^|ztxw*;^ct^BmTfBB$Rkym`^TCfj5@=)DlLs*#4)` zKBi{qak;EOA&CKd<^_Rt?UA>nr}a{h&0)6&QdzNF*mf&BiW8^X3GOc30l(Fi!p@b< z7O7YzRar6}+&+)hm&(q?=%DN_{-@}0On!2EVG>H-I{v(Da{TP%cEeJnS-axb0d1#o z;$%GLuEXv0TkV?7EOxO=@&!5TlDtFio|d`o>{(|}X(0tW!RiM;eDaRVeZm_LXSV_6 zSR0S-7y-z9s5{9V<4O9%L`nKfRhEpc3-&=xqlz7LhU|%HcTr?}sNK0dJ}bP{N%9sB z-Gl?EC6su)smfBI3v-}7m355adt%yM6yF|ecc3s-oaBwR$Cr2jyB?J#W9)?f?$<0< zi6eYs>RlA$<52IMu>ZM|$J*~nIDmOVi3g6Xo|g5zW^#)uXbJ0|Pt#Ol1ymA*DV~M( z&+%h3?ZlM3V~)eIlshMEe;#eG6N^v4lW>5J2_;x6Qk12@8)|$&+rh;1--&8>KZW-( zS7R)c))c5G$5)_Y(%;WrmP|GW_5wa__mfDrpHEPouzv*&K&k1OgC%*2^?Z8vyk>GQ zDX8o5Lf1(lczZCBp<6>sNnw$7pRn2;W#|)ByJ0!Ax>KyAJ(|Nko7Yh6{o3Xzkv~sN z>Hc@AaLj2Ai;+{?BgII#q#2D6$Nzj;G9zM308J*9u6d$5ca)09)VX0_vTJ*%82Wf> z5)Y`?$6W@M8_z=J<}GwnA(e%lh1hCV+T*maGXv`XV-|J?b24aTQH{cWgb=|7%>#`c zW_|@Dvg)rOln|0d))A2`ICHwq+5X#$S_q+wP`aRYX-(_PH(ixRh){>J+}af#=3#54 zhX~Ox!2QYftqn`(e^vZzLc~?L|NDlT_EwTc@(8iKf%};aO{?pr4aTjg{~aNP7cUCd z)OB6I_cq-73_tH86!bc%v*6i5xE{1;rZ>jp1QPV zRjV+H{DAwDacyp{SsJ|k^PyaL?)!(utmUy@+S?~h4?)pUQOyKZVNAwHNwkeh%lY36(U{#ls1$3 z_}z=&MEpkM=fkfNKURLWFqT{(4J4~{3yDFPNq(U_iCipwN+#$=5QB6I882N#TBHgx zR=OC!>148Sfb^5DCliDLWGQ}Y^`GPZ`DpKQGFJE$`F_MN>?B6%JhDj2AiX3BoW&?e zImDnL)vLfCGX!QbYlissuxH~vI#M%59cW7T*A06UoFI`ps=WSpW+hI z7rfDbfEgSyuyoL1Ldv35{`clWq~g?2`qWvSlwMo?DDAo|G`?SFx;X#b$`GwEnO#_Be#VX9hH9HRM5fPb zL^@-ZB{aIaq&pj|t{z?)l2|i%0<||(qk+Y0132>{Tck3it2osh63eE}I%`&F-T0Ew z=<(Gh7K?d8XxG$PpQDfc1jL-U_saijaP2WhhN)Vfw7l=#mhr-mrnS zH+@#ACA4nChLR1yK)c=*fBh&Wi3Ou$3qXMhkJ5Eh(G*UlmJ(J_YALkdHp)!RvF)VvkghsD_)J$g2>MSMWOCBSo;-T><&m0ya!$_EB2*b!D)G=g0VHQan z_J}Zkc!fEa<;3nX>H3v(hnKQ4-HHXLdi$}Qe(-?aITsaz2OS)JxAYXZ6IeTI`dt!MwyEh(d>CG-#?l4OR^hV|REV+&) zFR`SHC8Jn9TQPfrB{nmXQApSn8%jPV+aS2kAPcC2+)th&`^g$oi97l70+KKMl9)vc z$&iMVeCZluf;`LD_a+7OS0qQji)85!c8kWd$XR49T6l$gLPybN`m}J0aGmg-c%k^Q z_`TFenk}u6p47Q@^}2WU`Zf{Els;J?O*Am(>JESWb_&@F+OjMWQ>6% z#yTMmL4P9AL)K?PtV|^#GGSIou$6QQy+>B_3xW%hIkGw|2_z>s5Y{OtgK|par;zdO zaHdkwODPacp{%#<4vQtnBIZzVPuQYAd;mA{Z5r5m+hnT{K+&pwoLcMGu$!2%txpQ-UMS3Bpz?55L zC=-P8HRpYCmH&oqcire;|LGb@nED~zN=J>nwMnj$UmhUulZUt7ax!4J@om=f5VTyQ zwwxB|ib|>L zxz~l>uV0`CO9^Ct*JqMX_asKMm`o0fC4JF*NHm2^dzGQ(Fla+70w56ph0;x(CfW@X z>US1JFYOL$5=sXOVvZ@-oSQe;T~<0!Z^+3nbUD2~$@jyTUmO)9^zEafe6Y5$zDBHB zviMv(@ zi*g;&F%%?Qrx*n(EQqX>^Ow#u*d?C$W>x-my)S-l!cGa~QXWa!j4+F*h?w4!c>%Z?f(^6rt&yA_W$=R~<j<}IAFaG8AI!b6+h`@VI({E*Q0H2r4r)=4!jS2SPt_62V|)%5N!hKmv)AAYD>O&?!V= z4e9rWs40}OH=L%=U>Nn{wHOKor8$sA<9RwQ%uytqr653eO84d?`QUljTF#96W!?pVrI?UUSi!OTERA z@|tWYBm=SjtPAH`Z4AhKQ>b_^OUqOlkq@NuH4HVO6&{wJ&uR|?&keh9777t^nWDP53RUuW((VOU@vn+avG0~XFJjmnr`pU|XLK0GCHgTpBwY<|S^zqFcF=>;~OMGfT|NK zzfd$R+r0bG1@B(H@!d64zDeFWX*6AZ*Ti6P>$&H&E)^!W(De7NJABzj`Kt$($T!Lh zvgnssR-c&cTDj@2+gGi;g>-e13$XG$Db0nJFLe=WK-wj`AYntE=Bye`Hb&@De!bV<-E-g?E_#ujqM!u?(cMJV#p_H=mYY8 z!N2YM%jLJ^i2OaxTzSFT7Ws35M!IyNRqtH$+PD8~U9{vd z>{y6}i>>Gd`GrN2D$~m#)Pab&e3ks{obN9C{+G9YeTBS#ZCmqs*Ih-)C-VDWZI?g0 zo>o%xl2vr=%sD~F<$qi8*rH`GUQ*XG@3ct^hMxYxeSdiU{MWAe@*LpDxW*0I>xn;1 z3~Al?#Yxh*)n8Lg!i0*b4u};F5pJcY&@*Hmv_tkRlLuB~@SGIb7! z-U0)4mZo(tqu{!-awf5vICI6Vn1uy7g+&E}*?cb@XfWg#3h(EqH*UXuU)PtHoj!fa zbopS%{!5?zln#x2KDw#6>CG&9TKVwhk6wNMqjcn{vnQT>?j3XXJS-2}a%Rq+fc^2C za=a74(=EVxB#a5!qy(Ik*S8aVwU8bJVz{pRb%sAd= z{1l@bVH}tySZ)Bn=YV%|bGR~S$SHK;#b{~dfoDREz2u|RQg`>$@5u)jHEeKuuDZIS zK**Di%I{p!t|yTUvhf5upeV;W%#(}qk*0V zJkr4ZaS}vKW9mvcFPpIxQ*>fhRl9=`+mZ!vNsh-&!01JmGS25Z~cvj|6EsmGXX|LqFOzqjA$c{qMa2^ai9-4(Oc)3s-Hp zs1IM{icBF1^wul%<|Ix8Iyw?;{^~>qZrI3A$C$i)i{o+@akYglAA{MF=*s~PWB>Nl z)&@FIK9bdR-xD8E%i`eWKJR7wguxM7u|gQ~18Kj4R(^Z)UCZdNmjUj{fV)2^TmYH5 zB3#&i03#Pxx-?bxapGz~Ya%pUoW>_bv2EvoVq3AWEPP!tofn>8OqX?LMtMF&;{uuN`w> z``Jsf=?y|%J{|PWzIRi4m3&Cf7fwh^so9iWW37J-;7>`vH9cqF^1ncr8;X&m?7=;Fz zLYc8^j|LH6HMNW0fVDT6CdxrsjDz%ihhoZPr&taO7xFuy-tkfjxDARTqw$r`lB4LC z*yA$o(!+Snqw8ie{e;i=gljXY{-RHATlxO*bxm8^*VWzq=P#*cMZ=|m;TJ7hDGdIe z+Rv*$^2xO?H_tycwEFyI!Gien%H2F0L_5N}Jn z$iSTpZMgDqk*8fmcWws0FVXQ6NYNR)@9qr-qeYCj@WYZ}$zdzAAx}NynyyW6e{$a$ zZLfsxmk&&ybFq`k2T!R!-zOiGhOfTno_k(+F><;Po;!0*q>s>f?u`0~2)h#YGSGgq zfmaTh5zbVt9gO60c*UW@k<_5)q8JxptmSM3!BCm848>tCWRi-*%ivs{-tp)Aw+r&Y zsq@Y|nL&5K_0R2zOb~X?oxUid15m0w9S5j-VV6EZ-KAs0&E;wLnw?17&YWn^Y&niI zROE4$h7=X$!zqx%d0E}Lj$QNdmbYkuNsvF0E98%`_9hIzq&`^2H_PB-=wgV#nu{y8~8A5aK#BvuEa2^K{1HgmWI*CAkeK469E-5ST?me!< zZoU#q_^OhT#tj1yU)eFz3=^tgZ+L)m54-!)=shr;yR4jTz!=AMYl4MEsznN#Am4ln zk2QA4YY*>!@mmb(%qdgnym88h@}BjttfINn;_B%$=`hd9z0dk~f zN@l!t<0CaY7M?zB6tFRNeI{I^8xJ`>BMj$6H#U5hXteBwDbtIQ4@wN(3n{_uUD#Pm zQFueWOr2?Q901c6kjPRcg>RSq;ekg4YT2^M2Lbkv=8K=*Ej$&Ou%lj(k37vF!tjen08vVPSp$Nz zns&kGF$Y4Y>dSe2M4@CJ?iE^CBhq20crkzzZP`-@%=qgr}A#n-mL!H1_`Lp4qv40Dwc?tRPYF-EL*O_WwPjbmZ zHE)0z=uq?NX!AxjpMm}B7B!!VXSb>OUc^csQS(`_+<%A_gi7gv>s*?x<|)afOVzwU z(&%b6FOoufk(!r~->l|!q>TPX%^S#Q`ih!|#a+l#^VpTbm#FlWNy-G5n(syC3e{>p zi_8!n8rRagx~;Kc5k9zO$6H{NT3Q;Kg61jBwN~?(rY7?=cB|ctx88znD}r@a<&`q_ zMwyZ`CuGkKwzW65G@B7{=kkqUZTga5MpGYcY&X}KJKAdMf=g@KmY7@W)!wZN5K3yT zZCN^QQCnksM`KO18BYe=I@(*BPiw3VHn#`s%*&hW@KLgkMM3kJ)|y(J)H@aCC@A(t z9UZO1ZMKywS6XX$Eo)0#gRMzvquqAelyMWzm_DHru{2~Hmh4t+_}Z|Sj*Hj^8v%ov)Zo_vNNUhy5NcEn@=H+G zLh6ym;$@Ayioa8f`b$BhMVvnEXt5D3F-R0F7_J@Yk3n}D?$x5NW=?}T)LD)^>%9&6 z4z$5&I0n?NK|SRv{+SBgPld6ak4p!h9F9qCBP;n~MLW^9tbm~nBV_}PW8r8=$!Qq5 zabyAX+RV+LC^;G@_r4}YKrXAebVfK0Oa^kp} z*2zIW!5sMNh|$L0x@0#io$T(!rkV!4n5w*xIhMcmS&6SK;I7Y(w=x4r5O9r`TiJ_? z6C0a?P867VkPRz21MwQ>l&^bE!58)#YsWOR+00&%>lqAlm)> zZAbN;Tg2NY#lGM>b}{cm+Qv;8Kc%@5Z?tN!xz;x}*R`oH$(k1i8ycI9Xr`{QwnM$* zWh@W|w3#w~`s#LoHl?|~#q3gQ)h%yTYnshA?4L39+g6*0jKPNmgD08mg7rp}pV@|K z-`Lz>9x`*>^zPE>%UfHUf=d~B?Yt)N;Ah*o(`#B4V)1q=r_`ZRW5?=BJRYsVi34EK zheLsZz3SQykr8aGX~v7URd)NxDqnzq=P==xS9xGzy;{@hA6exLjKmYj8LONVMpn5z z{1Ts2ta9P5YYe+Y&RFGjjI8qd*d=nf9EZz^{IV98J|{Z$vPuH??v_5O`UN8Cp zaOlp?+DCV2n|0+z+jzBuwd>~aAT?HbcwMB(x>yCI$nsv00tQ|eDf;JG743!fyfZ+- z$FQ5QwaeSsd(wQMIk_1b8=HgOywKXx%3#-i@o#tYSBBa2nd5Y`IJDTq<#CwtGEsM# z6SD$eo-^b7b18r9S?!+FuRX`U#KP|2YbM<-DZMxY?Ct01;dQf@jMkD+*#Wd7mtAYvk0P$$DJ*jx%g6SlB!Uq#GP$7 z+=kuhEZm>L;?7onw}8c+O~w6~xU=FzxXiwrBN!&iYF!cOYv@BxM*V>FBFUDX!y?P@R51NFNQ!teUX~C~b`p;#J1IV%%p?q>;T($e zk(}Z7!6haZ@%0FuJi=Y=N??h%A|8ouNuaK#B>N8>%&9H^vmW= zbe6EYhVJmQw6zUW1I4T?eZ~ZD8E?hd9g>!DN!=Mrm|EtW;SIG_tX{8tQ)arJ<+7@r z<$ZHlE_<~5q<;Ka)6_8vR0JNPn2@wlECLK>azvi-Sg>M>$TOB8Gz@`bEP0S6T`U<; zjKHx`ESb-e3t5ugpFPWx!z>xlANA(5jW-ZMV&VNi&6p?hOsKb(Y2y!fiG>dI@aw%)`e6PkdhHuqiAO^(@jW7a_!w zV9@7E>!k5AQQ^o`C)JD@GC2P|2L zzZgJfDcr%0ZW;jHY+gio=s}S!&KI4Q&3w@bPB&&Ejqyq|Cl$gGv=}XYDaEDNW71+1 zN-aC++n*oqs9SL*d}`0olP~|J{61p!2Cm(F^>y+Gy3mum>Ternd2HR2?+QC2Ute_| zHEdbiv}!3hdnIh8Z$L-u3!?)k5jTZvuyZRUBOc-^viC9@ctU7GpXjuK45wOUw>q(*+(?m!1TJK00)~ zQ$*9TZpG t)yj|>-Tg-aqAuC(lq63FC&hn0nc zxR_(Y>k~6}AKCZjSG%sfc;zOl3my4>-)9G&z2NGbu23na;}q*qdf^Rgz3>G@yU+$J zIsqB?5P`XvM(3P@1%EL)4+_8*avyn|q|FP%Vm>dd*9q)?o>xCnf406}ze0bx{wDpe z^bhOP=K)j$CmzHYEfq?_Al?;+B7YVZ|6RD}F*zS3vfmG@XNOg#`i4IyK zaIt|JaDp&qanZ#>_~?Luw}Abk#ACNK{*elHgEx# z>(ixgl)r;3_nS?^4K(Ba2WiH}C-(mC;eFyOk3IgpDC~Gm-o1SX4ZPU+G9CNt9r6>e z3RI*8@~7V{IU>JDvm*>vCg~Wf8kr9yY|JkJ0T31zA6=jU&es}7uM8!!EkW48u^S_@ z0Y9i_aU$GTDvbuVHSQAn9H!awx8KS;X!VwD+pd#u6^2J3ZNJ{L|HIp^zw+W+MZmSR z%c#?XhAh7F%y60#UkMeYkLvs9k=Pns+MtFJ6~o|1*mdk;0o5iZl9bccpffPnT58&w zL0WqGYARhKzc6`fH+@5(@2(gA_|QIaAMIfDeMNrh?B`d1o!d?0`{doPQv4M$8vh`_ ztI~KoXv|n6ixeU9N7uU#gHdM+6{@(T6sDY8IomLTn-m?w6en538JtlW-^9f(L8_~S z*BfX7Gz+ZXaMN0ZC*=Ef)Azrj>6RQB z%#W6aicO&bdyyuDinAzQtmKF)EM>6(EUHk_BE>a9=q?k^{`NhZ_x4SnUbK7rE!W<@ znJ#&uR{rdxn`DTGKi_@xT{j6=PI~F)``_z$e)XlBFKDSgzyADfEuF8nKYQV&x2$<> zIq-rlOWKSPF=$db4xw%l2~=WYP7zrE-r=L9P4H zYA!iBtjlBZ&M8C_kBHV7SCjv-6l3#7PYi~Eq#O$pm;Ig`={_oVz3nj?i|-yS+xp-GTgA5k1N2oX0vJ+yf8)B}(82Rqpb~wYK;~)Gp$tC||W1lQ6lA3Oeuw@sJ&N%96KaLA)5i(0^FmyhXnGZ}bh>^`3aK zV2xNK0|kHNS>XU)H3g)2AyfJtAWZ{bCPNyxdTWrXz$yK)#mOZE>6*XF#$B@UZQ)hn zt)nfG_k;l=jF^;J{G{{HemdT3;qAvYsd0NOtA{1R)_WFVq>IklaJr5K@F)v1UdQrS z3TQwabL4HY|Ix$Zx3}H4QM!2RHEhS<6TiG6#xJiYRe+QIN#I--*UA2vUw*Qh*JCA^ zqvn}kzE#aLzx+lu&;0T?sd?s?zeCM4zx;32JoC%H2OUoH%V(&0=9h0&^8(4D%hkMy z@=Mgbg#2}Cp84f}spgqqez%%uetD|qnP0w_nrD7_i<)PC`AKS?`Q`6EF2B6`4OPXz zuB1^fc(+47<#$*A>yu|b`DyS;H^5Kb1mjd&oF6^bOP|Uo{a-Kq&*X(aQ9nHMq-k!m z6ZFHwzo+`)@e!qDKfL-m>8Kw*<-{`DejZnR?3bQZcc9zt|Nq<-?-`TI74O#E;+iXd zJY4bIA?~b$JKGJ{x0^eci>tz}cMIMIHZyKj4Ei+iCXVe++p&%(2bf(r{RF=Q{hkn$rhYHr(y_ zM}%gN%Ww9>#g2M@Jm*r+4m=Zpvm2jqVqZsQ-|zRc`*^}@hl@Ml?{;CYYC|9eB3S%J z{6|Ukk9F$unCs2mWoVG!GdFjaIqZl5V1Kb?@T@16IpKLvDD&V0^+{zOL<}U>!@m$q zDr5hmExw)u|9B&@Ux$PJ^Njd<_~#ssM40h0Cw!$Tp&lMigvIH=KQc(H=XbHF1oqcW z1E=3>2OGqf1st(uh^9k~5JExlZF(M4gErU)d8W0rAiz(_Pj5UAUvF0>M@?G?A0>Pp PGY~Ki9z5a9iN^m049KU3 literal 26744 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 S)e@lkAV^|%b}1!k;{OAWKC3tY diff --git a/spec/fixtures/pdf_fill/21-0538/overflow_extras.pdf b/spec/fixtures/pdf_fill/21-0538/overflow_extras.pdf index ed6fa5d36e11aa4f327c9335f72736673109e329..ca1d09137c2ddba2c4739b1866ff823de3e0a7d8 100644 GIT binary patch literal 17246 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 HGfn>urz{(i literal 15170 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 diff --git a/spec/fixtures/pdf_fill/21-0781/overflow_extras.pdf b/spec/fixtures/pdf_fill/21-0781/overflow_extras.pdf index 40abc72af583490ac8d51d8c567b47ee1dcdb231..e56355152977d3a864c0c18d74786924a8a9a343 100644 GIT binary patch literal 26575 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 diff --git a/spec/fixtures/pdf_fill/21-4142/overflow_extras.pdf b/spec/fixtures/pdf_fill/21-4142/overflow_extras.pdf index af2b09105743ab1efb1e0b1946e84efb4fe6764c..08553309372dd020772f75d9c80ff01447d377e2 100644 GIT binary patch literal 24658 zcmeHv33yXg+W$HC-Xv|hCEaO(CX}`)ZL=pWR`yjzkQQlWEo};gwkc`YWD#5tki``g z_g&O+(hMp%Zp?rR->9g}xQv3#=(yoH&N$-&z5RaYc&TJGg(c(`HS>bRVK?AzqdZ%^P8%gyiHA3tIKM& zdhAxK+lIRbckgh$WvbuTxU|9hy$=l^uJ^VzvRds?wNI^I;O#IukTXqhsae_XMT7N$ z`WD{;edGmJ+(V9UX13wdfgfI`UT#$1%ZVohsW+< zPjm#pU8{bHUO&1BrURBXznfUFCLGQ%|jSUaO`jNwQ6Hz}3VXTRUJ-8D#`p=h+_xr& zEza8>Yq{0g=VdfycYr7-m}bq}tuBX$6APl8ajJ27%AGDW%-D}2!eMjT<2>zjmRGp@ zw(7Jqp>rWOa*@02tP2{QPId=Hj4G?cYHvi0f8*5cu$S9CN=HOd;&Qnh&UgZ_R+hUf z6!CF&=;=5+>o`}KYu5GXKDXDyy3WZ}0Uh_l-Q%kCl-v5q#qDO@>~3__^KPwlRD`)= zoIwek?xv^`7tcjWUv6C$&T<#)@LqC{Q@>lSrBD4HwIojcZd-Y!UFoS<>HKtRZI7qc zE@x%A!_l`NW?*ppc4QpAcEk~j)d4%(cT`{osc=;O z^Lp*5w88@S?Y{Vm?eJ8T$C+V%3cYr?UFGh|z8!rgy~Y48x2Y3WY{&gry^h;G4u=&6 zwXcBVC?3;m#~JmSm-OvGhs^_n+E?&#>Su}_zka6JXQa4kwvJOjQ|tKkGqpZb z{cZ?FozG+C^V6+ET=DeUhINRuuRVyP)~+~W!7`*G&WeDmHCx;Nlgn!xmLc{yvwwWG zwqYHDMSGvY^i!yHWhKmSU-NY)y~Zj;wF$Ak_G688+`hpYq*9&4e^{x*%jkG(5MI)^ z_pk(U#F?qjpwscIXF45Q{Y84VNmh2H%66G;an;@LD1TtIZ-r^56?tx$1W%2Z`TTi%tzGHUtIQG`eE6`Bw4VY$H;9W3TYP>4~Cd;H&?D$73_c6+S(rmUFx77HX zTjS6Xb_=jweblC&HKR&pbbW`H6J)7xa?W?zhfed&_XT`qqkS!G>(lJ-2#i@+?>9N% zHek<<^>#G)o7nY2F1(Tk8EkL@4)k{5V3xU7@&D zVhIiRScK4uC_)t12;nj5W4q$mTX)|P3#(UN5oem? z_V&lPGccXm<4kAq?XBAbd#g@PQFiF3u(xg(d{uo-`I+o3=HPNTEaG+CkF~gQyT@(E zwlB^^6vrmAbwt?b5YOcDk~kfRsmmT`>WWi8t08{<%;uh|hJ4qlJgbX->^5g|AE1N!ls%;ydM>_qUh2Hwc?)#5y zLfJ`N?uE!mIjPCRyMvJ)ys$N}V%_cf?MT0b^tu*bL;VHsPPE|tEl7`UtzXeDRFE%G z4tj{Gt-jTJ=+hyu5YjI|h;&Z7uOraiN*d9Akd?Rlz3pc&b6W|~#PIIlus`jp87 zhtEx``a9{DfX4_q@E2n_yZ@F>`yJ8A^R#QVS$H;)2rL&L$Vk^BCxed9SyH=}*Tkag z$Ha3?q>^YzF5Y8OWpZUz+`-eLBneNWlxTKo9H_D&d>3CMO{^KUDgIteFk#A+3B-i& zGA)q_Y0~WykO+UIVVWQ>BjOg)NKq_QleN-L@*uA9xJKgg;A+Ozi0fiuG+CpWPjs4m za=9>_+$2pWmuns%mrH*mL!|S_SgDkZmM+ItO(qJ*$N-^$wBlL|&VAA<)UyF)>xobJ z4Cw)+LfAv}QW8l4JyhWua-v#=!0)-ym@@D$N*b*WJ(8#omn5Mg_CejLB#lQ6JX8WB zNzcg4A|#uToZNnS`K14Vfutb%iT~qxkd&SuOq^QVN$Iw_y|nwP;Mf73iQ?QjWkFhM zGL35<8>I8ffNpC6lVuB$5xYI|q|t!tWd!_?|ZgW9vpf(hXos%wKI^Mj;r z^JZ3Gb#0+JxNh_2{LSD%O+O!--b+dEjFHh9kifXTblp@`g*kPrnbQTkP@}%pQ&l*<9@-)llo$nsNV%nmDTw@Z8=|;QH9?0KF7-kuio5u1I z-K9!QKlA)yXZK@yNvB@E%Rde=5=u_eq4luPL)KK<5ega*Of}FzXdMgM4RmQ}L?-g) zvfwfnSTa#Cg#|tqY-hpGSv+tplQaiNKQc39%**eg)rdxny&LJwjjo#H;^~lRWbzFf z4V{Tmg~`Oo3bT13Yu-iOZkMyTaF903>~t#}>!?|pbUKf|SwDOJ%=t^?W0!q=!-;R( zH_DF-{uk&!7TqzS-gkA|Rqw8O>tM_KH_7*c-jUrWB?ssoLaqzx&N{n?-ZapgrqY{_ zL_X_$n#MQ^Qp+A6y^IR8_gqG|Q(?)Ti4_KK;`( z(-yW~@(x>0c+hWiF$(mUJkN_#FI5B*L?CeyBuZfsbP5q#gW4lOY6vDB2_yZ>;E*;!;I~|=N4E{tuNY8mfeC~8W5X|V2X7tEt zP=b|2DBEO4ZDDdKD4;4isYs-P9JCsvpE{b#sMA?G`$wn?X>|QrZmOX(J1RFLo8^WI z`e);2wPj?Ov&_?>!xa)8nAlo7 zf6=Aw3r6-Aej|MFrTn5tmOtKleAVJ#t)A)Kx_A(<1(8C=AO z$$@D&66TECmOh*j0~P`iRnZZZvz$mSV`*R{33+D~YPGru6U69prVsXrgS5IVMO}); zj{XO}$PIKp`~IpE+x{ef_zODay-&yc^Zg5EcLX%g{aJh=xJ>@bv2A}^M@Q16g`d;K zFVe1(NmaGi-Fw5*<<~Q9xw!kUQYl7F78yk5g|Z6=Gmf$i!9;~4Zkbe$($QDxOm(so z)A8KuV74VUMtRZ=of#1(f{BLC0g)tlLT3oB@E}jm$uba)&gB^_+T9*yaAanSx+OdJ zf4t`XE!V!kn#w!mJrhRKmG_MI=C#k6(cUVI_tC@?+rPN#TKTV!EtYST=cUpwVT_-f z=vaQkJ$J5HehcaDCTn124@k2}F%h~6)gkN_9k7zYG>g>+o^_ZkWa_X zo}{JnQOpWcg#wHWkz9^3`ZOp=g(eLoJ3_eyCRTT@At)SSp;3{3%t+~(xN-=yHNhOq zp5r-R zddp!nn<92fM~!A?#7c_bMS&?RyqwB3k*2rJZ(lEe^^N=wN*67ERsQ_gA3IjRt_l9v zfyMV0_kVcR>u(9drSfub-Am$8sk31Qn^|r`upiuuWI$N@ap&joWJ~wUM`6c&j)T9}NXd<~FMD@(hg)5AiKoijO393%0 z!sj|6qC{jmA!zs#LdS26UTv655_bXTzYyXiIt$duVkq-I5!W44nm0DwAaB zEKKOJY!E z-6zF=fam^XawvPiz@A>@Grr0=??v=gv@}Cv0-L5o8EFZ)u?aqEHi6E7OmnJGIEdL? zf+bjvxfm0NHVcMVuuW|gXc}Gi^6HP}uc-dx|N6TieCPNA-hf=!}|6FatW%9rhePT{Dwg#3l@n5j>3kz`-qwsc{h06 zSG^__bznUcLLXTIx+j9}fsk+(M(VOq_P_#0H)e+f#XfQ2szj?p zB$SuH)hW-iry$Rg2g9^IkIoLw&7(^?lOx*F%lw4WNiwTFp;u>U1`!u#J~j~=v-mXb z$ZKIAobn)UedcDw?NeBO}|Gku6BY!M+ zFI%*3<(;z@h${juIrEyCH5q{E?-=|&nZz5?WwDh*c-U~B@|0o2N4mtBaEtP&Gn1RvjFc!KnD8NXL4n2{T#THc0-hKCLPgl(l2RrY5^G&ho z=&UCWWxk(y%Z#I^cd^;I6@+$bK7yr8B_l$*Gy{{6&JZMu{JFL0LlO2WDMx}SmQHQ- zZh~!HsJf#VR7~%Zk3kV$o^k$pwRP9mNyBLFsG6Elqibp)o3&{7F6e8lg;s^4vaVQY zUJ>*AP~u}gGU&?yvLYmLZ3)XXMvOX$Q5QqBnn*%P5;UEweFhR4Y9g|3*YQ=UhTkBH z&gdB|ml??%CShDKIc6hUbL%pcJJNJ*V#k5kF7&??3q=)uuB7? z6ss}@RHa~#Hcr{2VY|hx3R}8xo39e2%C^%OX_=YxUUq|Rz(`I`CY*~#jk?Z+?Hj%N zlU={3Sq4G=R4$c2q2@qK^Ri`&7X^fpyH9VHzxva8-^y>$QYs|uy7%tRoe$g(`h4;{ z>0Hp42Kw4V8GH{J%!ts(4Vy||j49z$VrujlWYW_lh>%`L&u_ux*tI5P8np+7OfzA? zOCU-!Q-*Y7QCPIu4!d;jANSwqm5>@j>*RtH*IvdHohukd?&x*mj%r`i`L3- z$)~kD?^`I3Tde4{@CKLkgpicV=8mvlbD_rNfUhK2|6_`b+Fpeclfv6>$`n(jE=PFv zoU;2IAjz08W0&=8acF|Ct4bQS{wBCUDXG9b_c~fHBC|vJ#U(wh$B3+Fgb4Y3mPktA z8(f&9v?%KY(~xx}R1hx1F10XH29Y_7O9pcbm5r@92-IT2%g#|e5XG+WCQ8`X9FW(3 zvHz8?p`6nvO`ZAHc^}G$Homcfrb~qQnJwFkMPqgr}%diA#u&RpJ_)wML3zT>=DHa?`JcY~>>XdjYsSzF@ z<7;2(Z(gtvzay~%05ZYnThQV)O=@c>H;rm(F->Dd9VP%?y#8h0#_}+lgn>!IF;lPT z#a@3$v#-r$FSj{7=de0GeQ_wttIZvzdQ-q(-{@_v_b)d2nv~Yd!$gF`@&;e)n1%l4 zjzDvLn+b1v{ecc&+Xc-H-nI^JqiJbdBYtZWSm-s4YOim=O(`igMM$wO3PnG-p3oI?+Iyx*DOd2!p!s>BlIOir~FvYfGf$ztZw16x`XPbzfScwf^6E?Fx zd>4=w;zeo_X(J8jU=taIoEF@t^}N-=Q(n@6C;em@!bUtf4R6oK6~HwbR||5Z^GrXG zdoi!A1FiVbHlwT@bUEOXI)|qiot|DbHiHHesmB!nCG}|0i)Bwe;){{zBTWdS`6`b| z#g;VS`BuniA(u}FYHUVLjFK=HjMo6#W7J)MvIex(#%0imXO<$)TK6L!Kpjkmqaf{i zJQq&IzEg_wcpO`KzXb5+Fbrx7SAt96Y5S50C1Ab_PrymlZ&>`u2%lKEP}Mr0XpV zaK#GC?5uQrOZ@_1(!yA*(H!tqhF`p()Po-=*(woOU2fpo7-VUDbBouG3==t_6 zWf?PR?4-74fZ0@pTT^peqhG%-9ZuQUxAh2P70&oVW7oAk(^;>WOWZd+g)GJQ;SPj2&sSyt~2UeEh^~e)kI3N~n*upe0lv@W(hSy);2FzWR z)jGV&s90qzc9Z^c@n=us&cr8;|;|0RgOv|NAYAOlK6#H6@KxBQpEICZpZK{ zH-8v0B*&l?w1l4&HX!N2gZMESl87e(K4Fh zt)gB;S)ES)fRjDo;#DI=!yt?Oo{>fQYY5Rkr%YjceiLsDRPa9R5p2U!KZ8i}F6827 zVr*{n_UJ;pubt7ZUa`PVjuvE^Hq-88_>(hz?HCd4i=ULmz0@+G>|^S{&&W(}2ZNFwA)NBH>hx0O%7N1X}Irr9qe9#%jL#%{LZLx z0Jrb5IZX}+LmaxSuGvf$jA>-{!Io6uN2L*L2~V9FTjIZZ{moeFEQHzO*phq3-1-7G zFg3^vV@n>=-Hx4OJIZSqwq*G?^BA@S&qrfR3Q$KFTk_?-AC>@_0hmDMaE>jx>j=)m zqOc_&X<#sE54L2BG4))eU&1q67`EhMai$&Z9YA^_$CjK!-beXFq&c=EY1=#?HS#aO zuJ5b}wxnPMD`(h}dz!vG1RpZ$r<3^V3D}Y)p2@-)uq9uSL|{u+z}Enb1FUrTLse{v z4wk*UOS?i@hbhIl74n=yjxEW=dw2t%Ft+46o)#rSul<*?B_lC`{V=xV6u7(|cn}vU zlGc(ATo2=#jcX1r7p`5nuEaGNS39mo`WLc6Q$hMmr^s&22(nvyn(UUIBU8~UTck@! zt8@jKE1gSb3onu?`X$+l>o!Q?8fg*AuO&03HDrtMIIi1CqWC^B3;E<)a84Bo{0le} z0W#(&lSF+|atcJqK4}JQ=#@`8zh_`q68SKQNlq@-?1bdyhcPB5VvdympU3**Os@P7 z&g7@YnG6ZzOwRfqoXLy8j=&WES6ejFX?Y&v9yuSvj*^Y4O2&j zsUo5DXsF5vh75s&7l;&&5y=B?WC{xa83CY#1wUs&Hwy~#04N#3g1IcXj0I@}*}E+G zf&~Qw@!VV%Y-ho%Ea+yzh=F+6#{!N+@%7+PZYS%=W*|t8Vs(5WxrAIz=3#N}6spM6 zBt*6mX6yesOv>BXH-|stBUEwf`z`1-^3lik;;5*k9xlb^NBAj}r2v1-KlTLuei9QU6#{>sjLW-PA zKNbphGOuO_&K&fb1MtS=W827G!FqUu^r|4Z&jo@A>J6RIzRW%jKm#0rg6J~fC?q|j zg!{8}+%e?#Ncv+ZKY3p|_W5VW#C=z8-*&mM>6%Sfi9)OVOZfnBJ&v#GC|V)EA-|CF z*_*#RCcky^#L*AH$-^MN?D|fz8`T@Xk>^R;q9m7YlQRx(rcR@dJ%Qc z#tg;qD>?A&aIX1rL+`qy{k1{iNJupBqg+D_$R=no1e1@1vU1pY0qgrHj7_0)Fb5S; zAZ#3`$J1}xr*H1qe9Jy6zWrY(fn&N<`2AIa^|Cvs`>(%!%b{<6+xe#ard$X5=D-X2 zE$AyItHShgADv2HKXg$)rk*6FA5&~%3B5{i>T@TdOG0pM;rxeCKl9mXqkMKLT;*{N zT^z{_Wfb${qke{9|0BVEF$a!N7YEQn2IiV9RL?TPI2zMnmqYbemlVbZp*o z#bq0@Koj7BBhply()LEtsQhx@I^&oAcoYqAG*B^)qS*>L4`pHiD zF*>bP{PJ|AaCit?@$ABAC<7e>VAr@-aA%}S1@8hj7MN=^N`$%;jt~HNCNC;iqvPj} z5V{e^Lx#@GNEtg+8UXKUG;{{Tr?|us4V-!9JmJ%>Uz9H1_~NI3duRVw#-AInUAF#) zJFi?h&L+Gg{O%FCV}$(e`zPeC-#xSDvf!=Pce=oXK&}K2{WYCfTbY6K<6Q8e(ua%Q zK$#S-2;d?sic%0Bg$RO104O6VKpA#s>v9=L5j!7@z+|QjdaIjccD(rPAOHT!Yw~G2 zgI2#j_pX9_R<7B8ou>14>6;T*%3mElA^(+*>Y6~Wr@J*>?f#3$?s<3bO*{6nUYHDR zC_*o2;mqRnb1$$;KkpLO3z}F66Hy>`lom28Clz(w|0|*H^hxn8&BX8aYI1LeMQn#` zQu(Mi19htOaTW$smRdVU;4n=qNz7s+s{|vfgwBrXSuu~D3WU;1cn1S^6MaaZ)f#fswU%Kn&Z?SlV0rRFy2qwoAR=RNVkFK@YNKfG)kfHG>8#=;&B`UgW94eI_{ z>>!3PXMAAdyp-dO`eUy+0NTUwMl~U9Kp1=a$T=9dC8`+skuFoF9`F&9NkSNWlyFAy zQ6UTpv`iFV?z&^s3qt8bLfOHt$@GhF=xX^&jy%c}c0=EGLz6dx7KS`3Ahls?V{A&# zEY<@via~>%5jzyq3BV3<$7z5o%Bxm?E`NdKKAt|ztaRC zk`Eu6{fd0}0YQ^~>KdBaJ^dS+fjNRQTC~%+EbGE@jInCGBh_A2rwiVz{M=6MVtxq9 zx|k9M#|-JhH$A^uZHWSK1I7&WZ3gc2Zu%~L_uJ>w^cO3K-*N<6+cE>F=-5uk|C%$Od>y7RjJB@oylW_Xc^)YVP|T@(1wchv`kTp zV@F?}Ay{xEnAh8;FeAbi7TK7Wm6JnB#kUqKGqbZ;xcKW6G~?YJpRM2j&@J2U+({R| z+#sL)Xoq}y>;7Ngd-FXzgiRA(z4_4-f#0mWa_1Uf-KwTl_xU=1+wsz6SKhMvcT2(7 z7Vz~jSWGA9hBO(OJ$%K8o|{aSNp7maWHfKE5`g3Abc0BV(Ggw~x{T7pRPKJ)@rC?> z@a$uE-}^Hlwg$Z-e`gS=@CWhz)5UlE{INU4-$Msmu@d?e=dlBU-<lwHy=3CC7iY|8bNF2F{1-Y8|8S zKrk`e2Luy0fj@A9uYj1K{|rL{g6MZi{{rSF|Hv})Lestr_ zLh-lMa=GCAjs!MR=Qp~&NA93s-ts!5em1E88+wf4m|8*!VH{I}A(*Z7SPbT;r;{Q$ zrswir%@bz#HYkQjUxYHkn5X#YC1oZGpPvK1g!wg$UYh)_d~(%$>)-gat5EvI=J^{P zOE$`Hx8IyD3{2RVNzH#9ba&Tw04};F-*s^6=-SuB!}s2hy7g8zzN^62VR#g?fL=;N zcdO%@b7E4a5584WdxYcm)r86;M=wR#h=X3rI1T zz%NC%nNapZqeFDM?b(@HpqHla+xL>ErJ|z61LRUc+3?|)R6!(^+=gH}^fVT^qzXi3 zJ6s#9gzfbyxdxVe1@t2>Zb_xDuac-Gd>x}2^h_AlOf|t#8Aya^LKwHiZ%oWl$`g#j zEx~2a485{jMTEgbVEBh=mLLA(H22Sz(MIjQMQavpOnU00C&uiPhOOB0*oE`ttGk8@ zhXWm}7IxW%gC}o2{V9VRz*<5O$H5oFEhY8FEveLVp{NNyKd97m+!Ci=}mtV$iqoHhE2#OZd&w_IVec?gCi?nF$;21XXF+ z;g1U?_aDHf8F)W36s_PUQzb|>Br(8p*u{R)gk*55M*z@di$4-J70NFzX0AED{XJ@2 zdE)wa4 zQrOY~hLWsM#|cuY<1>w#;IfN>hA`P_lEbJaegm5^jKr>GA<-~u3924OEpfMn&Ir_! zTN?O>{Rfxq+nu=N(69fv@3xH()l@%n)$M}uYx(sxU0-Y7S+PZaNB&NF^5{)nr*3>h z>3v}*I7uOKP)jP&F-u#{lyz~w{{VRQ-gOMzo7-n z=VHxB*r)nXYLtEAi#4@vzT{UEQG3}4-Y4o8OTFu4p;FhdiSxEB2~Q;9RoP`eUmn4xQx zIKvF>P~r?Tbe9rmn4w=NafTT>0b8qLhLV&x!wfYmae<`LrAi$00KGzqONeh*;tVr% zs}g6Jq5VpnVTPy@XPBWBCC)HIW+l!rLlcxZ!wlW~FJXq1zjg^@f5Kq|q0<8viu-pk z|G^6}ywEh@WflNK(*mctKL+CyjUbALm-!Du=qEx5u~iTM{EHZ&n7^<3pJ9Z6K~OM4 z_(Pq(7$N0ft|AzrxC2XX`DtK63=h!|;4thrx0j zfbb|VAqL~=4HE)VM}Y}(v`!36C<+$@h!{s%DOjCoV33o8eGsB@-mJ3`Q5Wz>_&;-o zJ#x8t)P?97&_Eov#E?iTD2Y|}zkv}_|3M5GAr_7Iwc$UJ?4B?R$K_@SogcpJ&R$p{ z{1cxW|EY_=m2-t_if*X_$fHQwRmoE9Ppu+((J_}Z{4_@j*(*&Bg>tn`cCWzyaJpQe z6OcbfFOWhUse~md;?4?Z4^C)>AILO70xR_R=XvGBh;+D2O{Sha8;E8fQ(I4-%?eOe z?>q)t>Xl~)sHs<;qY@(RmFKj3U|?e3bvglr>YeBA+b;fDst+yrH*<7oOno*-g{L=t zHm8+Awql=i;-Ap^_kCnZjt7KiEwgGrDK$pPQ;eY-(NRf39 o{@G}n&j-YGI9}a+DgFsh`G2^2e}MNAI@VUHFDe>0WxW2s0YK$uZ2$lO literal 21424 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 literal 20212 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 diff --git a/spec/fixtures/pdf_fill/21-8940/overflow_extras.pdf b/spec/fixtures/pdf_fill/21-8940/overflow_extras.pdf index 26205865bb1522427b7f47fd279e641d49d709a7..16451c879f50af79b4c49508d705d8a697056ab6 100644 GIT binary patch literal 38293 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 diff --git a/spec/fixtures/pdf_fill/21P-0969/overflow_extras.pdf b/spec/fixtures/pdf_fill/21P-0969/overflow_extras.pdf index 3f8a7e2025a274284d7e0906c9db506e60561aff..3b32fd56ee4725f754edd86a29a09146f9879f85 100644 GIT binary patch literal 30950 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 RlGEn4+l~48WmgU|{vYNiDDeOQ literal 25973 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%0DB3? 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 literal 12613 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 SzIh+tBd{QVon2Z*2Jk=j=GQg= diff --git a/spec/fixtures/pdf_fill/26-1880/overflow_extras.pdf b/spec/fixtures/pdf_fill/26-1880/overflow_extras.pdf index bbb51be6390daf402bfdf39ee1c605927a03a42e..4a0b556295c2b07e14b89383e4a2c90b5f4da72d 100644 GIT binary patch literal 31655 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 U`+aIc5WqTPge)wQ@=}EV2Xr3(vH$=8 diff --git a/spec/fixtures/pdf_fill/28-1900/overflow_extras.pdf b/spec/fixtures/pdf_fill/28-1900/overflow_extras.pdf index 6573f728777cc2413fef68d2469649b317bde813..b95333ff6757eef7d88ce9e21df1d6f10e307f71 100644 GIT binary patch literal 19210 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 literal 16216 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 diff --git a/spec/fixtures/pdf_fill/28-8832/overflow_extras.pdf b/spec/fixtures/pdf_fill/28-8832/overflow_extras.pdf index 1347c6f7852d43fe7ad05eca1dd34209bd529890..eca6e60159109c8c997e251f0dcc538a9f5f674d 100644 GIT binary patch literal 17955 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 literal 15513 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 QK0`T|7)Ot;oIB0*nxBvhE literal 17549 zcmeHv2UHZx)~*pHM~MQ11j$SuGLi*BBxi|3h9OFnARrkeDp@2+R>>JbKnF>pAUO$0 zk_;m0HHLG}f92kL{{Ox8)?07g9-FS-75b~H-BsKDRW<7^DH$FJFAR_M2srQ{ATS7H zY=tK*4C0e?L>oC{96`cnXfrb~7y$-@QBW`#2?4Gs;EEQ-OX;DtLcpIKKY{=SPO`>G1d@F)nt_AP64c z4NFrekS^jlpZ;Gm!vB&{0c~gQYypBo5wPPFPR>BRZ1EiM@FdjmU`Spt2n7)U{;HYc z@yS4e00aqAGs6>xLy&ObCx8M@q!|*8gdk0zV7LGfLL$vjP^2jm@+(dhq-KRDt%mn! znMeTyFZ8&iKT3suFBJxbp`d7>92k%r3I!jRf;2`V0Er3k9Q1Jr27wu!P$EB+7YXJ6 zQ6l6R=Z_K*;A3>(kwB2J6Y?R!ykPj>0b&MJ7xBH4{|*Wq#S2FOk3X*5U!cHIK(j!A zO2C2YK;Wh)fPun!`H}w~4GMYO+$hA~Y8VKV7mE7X)PF$(G&T6w?{_2!egR%2|Ig<9 z-t8xM5J~`OlkZ*i?>Y#9Lh(X=YZIU|1&)6wAV9!*5yzeQKT#3rNh*SXLwE(CKU?=N zEdeMSKN5jL0=;8~Gyy{J6VL!J0SxxH6!s)NIT;Ta$%}&juCj0h3Ig=)vAUa~_il~R{U>U1G7cCR7>|C}P#E%uTKwK2Ffc#wuTl8FJ8YZ?0Se3% zNP*uw0)7j}YP0MjMX6a__{FpfgOP+rup+2~(&$;ordi7+4nU|c@>4OOe_&9?J2tR>+BH8-tz(PmcgyM6 z&T>QpmeUVIi%$`4YH1{aaRcdsf%HgVGC~PJ^#SwB5o3RXSi%O4Ha$VE=4feqf>_+q z`2?vX#?Bdl-~>9h(NysGRM1Ws7e^Do`a3o{0fW*+73~bt_%^AceXA4+| z5p?OM;G+58T#YFQfMa=M@#!-6ItNrlPw*coFy%c z96>NB9-o5I&l@NLfybw5Y3gj@1cDq}*g&n-FzR-eCKyvR2y)!?e>HlKq5o@;Fr+aA zZuASJ3fkPo#>nyS;Dr3_cbUHd^t(;{Ux5DTus^MH{=WeIVPr!tRQ-p^4F`h- zfVQ%;MHYG%+Wk_&sj{t+Ek zsk&$<&gp1Q{Ps^V+T?es_GL1Kg;3ge^ZgyQ~4!b+9frza8& zj~0s}MD!o~pYxTI{D`sH+AJ^p_HEPgvRH6f-Po+14G}%#y3shHSLpCFrfny}*6O|o z>HYna!;{r{wZ8kTpK682a@wviVYs@+1HCL|rz3f50!j^!BtErvwGr(^jlK3_0Fk2C zOKa;y8g5;HPk)0ht}NVfMQ>Biow0D{pF3?>qvE;WTezEyd^Ed{%Vq?-P1W%1)3a|6 zOgw~LV4nJV8RRVaF;hOYfvtcib`s3;Ql&@g+qAvF<6RJ_ z+o8L6;Q0mk*`zZRiIm0FTs_SR8LM-}3+Rq~@mIALhpH5gCG1cR#TF^SL z;x~nDF}#1@u@Z3SQ0SI;iODcW@FZg(a_rP|;i%r`Lb86cWr+YWe4iy+4D|iOX#~F_ zKFRi(At9L}!u;2sC0g*OZwL(izMiu-Ci5kXxte_{>u{_5$cLBaav1tx-9wB?sRl>x zv#*{&Ysnn4usb0{lA>UU3;hD3n?sanDnAIFBcXadvU#3sVVU>2!BUCk7b>b?+lWr6 zn10domeCc*Q0V*qN)v5OzBlON_mFqXj`3z4!sIOl#^3bW4V|Q#%+ybH5u0_;wi_$Y zLK6nWRQOg36yiHL_48s_G~Qr%OCF9FD#Ys*+h|j_1aE!W{sh)3lB9%|qV=^TZ0q$B zIQGk~4x6?IU`?RXx#%P;7;GF!y_FH`JUFLuYDCRX$pRI8Wwf<7?p z!i7$7e_L6&%WL$73({JuE0vPy1%YQy=^DnhkQ?{8FOr*7roJyQ!tnHL*uavGu#wfUuduM+=Pa! zu8{w2sE?_1@FmOs)o@#zHYCzSw<#{XukKAa`aPp|bV9g4>e&>SYs?5pv+Qxt8p5ecE-kxuBj_ZIaIOQBp14ZFJ6WAp31>Tzn z*S!fSCl!OqW!m12GP|w##*$p|k>rgod3vp2eq-};J@$iB?pNor_Ktl;#ljpVC-G-^ z<;{@EB&2jLgSnMf+ML-F8={Q@2G#qx3DcB?`4978ACzJl9rFl4XWN4GPN&^t_13sX zUR*XQpR3{cR`#?>6%%sgTBqZPY_)rgX*54R6J@hpR`B(aw-c8=GPHL6*J&Y#k&dAf z7T~ARjd$fT3BTkFV{|`9PI%NDg7mw|#?pGyUrT$fP&YA5ggf=~uaosGTWe2J|V7$GUDHvgBlqzR+RktCSf{N;r*~h*>sk~?WPo5`S z_v%cgSie18qiBt?RWJT>usMJ9EobquW73^Q>4qV%vYOsKw>iJ4JB>cQ8_CSru;5B= zXMetHb+E}i-)+CQkUF*i3)WQoGYQ-m@@VQ@=`BT*E^AZ6z zB8af}AfDv6-nMaPAkm3tZxOD#6*tUgSg z^8PKvAef>D7YA|pL0KVCs`h-Q4^DKjX|H2RDt|`!IfIaFy4PhB8(CNUZr0}Lv6Ob( zV@B4LIWuHuuf#Y?UAgx1?o=#Dk|d}Q5{0i2e2&cs|B{@S`>O2>y$-eWY8~5`VcmV* zbaD1`wGLPHC+I+DEiMLAc93ZLa%I#yZS>%|h4#QFhIGm#5hLne&MpX6YUXg?@Fs;P za~!acvH2j2sDh&4>&=QKW0z6Xbsq{-a#iKX;^Q`67QAvw;EyvJ+3m1Q%0J)?Zy%

o}t-4Zb6uV{G5oqYe&=NmSzv7%r1030KlA2llWTe~6QhBqU9_mm^fzLa?NG6);)xW)&Nmied@&HEu|FHF}Re4gZHL98|zJaZ_6IBn$I z2vNXxfBqs=5HdZh$QB~Os&ixFVY6D?d#VI<%RF*1;3<9j5Ie>MV)ZO9v2B9jGV+1T zi_RsKbT!{t6V7tXbm|)@W;<7!hO*OcK-wr4YWB=jS4~S#1l2I_ngcPla2Mxsirt$d>dJA-j`$(-m;G(zt(GBcq17$!2PK9 z@Z(U2d0e3%I-#S~(O}On+wJs%o}ZxZxo!0a1d6AJvnX-`I=MF_eVN=*3Np5jC1p@n zXPKcgW@ia=O_0IL1tH3&VHI8yMqc6#ileWdvZi*O$$fQCM`M4dHM59CznXq-HwY!l z^v-O@RX&thFQd=@RqqXRZ+wxc*rk%AFDsQXniW^R1O|I@e&Zy~%tk$cBO)emLOW`h zs>1pNdo?)(Kge-(sakS$QPd#p`2!2_ZLTxv9<p~4YHS8~xg~*v;NY!)WK6eV`Kc=DC zkg`o&4mm8=2o^(PVULWagFc-b={ry9NqV1_)41=+RWfqzq=UKX_L4eLa|EhrwRLA~ zTIW7pmtMu8%+bigq|jNL5@*n@##!=_A_p+vV?<(NV3`@s{U^v3k>J&H|`iivEeTSpsY3>i(-m1{*<1qF+C zZj@L}nJ}FaOt^mb9&e0NIX5K_>m%j0okm;i#b^eW5YwV}vffWpuJ|Em!cVz+*E~?; zaPn7rwn1*?O+Xsnt;(^}t(wodB%~(IyYw4 zbnAAPC}`k8SOsOR>Q26Z_N(!Qh)y1QM5s!u zJ5tnpz*Tzv6JEAGMnno#Jaw~8U{AU0G2U4B4XQ4aP~z##D_Oah=Tm#R@JTMM)$l#q zbC=#&Z;+~Ur_mQ&F_#s_$#=KqwqYCU$AmzseUxU6<*03tTod@W$OU+x@9RBZ9BK+; z=~amDrU-J3xGt*XiCIbL6cwEQn(95%G0yi*#{D7x#SesaZX-uaQAz=sehmdv1w^Y3 zIgo<9TZKFL=35hF-nz1k31>VcKNXTeqOt@N8(>0v*=NGd!tA!L*|9y$-oTk#&5oiE zK|iM^uMsD<*vTMcvwN@Z-h*nR2-AfvJ;mDqgVR#Az0mUms_(jK(F5Fy<-w!V>`nk_}^ zR&y@4iz;=GFEy9SUtP>H1G`*FeFaYKN=J&jYIv%w1|qdE=#b)6*qf()K4Y@ESnigR zO#As)ceM$c*=`MSM$5#PY1tqAHiD?r9rD%zj}U2;f&{WWM6bq zj%bKXJOcD%Do1zU_X) z#h%z{nm}=hYVJ~kY2XF4Yy@V7lup{f)ugmG^SNi(XWNj%H1gsr3bBR(`~6H zJL6WXo0_)znqe*`X;=M*b-@bRpIVz5#bdB% z);ycq6F@|naamVbtAslFL#Cr$;V63nRfpN->NDn;=Jp_^^P&tk5q9K9@{646I>g0O zt>rW?F27RuP0ufFw@*-bG+bei_w}i#tzLrkre* z&Jg!8GDc8ce=v!FzArUH_ugH_kMHt^9@DhjNY-f6w>&G$LvqVnqo%6BDDTL#x?ge~ zimi+oySQ5wmjjj;QvDsjV6iXPMuUe#UT31W4Lis-N4$hRcmj2}OPQe`e8$%BY|V~* zM(3{BxV~610Ut2BUNYDG-OF_B_xRma@uy?thoj`Cku5;=o#a_L_PGG=0W=hJ>`MUL zBF6%W?@l8gfUE%VKv4kC1vujXF9`y9?C`NMG6y_IfUm(#ZZg+S1$tpbY^pG9I7SuRAb5^e@cecX!OMI{oxx zK%gl8zvIV14|LcK%TV8+tS^@6a3;O(#CE#nTC`o==hH5pr=6V7y^jHL;g8?lttZd2 zv~FtS3rTTrFlb@A`*m}(uW#3RoYA{hf5EA7rG0+H?qGR+Mq{sG^I@O6`BFpb!oecf zVgG>FD1Ak2`uO;lgROaC-o2op(aD|Vmdd^5yGN7lcQ_7!`vKj>%D!Fn(PXz$_weEz z-@u~5L3#Sh-t?C>hw*P8alQ!{_`E5(>oZXnrDVIe@9c9_mAcVQ>QiU1H?}^cpip0S zc&D>`e0?{2g(0%NJqW_!dN6Xh5iP(l$ANy|y^ACku@j5ZwPcTwzhS8^D4+XI)g#^y z`ZPRF8T~|olL{+6BVV2WHclIz!Oh8qRv%A3UU<|_G@ku8g# zT-;LYh)QAyCSBGA>u%l-8hEp~D(Fss`)bL*jBH<=*>bC|V<>qzFuk?zQFr@x)Ii7L znuoi{ZN8F!6^Uu0`$XvGUw0bw05w6lj#DQ-=8Jkww~FI_b`12dBVWfv_6}cxdQZZ7jza@~0$zlm% zk&`2ni-`epxrk0GuCvw2jRm0IB(Ji$laH}rnv*{%y2aMvVq#GLHIk}M{r-7OywOWt z#M-?|tBUg&)yL;Co>0(WH1^hK%M^m))p4 z*D#Eh_`1WUYUxGlUdz78>cEE2%B9MBag9?vzhM|FVQF2a3y%`bMY$BD6uiKHEx0b=_41@@+tm=%2Ev@$JeQlE5o(U$gG3eb@ERCqH<=7{Ax2gaQDAQw= zyxt*$n*ER)(vGc_h*WrUF))T>)@s(btyUf)$VyI}bA7x-P(*bx?`XKx;c{cp;!J+&<{s+#;OgbyCx`E@?&FbE7YY{u!Qrs~_6Y?B{$Ke3N)Ytd z^RMz>VJJWJkMzG}zpeoJ{XGtefS;HKDggOI4)ExIgn#A#-@PILZv9so2qaJ!I2Z&& z@c$u$A`#!i2!Q=M4g-We2!R9x=MVXDUKqegeZRs`AOu1HgaH2;hXDVd$NUTLf3E+1 z-Ti;4&Gdh*zXJHZKkc<&j19250I;WiF*f{2)Zejm>a{)f)IKyE6_xMQJvwb>Xh=b_ z4aO7oRlZH@uBZy{d%t>KRGj+sS)9}7Z`|l0AZ7Nnm|o;9R1mll!c& ztRNwMA%Vf;V>#3TIak^Lc7ott^<0UN*S1dMxQ=Jh)`7@?4jn+#;8=_MHqXPB=Mlt( zH*i4ck2+d<+G_eW6M2|Zp9yTj*l%lJCG@;qN`6h>@1Qh6rsyN_S|G0f$jmc#-tM`%N#f zHTQXnGJ>LghB#Rr(MosEqjy0Tpuk{i|{dxUpDN_j|hWFv2~mCLe1 z_BoDY0S95?a_!|_i$fA#t8ccio{!7fbdJ@BuXV{X&Ob4teCl;zRCT$>@3G8nlB741 zAJ67rRj1)c->amIY*DEo2o&2>OcK3I7JeRABTxLaR=#`8mFa^J0Ztkk(?BzJCjF0& zsP|JFXGHPW-ZYzwh_dD@ljLIWc|51t4!!hDQyt$mzr@(~+Tq1;k~#5g{>zlXJ1>pb z#O!To;IU!PXwvD~x7ZwL;9G{Npx_6lk z!QYfx7k0NaST9MbkrTcDN?T?TLQ?P7m!X$O!oc5jG3Vl@fD^^FvTOsN;E)J9lJrwC zTSvF|j^?gPVkxvy%;VCp{m);xzH_kt?KE%dGdJaY1r-*KO0Rngc&g~6E3p~>O&g98iCF#9mQH;Ze%9}cnlss?gRWp2O`Y6#La;DI$K)3=_5#&rk@hJ;? zC0XWEANLbS`NS)4B;JMZ4{ywrlN--GC&x1`(%{gvOOEENR17Ys zq{zZ9FobKBaIDNp7sy3_kW@t%x!zCQUH_;>gO`+4m(s~uVrvy@D}lT3r3?1)y|!}y zxgX(Ezmc=1%LHSk{bmtpLS#W_=tX?CENo322W-QM^vNZr`&qC3omA0xLxs*42Wyo7^4u1WO@i%ik85;hD-L$aYQLWL{Ve9vvH>q{C+*l^Ws z?2tbj1uNV)nqZR=46jl=*D;_d&~l-bR$PeS_SMRfM`j4-UBS*q^n1gbxbD-i3(_!o zJ?G)iMh7(6*qd@oj9u(o>w)BbCN$ZDDvhA_HumMwY?xiJQJkHI-5s)YR#Wt3+|udr zcjKDS&b_qBxY|57c&0?BjQ`Efr_Xxl-#DqWg*U03W4L6s!v9yG6L*=7O zJcVC_FO3#faWEL%dC|-}>3Ne|3q%l@TGa;^Kbz9TEkZc^^6agPPN3Mx`=};D;xn_} zV6H&JoMCaY!pBrjP26@k%(DWeHH=cxjrZh6af}vJC%Sp0zg7}=Jy3g*;-%p9S?61x zA!!b7kW?zat{&HIWkuEctVj*MTVgp02!|wA%UTz_tNu}pOakD12)^W)ojK| zaHa*%bQQKNT_Wlj#mRg_;oxrr#`e6FNAS7S5iB>o?&^G)C(y`Z*+trGIb@?0_%}0~(R!KDq-f%v;2qAqb{~}nOdWlAn*qlp@ z^FqiZ9Va_p21As5!wcE$wZe=oeYT+qZ7C|mJL#&x_jg=Fnetm6v6@WE@Kuq#BA>c& z6~qkU7kKpF{Mf=%stg`X$I)kh{Tm9@-N|C*u`f`d|Xfdx3-QQN0ka2sie1 z^P1jRnHs@&81J}N%>y14swB;YZKn;RaY+*IRGrTZm*J71*D zA|w=M4Zt2O^@`I*)rL2vxJYl-kB6|;#2)S(IDZvU>MVA5GvDa# zNUssq6xGD*;nfbt;CN_Uw7XsDLApQ^*A)e<8ZmuGp86U@S{sIQO(K_BMtgj+KYwe) z{Hv}-PB?q=8#9SunpaluF49HP3w`Fu?OaZC$r4FQ8PBOxSmz83)5JV($0=oQ^Vp2y zkH>#&7&ttcv`B&7njLeugTWZ8E;b zLYqOSMXrW=5^*X&N^^Tb_qKecVQZ^|kwLRKrrLD2J#3)f-ug^`Rk_ju zoJZWb{fVevnP|ljFYKa*`4LDXa?wzS!j|mO3n(+#zRCE8L~HL;cBgYnELTn9oy0gp z9i8!U2X{o~&E0d4oOFpVi%pFkRPwJ+y6R`$H$^onLDSWR#~bP-cdM;8h_O4m+syCk zsg=l;tvwp4oX~nyiXO_H@J!-&;oP+T{vDs+;b=3!?BiBQ8`f>I%!?`Uquf+1MeYtc zx#Y@^WoP*k`_n@{Pt5ulaaKmI2lwj-iH}+H(L3@u5pH3==)0i@V=y&@-! zlCFHJVxp9BmcGF4o5qamV3D(3=4aF1@duv+Dr{z!gjQlo#){q8ZVUqcPChQ5NYe%% z;zWgn)T3~%_%M0bgA(k+77Qr%j@#DLE=iI5;^K@n92S@@x&)YxX_CtF8U2F0>f3@XR{~M|q~LUzWZ` zo%*)TRv07O?CcsWfTc>sF>rRQ-|Hncz33|Bw>f!7;#Sk+H;Ju%t?Z>1bfz$r(YgF-ki4UDhG< z9h4%qsB-)IMfX73rpe;fQ{!Ph8$6l>*owCXwto4~*;q@Lk^_frWxD%2$Q;UAO)I3< zF5ARvonf#c(B8p*X(V^__8DEDBD`QdtjQqA#K!ThTF6E>j%qQhj5Gb)Phn0(D zncQGyNxarvJWku_R=w}HGi(zS2^r>=Nf9d;Y(?QD)a6yZ9rJm4=9&;_1(R6-Hzl1fPQzceX;5>FRFMZW z(a$=E6UX7x`ja=xf^h9zf~2Gz8zDm_f$0X+-mkZYnFtcWY&5sxS9%!9;>cdWSP~w` z)Xmu@bNGK6`*3p>uPAFopahavuI_d>`9)i-w3wE%KL2ul(5NrFjoJ93J%(hp%Q04$ zp0;gPgAPsRCN^KBuct>e-?Zp=qX>^cL{IJY+nZ6y0`l0`Oa1*jG8*Bu>JXK;Ot^U_ zZExvBlH?lCh7DF#`EJ)$1iZJ#U9qttyC2)c_I8s{xSw{!_*&t4fiGLd6Xstd=QOiv zXiC#Vq}dY8eR#we3*1^$n3|+Nd2=6V_gvy06csW5wv}Re!}QV{SJd7wq#?W6ZzF|!@G@LR-rBgu6AUa;NacDj_D^_YmrMSQ**{^Co`%gqw~l(CJMId)@Q2>wNA3jed(Sr{6s$!EcDOU59r2xa(PAYCC7QVhqNTZ zdX(?253kToH?`8yv&LOXJVtNlK6=|<9JqOptdiH=zI$k2XWoF9D3RZrCbVx&l6}w2 z4}DAPvG*B17YCWaA-`;E!w1A>Y=oaGneH5w@2-d$!*AcO-^n6K(>-6KxBF#qer}uo z>-IzqYh)6dWuY~3ymAb1m}`83-W->hY5t+J>ZnOK>Shr(9q!%yNT6WWZm@D< zusJZkG*PeS%S}O91f^@}6<4jYY*}9Ks`ZXmK6me&xi0yyDB5Stq+geP^;OHo*ReT7 z0{2+YlGlnkZOE=|+{Z0(V_R=}ZZbHXr5x*|IX*g8Ok1F5xkeE|Xa3P@Y)C5IifKvL zo7w6JE|VBNI;cP@!tQ@L{_F-!TodJ8HL-V%ec76k`c)6hbeFYRT1XlvK{5Z~yMnB( zdUA5z8KEx%LpO(os~eZeuGB_?Xt`$7{exu)Ge;ixZWqD6czCz@7})#EPeh`E4M<_H zrH$QGwd=Jl-AZp%1D+eW6phH2-N%kY| zem<#-XDP-l{iRT_%SPO9?=@_n!pG&iXm#Ue*NchMMl5G`*A_@;knNVbcHf??zhc6U zwqLIT7jlX3N?#o1yy>DAVmXG1I*{||76UI$9GT;Y>wdfoZ&me3h%z&vl-;u+olm}7 zhPOgh`PBmP?a+&{=rnHr-7+FihV@>Lx@eo_UA`MEOWVB}4{%C0_g5_0Q(7*CJe9N~ z?cK9DgQM~#lOrJdk|?bb@h4G6o-3nMnd%RuD)uZ0!&z6pTF_Ioul0I>`))DX`m$JU z^=3Tty}90N1P(hy*OhvxE4o{1r^bnTy}D=_)2FR7`G8IHQm))ICuf#$zdF~9fE7K0 zi=Nfey^FO=&^#^ESz1~-B5HExvaF(Qb*a3(5?wT8T?RS$I(&(h85(xqeNWZD?fOi) zO0=4$s@l|3?)+*=N8YWXl-VLLh3BP?UfPQ8w)*bM@d3>A2$%A%{Jfdg$b22ykg_NF zuaucT#0z9Oe2{L{+VxP$vbMPY@WTi7xsS_RTU(aW`$ceb#k~6FJ+q>_3!m1i`^;u@ zrjo%7DHbE@x6aPo!b9H*YP%UU=~hkW_nu|R#n|&a|AS-#^;_X>@rIWx)C^MxVEGA7 zM1}PH1M=KARy&0+*Plxl^wPp`6gD|Xf0eQCMtBf08iZ{KIw0<|5=NUgU9Wn6Ves{1 zQnH2)4Zh}FqISwjEYZ_X1tWg8H?@Xt#FT+}t8%I5<=@NG3|!~w(u#zsJIsFsn9$gS zjO5U}tseo?f%m1W21vho+(-*s)!&xk9kwdMMksB zi#y}*uMB|fgsu>$lv3*EJSl3E&{}7`8Ekg9yrYwLEMg2ki{ZEJ@U`H}Q4E{Ke^B;%*di}@nNzVYbR)5cfMEoFG z5x_P`1Rz85pG+k30|e}^a)8~De}un33)s{8EAH=J5kCoG1oRj`a6~#YyVZ|4VB_!)90C9_`WL)^7t?>z{n^L=AGgIH zgs7V%+6?dbiw}6f$1Q#yAS40-Lx9Xcf5-p@`yL0f`$Gl+154kIkH5+QHvb=G(BJby zfiFD#V>)18>u-6X0>Df059I;7)d33k`1td=DBv>(zscah3Wk43$BzPDihqy^pnj_d z1lR};Y?C}b{&)ri&JV1t_y-vh3fQB6$ebOGfOUM1-#;9pYUu%NYXp|qsbDb9pkvM% kFl6QI%rKxIn;*Y_gu}?u`Fra_P!M2s9xJP~k__Je0yQoA1^@s6 diff --git a/spec/fixtures/pdf_fill/686C-674/overflow_extras.pdf b/spec/fixtures/pdf_fill/686C-674/overflow_extras.pdf index bb36f3f786270bdab728f540c9abd208d968763c..b50d9fc662aa8e4690cd808e1fc948a7094b3f97 100644 GIT binary patch literal 50545 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 z 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 UfoNPr-|cY&^{uY%+}36JUm~csIsgCw literal 12088 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 From 7f2678577d2b937daa8bea39f6f2def167d7585b Mon Sep 17 00:00:00 2001 From: Tyler Date: Mon, 25 Nov 2024 11:24:40 -0800 Subject: [PATCH 19/21] [API-42282] Improve error handling and logging for POA dependent assignment (#19541) * add poa id to logs * raise error if manage_ptcpnt_rlnshp fails * raise more meaningful exceptions * improve error handling re dependent claims * add more detail to bgs error --- ...pendent_claimant_poa_assignment_service.rb | 48 +++++++++++++------ .../poa_assign_dependent_claimant_job.rb | 4 +- 2 files changed, 36 insertions(+), 16 deletions(-) diff --git a/modules/claims_api/app/services/claims_api/dependent_claimant_poa_assignment_service.rb b/modules/claims_api/app/services/claims_api/dependent_claimant_poa_assignment_service.rb index b2ec6e08637..8c7f9218fb7 100644 --- a/modules/claims_api/app/services/claims_api/dependent_claimant_poa_assignment_service.rb +++ b/modules/claims_api/app/services/claims_api/dependent_claimant_poa_assignment_service.rb @@ -9,6 +9,7 @@ module ClaimsApi class DependentClaimantPoaAssignmentService def initialize(**options) + @poa_id = options[:poa_id] @poa_code = options[:poa_code] @veteran_participant_id = options[:veteran_participant_id] @dependent_participant_id = options[:dependent_participant_id] @@ -25,7 +26,7 @@ def assign_poa_to_dependent! log(level: :error, detail: 'Failed to assign POA to dependent') - raise ::Common::Exceptions::FailedDependency + raise ::Common::Exceptions::ServiceError end private @@ -36,7 +37,8 @@ def person_web_service end def log(level: :info, **rest) - ClaimsApi::Logger.log('dependent_claimant_poa_assignment_service', level:, poa_code: @poa_code, **rest) + ClaimsApi::Logger.log('dependent_claimant_poa_assignment_service', level:, poa_id: @poa_id, poa_code: @poa_code, + **rest) end def assign_poa_to_dependent_via_manage_ptcpnt_rlnshp? @@ -51,19 +53,28 @@ def assign_poa_to_dependent_via_manage_ptcpnt_rlnshp? return true end - log(level: :warn, - detail: 'Something else went wrong with manage_ptcpnt_rlnshp. Falling back to update_benefit_claim.') - - false + raise ::Common::Exceptions::ServiceError rescue ::Common::Exceptions::ServiceError => e if e.errors.first.detail == 'PtcpntIdA has open claims.' log(detail: 'Dependent has open claims, continuing.') - else - log(level: :warn, - detail: 'Something else went wrong with manage_ptcpnt_rlnshp. Falling back to update_benefit_claim.') + + return false end - false + raise e + rescue => e + log(level: :error, detail: 'Something else went wrong with manage_ptcpnt_rlnshp.', error: error_details(e)) + + raise e + end + + def error_details(e) + { + message: e.message, + detail: e.try(:detail), + details: e.try(:details), + errors: e.try(:errors)&.map(&:to_h) + }.compact end def iso_to_date(iso_date) @@ -92,6 +103,12 @@ def assign_poa_to_dependent_via_update_benefit_claim? first_open_claim = dependent_claims.find do |claim| claim[:phase_type] != 'Complete' && claim[:ptcpnt_vet_id] == @veteran_participant_id end + if first_open_claim.nil? || first_open_claim.blank? + log(detail: 'Dependent has no open claims.', statuses: dependent_claims.pluck(:phase_type).uniq) + + raise ::Common::Exceptions::ServiceError + end + first_open_claim_details = claim_details(first_open_claim[:benefit_claim_id]) benefit_claim_update_input = build_benefit_claim_update_input(claim_details: first_open_claim_details) @@ -111,12 +128,13 @@ def dependent_claims local_bgs = ClaimsApi::LocalBGS.new(external_uid: @dependent_participant_id, external_key: @dependent_participant_id) res = local_bgs.find_benefit_claims_status_by_ptcpnt_id(@dependent_participant_id) + benefit_claims = Array.wrap(res&.dig(:benefit_claims_dto, :benefit_claim)) - return res&.dig(:benefit_claims_dto, :benefit_claim) if res&.dig(:benefit_claims_dto, :benefit_claim).present? + return benefit_claims if benefit_claims.present? && benefit_claims.is_a?(Array) && benefit_claims.first.present? log(level: :error, detail: 'Dependent claims not found in BGS') - raise ::Common::Exceptions::FailedDependency + raise ::Common::Exceptions::ResourceNotFound end def benefit_claim_web_service @@ -136,7 +154,7 @@ def claim_details(claim_id) log(level: :error, detail: 'Claim details not found in BGS', claim_id:) - raise ::Common::Exceptions::FailedDependency + raise ::Common::Exceptions::ResourceNotFound end def poa_participant_id @@ -146,7 +164,7 @@ def poa_participant_id log(level: :error, detail: 'POA code/participant ID combo not found in BGS') - raise ::Common::Exceptions::FailedDependency + raise ::Common::Exceptions::ResourceNotFound end def manage_ptcpnt_rlnshp_poa_success?(response) @@ -162,7 +180,7 @@ def benefit_claim_type(pgm_type_cd) else log(level: :error, detail: 'Program type code not recognized', pgm_type_cd:) - raise ::Common::Exceptions::FailedDependency + raise ::Common::Exceptions::BadRequest end end end diff --git a/modules/claims_api/app/sidekiq/claims_api/poa_assign_dependent_claimant_job.rb b/modules/claims_api/app/sidekiq/claims_api/poa_assign_dependent_claimant_job.rb index 410ca11c5ad..2cace86cb5f 100644 --- a/modules/claims_api/app/sidekiq/claims_api/poa_assign_dependent_claimant_job.rb +++ b/modules/claims_api/app/sidekiq/claims_api/poa_assign_dependent_claimant_job.rb @@ -8,6 +8,7 @@ def perform(poa_id) poa = ClaimsApi::PowerOfAttorney.find(poa_id) service = dependent_claimant_poa_assignment_service( + poa.id, poa.form_data, poa.auth_headers ) @@ -42,8 +43,9 @@ def handle_error(poa, e) raise e end - def dependent_claimant_poa_assignment_service(data, auth_headers) + def dependent_claimant_poa_assignment_service(poa_id, data, auth_headers) ClaimsApi::DependentClaimantPoaAssignmentService.new( + poa_id:, poa_code: find_poa_code(data), veteran_participant_id: auth_headers['va_eauth_pid'], dependent_participant_id: auth_headers.dig('dependent', 'participant_id'), From e100bdf3f0a349959179afea3f3039c5921bdbc9 Mon Sep 17 00:00:00 2001 From: Rebecca Tolmach <10993987+rmtolmach@users.noreply.github.com> Date: Mon, 25 Nov 2024 14:42:14 -0500 Subject: [PATCH 20/21] bundle update factory_bot_rails (#19603) --- Gemfile.lock | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index 744ba729342..56ff3e4abee 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -425,10 +425,10 @@ GEM tzinfo ethon (0.16.0) ffi (>= 1.15.0) - factory_bot (6.4.5) + factory_bot (6.5.0) activesupport (>= 5.0.0) - factory_bot_rails (6.4.3) - factory_bot (~> 6.4) + factory_bot_rails (6.4.4) + factory_bot (~> 6.5) railties (>= 5.0.0) faker (3.5.1) i18n (>= 1.8.11, < 2) @@ -666,7 +666,7 @@ GEM mini_magick (4.13.2) mini_mime (1.1.5) mini_portile2 (2.8.8) - minitest (5.25.1) + minitest (5.25.2) mock_redis (0.46.0) msgpack (1.7.2) msgpack (1.7.2-java) @@ -796,7 +796,7 @@ GEM raabro (1.4.0) racc (1.8.1) racc (1.8.1-java) - rack (2.2.9) + rack (2.2.10) rack-attack (6.7.0) rack (>= 1.0, < 4) rack-cors (2.0.2) From bbe1eab693a11f5b4df5b7fc17ce5b9c5d1d8fd7 Mon Sep 17 00:00:00 2001 From: Jeff Marks <106996298+jefftmarks@users.noreply.github.com> Date: Mon, 25 Nov 2024 12:48:31 -0700 Subject: [PATCH 21/21] EDM-372/sob dgib client and rake task (#19582) * create auth service * Update settings and create test keys * Update test settings * spec test for auth token service * Update codeowners * Linting * fix codeowners * Add url to settings * Client and config * Update breakers * Client and configuration * Update service name * Update client to use MEB claimant service * Remove call to meb * Build rake task to test connection * Fix comment * Fix linting --- config/initializers/breakers.rb | 2 ++ config/settings.yml | 3 ++ lib/post911_sob/dgib/client.rb | 42 +++++++++++++++++++++++++++ lib/post911_sob/dgib/configuration.rb | 40 +++++++++++++++++++++++++ rakelib/post911_sob.rake | 18 ++++++++++++ 5 files changed, 105 insertions(+) create mode 100644 lib/post911_sob/dgib/client.rb create mode 100644 lib/post911_sob/dgib/configuration.rb create mode 100644 rakelib/post911_sob.rake diff --git a/config/initializers/breakers.rb b/config/initializers/breakers.rb index c9d4f1188f3..57da61650bd 100644 --- a/config/initializers/breakers.rb +++ b/config/initializers/breakers.rb @@ -21,6 +21,7 @@ require 'mhv_ac/configuration' require 'mpi/configuration' require 'pagerduty/configuration' +require 'post911_sob/dgib/configuration' require 'preneeds/configuration' require 'rx/configuration' require 'sm/configuration' @@ -62,6 +63,7 @@ HCA::Configuration.instance.breakers_service, MHVAC::Configuration.instance.breakers_service, MPI::Configuration.instance.breakers_service, + Post911SOB::DGIB::Configuration.instance.breakers_service, Preneeds::Configuration.instance.breakers_service, SM::Configuration.instance.breakers_service, VAProfile::AddressValidation::Configuration.instance.breakers_service, diff --git a/config/settings.yml b/config/settings.yml index 84b48ea9f97..ae6ac19c385 100644 --- a/config/settings.yml +++ b/config/settings.yml @@ -1454,6 +1454,9 @@ dgi: jwt: public_key_path: spec/fixtures/post911_sob/dgib/public_test.pem private_key_path: spec/fixtures/post911_sob/dgib/private_test.pem + claimants: + url: ~ + mock: false # Settings for the VEText integration (mobile push notifications) vetext_push: diff --git a/lib/post911_sob/dgib/client.rb b/lib/post911_sob/dgib/client.rb new file mode 100644 index 00000000000..a9ed572f32a --- /dev/null +++ b/lib/post911_sob/dgib/client.rb @@ -0,0 +1,42 @@ +# frozen_string_literal: true + +require 'common/client/base' +require 'post911_sob/dgib/configuration' +require 'post911_sob/dgib/authentication_token_service' + +module Post911SOB + module DGIB + class Client < Common::Client::Base + include Common::Client::Concerns::Monitoring + + configuration Post911SOB::DGIB::Configuration + + BENEFIT_TYPE = 'Chapter33' + + def initialize(claimant_id) + @claimant_id = claimant_id + + super() + end + + def get_entitlement_transferred_out + # TO-DO add monitoring and serialized response + # TO-DO Filter response by chapter33 benefit type + options = { timeout: 60 } + perform(:get, end_point, {}, request_headers, options) + end + + private + + def end_point + "transferees/#{@claimant_id}/toe" + end + + def request_headers + { + Authorization: "Bearer #{Post911SOB::DGIB::AuthenticationTokenService.call}" + } + end + end + end +end diff --git a/lib/post911_sob/dgib/configuration.rb b/lib/post911_sob/dgib/configuration.rb new file mode 100644 index 00000000000..640bcb8e263 --- /dev/null +++ b/lib/post911_sob/dgib/configuration.rb @@ -0,0 +1,40 @@ +# frozen_string_literal: true + +require 'common/client/configuration/rest' + +module Post911SOB + module DGIB + class Configuration < Common::Client::Configuration::REST + SETTINGS = Settings.dgi.post911_sob.claimants + + # TO-DO: Datadog + + def base_path + SETTINGS.url.to_s + end + + def service_name + 'Post911SOB/DGIB' + end + + def connection + @conn ||= Faraday.new(base_path, headers: base_request_headers, request: request_options) do |faraday| + faraday.use :breakers + faraday.use Faraday::Response::RaiseError + faraday.request :json + + faraday.response :betamocks if mock_enabled? + faraday.response :snakecase, symbolize: false + faraday.response :json, content_type: /\bjson/ # ensures only json content types parsed + faraday.adapter Faraday.default_adapter + end + end + + private + + def mock_enabled? + SETTINGS.mock || false + end + end + end +end diff --git a/rakelib/post911_sob.rake b/rakelib/post911_sob.rake new file mode 100644 index 00000000000..853260892aa --- /dev/null +++ b/rakelib/post911_sob.rake @@ -0,0 +1,18 @@ +# frozen_string_literal: true + +require 'post911_sob/dgib/client' + +namespace :post911_sob do + namespace :dgib do + desc 'Test connection between vets-api and DGIB claimant-service' + task :connect, %i[claimant_id base_url] => :environment do |_cmd, args| + args.with_defaults(base_url: Settings.dgi.post911_sob.claimants.url) + + # Allow for base url to be overridden for testing purposes + Settings.dgi.post911_sob.claimants.url = args[:base_url] + + client = Post911SOB::DGIB::Client.new(args[:claimant_id]) + client.get_entitlement_transferred_out + end + end +end