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

ALVS Schema Validation #205

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

Conversation

t11omas
Copy link
Contributor

@t11omas t11omas commented Mar 12, 2025

This PR added ALVS schema validation

It makes use of Fluent Validation for the rules, that way when the model validation rules are implemented they can also use fluent validation, so all validation logic is done is a consistent manor.

There is also feature flags to control the validation, which by default is turned off.

Ian Shimmings and others added 30 commits December 12, 2024 10:30
* CDMS-188 setting concurency

* CDMS-188 options for concurrency working

* Fixed test
Updated Contact details to be sensitive, so they are redacted
added service bus details, and health checks and diagnostics to test …
updated asb to use WebProxy which was part of TDM
* Initial attempt at decisions

* Some updates to decisions, to refactor out into a matching service

* merge conflicts

* updated test data

* updated generated code

* reverted the decision finders back

* commented out decisions as its not ready yet

* removed commented out code

---------

Co-authored-by: Thomas Anderson <[email protected]>
* CDMS-200 refactoring to make decision analytics easier

* CDMS-200 refactors analytics chart mechanism to run in parrallel and allow charts to be specified

* CDMS-200 get history of movement from /analytics/history

* CDMS-200 removes commented out lines

* Fixes wait()
* CDMS-200 add test for movement not found

CDMS-200 improved CachingBlobService implementation

* CMDS-200 fixes tests

* CDMS-200 refactors message processing

* removes new test

* Add decions in test generator and push to blob storage

* Tidies up audit entry timings and source systems

* Fixes up tests

* Adds context to decisions

* make audit entry version nullable

* Handles checks in clearance request builder

* Try to send clearance requests with the DecisionNumber set to the decision consumer

* Updated TestDataGeneratorHelpers to use the bus to route to the consumers rather than call directly

* tidy up the switch statement further

* CDMS-200 adds ability to control sequencing of messages to builders

* Switch Decisions to their own type

* Switched back to using consumers directly

* Finishes initial decision metrics

* Tidied up code errors

* Fixed up tests

---------

Co-authored-by: Thomas Anderson <[email protected]>
* Added Ched finders logic

* updated decision service not to send out decision when no checks exist and updated tests

* tidy up some code

* Updated tests

* Fixed up check tests

---------

Co-authored-by: Thomas Anderson <[email protected]>
Co-authored-by: Craig Edmunds <[email protected]>
* CDMS-200 analytics adjustments for novembers prod data

* Decision analytics by system and decision code working

* lastMonthsDecisionsByDecisionCode Chart that doesn't seperate linked vs not linked, and added totals

* First pass at decision analytics working

* Finishes summary of decsisions

* Fixes tests
* CDMS-200 initial version of decision refactoring

* Adds decision context to audit log

* Incorporates new decision context in lastMonthsDecisionsByDecisionCode analytics
#30)

* CDMS-200 adding decision integration tests & refactoring ApplicationFactory

* CDMS-200 refactored integration testing setup & btms client

* Decision test is now very simple to extend

* ChedP decision test working
* CDMS-200 started refactoring of movement builder out of movement

* Further refactoring out of movement

* Starting to add more complex decision scenarios

* CDMS-200 multi stage scenario working and illustrating issue when multiple versions of notifications are received

* Refactors check status to make decision context more readable
* Updated README with instructions on how to set up test data.
* Made a couple of fixes.
… processing (#34)

* Refactoed decision test to feed directly into consumers

* Refactoring to allow scenarios to be extracted from data lake into scenario folders

* Completed refactoring of in memory test fixture
t11omas and others added 24 commits February 28, 2025 15:46
* Use generic container auth

* updated health check

---------

Co-authored-by: Thomas Anderson <[email protected]>
…rnal and external understanding of decision code (#155)

* CDMS-374 seperates decisions from clearance requests in the internal model

Updates decision related tests to use seperated decision code & internal decision code

* Drop indexes that no longer exist
* Did some refactoring, and updated the client factory for SMB

* formatting issues

* removed using

* formatting

* fixed tests

* formatting

---------

Co-authored-by: Thomas Anderson <[email protected]>
* created sub module

* include sub modules

* include token

* changed paths

* updated path to test data

* updated path on submodule

---------

Co-authored-by: Thomas Anderson <[email protected]>
* Did some refactoring, and updated the client factory for SMB

* formatting issues

* removed using

* formatting

* fixed tests

* formatting

* Added decision sqs consumer

* updates

* updated app settings

* rename

* added logging

* formatting

---------

Co-authored-by: Thomas Anderson <[email protected]>
Co-authored-by: Thomas Anderson <[email protected]>
* made message optional

* Removed SQS consumers

---------

Co-authored-by: Thomas Anderson <[email protected]>
* First pass at csv output

* Switch to Results.File, download works
* added finalsation consumer for sqs

* formatting

* formatting

* formatting

---------

Co-authored-by: Thomas Anderson <[email protected]>
* updated decision service to only return X00 if no decision finder is returned for an item

* formatting

* formatting

* added test

* updated test data

---------

Co-authored-by: Thomas Anderson <[email protected]>
…sts (#195)

* Updated decision finders along with can find decision criteria and tests

* formatting

* formatting

* handled deleted notifications

---------

Co-authored-by: Thomas Anderson <[email protected]>
#200)

* updated decision finders to look at the not acceptable reason if there is no not acceptable action set

* removed duplicate code

---------

Co-authored-by: Thomas Anderson <[email protected]>
@t11omas t11omas changed the title Feature/cdms 277 schema validation ALVS Schema Validation Mar 12, 2025
@t11omas t11omas marked this pull request as ready for review March 12, 2025 07:46
Copy link

Code Coverage

Package Line Rate Branch Rate Health
TestGenerator.IntegrationTesting.Backend 81% 70%
Btms.Model 85% 67%
Btms.Types.Ipaffs.Mapping 77% 48%
Btms.SyncJob 58% 38%
Btms.Common 71% 56%
Btms.BlobService 38% 27%
Btms.Metrics 81% 0%
Btms.Analytics 74% 74%
Btms.Analytics.Export 6% 0%
Btms.Business 86% 80%
Btms.Backend.Data 61% 48%
TestDataGenerator 87% 80%
Btms.Types.Alvs.Mapping.V1.Tests 0% 0%
Btms.Validation 82% 92%
Btms.SensitiveData 87% 95%
Btms.Types.Gvms 78% 100%
Btms.Azure 43% 100%
Btms.Emf 11% 0%
Btms.Consumers 78% 67%
Btms.Types.Alvs.Mapping 80% 0%
Btms.Types.Gvms.Mapping 68% 38%
Btms.Types.Alvs 87% 100%
Btms.Types.Ipaffs 95% 62%
Btms.Backend 51% 32%
Btms.Types.Alvs.Validation 94% 58%
Summary 78% (12055 / 15366) 65% (1415 / 2186)

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.

8 participants