- Set up
- Configuring Database
- Running The Test
- Validate Passwords
- Check Compromised Passwords
- Validate and Check Compromised Passwords
First, build docker container and run:
docker-compose build && docker-compose up -d
You can set database configurations, use the following values in .env which lives in the root directory.
DATABASE_CLIENT=mysql
DATABASE_HOST=erasys-db
DATABASE_USER=testDbUser
DATABASE_PASSWORD=PRYjQRlcSIBMORtp
DATABASE_NAME=testDb
DATABASE_PORT=3306
docker exec -it erasys-api npm run test:e2e
Check password via password validation api and update valid field on database and print all passwords to console output.
docker exec -it erasys-api npm run cp
Check passwords via erasys compromised api and print all compromised password to console output.
docker exec -it erasys-api npm run cpc
Check passwords via password validation api and erasys compromised api and update valid field on database and print all passwords to console output.
docker exec -it erasys-api npm run fcp
You can use Postman collection for testing.
- Password validation API = http://localhost:3000
Route | HTTP | Body | Header | Description |
---|---|---|---|---|
/passwords | POST |
{'password':'csds2'} | Validation for password. |
- Password Compromised API = http://localhost:5001
Route | HTTP | Body | Header | Description |
---|---|---|---|---|
/compromised | GET |
{'password':'%23nxzr1Bp'} | Compromised password control. |
Normally, I would develop the CLI and API side as two separate projects, but for convenience, I developed it this way.