Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add parity check UI #1829

Open
wants to merge 2 commits into
base: main
Choose a base branch
from
Open

Add parity check UI #1829

wants to merge 2 commits into from

Conversation

ethax-ross
Copy link
Collaborator

@ethax-ross ethax-ross commented Oct 18, 2024

Context

We want to be able to kick off a parity check from the UI (similar to migrations) and view the progress/results.

Changes proposed in this pull request

  • Add basic UI for parity checks

Add a basic UI to kick off a parity check and view the progress/completion status.

Add ParityCheckJob to run parity checks in the background.

Add methods to ParityCheck service for tracking progress.

Add ParityChecksController and associated views; no details of the check results are surfaced yet, just the functionality to start and view the overall status.

DRY up parity check tests with migration_helper.

  • Add completion and details to parity check UI

Fleshes out the bare-bones parity check UI with an overview list of the paths called for each provider on the completion page. If the request responses/status codes are different you can click on the path to view a detailed report of the comparison along with a diff of the response bodies. Also includes a basic response time comparison chart that plots the averages and min/max for each path.

Add detailed response comparison action/view.

Add diffy to compare response bodies.

Update CSRP to allow chart.js from a CDN (as its only used on this page and it will be deleted shortly I figured this was the best way to include it/ensure its removed).

Remove equal? from ResponseComparison as this is a system method it started giving issues; we can just negate different? in its place.

Guidance for review

This has been tested on migration; the screenshots below are fabricated to show the diffing though. In migration it flags expected differences on statements (date and the missing type attribute from NPQ).

Start Running Complete Details
screencapture-0-0-0-0-3000-npq-separation-migration-parity-checks-2024-10-18-08_23_27 screencapture-0-0-0-0-3000-npq-separation-migration-parity-checks-2024-10-18-08_24_30 screencapture-0-0-0-0-3000-npq-separation-migration-parity-checks-2024-10-18-08_33_10 screencapture-0-0-0-0-3000-npq-separation-migration-parity-checks-response-comparisons-2-2024-10-18-08_16_14

Copy link

Add a basic UI to kick off a parity check and view the progress/completion
status.

Add `ParityCheckJob` to run parity checks in the background.

Add methods to `ParityCheck` service for tracking progress.

Add `ParityChecksController` and associated views; no details of the check
results are surfaced yet, just the functionality to start and view the overall
status.

DRY up parity check tests with `migration_helper`.
Fleshes out the bare-bones parity check UI with an overview list of the paths
called for each provider on the completion page. If the request
responses/status codes are different you can click on the path to view a
detailed report of the comparison along with a diff of the response bodies.
Also includes a basic response time comparison chart that plots the averages
and min/max for each path.

Add detailed repsonse comparison action/view.

Add `diffy` to compare response bodies.

Update CSRP to allow chart.js from a CDN (as its only used on this page and it
will be deleted shortly I figured this was the best way to include it/ensure
its removed).

Remove `equal?` from `ResponseComparison` as this is a system method it started
giving issues; we can just negate `different?` in its place.
Copy link

sonarcloud bot commented Oct 18, 2024

@ethax-ross ethax-ross marked this pull request as ready for review October 18, 2024 17:44
@ethax-ross ethax-ross requested a review from a team as a code owner October 18, 2024 17:44
@ethax-ross ethax-ross requested a review from a team October 18, 2024 17:44
@cwrw
Copy link
Collaborator

cwrw commented Oct 18, 2024

just had a walkthrough and this is absolutely brilliant thank you @ethax-ross 👏! Will review in a bit

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants