Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/hmcts/rd-profile-sync
Scheduled sync job between IDAM and User Profile
https://github.com/hmcts/rd-profile-sync
jenkins-cft jenkins-cft-j-z
Last synced: about 1 month ago
JSON representation
Scheduled sync job between IDAM and User Profile
- Host: GitHub
- URL: https://github.com/hmcts/rd-profile-sync
- Owner: hmcts
- Created: 2019-07-19T11:44:15.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2024-05-21T14:49:51.000Z (7 months ago)
- Last Synced: 2024-05-22T13:03:06.437Z (7 months ago)
- Topics: jenkins-cft, jenkins-cft-j-z
- Language: Java
- Size: 7.36 MB
- Stars: 0
- Watchers: 8
- Forks: 2
- Open Issues: 26
-
Metadata Files:
- Readme: README.md
- Audit: audit.json
Awesome Lists containing this project
README
# rd-profile-sync
## Purpose
Scheduled sync job between IDAM and User Profile
Architecture and Designs :
Profile Sync Low Level Design. Please refer to the confluence
https://tools.hmcts.net/confluence/display/RTRD/Profile+Sync+API+-+Low+Level+DesignProfile Sync API High Level Design. Please refer to the confluence
https://tools.hmcts.net/confluence/display/RTRD/Profile+Sync+-+High+Level+Design### Prerequisites
To run the project you will need to have the following installed:
* Java 17
* DockerFor information about the software versions used to build this API and a complete list of it's dependencies see build.gradle
While not essential, it is highly recommended to use the pre-push git hook included in this repository to ensure that all tests are passing. This can be done by running the following command:
`$ git config core.hooksPath .githooks`### Environment Vars
If running locally for development or testing you will need to set the following environment variables
* export REDIRECT-URI=
* export AUTHORIZATION=
* export client-authorization=
* export totp_secret=### Running the application
Please Make sure you are connected to the VPN before running application
(https://portal.platform.hmcts.net/vdesk/webtop.eui?webtop=/Common/webtop_full&webtop_type=webtop_full)To run the API quickly use the docker helper script as follows:
```
./bin/run-in-docker.sh install
```
or```
docker-compose up
```After, you can start the application from the current source files using Gradle as follows:
```
./gradlew clean bootRun
```### Running integration tests:
You can run the *integration tests* as follows:
```
./gradlew integration
```### Running unit tests tests:
If you have some time to spare, you can run the *unit tests* as follows:
```
./gradlew test
```### Contract testing with pact
To generate the json inside target/pacts directory you need to run the tests first.
This file is not committed to the repo.To publish against remote broker:
`./gradlew pactPublish`Turn on VPN and verify on url `https://pact-broker.platform.hmcts.net/`
The pact contract(s) should be publishedTo publish against local broker:
Uncomment out the line found in the build.gradle:
`pactBrokerUrl = 'http://localhost:9292'`
comment out the real brokerStart the docker container from the root dir run
`docker-compose -f broker-compose.yml up`Publish via the gradle command
`./gradlew pactPublish`Once Verify on url `http://localhost:9292/`
The pact contract(s) should be publishedRemember to return the localhost back to the remote broker
for more information, Please refer to the confluence on how to run and publish PACT tests.
https://tools.hmcts.net/confluence/display/RTRD/PACT+testing