Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Navitabs
rootSEB importer - Leverancebeskrivelse (draft)
includeroottrue


Indholdsfortegnelse

...

Det anbefales også at installere Docker, men det er ikke strengt nødvendigt.

Beskrivelse af kodens struktur

Importeren er organiseret i et enkelt modul, som ud over koden indeholder sql-filer til opsætning af databasetabeller.

Der ud over indeholder projektet et docker-compose setup som der kan afvikles integrationstests mod.

Bygge WAR-fil

For at bygge projektet og producere en war-fil køres kommandoen

mvn clean install -DskipTests=true

Flaget skipTests er nødvendigt, da udførsel af tests forudsætter en kørende MySQL-database.

Beskrivelse af test setup

Unittests

Unittests kan udføres ved at køre følgende Maven kommando:

For at køre projektets tests startes det inkluderede docker-compose setup først:

cd compose/development

docker-compose up --build

Dernæst kan tests udføres med kommandoen

mvn verify

...

Hvis test coverage rapporten skal skrives, skal Maven's package step også køres. I det tilfælde vil kommandoen se sådan ud:

mvn

...

verify package

Coverage rapporten vil kunne findes under følgende lokation:

target/site/jacoco/index.html

Unittests Tests kan indstilles ved at rette i filernefilen:

src/test/resources/config.propertiessrc/test/resources/test.properties

Alle test properties burde allerede være opsat som de bør være, og ingen konfiguration er nødvendigt.

Integrationstests

Integration tests kan udføres ved at køre følgende Maven kommando:

mvn verify

Importeren udstiller en status side, som er det eneste at integrationstesten henter og checker.

Deployment

En war fik kan genereres ved at køre Maven kommandoen:

mvn package

I roden af projektet mappen compose/development findes en docker-compose.yml fil, som laver et deployment af import modulet og opsætning, samt database for stamdata modulet. Dette er den anbefalede måde at prøve en deployment på, da det vil ske i et produktion-lignende miljø hver gang. En ekstra praktikalitet med deployment via docker-compose.yml filen, er at mapperne sdm4data og sdm4log begge er bundet ind i Docker containeren for importeren. Mappen sdm4log vil indeholde alle logs fra Wildfly serveren for lettere debugging, og sdm4data vil tillade at droppe filer ind for importeren at importere. Begge er meget praktisk i forhold til tests.Alternativt kan servicen blive deployed på en lokal Wildfly server. Det anbefales at sætte denne op i forhold til hvordan imaget https://registry.nspop.dk/harbor/tags/4/playground%2Fnspbase er defineret. Filen Sor2Importer/target/sor2importer.war kopieres til standalone/deployment/ mappen i Wildfly. Ligeledes skal Sor2Importer/resources/sdm-ds.xml (som indeholder opsætning af datasource til Stamdata Kopi Register Service databasen) kopieres til standalone/deployment/ mappen. Mappen modules/system/layers/base/smd4/config/sor2importer/main oprettes i Wildfly, og filerne Sor2Importer/resources/config.propertiesSor2Importer/resources/log4j.properties, Sor2Importer/resources/log4j-nspslalog.properties, Sor2Importer/resources/nspslalog-sor2importer.properties, og Sor2Importer/resources/module.xml kopieres ind i denneproduktionslignende miljø hver gang.