Versions Compared

Key

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

...

Navitabs

...

NUMBER

DATE

DESCRIPTION

NAME

0.1

2012-11

 

HT

Contents

rootSikkerhedsservices (STS) - Leverancebeskrivelse
includeroottrue


Table of Contents
outlinetrue

Dokumenthistorik


Version

Dato

Ansvarlig

Beskrivelse

16.7.2018KSROpdateret på baggrund af fuldmagtsservice
214.9.2018KSR

Opdateret beskrivelse mht. kørsel af tests med coverage-måling.

Tilføjet mulighed for kørsel af integrationstests uden unittests.

313.12.2018KSRBeskrivelse af release
44.5.2021KITBeskrivelse af udstedelse af OCES3 certifikater

Introduktion

  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

...

Dette dokument indeholder beskrivelse af diverse udviklings aspekter af STS version 2.4.1.

...

Udviklingsmiljø

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

...

.

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

...


Unittest

Unit tests køres som del af bygget, eller med:

mvn test

...


Integrationstest

Det er muligt at eksekvere integrationstest mod en allerede deployet sts med kommandoen

mvn -Pintegration verify -Dsts.url=http://test1-cnsp.ekstern-test.nspop.dk:8080


Kørsel af integrationstests uden unittests

Med tilføjelse af parameteren -Dunittests.skip=true er det endda muligt at springe unittests over og nøjes med integrationstests. Dette kan specielt være bekvemt i forbindelse med deployment verifikation hos Netic.

Eksempel:

mvn -Pintegration verify -Dsts.url=http://test1-cnsp.ekstern-test.nspop.dk:8080 -Dunittests.skip=true


Kørsel af integrationstests uden anvendelse af fuldmagtsservice hos Nemlogin (nyt i 2.5.6)

Fuldmagtsservicen hos nemlogin kan være lidt ustabil i test. Det er derfor nu muligt aktivt at slå disse fra og kun afvikle de øvrige tests.

Eksempel:

mvn -Pintegration verify 

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

...

-Dsts.url=http://

...

test1-cnsp.ekstern-test.nspop.dk:8080 -Dprocurationtests.skip=true


Docker udviklingsserver

En kørende udviklingsserver kan sættes op via docker med nedenstående kommando. Der er 3 forskellige foldere med compose filer. Development der er beregnet til brug under udvikling, test der er beregnet til standalone test og endelig release der er beregner til brug af Netic. Integrationstest kan afvikles som beskrevet tidligere.

mvn package
cd docker-compose up

Code coverage

Code coverage kan undersøges med brug af open-clover med følgende maven-kommando:

mvn clean clover:setup test clover:aggregate clover:clover


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 udløbsdatoer og derfor skal man være opmærksom på at tests for et givet, historisk release af STS'en vil fejleaf STS’en kan fejle.

Om nødvendigt kan testene disables. Dette frarådes dog stærkt ved nye releases.

Release procedure

I forbindelse med releases af STS opdateres filen changes.txt med en kort beskrivelse af det rettede.

Selve releaset foretages med mavens release plugin

mvn relcerease:prepare


som sørger for at lave subversion tags, samt relevante opdateringer af pom-filer.