Első indításhoz a futtani kell az alábbi a parancsot:
docker compose up -d
ezzel elindulnak a szolgáltatások, melyeket 3000-es porton a profile-service 3001-es porton pedig a address-service. Legelső indítás alkalmával az adatbázis elindulása után lefut a liquibase, és létrehozza az adatbázis struktúráját.
Unit tesztek lokálisan futtathatóak a csomagok feltelepítése után.
Mindkét szolgátatás rendelkezik logolással a konténeren belül. Tartalmazza a kérés típusát, végpontját, válaszidőt.
Extraként tartalmaz egy debug opció, amivel a kérések body-ja és adott helyeken az error logok is extrán logolásra kerülnek.
Készült egy script, amivel kellően megkergethető a két szolgáltatás. Fő könyvtárből indítva npm run loadtest.
Load teszthez szükséges natívan telepíteni a K6
csomagot
Telepítési útmutató
Ubuntu esetén:
sudo apt install k6
Lehet, hogy a postgres container volume-ja már létezik és újrahasználja, ezért érdemes mindent eltávolíttatni a docker compose-al olyankor
docker compose down --rmi all --volumes && docker compose up -d --renew-anon-volumes --force-recreate --remove-orphans --always-recreate-deps --build
-----------------|---------|----------|---------|---------|-------------------
All files | 94.28 | 73.8 | 100 | 95.04 |
src | 100 | 100 | 100 | 100 |
prisma.ts | 100 | 100 | 100 | 100 |
src/controllers | 92 | 71.05 | 100 | 92.95 |
profile.ts | 92 | 71.05 | 100 | 92.95 | 118-123,184
src/dtos | 100 | 100 | 100 | 100 |
profile.dto.ts | 100 | 100 | 100 | 100 |
src/middleware | 100 | 100 | 100 | 100 |
auth.ts | 100 | 100 | 100 | 100 |
src/routes | 100 | 100 | 100 | 100 |
profile.ts | 100 | 100 | 100 | 100 |
-----------------|---------|----------|---------|---------|-------------------
Test Suites: 2 passed, 2 total
Tests: 26 passed, 26 total
Snapshots: 0 total
Time: 4.172 s
File | % Stmts | % Branch | % Funcs | % Lines | Uncovered Line #s
-----------------|---------|----------|---------|---------|----------------------------------
All files | 79.01 | 40 | 100 | 81.01 |
src | 100 | 100 | 100 | 100 |
prisma.ts | 100 | 100 | 100 | 100 |
src/controllers | 66.66 | 31.81 | 100 | 69.38 |
address.ts | 66.66 | 31.81 | 100 | 69.38 | 53,58-60,101-104,110-119,154-156
src/dtos | 100 | 100 | 100 | 100 |
address.dto.ts | 100 | 100 | 100 | 100 |
src/middleware | 100 | 100 | 100 | 100 |
auth.ts | 100 | 100 | 100 | 100 |
src/routes | 100 | 100 | 100 | 100 |
address.ts | 100 | 100 | 100 | 100 |
-----------------|---------|----------|---------|---------|----------------------------------
Test Suites: 2 passed, 2 total
Tests: 19 passed, 19 total
Snapshots: 0 total
Time: 4.513 s
DB_HOST=localhost
DEBUG_QUERY_BODY=true
SECURE_TOKEN=NagyonTitkosToken
PROFILE_API_LOCAL_PORT=3000
PROFILE_API_DOCKER_PORT=3000
ADDRESS_API_LOCAL_PORT=3001
ADDRESS_API_DOCKER_PORT=3000
POSTGRES_LOCAL_PORT=5332
POSTGRES_DOCKER_PORT=5432
POSTGRES_DB=profilesAndAdresses
POSTGRES_USER=HunyadiJanos
POSTGRES_PASSWORD=r00tP455w0rd
POSTGRES_URL=postgresql://${POSTGRES_USER}:${POSTGRES_PASSWORD}@${DB_HOST}:${POSTGRES_LOCAL_PORT}/${POSTGRES_DB}?schema=public
LIQUIBASE_COMMAND_USERNAME=${POSTGRES_USER}
LIQUIBASE_COMMAND_PASSWORD=${POSTGRES_PASSWORD}
LIQUIBASE_COMMAND_URL=jdbc:postgresql://${DB_HOST}:${POSTGRES_DOCKER_PORT}/${POSTGRES_DB}
LIQUIBASE_COMMAND_CHANGELOG_FILE=./changelog/changelog.xml
/home/hunyi/projects/syscode_students
├── profile-service
│ ├── src
│ │ ├── controllers
│ │ ├── dtos
│ │ ├── middleware
│ │ ├── routes
│ ├── tests
│ └── Dockerfile
├── address-service
│ ├── src
│ │ ├── controllers
│ │ ├── dtos
│ │ ├── middleware
│ │ ├── routes
│ ├── tests
│ └── Dockerfile
├── docker-compose.yml
└── README.md