STS Udvikler guide
REVISION HISTORY

NUMBER

DATE

DESCRIPTION

NAME

0.1

2012-11


HT


Contents

  1. Introduktion 1
  2. Udviklings miljø 1
  3. Byg af STS 1
  4. Unit tests 1
  5. Code coverage 1
  6. Udviklingsserver 2
  7. Integration test 2
  8. Certifikater 2

1 / 2
v0.2, 2017-02
1Introduktion
Dette dokument indeholder beskrivelse af diverse udviklings aspekter af STS version 2.4.1.

Udviklings miljø

STS kodebasen er et Maven 3 projekt, med en rod POM yderst og en række undermoduler, hvor sts-server er det modul som producerer et deployerbart WAR-arkiv:

+ <STS src root>
+ modules
+ authorization
+ its-config
+ oces-cpr
+ oces-crl
+ sts-common
+ sts-server

Maven projektet kan umiddelbart åbnes med nyere versioner af IntelliJ IDEA. For Eclipse anvendere udføres følgende kommando for at få genereret projekter, der kan importeres i Eclipse:
mvn eclipse:eclipse -DdownloadJavadocs -DdownloadSources

Byg af STS

Byg af STS understøttes af de normale Maven goals, dvs. for at bygge et STS WAR-arkive udføres
mvn package

Unit tests

Unit tests køres som del af bygget med:
mvn test
Bemærk at enkelte tests bruger meget hukommelse. Det kan derfor være nødvendigt at hæve heap size med — export MVN_OPTS=Xmx2G —

Code coverage

Til unit test code coverage benyttes cobertura. For at generere coverage data kan følgende kommando benyttes:
mvn clean compile cobertura:cobertura site
2 / 2

Udviklingsserver

Der medfølger et udviklingsmiljø opsat via Vagrant. Initiel opsætning sker med kommandoen
vagrant up
som opsætter en wildfly tilgængelig på http://localhost:9080/sts. Den initielle opsætning kan tage lidt tid, da det bl.a. involverer download af en JBoss distribution. Redeployments kan herefter ske med
mvn package vagrant provision
vagrant-miljøet vil være opsat med de testdata der findes i teststsdata.sql. Dermed er miljøet forberedt til at integratiosnstests (se nedenfor) kan afvikles mod dette miljø.

Integration test

Der findes ligeledes en integrations test suite. Denne suite udføres med en deployeret STS service. Den tester i stor udstrækning det, som allerede er testet i unit test, blot her mod den deployerede instans.
Testen udføres med:
mvn -Pintegration test
Hvis man ønsker at udføre testen mod en anden server end localhost:8080 så kan følgende bruges:
mvn -Pintegration -DargLine="-Dsts.url=http://<nsp>:8080" test
Det er vigtigt at protocol-delen medtages. Dette kan specielt være nyttigt ved test op mod vagrant-miljøet.

Certifikater

Testene anvender certifikater, der stammer fra Seal-afhængigheden. Disse certifikater har udløbsdatoer et certifikat har typisk en levetid på 2 år. og derfor skal man være opmærksom på at tests for et givet release af STS'en vil fejle.