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.
1s 994ms
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 813ms
And
The client system is logged into a server session
045ms
And
The openEHR template IDCR - Immunisation summary.v0.opt for the composition is available to the server
079ms
And
An EHR is created
055ms
1s 866ms
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 866ms
Then
A composition id should be returned by the API
000ms
After
CompositionAPISteps.cleanUp()
005ms
After
QueryWithAqlSteps.cleanUp()
000ms
1s 838ms
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 694ms
And
The client system is logged into a server session
036ms
And
The openEHR template IDCR - Immunisation summary.v0.opt for the composition is available to the server
054ms
And
An EHR is created
053ms
884ms
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
696ms
Then
A composition id should be returned by the API
000ms
And
Composition id should allow retrieval of composition in raw format
187ms
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()
006ms
After
QueryWithAqlSteps.cleanUp()
000ms
1s 785ms
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 665ms
And
The client system is logged into a server session
034ms
And
The openEHR template IDCR - Immunisation summary.v0.opt for the composition is available to the server
036ms
And
An EHR is created
050ms
913ms
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
646ms
Then
A composition id should be returned by the API
000ms
And
Composition id should allow retrieval of composition in xml format
267ms
After
CompositionAPISteps.cleanUp()
006ms
After
QueryWithAqlSteps.cleanUp()
000ms