Feature
Provide Composition API access over REST
As a clinical informatics actor
In order to create, access and modify data based on openEHR compositions
I want to use a REST API to perform operations on compositions.
2s 142ms
Background
The server is ready, an EHR and a template is in place and the user is logged in.
Given
The server is running
2s 001ms
And
The client system is logged into a server session
044ms
And
The openEHR template IDCR - Immunisation summary.v0.opt for the composition is available to the server
048ms
And
An EHR is created
048ms
1s 877ms
Scenario
Commit composition in flat json format
When
Flat json file IDCR - Immunisation summary.v0.flat.json with template id IDCR - Immunisation summary.v0 is committed to service
1s 876ms
Then
A composition id should be returned by the API
000ms
After
CompositionAPISteps.cleanUp()
012ms
After
QueryWithAqlSteps.cleanUp()
000ms
1s 765ms
Background
The server is ready, an EHR and a template is in place and the user is logged in.
Given
The server is running
1s 602ms
And
The client system is logged into a server session
040ms
And
The openEHR template IDCR - Immunisation summary.v0.opt for the composition is available to the server
076ms
And
An EHR is created
045ms
841ms
Scenario
Commit composition in flat json and retrieve raw format
When
Flat json file IDCR - Immunisation summary.v0.flat.json with template id IDCR - Immunisation summary.v0 is committed to service
644ms
Then
A composition id should be returned by the API
000ms
And
Composition id should allow retrieval of composition in raw format
197ms
java.lang.AssertionError: 1 expectation failed.
Expected status code <200> doesn't match actual status code <500>.
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
at org.codehaus.groovy.reflection.CachedConstructor.invoke(CachedConstructor.java:80)
at org.codehaus.groovy.reflection.CachedConstructor.doConstructorInvoke(CachedConstructor.java:74)
at org.codehaus.groovy.runtime.callsite.ConstructorSite$ConstructorSiteNoUnwrap.callConstructor(ConstructorSite.java:84)
at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallConstructor(CallSiteArray.java:60)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callConstructor(AbstractCallSite.java:235)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callConstructor(AbstractCallSite.java:247)
at com.jayway.restassured.internal.ResponseSpecificationImpl$HamcrestAssertionClosure.validate(ResponseSpecificationImpl.groovy:598)
at com.jayway.restassured.internal.ResponseSpecificationImpl$HamcrestAssertionClosure$validate$1.call(Unknown Source)
at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:48)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:113)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:125)
at com.jayway.restassured.internal.ResponseSpecificationImpl.validateResponseIfRequired(ResponseSpecificationImpl.groovy:760)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.codehaus.groovy.runtime.callsite.PogoMetaMethodSite$PogoCachedMethodSiteNoUnwrapNoCoerce.invoke(PogoMetaMethodSite.java:210)
at org.codehaus.groovy.runtime.callsite.PogoMetaMethodSite.callCurrent(PogoMetaMethodSite.java:59)
at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallCurrent(CallSiteArray.java:52)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:154)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:166)
at com.jayway.restassured.internal.ResponseSpecificationImpl.statusCode(ResponseSpecificationImpl.groovy:120)
at com.jayway.restassured.specification.ResponseSpecification$statusCode$0.callCurrent(Unknown Source)
at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallCurrent(CallSiteArray.java:52)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:154)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:166)
at com.jayway.restassured.internal.ResponseSpecificationImpl.statusCode(ResponseSpecificationImpl.groovy:128)
at com.jayway.restassured.internal.ValidatableResponseOptionsImpl.statusCode(ValidatableResponseOptionsImpl.java:117)
at com.ethercis.vehr.CompositionAPISteps.getComposition(CompositionAPISteps.java:73)
at com.ethercis.vehr.CompositionAPISteps.compositionIdShouldAllowRetrievalOfCompositionInRawFormat(CompositionAPISteps.java:60)
at ✽.And Composition id should allow retrieval of composition in raw format(RestApiComposition.feature:21)
After
CompositionAPISteps.cleanUp()
015ms
After
QueryWithAqlSteps.cleanUp()
000ms
1s 631ms
Background
The server is ready, an EHR and a template is in place and the user is logged in.
Given
The server is running
1s 519ms
And
The client system is logged into a server session
038ms
And
The openEHR template IDCR - Immunisation summary.v0.opt for the composition is available to the server
035ms
And
An EHR is created
038ms
823ms
Scenario
Commit composition in flat json and retrieve xml format
When
Flat json file IDCR - Immunisation summary.v0.flat.json with template id IDCR - Immunisation summary.v0 is committed to service
564ms
Then
A composition id should be returned by the API
000ms
And
Composition id should allow retrieval of composition in xml format
258ms
After
CompositionAPISteps.cleanUp()
010ms
After
QueryWithAqlSteps.cleanUp()
000ms