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 317ms
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 156ms
And
The client system is logged into a server session
046ms
And
The openEHR template IDCR - Immunisation summary.v0.opt for the composition is available to the server
066ms
And
An EHR is created
048ms
1s 967ms
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 967ms
Then
A composition id should be returned by the API
000ms
After
QueryWithAqlSteps.cleanUp()
004ms
After
CompositionAPISteps.cleanUp()
000ms
2s 014ms
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 852ms
And
The client system is logged into a server session
048ms
And
The openEHR template IDCR - Immunisation summary.v0.opt for the composition is available to the server
066ms
And
An EHR is created
046ms
750ms
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
595ms
Then
A composition id should be returned by the API
000ms
And
Composition id should allow retrieval of composition in raw format
154ms
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 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.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 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:85)
at com.ethercis.vehr.CompositionAPISteps.compositionIdShouldAllowRetrievalOfCompositionInRawFormat(CompositionAPISteps.java:72)
at ✽.And Composition id should allow retrieval of composition in raw format(RestApiComposition.feature:21)
After
QueryWithAqlSteps.cleanUp()
008ms
After
CompositionAPISteps.cleanUp()
000ms
2s 269ms
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 141ms
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
036ms
And
An EHR is created
051ms
785ms
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
518ms
Then
A composition id should be returned by the API
000ms
And
Composition id should allow retrieval of composition in xml format
267ms
After
QueryWithAqlSteps.cleanUp()
005ms
After
CompositionAPISteps.cleanUp()
000ms