This repo contains the backend code and infrastructure for the Authentication and Orchestration components for GOV.UK One Login.
High level sequence diagrams outlining different journeys can be found in Diagrams.
Documentation for the Orchestration component can be found in the Orchestration README.
To run the unit test in this repo, run the following command:
./gradlew --parallel test jacocoTestReport -x integration-tests:test -x account-management-integration-tests:test -x delivery-receipts-integration-tests:test
To run the integration tests in this repo, you can run the following command
./gradlew integration-tests:test
If the tests aren't running in account-management-integration-tests
refer to the Local Running README and make sure
you have the correct repositories up to date.
The alarm-management.sh
script provides utilities for managing CloudWatch alarms and SNS subscriptions. It allows you to test alarm functionality, manage SNS topic subscriptions, and verify alarm configurations across different environments. The script supports operations like triggering test alarms, subscribing/unsubscribing from SNS topics, and validating alarm states.
./scripts/test/alarm-management.sh
The repo has config set up for a custom pre-commit hook in .pre-commit-config.yaml
.
Pre-commit checks include applying formatting, so after the script has run you may see files updated with formatting changes.
To implement the pre-commit hook, you will need to install pre-commit:
brew install pre-commit
and then set up the hook by running
pre-commit install
This repo uses Spotless for its formatting. You run this by running the following command:
./gradlew spotlessApply