Versions Compared

Key

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

...

CRA servicen består af Java baserede komponenter, der baserer sig på Java 8 og Spring frameworket. Servicen er indelt i følgende maven-moduler:

  • cra-app: Indeholder logik for opdaterings- og oprydningsjob. Desuden er der filer til at bygge cra.war filen. Det er basalt set de filer, der før var indeholdt i cra-projektet inden dockerfisering.
  • cra-db: De filer der bruges til at bygge 'cradb'. Før har dette ligget udenfor CRA modulet.
  • cra-crl-stub: Løsning  der udstiller en servlet, hvor man kan hente CRL-filer. Hvis ikke man inkludere cra-crl-stub i docker-compose, så hentes CRL på www.
  • cra-qa: Her samles test-rapporter (jacoco) fra andre moduler og aggregeres.
  • cra-parent:  Rod modulet til ovenstående moduler. Indeholder desuden compose folder, hvor docker-compose-, konfigurations- og databasefiler er placeret.

Design og arkitektur for servicen er beskrevet:CRA - Design- og arkitekturbeskrivelse.

...


Efter byg kan WAR filer findes her:

./droscra-war/target/droscra.war

Afvikling

Der henvises til installationsvejledningen for nærmere instrukser.

...

docker-compose -f compose/development/docker-compose.yml up --bulidbuild

Når CRA er startet er, svarer den på:

...

Hvis der derimod laves en verify, så vil der også blive genereret code coverage, hvor fremkommende rapport kan ses i cra-qa/target/site/jacoco-aggregate/index.html

Integrationstest

Se Testvejledning for detaljer omkring integrationstesten.

Test med Cronjobs

Da CRA har tidligere ikke haft en integrationstest. Og de nuværende test kan ikke kontrollere resultatetet som sådan, andet end kald gik godt.  Pt findes der kun integrationstest for FetchIntermediateCraJob

I stedet kan servicens samlede funktionalitet verificeres ved at tjekke docker loggen for har en service snitflade, er der ikke oprettet standard integrationstests. I stedet er det muligt at teste servicens funktionalitet ved at kalde start og status for de tilgængelige cron-jobs, når servicen er deployet lokalt med docker-compose. 

Når servicen er startet op i docker-compose fra development-opsætningen, startes de jobs, som er beskrevet i jobcron/entrypoint.sh. 

Med kommandoen docker logs development_jobs_1 -f, kan afviklingen af jobs'ne følges i loggen, hvor det er muligt at se at de afsluttes med statuskode 200 for succes. 

De forskellige endpoints kan også kaldes fra Disse kan f.eks. kaldes i en browser på følgende vis

CRL Stub

Når  CRA servicen skal hente crl filer, så kalder sender den et http request. Det er dog ikke altid at disse services der  udstiller CRL filerne er tilgængelige.
For at undgå afhængigheder  til andre services, så er det nu muligt at placere CRL filer i modulet cra-crl-stub.

...