Home

OpenNCP CI & Conference Test design

image

Contents

1. U epsos EUROPEAN PATIENTS SMART OPEN SERVICES Smart Open Services for European Patients Open eHealth initiative for a European large scale pilot of Patient Summary and Electronic Prescription OpenNCP Continuous Integration amp Conformance Test design and engineering details APPENDIX F D 3 B 2 WORK PACKAGE DOCUMENT OpenNCP CI amp Conformance Test NAME design and engineering details SHORT NAME OpenNCP CI amp Conformance Test VERSION DATE 30 06 2014 D3 B 2_App_F_CI ConformanceTest_Design_V1 0 2 docx Page 1 COVER AND CONTROL PAGE OF DOCUMENT Document name OpenNCP Cl amp Conformance Test design and engineering details Document Short name OpenNCP CI amp Conformance Test Author s OpenNCP Community ee OpenNCP Community Dissemination level PU Public PP Restricted to other programme participants RE Restricted to a group specified by the consortium CO Confidential only for members of the consortium ABSTRACT OpenNCP Cl amp Conformance Test design and engineering details represents a basic reproduction from the online documentation created by the OpenNCP Community while planning executing and controlling this epSOS Phase 2 new service implementation Change History Version Date Status From Details Review Changes V1 0 1 22 05 2014 Draft L Mano Corrections after QA Licinio Mano Marcello Melgara V1 0 2 30 06 2014 Final APM Line numbers out version number
2. lue debug gt D3 B 2_App_F_CI ConformanceTest_Design_V1 0 2 docx Page 22 OpenNCP Cl amp Appendix F OpenNCP Continuous Integration amp pei Short Conformance CO Conformance Test design and engineering i Test details 7 epsos Version 1 0 12 WP3 B epSOS OSS NCP Implementation Date 30 06 2014 lt appender ref ref DB gt lt logger gt lt logger name 2007 xds b iti ihe gt lt level value debug gt lt appender ref ref DB gt lt logger gt lt logger name eu epsos protocolterminators ws server xca impl gt lt level value debug gt lt appender ref ref DB gt lt logger gt lt root gt lt priority value debug gt lt appender ref ref LOGFILE gt lt root gt lt log4j configuration gt D3 B 2_App_F_CI ConformanceTest_Design_V1 0 2 docx Page 23 OpenNCP Cl amp m Appendix F OpenNCP Continuous Integration amp pec Short Conformance CO Conformance Test design and engineering i Test details i epsos Version 1 0 12 WP3 B epSOS OSS NCP Implementation Date 30 06 2014 4 Configure openncp portal located under webapss epsosportal WEB INF classes log4j xml You can capture HCPA TRCA Consent Documents CDA Format Dispensation Documents CDA Format ePrescription Documents CDA Format Patient Summary Documents CDA Format DOT RN ES lt xml version 1 0 encoding UTF 8 gt lt DOCTYPE log4j config
3. V1 0 28 12 13 Draft L Mano Reproduced from yhe Licinio Mano OpenNCP Knowledge Marcello Melgara Repository g D3 B 2_App_F_Cl ConformanceTest_Design_V1 0 2 docx Page 2 OpenNCP Cl amp m Appendix F OpenNCP Continuous Integration amp pce Short Conformance OG Conformance Test design and engineering i Test ep 305 pes Version 1 0 12 WP3 B epSOS OSS NCP Implementation Date 30 06 2014 TABLE OF CONTENTS 1 Continuous Integration Workflow ccceseeeetteeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeneeeeeneeeeeeeees 5 1 1 Macro architecture diagram dscesere canal sce eek eeshcek viva ei ee a eee lage 5 1 2 Integration Testing Component InteractiOn eeeeeeeeeeee eter eee eeeeenteeeeeeeeeeteeee 5 1 3 Fluxogram of the implemented Cl solution 2 0 0 0 ee ceeeteeee eter eee eeeeteeeeeeeeeeeeeee 6 1 31 Fluxogram Steps pekee a er EERE REEE tiated eee 7 1 3 2 Used TOONS iae e adelens dake ede EREE 8 1 4 Publishing SNAPSHOT versions W u u ssseeeeererrreren erne 8 1 4 1 Sample POM File Part ssssseeereeerer rr rnree 9 1 5 Publishing RELEASE versions i ic oaiht a eee renere renerne 10 126 User hotificatons iei arie e inakaa accreted ia eed 10 Moe UM POSTING voce rs E ees hens Be oe OE E E eee tiene ag 10 138 Integration Testing za aar e oden aaa er re been ea EE E aT 10 1 9 Jenkins Repnin geepeen eee E E 11 1 9 1 Test and Deploy sssssseereerreeeerr renerne 11 19 2 Stati AMA
4. com gnomon epsos servlet gt lt level value INFO gt lt appender ref ref DB gt lt logger gt lt logger name com gnomon epsos service gt lt level value INFO gt lt appender ref ref DB gt lt logger gt lt root gt lt priority value debug gt lt appender ref ref LOGFILE gt lt root gt lt log4j configuration gt SL x Sm n gt You should use also different tables for each component to keep separate the log messages Also you can easily adapt this to any other ep SOS component needed 5 Relevant implementation material and samples File Modified D3 B 2_App_F_CI ConformanceTest_Design_V1 0 2 docx Page 24 Document Short OpenNCP Cl amp Appendix F OpenNCP Continuous Integration amp name Conformance CO Conformance Test design and engineering i Test details epsos Version 1 0 12 WP3 B epSOS OSS NCP Implementation Date 30 06 2014 File Modified ZIP Archive LOG2XML_example zip Oct 17 2013 by Marcelo Fonseca ZIP Archive LOG2XML _source zip Oct 17 2013 by Marcelo Fonseca 6 Integration points in OpenNCP XD transactions Client XCPD request tr com srdc epsos ws xcpd client RespondingGateway ServiceStub 219 XCPD response tr com srdc epsos ws xcpd client RespondingGateway ServiceStub 236 XCA request tr
5. error gt org apache axiom gt lue error gt org apache xml gt lue error gt org opensaml gt lue error gt org springframework gt lue error gt org hibernate gt lue error gt net sf ehcache gt sm n gt lt layout gt lt appender gt lt level va lt logger gt lt logger name lt level va lt logger gt lt logger name lt level va lt logger gt lt logger name lt level va lt logger gt lt logger name lt level val lt logger gt lt logger name lt level val lt logger gt lt logger name lt level va lt logger gt lt logger name lt level va lt logger gt lt logger name lt level val lt logger gt lt logger name lt level val lt logger gt lt logger name lt level va lt logger gt lt logger name lt level va lt logger gt lt logger name lt level val lt logger gt lt logger name lt level val lt logger gt lt logger name lt lue error gt epsos ccd posam tm gt lue info gt epsos ccd posam tsam gt lue info gt de hunsicker jalopy io gt lue fatal gt httpclient wire header gt lue fatal gt org apache commons httpclient gt lue fatal gt org apache commons configuration gt lue error gt com mchange gt lue warn gt 2009 xcpd iti ihe gt Level va
6. Plugin http www soapui org IDE Plugins netbean html e SoapUl eclipse plugin http Wwww soapui org IDE Plugins eclipse plugin html e Test Automation via Maven http www soapui org Test Automation maven 2x html e Getting Started with Reporting http www soapui org Reporting getting started with reporting html D3 B 2_App_F_CI ConformanceTest_Design_V1 0 2 docx Page 19 OpenNCP Cl amp m Appendix F OpenNCP Continuous Integration amp pec Short Conformance OG Conformance Test design and engineering Test details epsos Version 1 0 12 WP3 B epSOS OSS NCP Implementation Date 30 06 2014 e Web Services Coverage amp Coverage Visualization http www soapui org Coverage introduction htm 3 1 4 soapUI vs JUnit Open source soapUI tool has a number of benefits over developing test cases in Java using JUnit framework Some of these benefits include e Use of UI for creating configuring tests This makes it possible for non programmers to develop tests which means that testing of Web services can be performed by a QA system test group e Auto generation of test messages based on WSDL e Ability to externalize test data using property files e Built in assertions such as checking for SOAP faults and validity of the schema e Built in stress testing capabilities e Management of endpoint URLs Overall soapUI allows developers and testers to create tests quicker and also makes tests easier to mana
7. com srdc epsos ws xca client RespondingGateway ServiceStub 247 XCA response tr com srdc epsos ws xca client RespondingGateway ServiceStub 266 XDR request tr com srdc epsos ws xdr client RespondingGateway ServiceStub 229 XDR response tr com srdc epsos ws xdr client DocumentRecipient ServiceStub 268 Server Incoming XCPD request _2009 xcpd iti ihe XCPD Servic ssageReceiveriInOut 104 XCPD response _2009 xcpd iti ihe XCPD Servic ssageReceiveriInOut 152 Incoming XCA request _2007 xds_b iti ihe XCA Servic ssageReceiveriInOut 118 XCA response _2007 xds_b iti ihe XCA Servic ssageReceiveriInOut 138 Incoming XDR request _2007 xds_b iti ihe XDR_ Servic ssageReceiverInOut 116 XDR response _2007 xds_b iti ihe XDR_ Servic ssageReceiveriInOut 138 CDA Documents Client Pivot XCA Retrieve eu epsos pt ws client xca XcaInitGateway 175 Friendly XCA Retrieve eu epsos pt ws client xca XcaInitGateway 176 D3 B 2_App_F_CI ConformanceTest_Design_V1 0 2 docx Page 25 OpenNCP Cl amp Appendix F OpenNCP Continuous Integration amp pec Short Conformance U Conformance Test design and engineering i Test details 7 epsos Version 1 0 12 WP3 B epSOS OSS NCP Implementation Date 30 06 2014 Friendly XDR Submit tr com srdc epsos ws xdr client XDSbRepositoryServiceInvoker 129 Friendly XDR Submit tr com srdc epsos ws xdr client XDSbRepositoryServiceInvoker 143 Server Friendly XCA Retrieve tr com srdc epsos ws se
8. epSOS VPN This request isn t mandatory In Bern NEPC Meeting May 2012 amp in a spec technical TConf between Eric P and Mustafa Y they discussed that this can be introduced in the next Projectathon that means Istanbul if it is really so it should be to utilize within PPT slots also SJ Probably many of the requested elements are already available therefore we are showing our availability and readiness to start the adjustment of the current workflows in order to integrate with Gazelle Services In order to accomplish that we first request all the existent documentation about the described Gazelle Services together with some information that may be relevant for the task D3 B 2_App_F_CI ConformanceTest_Design_V1 0 2 docx Page 17 OS epsos SMART OPEN SERVICES OpenNCP Cl amp Appendix F OpenNCP Continuous Integration amp oo Short Conformance Conformance Test design and engineering i Test details Version 1 0 12 WP3 B epSOS OSS NCP Implementation Date 30 06 2014 3 Extended Integration scenario Test Classes Request Messages Response Messages NCP Artifacts to test Captufing Class e 8 5 5 8 S rA s 4 E z S ws z Validation amp Assertions Testing Result ek aoe E ee ee EE Se SER ae Reporting i Modul Bee ee he ee ete ee ee ete oe poe Validation H Modul We ervic Automated remote IHE GAZELL
9. m Appendix F OpenNCP Continuous Integration amp pec Short Conformance OG Conformance Test design and engineering Test il epsos pee Version 1 0 12 WP3 B epSOS OSS NCP Implementation Date 30 06 2014 Only if all the unit tests are successfully passed the building process takes place which occurs in this step 1 3 1 4 Run unit tests Once the fetch and merge process is completed the unit tests are performed using a specific maven profile You can find further information on the Unit Testing topic ahead on this page 1 3 1 5 Deploy to Tomcat instance After a successful build a specific maven plugin will perform a deploy on the Tomcat testing instance and perform the next step related to integration tests 1 3 1 6 Run integration tests The integration tests step will look for testing files started with IT with the aid of advanced maven plugin configuration This files should include all the integration testing logic 1 3 1 7 Upload SNAPSHOT version to JoinUp Nexus repository Once all integration tests are successfully performed and passed the resulting artifact is published to the JoinUp repository as a SNAPSHOT version 1 3 1 8 Notify project managers and last commiters If any of the Unit testing Build and Integration processes fail a notification will be sent to related users Further information can be found on User Notifications topic 1 3 1 9 Perform Jenkins report If new changes are found in the fir
10. of the static analysis shown in the following pictures On the left menu you may also find specific trends for each plugin Checkstyle Trend count R az Ea pS Enlarge Confiqure PMD Trend count amp i z Enlarge Configure Static Analysis Trend count o k pS Enlarge Confiqure CA Checkstyle Warnings F PMD Warnings A Static Analysis Warnings On a specific build you also have this menu and you can consult detailed information for each plugin In the following picture you can see an example for the Checkstyle plugin D3 B 2_App_F_CI ConformanceTest_Design_V1 0 2 docx Page 13 OpenNCP Cl amp S Appendix F OpenNCP Continuous Integration amp oe Short Conformance CO Conformance Test design and engineering i Test details i epsos Version 1 0 12 WP3 B epSOS OSS NCP Implementation Date 30 06 2014 CheckStyle Result Warnings Trend All Warnings New Warnings Fixed Warnings m o Total High Priority Normal Priority Low Priority 993 o o Details Modules Packages A Module Total Distribution For each plugin you will get a similar menu with multiple separators that will filter and display the analysis D3 B 2_App_F_CI ConformanceTest_Design_V1 0 2 docx Page 14 OpenNCP Cl amp Appendix F OpenNCP Continuous Integration amp oe Short Conformance CO Conformance Test design and engineering i Test epsos ARE Version 1
11. 0 12 WP3 B epSOS OSS NCP Implementation Date 30 06 2014 2 Integration of CI Environment With Gazelle Services The purpose of this page is to present and discuss a proposal of integration between the CI environment based on Jenkins and the Gazelle Services O e Gazelle INTEROPERABILITY amp CONFORMANCE TESTING FOR E HEALTH INFORMATION SYSTEMS An extendable open source Gazelle is an open source testbed continuous integration server dedicated to interoperability and conformance testing of eHealth systems http jenkins ci org http gazelle ihe net 2 1 Integration Scenario As a result of a F2F meeting between the Portuguese epSOS Team and Norbert R pas representing ELGA it was produced the first draft of an OSS road map regarding an improved test strategy for the released components This page intends to present a proposed scenario to integrate the OpenNCP development Continuous Integration Environment test cycles with the services provided by IHE platform Gazelle In order to better understand the conceptual model of the proposed solution the follow diagram is presented D3 B 2_App_F_CI ConformanceTest_Design_V1 0 2 docx Page 15 OpenNCP Cl amp Appendix F OpenNCP Continuous Integration amp oe Short Conformance OG Conformance Test design and engineering i Test details epsos Version 1 0 12 WP3 B epSOS OSS NCP Implementation Date 30 06 2014 OpenNCP Continuous
12. E Validation 3 1 Extended Diagram Explanation 3 1 1 Store Request amp Response Messages Java Logs to Database Test Automation Client Coverage Modul JUnit File Export2J Unit Format Modul jobs and makes use of Maven capabilities Data Driven Test Automat JUnit File There are many different ways how we can utilize it in project for example via log4j One of the features of log4j framework is to store Java log messages to a JDBC enabled database Before we get into configurations for using log4j we need e log4j X X XX jar This is the main log4j library see http logging apache org e Xxxx_jdbc jar This is the main Message Capturing Database JDBC driver e cap_and_log java A simple Java class that does capturing amp logging e log4j properties In order to enable log4j we will have to create a configuration file In this configuration we can define three appenders Console File and JDBC This way the messages will be written to all these appenders Configuring the JDBC appender requires specifying JDBC URL and also the connection credentials D3 B 2_App_F_CI ConformanceTest_Design_V1 0 2 docx Page 18 OpenNCP CI amp m Appendix F OpenNCP Continuous Integration amp peels short Orna OG Conformance Test design and engineering amg Test ep SOS F R Version 1 0 12 WP3 B epSOS OSS NCP Implementation Date 30 06 2014 See also e log4j home page http logging apa
13. Integration Environment Gazelle Validation Tools Test Classes Artifacts to Test Produced XCPD XCA XDR Response Messages Audit Logs Others Automated and remote Gazelle Services Usage Produced XCPD XCA XDR Request Messages Audit Logs my NCP with deployed artifacts ready to be tested s jobs and makes use of Maven capabiliti Validation Results Integration Testing Results will produce a report that will of the published components cide if the components are published or not 2 1 1 Diagram Explanation The current integration testing workflows are triggered at the Jenkins job executions by making use of maven plugins Both NCP A and NCP B are tested using specific test client classes that send hard coded soap messages to each of the NCP sides those soap requests try to cover faulty situations and normal situations and they are based on the available data in the mocked NI In the implemented scenario we only test the return of the correct responses and error codes we also check for further integration errors that may result from code bugs and such Exceptions and others n the proposed scenario during the integration test phase the produced NCP request and response messages would also be tested using the Gazelle Services together with the assertions and audit log messages That validation information would also be included in the final report of the Jenkins job e
14. L WSIS 2 ra etren Eae AE aA E bea Eana ra EEEa 12 2 Integration of Cl Environment With Gazelle Services cccccessseeeseeeeeeeeeeneees 15 ZA Integration Scenarier e aE E EE A he EE RE RIEA Ri 15 2 1 1 Diagram Ex planatonasicccnnvrweructeconenccevetoervietunctycebteckeenincthyetiariednes 16 3 Extended Integration scenario ccccceesssseeeeeeeeeeeeeeseeeeeeeeeeeeeeeeeseseeeeneeeeeeeeseeeees 18 3 1 Extended Diagram Explanation ccccccceceeeeeeseecceeeeeeeeeeeeesaeeeeeeeeeeeenenaaees 18 3 1 1 Store Request amp Response Messages Java Logs to Database 18 3 1 2 Data driven testing csc tigcu siden ioei pack tecacatedoleaca tes telnes in sgecttdendeteraiaant 19 31 3 Test AMIOMAUION 2 reccsceaccesctcaiesantscroncreseacueetiegunctt seivaaeienuenrtieameiemed 19 SAG SOAP UNS JUNT eck Poco leaded re Ae ea keel 20 4 Messages capture mechanism cccectceeeseeeeeeeeeeeeeeeeeneeeeeeeeeeeeeeseeeeeeeeeeeeeeeeeeneeees 20 5 Relevant implementation material ANd samples cccsseeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeneeees 24 6 Integration points in OpenNCP cceeceeeeseeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeesaeeeeeeeeeeeeeeeeenneees 25 7o COMMEN S circ ote ERE edar aa Ee EErEE EANA EEEa NAi ninaa adara 27 D3 B 2_App_F_CI ConformanceTest_Design_V1 0 2 docx Page 3 OpenNCP Cl amp m Appendix F OpenNCP Continuous Integration amp cena Short Conformance OG Conformance Test design a
15. Model Based http 131 254 209 20 8080 CDAGenerator CDAGenerator ejb CDAValidatorWS wsdl WSDL Schematron Based http 131 254 209 12 8080 SchematronValidator SchematronValidator ejb GazelleObjectValidatorWS wsdl o SAML Assertions GUI http gazelle ihe net EVSClient saml validator seam extension epSO S WSDL Schematron Based http 131 254 209 12 8080 SchematronValidator SchematronValidator ejb GazelleObjectValidatorWS wsdl o Certificates GUI http gazelle ihe net EVSClient tls validator seam WSDL http 131 254 209 14 8080 qazelle pki gazelle atna ejb CertificateValidator wsdl o out Messages GUI http gazelle ihe net EVSClient atna validator seam extension epSO WSDL Schematron Based http 131 254 209 12 8080 SchematronValidator SchematronValidator ejb GazelleObjectValidatorWS wsdl WSDL Model Based http 131 254 209 20 8080 XDStarClient XDStarClient ejb AuditMessageValidatorWS wsdl D3 B 2_App_F_CI ConformanceTest_Design_V1 0 2 docx Page 27 OpenNCP Cl amp m Appendix F OpenNCP Continuous Integration amp pec Short Conformance OG Conformance Test design and engineering Test il epsos pee Version 1 0 12 WP3 B epSOS OSS NCP Implementation Date 30 06 2014 Requirement 3 The demographic data generator exists in the Gazelle Test Bed We call it DDS Demographic Data Server o GUI http gazelle ihe net DDS home seam o WSDL h
16. PSHOT D3 B 2_App_F_CI ConformanceTest_Design_V1 0 2 docx Page 9 OpenNCP Cl amp m Appendix F OpenNCP Continuous Integration amp pec Short Conformance OG Conformance Test design and engineering Test epsos pee Version 1 0 12 WP3 B epSOS OSS NCP Implementation Date 30 06 2014 Please Note You only need to apply this configuration in the POM files All the namespaces and package names in the code SHOULD remain the same 1 5 Publishing RELEASE versions The publishing of RELEASE versions into the JoinUp Nexus repository can only be done at the Nexus web interface and cannot be done automatically This way we make sure that this action is carefully taken by the responsible person and mostly because it is not intended to happen frequently 1 6 User notifications In the automated Cl process performed by Jenkins there are a few cases that users need to be notified mostly when a build and any test fails In the current setup the users notified are the Project Managers and the last Commiters possibly responsible for the faulty scenario This way we consider that all the interested parts are notified 1 7 Unit Testing The Unit testing process is triggered with the aid of a specific testing Maven profile Whenever a build is performed with this profile all the tests are performed This way it s possible to specify when we want or not to run the tests This is specially useful to the Jenkins configured j
17. che org e log4jdbc home page http code google com p log4jdbc e SLF4J manual http Awww slf4j org manual html e THE COMPLETE LOG4J MANUAL Google Books 3 1 2 Data driven testing Data driven testing is when we store test data request response etc in some external storage database spreadsheet xml files etc and then use that data iteratively in our tests when running them What this boils down to is the following setup 1 DataSource reads test data into properties from external source 2 TestSteps any number tests service functionality using the DataSource properties made available in 1 3 DataSource Loop loops back to 2 for each row in 1 Depending on the way how the test cases are implemented there might potentially be a large number of different calls to the underlying Test Automation Data Source When running test cases or test suites the connection shall preferably only be created once and then be reused whenever needed 3 1 3 Test Automation There are certainly several options to implement the test automation e A possible solution for the implementation of the test automation client is the embedding of soapUI into the Java development environment as Plugin e soapUl includes also a Maven 1 x amp 2 x plugin for running soapUI tests and mocks during a maven build Prior to using the plugin we need to add the eviware maven 2 repository either to our project or settings xml See also soapUl NetBeans
18. cx Page 20 OpenNCP Cl amp Appendix F OpenNCP Continuous Integration amp pec Short Conformance OG Conformance Test design and engineering Test e p sos details i ea Version 1 0 12 WP3 B epSOS OSS NCP Implementation Date 30 06 2014 stacktrace text COLLATE utf8 unicode ci creationTime datetime NOT NULL ip varchar 255 COLLATE utf8 unicode ci DEFAULT NULL PRIMARY KEY id KEY priority priority KEY creationTime creationTime ENGINE InnoDB DEFAULT CHARSET ut 8 COLLATE utf8 unicode ci AUTO INCREMENT 1 2 Configure epsos client connector log4j properties located under webapps epsos client connector WEB INF classes log4j properties You can capture all XCPC XCA XDR messages Fl Set root category priority to INFO and its only appender to CONSOLE log4j rootLogger INFO Stdout Roll over the log once per day log4j appender Stdout org apache log4j ConsoleAppender log4j appender Stdout layout org apache log4j PatternLayout Print the date in ISO 8601 format log4j appender Stdout layout conversionPattern d St 5p Sc m n Define the DB appender log4j appender DB driver com mysql jdbc Driver log4j appender DB eu epsos log4j appender DatabaseAppender log4j appender DB URL jdbc mysql localhost 3306 LOGS log4j appender DB user lt username gt log4j appender DB password lt password gt lo
19. e gt lt param name Threshold value DEBUG gt lt param name Encoding value UTF 8 gt lt layout class org apache log4j PatternLayout gt lt param name ConversionPattern value 5p d c oe Z o ES o0 x I Sm n gt lt layout gt D3 B 2_App_F_CI ConformanceTest_Design_V1 0 2 docx Page 21 OpenNCP Cl amp m Appendix F OpenNCP Continuous Integration amp pec Short Conformance CO Conformance Test design and engineering i Test details i epsos Version 1 0 12 WP3 B epSOS OSS NCP Implementation Date 30 06 2014 lt appender gt lt appender name DB class eu epsos log4J appender DatabaseAppender gt name URL value jdbc mysql localhost LOGS gt name driver value com mysql jdbc Driver gt name user value lt username gt gt name password value lt password gt gt name sql logger lt lt lt lt lt priority d yyyy param param param param param message stacktrace ip VALUES NCP A dd HH mm ss c p m stacktrace ip gt lt appender gt value INSERT INTO OpenNCP_ LOGS component creationTime lt appender name console class org apache log4j ConsoleAppender gt lt param name Target value System out gt lt layout class org apache log4j PatternLayout gt lt param name ConversionPattern value 4r lt logger name org apache axis2 gt lue
20. esting Protocol Terminators 1 9 Jenkins Reporting In Jenkins instance you will find several reports of the Cl process mostly in these two areas 1 9 1 Test and Deploy In the main page you will find three separators for the different categories of the Jenkins jobs for the Test and Deploy the following list is presented ic Analisys Test and Deploy Name Ultimo sucesso Ultima Falha Dura o da ltima 2 hr 35 min 11 6 days 23 hr 4 37 sec 5 hr 45 min 24 7 days 0 hr 15 30 sec 1 day 9 hr 13 6 days 22 hr 4 36 sec 4 days 1 hr 6 N A 55 sec 4 days 2 hr 8 N A 15 min 4 days 2 hr 7 N A 18 min 4 days 2 hr 11 5 days 3 hr 3 1 min 5 sec 5 days 0 hr 32 5 days 6 hr 25 23 min 5 days 6 hr 10 6 days 22 hr 5 35 sec estAndDeploy epSOS Trans 5 days 6 hr 11 6 days 23 hr 3 36 sec estAndDeploy epSi 5 days 6 hr 8 N A 25 sec TestAndDepl 5 days 6 hr 7 6 days 22 hr 3 6 min 0 sec Coeocooooooooo se eae ste e ste sae e e ste ate ae ste ae el E estAndDeploy epSOS Data Model 5 days 6 hr 12 N A 1 min 34 sec DDDDDDDDDDDDD On each job you can access the list of previous builds D3 B 2_App_F_CI ConformanceTest_Design_V1 0 2 docx Page 11 OpenNCP Cl amp Appendix F OpenNCP Continuous Integration amp Conformance CO Conformance Test design and engineering Test Document Short name epsos details Versi
21. g4j appender DB sql INSERT INTO OpenNCP_LOGS component creationTime logger priority message stacktrace ip VALUES NCP B d yyyy MM dd HH mm ss c p m stacktrace ip log4j appender DB layout org apache log4j PatternLayout log4j appender DB layout ConversionPattern 5p sd yyyy MM dd HH mm ss SC l Sm SF SL St Sn Specific log Levels log4j logger eu epsos pt cc DEBUG DB log4j logger tr com srdc epsos DEBUG DB log4j logger epsos ccd gnomon configmanager DEBUG log4j logger epsos ccd gnomon auditmanager DEBUG log4j logger epsos ccd posam DEBUG log44j logger org hibernate ERROR log4j logger org apache axis2 ERROR log4j logger com mchange ERROR log4j logger com spirit epsos cc adc ERROR log4j logger eu epsos pt eadc ERROR log4j logger epsos ccd posam ERROR 3 Configure epsos ws server log4j xml located under webapps epsos ws server WEB INF classes log4j xml You can capture all XCPC XCA XDR messages lt xml version 1 0 encoding UTF 8 gt lt DOCTYPE log4j configuration SYSTEM log4j dtd gt lt log4j configuration xmlns log4j debug false gt lt appender name LOGFILE class org apache log4j DailyRollingFileAppender gt lt param name File value catalina base logs epsos srdc log gt lt param name DatePattern value yyyy MM dd gt lt param name Append value tru
22. ge and update However one needs to understand shortcomings of this approach soapUI uses its own Web services client The way it creates test messages is different from how regular JAX WS based and other Web services clients work soapU completely skips the step of generating Java classes from WSDL It does not have to deal with XML marshalling unmarshalling from to Java objects As a result you are not invoking your service the way it will be invoked by real Web service consumers 4 Messages capture mechanism The following message capture and store mechanism has already been presented An can be used to provide reports on the transacted messages or for evaluation use In order to easily capture the needed transaction messages from epsos client connector epsos ws server openncp portal you can easily configure a database appender in these components We describe how to in the following steps 1 Create a table i e OpenNCP LOGS in one database i e named LOGS using the following script CREATE TABLE IF NOT EXISTS Open CP LOGS id bigint 20 NOT NULL AUTO INCREMENT component varchar 255 COLLATE utf8 unicode ci DEFAULT NULL logger varchar 255 COLLATE utf8 unicode ci NOT NULL priority varchar 255 COLLATE utf8 unicode ci NOT NULL message longtext COLLATE utf8 unicode ci NOT NULL D3 B 2_App_F_CI ConformanceTest_Design_V1 0 2 do
23. nd engineering i Test epsos pee Version 1 0 12 WP3 B epSOS OSS NCP Implementation Date 30 06 2014 Cle EF POISCAU In deh cate AEAEE ARE E EAE TAAA te akt bbs rdr ER 27 D3 B 2_App_F_CI ConformanceTest_Design_V1 0 2 docx Page 4 OpenNCP Cl amp S Appendix F OpenNCP Continuous Integration amp oe Short Conformance CO Conformance Test design and engineering i Test epsos i Version 1 0 12 WP3 B epSOS OSS NCP Implementation Date 30 06 2014 1 Continuous Integration Workflow The main goal of this page is to describe the Continuous Integration configured solution for the OpenNCP project Jenkins An extendable open source continuous integration server 1 1 Macro architecture diagram Pull Push Source Code Integration Testing Environment CI Environment Jenkins Push depencenc Pull depencency binarios j binaries 1 2 Integration Testing Component Interaction D3 B 2_App_F_CI ConformanceTest_Design_V1 0 2 docx Page 5 OpenNCP Cl amp S Appendix F OpenNCP Continuous Integration amp oo Short Conformance OG Conformance Test design and engineering i Test details epsos Version 1 0 12 WP3 B epSOS OSS NCP Implementation Date 30 06 2014 Test Class Artifact to Test Mock 1 3 Fluxogram of the implemented Cl solution The following fluxogram illustrates the current process for testing and deploy artifacts SNAPSHOT version to JoinU
24. obs Further information about the tests for each component can be found at the following pages Page XDR Client Unit Testing Protocol Terminators Page XCA Client Unit Testing Protocol Terminators Page XCPD Service Unit Testing Protocol Terminators Page XCPD Client Unit Testing Protocol Terminators Page XCA Service Unit Testing Protocol Terminators Page XDR Service Unit Testing Protocol Terminators 1 8 Integration Testing D3 B 2_App_F_CI ConformanceTest_Design_V1 0 2 docx Page 10 OpenNCP Cl amp Appendix F OpenNCP Continuous Integration amp oe Short Conformance CO Conformance Test design and engineering i Test details i epsos Version 1 0 12 WP3 B epSOS OSS NCP Implementation Date 30 06 2014 The Integration testing process is also triggered with the aid of a specific testing Maven profile and some plugins Whenever a build is performed the solution is deployed to the testing server and all the integration tests are performed Further information about the tests for each component can be found at the following pages e Page XCPD Service Integration Testing Protocol Terminators e Page XCPD Client Integration Testing Protocol Terminators e Page XDR Client Integration Testing Protocol Terminators e Page XDR Service Integration Testing Protocol Terminators e Page XCA Client Integration Testing Protocol Terminators e Page XCA Service Integration T
25. on 1 0 12 SMART OPEN SERVICES WP3 B epSOS OSS NCP Implementation Date 30 06 2014 Build History trend 27 27 Set 2012 13 31 13 6 27 Set 2012 11 31 11 5 26 Set 2012 18 01 09 26 Set 2012 15 47 37 3 26 Set 2012 15 01 10 2 26 Set 2012 13 31 09 gt 1 26 Set 2012 13 15 26 6 J RSS for all amp RSS for failures For each build you can view several data such as Console Output Test Result Q Output da Consola Test Result List of changes Git Polling Log Changes Git Polling Log 7 27 Set 2012 13 31 13 6 27 Set 2012 11 31 11 5 26 Set 2012 18 01 09 And many more 1 9 2 Static Analysis For the static analysis group you will find the following projects D3 B 2_App_F_CI ConformanceTest_Design_V1 0 2 docx Page 12 OpenNCP Cl amp S Appendix F OpenNCP Continuous Integration amp oo Short Conformance OG Conformance Test design and engineering i Test details j psos Version 1 0 12 WP3 B epSOS OSS NCP Implementation Date 30 06 2014 E ore a aa e s 17 hr 27 N A 1 min 18 sec e a3 17 hr 8 N A 2 min 11 sec As the previous presented group you can also find the history of the previous builds that in this case only perform the static analysis of the code and do not compile it In the main page of the Static Analysis Job you can find some charts of the trend
26. p D3 B 2_App_F_CI ConformanceTest_Design_V1 0 2 docx Page 6 OpenNCP Cl amp m Appendix F OpenNCP Continuous Integration amp pei Short Conformance CO Conformance Test design and engineering i Test il l epsos pee Version 1 0 12 WP3 B epSOS OSS NCP Implementation Date 30 06 2014 Deploy to Tomcat instance Upload SNAPSHOT version to JoinUp Nexus repository Notify project managers oul and last commiters report i Next you will find a brief description of each of the steps of the CI process 1 3 1 Fluxogram steps 1 3 1 1 Poll code repository This action polls the code repository for new changes and will only trigger the remaining steps if new modifications occur It has been set with a polling interval of 5 minutes for small projects and 30 minutes for large projects Generally the bigger projects like Protocol Terminators tend to produce bigger artifacts that take longer to upload to the JoinUp repository Also the building process takes longer Thats the reason we have set up a bigger polling time 1 3 1 2 Fetch new changes Whenever a polling action detects new changes to the code it will trigger the next step which will fetch the latest modifications and apply the to the existing code in the Jenkins local repository 1 3 1 3 Perform build D3 B 2_App_F_CI ConformanceTest_Design_V1 0 2 docx Page 7 OpenNCP Cl amp
27. rver xca impl XCAServiceImpl 880 Pivot XCA Retrieve tr com srdc epsos ws server xca impl XCAServiceImpl 929 Pivot XDR Submit tr com srdc epsos ws server xdr XDRServiceImpl 410 Friendly XDR Submit tr com srdc epsos ws server xdr XDRServiceImpl 413 SAML assertions Treatment Relationship Care Assertion TRC epsos ccd netsmart securitymanager SamlTRCIssuer 241 Health Care Professional Identity Assertion HCP Created by the Web Portal Audit messages epsos ccd gnomon auditmanager AuditTrailUtils 139 D3 B 2_App_F_CI ConformanceTest_Design_V1 0 2 docx Page 26 OpenNCP Cl amp m Appendix F OpenNCP Continuous Integration amp pei Short Conformance OG Conformance Test design and engineering Test e psos pee Version 1 0 12 WP3 B epSOS OSS NCP Implementation Date 30 06 2014 7 Comments 7 1 Eric Poiseau Requirement 1 Currently the Gazelle Proxy http gazelle ihe net proxy can be used to capture the exchanged messages It allows to call Validation services in order to validate the captured messages As of today it can not capture messages in the context of secure transactions Requirement 2 Gazelle Test Bed offers validation services for the following type of messages o XD Transactions GUI http gazelle ihe net EVSClient xds validator seam extension epSOS WSDL http 131 254 209 20 8080 XDStarClient XDStarClient ejb XDSMetadataValidatorWS wsdl o CDA Documents GUI WSDL
28. st fluxogram step all the remaining steps will end up in a Jenkings Report Either failures or successes More detail about the reporting process can be found in the Reporting topic 1 3 2 Used tools e Jenkins e Maven e Tomcat Instance 1 4 Publishing SNAPSHOT versions D3 B 2_App_F_CI ConformanceTest_Design_V1 0 2 docx Page 8 OpenNCP Cl amp m Appendix F OpenNCP Continuous Integration amp pec Short Conformance OG Conformance Test design and engineering Test epsos pee Version 1 0 12 WP3 B epSOS OSS NCP Implementation Date 30 06 2014 The process of publishing SNAPSHOT versions into the JoinUp Nexus repository is completely automated by the Jenkins installation according to the workflow presented in the previous fluxogram The process is automated because it may occur frequently and the publishing only occurs when all the integration and unit tests pass In order to an artifact be compliant with the JoinUp Maven Repository and to allow the uploading process it must follow a few simple rules explained bellow by the sample POM file part and the descriptions 1 4 1 Sample POM File Part BUSS ea lt groupld gt eu europa ec joinup ecc lt groupId gt lt artifactId gt epsos project name lt artifactId gt lt version gt 1 0 SNAPSHOT lt version gt lt lee 5 gt 5 The Groupld should be eu europa ec joinup ecc The Artifactld should have a prefix of epsos The version should be SNA
29. ttp gazelle ihe net DDSWS DemographicDataServerBean wsadl o Documentation http gazelle ihe net content dds user manual Requirement 4 It is possible to call this web services from J Unit or form Java Test Classes The Proxy the simulators and Test Management make extensive use of calls to this web services using java classes Requirement 5 We need to interact in order to identify the specific needs in that API We already have an API that Gazelle Test Management Uses to interact with the simulator We are not using it in production now but it can be used to automate the interactions with SUT Requirement 6 See requirement 2 IMHO this is the same requirement Requirement 7 As specified in the comments to Requirement 1 the proxy is not yet able to handle TLS transactions D3 B 2_App_F_CI ConformanceTest_Design_V1 0 2 docx Page 28
30. uration SYSTEM log4j dtd gt lt log4j configuration xmlns log4j debug false gt lt appender name LOGFILE class org apache log4j DailyRollingFileAppender gt lt param name File value catalina base logs portal log gt lt param name DatePattern value yyyy MM dd gt lt param name Append value true gt lt param name Threshold value INFO gt lt param name Encoding value UTF 8 gt lt layout class org apache log4J PatternLayout gt lt param name ConversionPattern value 5p Sd c SM lt layout gt lt appender gt o9 x Sm n gt lt appender name DB class eu epsos log4j appender DatabaseAppender gt lt param name URL value jdbc mysql localhost LOGS gt lt param name driver value com mysql jdbc Driver gt lt param name user value lt username gt gt lt param name password value lt password gt gt lt param name sql value INSERT INTO OpenNCP_LOGS component creationTime logger priority message stacktrace ip VALUES Portal d yyyy MM dd HH mm ss c p m stacktrace ip gt lt appender gt lt appender name console class org apache log4j ConsoleAppender gt lt param name Target value System out gt lt layout class org apache log4j PatternLayout gt o lt param name ConversionPattern value 4r 5p Sc M lt layout gt lt appender gt lt logger name
31. xecution this way the publishing of artifacts would be decided by the report overall result So in order to make the described scenario possible we would need to have the following items Requirement We need a proxy that is able to capture exchanged messages and call the corresponding validation services In more detailed manner we need web services for conformance checking of XD transactions CDA Documents SAML assertions Certificates Audit messages w We also need a Demographic Data Generator that can help simulate the test data F Calls to these web services should be possible by a J Unit amp Integration testing program or Java D3 B 2_App_F_CI ConformanceTest_Design_V1 0 2 docx Page 16 OpenNCP Cl amp m Appendix F OpenNCP Continuous Integration amp pei Short Conformance OG Conformance Test design and engineering Test epsos BER Version 1 0 12 WP3 B epSOS OSS NCP Implementation Date 30 06 2014 Requirement Test Classes Gazelle Simulators should work via embedded API for being managed by an external tool and not the GUI o Some message validators which we normally use through GUls should also be available as Web Services O Regarding automatic capture of messages between two NCPs we need first of all the use of Gazelle Proxy if possible without the combination of the

Download Pdf Manuals

image

Related Search

Related Contents

COMENTARIOS DE LIBROS Ciberculturas juveniles. Los  un mode d`emploi en PDF      Toastess TFC42T    TEMS Investigation 10.0.3  Dossier pédagogique / Sacre # 197, Sacre # 2  

Copyright © All rights reserved.
Failed to retrieve file