Determine whether an AAMVA check is required in the progressive proofer#10796
Determine whether an AAMVA check is required in the progressive proofer#10796
Conversation
|
I am opening this as a draft PR because I expect this change to be incredibly problematic for many unit tests. |
39dcf94 to
e119608
Compare
app/jobs/resolution_proofing_job.rb
Outdated
There was a problem hiding this comment.
needs a rubocop:disable unused right?
app/services/idv/agent.rb
Outdated
There was a problem hiding this comment.
worth dropping a comment that this is intended to be removed?
There was a problem hiding this comment.
Yeah. I'm also going to have to break this pull request into multiple changes since I need to make the changes in the jobs first before making any changes to the args we pass to them.
There was a problem hiding this comment.
WDYT of some stronger assertions here? Technically it's new behavior but it might be nice to know if any bad data slips through loudly + early
| state_id_jurisdiction = applicant_pii['state_id_jurisdiction'] | |
| IdentityConfig.store.aamva_supported_jurisdictions.include?(state_id_jurisdiction) | |
| state_id_jurisdiction = applicant_pii.fetch('state_id_jurisdiction') | |
| raise "blank state_id_jurisdiction" if state_id_jurisdiction.blank? | |
| IdentityConfig.store.aamva_supported_jurisdictions.include?(state_id_jurisdiction) |
There was a problem hiding this comment.
Yeah, this is a bit of a change. Let me do it; based on what I've seen in the tests I'll bet a bunch of unit tests will start failing and need to be tidied.
There was a problem hiding this comment.
I am going to put this back the way it was. It looks like there is some behavior that depends on this fully functioning when PII is missing:
identity-idp/spec/services/proofing/resolution/progressive_proofer_spec.rb
Lines 171 to 185 in ec59a21
I am planning on coming through here and modifying the arguments to match the PII structs we added a while back. I'm hoping to come up with a better solution for handling malformed PII at that point.
e119608 to
67ce2c6
Compare
Prior to this commit we have been passing `should_proof_state_id` from the `VerifyInfoConcern` down to the `ProgressiveProofer` through the async proofing tooling. This requires this argument to be passed down the call stack and stored as a background job argument. The `should_proof_state_id` value is determined by configuration that is available to the IdP and the workers. It is not clear why it needs to be computed in the `VerifyInfoConcern` and passed down through the job to the `ProgressiveProofer`. This commit shortcuts everything by moving the logic closer to where the value is actually inspected. [skip changelog]
97e5f58 to
f07fb51
Compare
…l to the `ResolutionProofingJob` We deprecated this argument in #10796. This commit stops invoking the job with the argument. A future commit should remove the argument from the job. [skip changelog]
| # DEPRECATED ARGUMENTS | ||
| should_proof_state_id: false # rubocop:disable Lint/UnusedMethodArgument |
There was a problem hiding this comment.
Are we intending to remove this at some point?
Prior to this commit we have been passing
should_proof_state_idfrom theVerifyInfoConcerndown to theProgressiveProoferthrough the async proofing tooling. This requires this argument to be passed down the call stack and stored as a background job argument.The
should_proof_state_idvalue is determined by configuration that is available to the IdP and the workers. It is not clear why it needs to be computed in theVerifyInfoConcernand passed down through the job to theProgressiveProofer. This commit shortcuts everything by moving the logic closer to where the value is actually inspected.