Indholdsfortegnelse
Opsætning af udviklingsmiljø
Alt koden kan findes i følgende Subversion repository:
https://svn.nspop.dk/svn/capgemini/SORServices/NSP/sor2importer
Koden kan derefter importeres som projekt i en ønsket IDE (som Eclipse eller IntelliJ), der er ingen eksplicit grund til at skulle bruge en bestemt.
Projektet bygges af Maven, og er lavet til at køre under Java 8 og Wildfly 8.
Det anbefales også at installere Docker, men det er ikke strengt nødvendigt.
Beskrivelse af kodens struktur
Importeren har følgende moduler:
Navn | Beskrivelse |
---|---|
SdmDB | Indeholder filer med schema til opsætning af databasen til Stamdata Kopi Register Servicen |
Sor2Importer | Selve importeren, samt database schema filer til opsætning af tabeller unikke for importeren |
Under hvert eneste modul ligger også en Dockerfile
for at generere Docker images af hvert modul.
Beskrivelse af test setup
Unittests
Unittests kan udføres ved at køre følgende Maven kommando:
mvn test
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 test package
Coverage rapporten vil kunne findes under følgende lokation:
target/site/jacoco/index.html
Unittests kan indstilles ved at rette i filerne:
src/test/resources/config.properties
src/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 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.properties
, Sor2Importer/resources/log4j.properties
, Sor2Importer/resources/log4j-nspslalog.properties
, Sor2Importer/resources/nspslalog-sor2importer.properties
, og Sor2Importer/resources/module.xml
kopieres ind i denne.