department-of-veterans-affairs / va.gov-team

Public resources for building on and in support of VA.gov. Visit complete Knowledge Hub:
https://depo-platform-documentation.scrollhelp.site/index.html
281 stars 197 forks source link

BE | Auth Exp | General Maint | Re-recording BGS cassettes for future upgrade #88558

Closed tpharrison closed 1 month ago

tpharrison commented 1 month ago

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:

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:

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 of bgs_ext and savon. 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 the bgs_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:

tpharrison commented 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.

mtcA6 commented 1 month ago

thread about timing

tpharrison commented 1 month ago

PR with CH33 changes - https://github.com/department-of-veterans-affairs/vets-api/pull/17785