675ms
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
545ms
Then
A composition id should be returned by the API
000ms
And
Composition id should allow retrieval of composition in raw format
129ms
java.lang.AssertionError
at org.junit.Assert.fail(Assert.java:86)
at org.junit.Assert.assertTrue(Assert.java:41)
at org.junit.Assert.assertTrue(Assert.java:52)
at com.ethercis.vehr.CompositionAPISteps.getComposition(CompositionAPISteps.java:78)
at com.ethercis.vehr.CompositionAPISteps.compositionIdShouldAllowRetrievalOfCompositionInRawFormat(CompositionAPISteps.java:61)
at ✽.And Composition id should allow retrieval of composition in raw format(RestApiComposition.feature:21)
After
CompositionAPISteps.cleanUp()
008ms
After
QueryWithAqlSteps.cleanUp()
000ms
034ms
Scenario
Select data item using its archetype node id and name
Query compositions which contain data items that can can only be distinguished by their names.
The query uses [atXXXX,'data item name'] syntax in SELECT clause to select specific data items.
When
An AQL query that selects composition uids and data items is created
000ms
And
The data items are selected based on both archetype node id and name
032ms
Then
Data items with same node id should have different values if they have different names
000ms
java.lang.AssertionError: Values should be different. Actual: 2 puffs
at org.junit.Assert.fail(Assert.java:88)
at org.junit.Assert.failEquals(Assert.java:185)
at org.junit.Assert.assertNotEquals(Assert.java:161)
at org.junit.Assert.assertNotEquals(Assert.java:175)
at com.ethercis.vehr.AqlFeaturesSteps.lambda$dataItemsWithSameNodeIdShouldHaveDifferentValuesIfTheyHaveDifferentNames$4(AqlFeaturesSteps.java:180)
at java.util.ArrayList.forEach(ArrayList.java:1255)
at com.ethercis.vehr.AqlFeaturesSteps.dataItemsWithSameNodeIdShouldHaveDifferentValuesIfTheyHaveDifferentNames(AqlFeaturesSteps.java:179)
at ✽.Then Data items with same node id should have different values if they have different names(code4health/Aql.feature:113)
After
CompositionAPISteps.cleanUp()
023ms
After
QueryWithAqlSteps.cleanUp()
000ms
058ms
Scenario Outline
Select composition
A composition is queried. The composition sits under the EHR.
AQL query specifies EHR id, Composition archetype node id and instruction archetype node id.
The query uses WHERE clause to add Composition name as an extra criteria. The SELECT clause
selects the complete composition instance
When
A an AQL query that describes a composition under an EHR is created
000ms
And
The query contains EHR id criteria
000ms
And
Composition archetype id is openEHR-EHR-COMPOSITION.medication_list.v0
000ms
And
Composition name criteria using WHERE clause is Medication statement list
000ms
Then
The results should be composition instances
058ms
com.jayway.restassured.path.json.exception.JsonPathException: Failed to parse the JSON document
at com.jayway.restassured.path.json.JsonPath$ExceptionCatcher.invoke(JsonPath.java:928)
at com.jayway.restassured.path.json.JsonPath$4.doParseWith(JsonPath.java:893)
at com.jayway.restassured.path.json.JsonPath$JsonParser.parseWith(JsonPath.java:972)
at com.jayway.restassured.path.json.JsonPath.get(JsonPath.java:201)
at com.jayway.restassured.path.json.JsonPath.getString(JsonPath.java:351)
at com.ethercis.vehr.AqlFeaturesSteps.assertArchetypeNodeId(AqlFeaturesSteps.java:224)
at com.ethercis.vehr.AqlFeaturesSteps.lambda$theResultsShouldBeCompositionInstances$5(AqlFeaturesSteps.java:194)
at java.util.ArrayList.forEach(ArrayList.java:1255)
at com.ethercis.vehr.AqlFeaturesSteps.theResultsShouldBeCompositionInstances(AqlFeaturesSteps.java:193)
at ✽.Then The results should be composition instances(code4health/Aql.feature:125)
Caused by: java.lang.IllegalArgumentException: The JSON input text should neither be null nor empty.
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.runtime.callsite.ConstructorSite$ConstructorSiteNoUnwrapNoCoerce.callConstructor(ConstructorSite.java:105)
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.path.json.ConfigurableJsonSlurper.parseText(ConfigurableJsonSlurper.groovy:79)
at com.jayway.restassured.path.json.JsonPath$4$1.method(JsonPath.java:891)
at com.jayway.restassured.path.json.JsonPath$ExceptionCatcher.invoke(JsonPath.java:926)
at com.jayway.restassured.path.json.JsonPath$4.doParseWith(JsonPath.java:893)
at com.jayway.restassured.path.json.JsonPath$JsonParser.parseWith(JsonPath.java:972)
at com.jayway.restassured.path.json.JsonPath.get(JsonPath.java:201)
at com.jayway.restassured.path.json.JsonPath.getString(JsonPath.java:351)
at com.ethercis.vehr.AqlFeaturesSteps.assertArchetypeNodeId(AqlFeaturesSteps.java:224)
at com.ethercis.vehr.AqlFeaturesSteps.lambda$theResultsShouldBeCompositionInstances$5(AqlFeaturesSteps.java:194)
at java.util.ArrayList.forEach(ArrayList.java:1255)
at com.ethercis.vehr.AqlFeaturesSteps.theResultsShouldBeCompositionInstances(AqlFeaturesSteps.java:193)
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 cucumber.runtime.Utils$1.call(Utils.java:40)
at cucumber.runtime.Timeout.timeout(Timeout.java:16)
at cucumber.runtime.Utils.invoke(Utils.java:34)
at cucumber.runtime.java.JavaStepDefinition.execute(JavaStepDefinition.java:38)
at cucumber.runtime.StepDefinitionMatch.runStep(StepDefinitionMatch.java:37)
at cucumber.runtime.Runtime.runStep(Runtime.java:300)
at cucumber.runtime.model.StepContainer.runStep(StepContainer.java:44)
at cucumber.runtime.model.StepContainer.runSteps(StepContainer.java:39)
at cucumber.runtime.model.CucumberScenario.run(CucumberScenario.java:44)
at cucumber.runtime.junit.ExecutionUnitRunner.run(ExecutionUnitRunner.java:102)
at org.junit.runners.Suite.runChild(Suite.java:128)
at org.junit.runners.Suite.runChild(Suite.java:27)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)
at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
at cucumber.runtime.junit.ExamplesRunner.run(ExamplesRunner.java:59)
at org.junit.runners.Suite.runChild(Suite.java:128)
at org.junit.runners.Suite.runChild(Suite.java:27)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)
at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
at cucumber.runtime.junit.ScenarioOutlineRunner.run(ScenarioOutlineRunner.java:53)
at cucumber.runtime.junit.FeatureRunner.runChild(FeatureRunner.java:63)
at cucumber.runtime.junit.FeatureRunner.runChild(FeatureRunner.java:18)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)
at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
at cucumber.runtime.junit.FeatureRunner.run(FeatureRunner.java:70)
at cucumber.api.junit.Cucumber.runChild(Cucumber.java:95)
at cucumber.api.junit.Cucumber.runChild(Cucumber.java:38)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)
at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
at cucumber.api.junit.Cucumber.run(Cucumber.java:100)
at org.apache.maven.surefire.junit4.JUnit4Provider.execute(JUnit4Provider.java:369)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeWithRerun(JUnit4Provider.java:275)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:239)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:160)
at org.apache.maven.surefire.booter.ForkedBooter.invokeProviderInSameClassLoader(ForkedBooter.java:373)
at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:334)
at org.apache.maven.surefire.booter.ForkedBooter.execute(ForkedBooter.java:119)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:407)
After
CompositionAPISteps.cleanUp()
008ms
After
QueryWithAqlSteps.cleanUp()
000ms
089ms
Scenario Outline
Select instruction
A composition with an instruction is queried. The composition sits under the EHR.
AQL query specifies EHR id, Composition archetype node id and instruction archetype node id.
The query uses WHERE clause to add Composition name as an extra criteria. The SELECT clause
selects the complete instruction instance
When
A an AQL query that describes an instruction under an EHR is created
000ms
And
The query contains EHR id criteria
000ms
And
Composition archetype id is openEHR-EHR-COMPOSITION.medication_list.v0
000ms
And
Composition name criteria using WHERE clause is Medication statement list
000ms
And
Instruction archetype id is openEHR-EHR-INSTRUCTION.medication_order.v1
000ms
Then
The results should be instruction instances
088ms
java.lang.AssertionError: expected:<null> but was:<openEHR-EHR-INSTRUCTION.medication_order.v1>
at org.junit.Assert.fail(Assert.java:88)
at org.junit.Assert.failNotEquals(Assert.java:834)
at org.junit.Assert.assertEquals(Assert.java:118)
at org.junit.Assert.assertEquals(Assert.java:144)
at com.ethercis.vehr.AqlFeaturesSteps.assertArchetypeNodeId(AqlFeaturesSteps.java:225)
at com.ethercis.vehr.AqlFeaturesSteps.lambda$theResultsShouldBeInstructionInstances$6(AqlFeaturesSteps.java:216)
at java.util.ArrayList.forEach(ArrayList.java:1255)
at com.ethercis.vehr.AqlFeaturesSteps.theResultsShouldBeInstructionInstances(AqlFeaturesSteps.java:215)
at ✽.Then The results should be instruction instances(code4health/Aql.feature:142)
After
CompositionAPISteps.cleanUp()
009ms
After
QueryWithAqlSteps.cleanUp()
000ms