775ms
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
623ms
Then
A composition id should be returned by the API
000ms
And
Composition id should allow retrieval of composition in raw format
151ms
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:88)
at com.ethercis.vehr.CompositionAPISteps.compositionIdShouldAllowRetrievalOfCompositionInRawFormat(CompositionAPISteps.java:71)
at ✽.And Composition id should allow retrieval of composition in raw format(RestApiComposition.feature:21)
After
CompositionAPISteps.cleanUp()
013ms
After
QueryWithAqlSteps.cleanUp()
000ms
After
AqlFeaturesSteps.cleanUp()
000ms
041ms
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
039ms
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:207)
at java.util.ArrayList.forEach(ArrayList.java:1255)
at com.ethercis.vehr.AqlFeaturesSteps.dataItemsWithSameNodeIdShouldHaveDifferentValuesIfTheyHaveDifferentNames(AqlFeaturesSteps.java:206)
at ✽.Then Data items with same node id should have different values if they have different names(code4health/Aql.feature:114)
After
CompositionAPISteps.cleanUp()
004ms
After
QueryWithAqlSteps.cleanUp()
000ms
After
AqlFeaturesSteps.cleanUp()
000ms
116ms
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
115ms
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.extractArchetypeNodeId(AqlFeaturesSteps.java:256)
at com.ethercis.vehr.AqlFeaturesSteps.assertArchetypeNodeId(AqlFeaturesSteps.java:249)
at com.ethercis.vehr.AqlFeaturesSteps.lambda$theResultsShouldBeCompositionInstances$5(AqlFeaturesSteps.java:221)
at java.util.ArrayList.forEach(ArrayList.java:1255)
at com.ethercis.vehr.AqlFeaturesSteps.theResultsShouldBeCompositionInstances(AqlFeaturesSteps.java:220)
at ✽.Then The results should be composition instances(code4health/Aql.feature:126)
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.extractArchetypeNodeId(AqlFeaturesSteps.java:256)
at com.ethercis.vehr.AqlFeaturesSteps.assertArchetypeNodeId(AqlFeaturesSteps.java:249)
at com.ethercis.vehr.AqlFeaturesSteps.lambda$theResultsShouldBeCompositionInstances$5(AqlFeaturesSteps.java:221)
at java.util.ArrayList.forEach(ArrayList.java:1255)
at com.ethercis.vehr.AqlFeaturesSteps.theResultsShouldBeCompositionInstances(AqlFeaturesSteps.java:220)
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()
009ms
After
QueryWithAqlSteps.cleanUp()
000ms
After
AqlFeaturesSteps.cleanUp()
000ms
094ms
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
093ms
java.lang.AssertionError: expected:<openEHR-EHR-INSTRUCTION.medication_order.v1> but was:<null>
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:250)
at com.ethercis.vehr.AqlFeaturesSteps.lambda$theResultsShouldBeInstructionInstances$6(AqlFeaturesSteps.java:243)
at java.util.ArrayList.forEach(ArrayList.java:1255)
at com.ethercis.vehr.AqlFeaturesSteps.theResultsShouldBeInstructionInstances(AqlFeaturesSteps.java:242)
at ✽.Then The results should be instruction instances(code4health/Aql.feature:143)
After
CompositionAPISteps.cleanUp()
012ms
After
QueryWithAqlSteps.cleanUp()
000ms
After
AqlFeaturesSteps.cleanUp()
000ms
050ms
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.request.v1
000ms
And
Composition name criteria using WHERE clause is Laboratory order
000ms
And
Instruction archetype id is openEHR-EHR-INSTRUCTION.request-lab_test.v1
000ms
Then
The results should be instruction instances
050ms
java.lang.AssertionError: expected:<openEHR-EHR-INSTRUCTION.request-lab_test.v1> but was:<null>
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:250)
at com.ethercis.vehr.AqlFeaturesSteps.lambda$theResultsShouldBeInstructionInstances$6(AqlFeaturesSteps.java:243)
at java.util.ArrayList.forEach(ArrayList.java:1255)
at com.ethercis.vehr.AqlFeaturesSteps.theResultsShouldBeInstructionInstances(AqlFeaturesSteps.java:242)
at ✽.Then The results should be instruction instances(code4health/Aql.feature:143)
After
CompositionAPISteps.cleanUp()
004ms
After
QueryWithAqlSteps.cleanUp()
000ms
After
AqlFeaturesSteps.cleanUp()
000ms
046ms
Scenario Outline
Select observation
A composition with an observation is queried. The composition sits under the EHR.
AQL query specifies EHR id, Composition archetype node id and observation archetype node id.
The query uses WHERE clause to add Composition name as an extra criteria. The SELECT clause
selects the complete observation instance
When
A an AQL query that describes an observation under an EHR is created
000ms
And
The query contains EHR id criteria
000ms
And
The Composition archetype id is openEHR-EHR-COMPOSITION.encounter.v1
000ms
And
Composition name criteria using WHERE clause is Vital Signs Observations
000ms
And
Observation archetype id is openEHR-EHR-OBSERVATION.respiration.v1
000ms
Then
The results should be observation instances
045ms
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.extractArchetypeNodeId(AqlFeaturesSteps.java:256)
at com.ethercis.vehr.AqlFeaturesSteps.assertArchetypeNodeId(AqlFeaturesSteps.java:249)
at com.ethercis.vehr.AqlFeaturesSteps.lambda$theResultsShouldBeObservationInstances$9(AqlFeaturesSteps.java:328)
at java.util.ArrayList.forEach(ArrayList.java:1255)
at com.ethercis.vehr.AqlFeaturesSteps.theResultsShouldBeObservationInstances(AqlFeaturesSteps.java:327)
at ✽.Then The results should be observation instances(code4health/Aql.feature:177)
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.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.extractArchetypeNodeId(AqlFeaturesSteps.java:256)
at com.ethercis.vehr.AqlFeaturesSteps.assertArchetypeNodeId(AqlFeaturesSteps.java:249)
at com.ethercis.vehr.AqlFeaturesSteps.lambda$theResultsShouldBeObservationInstances$9(AqlFeaturesSteps.java:328)
at java.util.ArrayList.forEach(ArrayList.java:1255)
at com.ethercis.vehr.AqlFeaturesSteps.theResultsShouldBeObservationInstances(AqlFeaturesSteps.java:327)
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()
010ms
After
QueryWithAqlSteps.cleanUp()
000ms
After
AqlFeaturesSteps.cleanUp()
000ms
207ms
Scenario
Select instruction under section
A composition with a section is queried. The section contains an instruction.
The composition sits under the EHR.
The SELECT clause includes the complete instruction instance
When
A an AQL query that describes an instruction under a section is created
001ms
Then
The results should include instruction instances
206ms
java.lang.NullPointerException
at com.ethercis.vehr.AqlFeaturesSteps.assertArchetypeNodeIdPrefix(AqlFeaturesSteps.java:263)
at com.ethercis.vehr.AqlFeaturesSteps.lambda$theResultsShouldIncludeInstructionInstances$10(AqlFeaturesSteps.java:348)
at java.util.ArrayList.forEach(ArrayList.java:1255)
at com.ethercis.vehr.AqlFeaturesSteps.theResultsShouldIncludeInstructionInstances(AqlFeaturesSteps.java:347)
at ✽.Then The results should include instruction instances(code4health/Aql.feature:189)
After
CompositionAPISteps.cleanUp()
007ms
After
QueryWithAqlSteps.cleanUp()
000ms
After
AqlFeaturesSteps.cleanUp()
000ms
110ms
Scenario
Select observation under section
A composition with a section is queried. The section contains an observation.
The composition sits under the EHR.
The SELECT clause includes the complete observation instance
When
A an AQL query that describes an observation under a section is created
000ms
Then
The results should include observation instances
110ms
java.lang.NullPointerException
at com.ethercis.vehr.AqlFeaturesSteps.assertArchetypeNodeIdPrefix(AqlFeaturesSteps.java:263)
at com.ethercis.vehr.AqlFeaturesSteps.lambda$theResultsShouldIncludeObservationInstances$11(AqlFeaturesSteps.java:362)
at java.util.ArrayList.forEach(ArrayList.java:1255)
at com.ethercis.vehr.AqlFeaturesSteps.theResultsShouldIncludeObservationInstances(AqlFeaturesSteps.java:361)
at ✽.Then The results should include observation instances(code4health/Aql.feature:205)
After
CompositionAPISteps.cleanUp()
004ms
After
QueryWithAqlSteps.cleanUp()
000ms
After
AqlFeaturesSteps.cleanUp()
000ms
130ms
Scenario
Select action under section
A composition with a section is queried. The section contains an action.
The composition sits under the EHR.
The SELECT clause includes the complete action instance
When
A an AQL query that describes an action under a section is created
000ms
Then
The results should include action instances
130ms
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.getList(JsonPath.java:374)
at com.ethercis.vehr.RestAPIBackgroundSteps.extractAqlResults(RestAPIBackgroundSteps.java:252)
at com.ethercis.vehr.AqlFeaturesSteps.theResultsShouldIncludeActionInstances(AqlFeaturesSteps.java:372)
at ✽.Then The results should include action instances(code4health/Aql.feature:213)
Caused by: groovy.json.JsonException: Lexing failed on line: 1, column: 1, while reading '<', no possible valid JSON value or punctuation could be recognized.
at groovy.json.JsonLexer.nextToken(JsonLexer.java:85)
at groovy.json.JsonLexer$nextToken.call(Unknown Source)
at com.jayway.restassured.internal.path.json.ConfigurableJsonSlurper.parse(ConfigurableJsonSlurper.groovy:96)
at com.jayway.restassured.internal.path.json.ConfigurableJsonSlurper$parse.callCurrent(Unknown Source)
at com.jayway.restassured.internal.path.json.ConfigurableJsonSlurper.parseText(ConfigurableJsonSlurper.groovy:82)
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.getList(JsonPath.java:374)
at com.ethercis.vehr.RestAPIBackgroundSteps.extractAqlResults(RestAPIBackgroundSteps.java:252)
at com.ethercis.vehr.AqlFeaturesSteps.theResultsShouldIncludeActionInstances(AqlFeaturesSteps.java:372)
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 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()
006ms
After
QueryWithAqlSteps.cleanUp()
000ms
After
AqlFeaturesSteps.cleanUp()
000ms
10s 408ms
Scenario
Query after data volume increases
A composition with a section and and entry subtype under the section is queried.
The EHR is also included in the query.
The query does not use any EHR ids, archetype ids or archetype names. Therefore it is
a purely structural population query. The query returns instances of entry subtype.
After the query returns, more data is inserted and the query is repeated. The
query returns a larger result set.
When
An aql query that describes an EHR/COMPOSITION/SECTION/ENTRY structure is created
000ms
And
The results include ENTRY instances
063ms
And
More data is inserted
10s 281ms
And
The AQL query is repeated
063ms
Then
A larger result set should be returned
000ms
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.AqlFeaturesSteps.aLargerResultSetShouldBeReturned(AqlFeaturesSteps.java:408)
at ✽.Then A larger result set should be returned(code4health/Aql.feature:236)
After
CompositionAPISteps.cleanUp()
004ms
After
QueryWithAqlSteps.cleanUp()
000ms
After
AqlFeaturesSteps.cleanUp()
000ms