Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Dette dokument beskriver en kort byggevejledning og derudover en testvejledning for Det testvejledning for Det Fælles Stamkort 1.5-servicen. Der anvises også en metode til mere detaljeret verifikation og fejlfinding.Projektet bygges med Maven og kræver Java 8 samt en MariaDB-installation for at kunne afvikle testsDet forudsættes at projektet er bygget og installeret, og med denne vejledning kan man således afvikle integrations- og performancetests og derved kontrollere robustheden.

Ændringslog

Version

Dato

Ændring

Ansvarlig

2.0.0

2018-08-27

Initialt dokument

Trifork

Kort byggevejledning

For blot at bygge projektet og dets deployable (war-fil) anvendes følgende Maven kommando:

mvn clean install -DskipTests

Bemærk at kommandoen skipper unit-tests og integrationstests, men Maven-eksekveringen starter alligevel en lokal Wildfly-server op, deployer servicen og lukker Wildfly-serveren ned igen. Denne sideeffekt skal blot ignoreres.

Projektets deployables ender i target-mappen under de respektive moduler.

Afvikling af unit-tests

For at afvikle unit-tests skal en MariaDB-database være tilgængelig.

I udviklingssammenhæng og ved unit-tests kan man nøjes med én databasebruger og én database. Disse kan oprettes vha. scripterne recreate_service_user.sql og recreate_database.sql som er lokaliseret under fsk-service/etc/db/. Derefter kan Flyway automatisk initialisere databasen under Maven byg.

Datasourcen i testafviklingen auto-konfigureres vha. Spring Boot som anvender database-credentials fra fsk-service/src/test/resources/application.properties. De default værdier matcher værdierne i de førnævnte SQL-scripts.

Projektet skal være fuldt bygget for at lokale dependencies er på plads, og dernæst kan unit tests afvikles med følgende Maven kommando:

mvn clean test

Der genereres desuden en testrapport.

Afvikling af integrationstests

Integrationstests

Integrationstest skal afvikles mod den deployede komponent med test-opsætningIntegrationstest kan både afvikles på en lokal Wildfly-server og på et eksternt miljø.

Selve integrationstesten består af et kald til OnDemand webservicen.

Lokal afvikling

For at afvikle integrationstests lokalt anvendes følgende Maven kommando:

mvn clean install

Bemærk at dette først afvikler unit-tests.

Når Maven når til integration-test-fasen starter den selv en Wildfly-server op, hvor den automatisk installerer og deployer følgende ting:

  • Inkluderer servicens Wildfly-modul med konfigurationsfiler
  • Deployer MariaDB database-driver
  • Installerer 2 datasources, der begge peger på samme database som beskrevet under afvikling af unit-tests
  • Deployer selve servicen fsk-service.

Afvikling mod eksternt miljø

Når servicens er installeret og deployet på et ekstern miljø, kan korrekt deployment verificeres ved at køre integrationstestene på det eksterne miljø. Dette gøres ved at anvende følgende maven kommandoMaven-kommando, som aktiverer Maven-profilen extITs og specificerer adressen på det specificerede miljø:

mvn verify -pl fsk-test -PextITs -DFSK_TEST_HOST=<host> -DFSK_TEST_PORT=<port> -DFSK_TEST_DOCID=<docid>

I ovenstående kommando skal <host> erstattes med adressen på det eksterne miljømiljøet<port> med portnummeret, servicen svarer på (typisk 8080), og <docid> med et dokument-id, som findes i RegistryIndex-tabellen i det pågælende eksterne testmiljøs FSK database.

Bemærk at dette kræver, at projektet er fuldt bygget, for at lokale dependencies er på plads.Bemærk også at Maven-eksekveringen alligevel starter en lokal Wildfly-server op, deployer servicen og lukker Wildfly-serveren ned igen. Denne sideeffekt skal blot ignoreres.

Codecoverage

Efter afvikling af unittests genereres en testrapport med Maven-plugin’et JaCoCo. Rapporten kan ses ved at åbne følgende fil i en browser:

...