Closed tpharrison closed 1 month ago
@mtcA6 @ajakabcin The platform reliability team has asked for assistance in re-recording BGS related specs to support an upcoming upgrade. We no longer need to worry about CH33 related code, but our team (My VA in particular) still relies on some BGS code.
Let me know when we can discuss this further to determine if/when this can be worked on.
PR with CH33 changes - https://github.com/department-of-veterans-affairs/vets-api/pull/17785
Background
On Friday, July 12th, Ryan McNeil from the Platform Reliability team requested assistance with re-recording VCR cassettes. This task is crucial for proceeding with major gem upgrades related to the upcoming Ruby 3.4 release. The re-recording is necessary due to changes in the SOAP payload caused by the new version of the
savon
gem, which adds different headers in the request using.wsdl
files. Previous attempts to modify cassettes manually led to failures due to payloads with duplicate headers.Ryan highlighted the need to re-record the cassettes to ensure proper construction. Two specific specs requiring attention are:
./spec/lib/bgs/service_spec.rb
./spec/controllers/v0/profile/ch33_bank_accounts_controller_spec.rb
Ryan can SSH to the service through the staging fwdproxy and re-record certain cassettes, but dynamic data at the upstream service poses a challenge, particularly for specs that update data. He mentioned that Lihan (now departed) suggested connecting with the BGS team for relevant data/objects and request expectations. Ryan is seeking assistance from someone familiar with the service to avoid misinterpreting the specs.
These are the BGS cassettes that need to be re-recorded:
bgs/service/find_rating_data
bgs/service/find_ch33_dd_eft
bgs/service/find_ch33_dd_eft_no_icn
bgs/service/find_ch33_dd_eft_no_bank_info
bgs/service/update_ch33_dd_eft
bgs/ddeft/find_bank_name_valid
bgs/ddeft/find_bank_name_invalid_routing
While some of these cassettes are used in multiple specs, all of them are used at least once in ./spec/lib/bgs/service_spec.rb.
How can we help?
Ryan suggested creating a branch off the current PR/branch (
rm-bump-bgs_ext-and-savon
), which already has the latest version ofbgs_ext
andsavon
. Then, create a PR into the branch with the spec and cassette changes. We won’t be able to do a separate PR into master because other teams also need to re-record cassettes with the new version.The branch is not quite ready - it needs to bump
savon
in thebgs_ext
gem to its latest version (currently at ~14.1, needs to get to 15.1), release that, and then bump the gems together in vets-api. This should be done soon.Here are a few related tickets/links for reference:
savon
bgs_ext
gem (I'm doing this ASAP)