Page History
...
Integrationstestene for IDSAS er implementeret vha Cucumber og JUnit i modulet idsas-integration-tests, og er beregnet til afvikling mod en kørende udgave af IDSAS.
Testene er i praksis inddelt i tre forskellige pakker, hver med deres egen Cucumber "glue"-klasse, som i alle tre tilfælde hedder "IdsasIT.java".
De tre pakker er følgende:
- _20230601. Test af den oprindelige snitflade med Kafka.
- _20240124. Test af den nye snitflade med afdelingssløring, også med Kafka.
- _20240124_legacy. Test af seneste snitflade med afdelingssløring, kun "registration" og kun med database-konfiguration (ingen Kafka).
I praksis kan alle tests køre op imod docker-compose-setuppet under development, da denne indeholder både Kafka og database-udgaven af "idsas-registration". Kafka-udgaven af "registration" kører på port 8081 og database-udgaven kører på port 8080. Det er også afspejlet i properties-filerne under "resources".
Bemærk, at der er ikke nogen af integrationstestene, der direkte går ind og tjekker, om en sløring rent faktisk oprettes, da kafka-udgaven jo opretter dem asynkront. Derudover kan en sløring også have været oprettet af en tidligere kørt test, og testene antager intet om databasens tilstand ved kørsel.
Integrationstestene tjekker primært om kaldene går igennem, eller giver fejl, alt efter hvad forventningen her i den givne situation. Mere specifik forretningslogik testes igennem unit-testene.
For at køre en bestemt pakke af tests, kan man gøre det manuelt igennem IntelliJ ved at køre selve glue-klasse, fx "src/test/java/dk/nsp/idsas/test/_20240124_legacy/IdsasIT.java". Hver glue-klasse har annotering der udpeger den relevante cucumber-specifikation, og property-filerne deles på tværs af alle klasserne.
Afvikling
Afvikling af Integrationstests aktiveres via Maven med følgende kommando:
...
Hvis man ønsker at køre integrationstesten lokalt mod docker-compose setup, skal denne først startes. Se Guide til udviklere - Afvikling.