Versions Compared

Key

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

...

Unittests kan køres ved at eksekvere

mvn test

Indlæseren arbejder i noget af ruten på et batch af events. I forbindelse med unit testen angives dette i klassen YderRouteBuilderTestSetup i variablen Iterable<Object[]> data(). Denne er default sat til en værdi, for at holde test tiden nede. Men inden release bør man køre en test med de udkommenterede værdier, sådan at koden bliver udfordret i forhold til denne værdi.

Det er konstateret, at den kan have indflydelse i, om noget kode virker eller ej.)

Tests i Camel

I det Camel kører asynkront, er det nødvendigt for unittests at vide, hvornår Camel er færdig med at indlæse en fil, hvis testen skal vide, hvornår den kan kontrollere, om det gik som forventet. Dette gøres i yder indlæseren, ved i YderRouteBuilderTestSetup at holde øje med confirm filerne (.done og failure) og frigive en Semaphore (routeHandshake) der først frigives når de forventede filer er fundne.

...

Integrations test kan køres ved at eksekvere

cd dk.nsp.sdm.yder-integrationtest

mvn verify -Pintegrationtest

Disse tests kræver at indlæseren samt de korrekte afhængigheder allerede kører, hvilket typisk laves via docker-compose. For yder indlæseren er compose/test/docker-compose.yml lavet således, at denne starter en yder indlæser, database samt SKRS i en opsætning, som kan testes via integrationstestene. Så man kan starte denne docker-compose fil lokalt (docker-compose up) og så ved siden af køre integrationstestene, som vil lægge en fil op, vente på at den bliver indlæst, og herefter se efter i både database samt SKRS om indlæsningerne er gået godt. Det local development compose setup er lavet med et galera cluster med flere instanser.

Docker compose startes med:

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

Testene kan fejle pga. manglende rettigheder til de anvendte ftp foldere (sker når docker selv opretter dem). Dette kan løses med "sudo chmod 777 test_sftp" (og test_sftp_ekstern).

...