Skip to content

Commit c9b6393

Browse files
author
ehennum
committed
in skip case, guarantee that error is thrown #1250
1 parent 3801a29 commit c9b6393

File tree

2 files changed

+13
-11
lines changed

2 files changed

+13
-11
lines changed

marklogic-client-api/src/test/java/com/marklogic/client/test/dataservices/ErrorListenerInputOutputEndpointTest.java

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -55,10 +55,10 @@ public void testInputOutputCallerWithRetry() {
5555

5656

5757
String endpointState = "{\"next\":1}";
58-
String endpointConstants = "{\"errorOnMax\":false, \"max\":4,\"collection\":\"bulkInputOutputTest_1\"}";
58+
String endpointConstants = "{\"collection\":\"bulkInputOutputTest_1\"}";
5959

6060
String endpointState1 = "{\"next\":1}";
61-
String endpointConstants1 = "{\"errorOnMax\":false, \"max\":4,\"collection\":\"bulkInputOutputTest_2\"}";
61+
String endpointConstants1 = "{\"collection\":\"bulkInputOutputTest_2\"}";
6262
Set<String> input = IOTestUtil.setOf(
6363
"{\"docNum\":1, \"docName\":\"doc1\"}",
6464
"{\"docNum\":2, \"docName\":\"doc2\"}",
@@ -113,10 +113,10 @@ public void testInputOutputCallerWithSkip() {
113113

114114

115115
String endpointState = "{\"next\":1}";
116-
String endpointConstants = "{\"errorOnMax\":false, \"max\":4,\"collection\":\"bulkInputOutputTest_1\"}";
116+
String endpointConstants = "{\"errorMin\":5,\"errorMax\":9,\"collection\":\"bulkInputOutputTest_1\"}";
117117

118118
String endpointState1 = "{\"next\":1}";
119-
String endpointConstants1 = "{\"errorOnMax\":false, \"max\":4,\"collection\":\"bulkInputOutputTest_2\"}";
119+
String endpointConstants1 = "{\"errorMin\":5,\"errorMax\":9,\"collection\":\"bulkInputOutputTest_2\"}";
120120
Set<String> input = IOTestUtil.setOf(
121121
"{\"docNum\":1, \"docName\":\"doc1\"}",
122122
"{\"docNum\":2, \"docName\":\"doc2\"}",
@@ -167,10 +167,10 @@ public void testInputOutputCallerWithStop() throws IOException {
167167

168168

169169
String endpointState = "{\"next\":1}";
170-
String endpointConstants = "{\"errorOnMax\":true, \"max\":4,\"collection\":\"bulkInputOutputTest_1\"}";
170+
String endpointConstants = "{\"errorMin\":5,\"errorMax\":9,\"collection\":\"bulkInputOutputTest_1\"}";
171171

172172
String endpointState1 = "{\"next\":1}";
173-
String endpointConstants1 = "{\"errorOnMax\":true, \"max\":4,\"collection\":\"bulkInputOutputTest_2\"}";
173+
String endpointConstants1 = "{\"errorMin\":5,\"errorMax\":9,\"collection\":\"bulkInputOutputTest_2\"}";
174174
Set<String> input = IOTestUtil.setOf(
175175
"{\"docNum\":1, \"docName\":\"doc1\"}",
176176
"{\"docNum\":2, \"docName\":\"doc2\"}",

marklogic-client-api/src/test/resources/dataservices/errorListenerBulkIOInputOutputCaller.sjs

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -6,20 +6,22 @@ var input; // jsonDocument*
66
const inputCount = fn.count(input);
77

88
const work = fn.head(xdmp.fromJSON(endpointConstants));
9-
109
const state = fn.head(xdmp.fromJSON(endpointState));
11-
state.next = state.next + inputCount;
1210

13-
state.workMax = work.max;
11+
const errorMin = work.errorMin;
12+
const errorMax = work.errorMax;
13+
const inErrorRange = (0 < errorMin && 0 < errorMax && errorMin <= state.next && state.next < errorMax);
14+
15+
state.next = state.next + inputCount;
1416

1517
const inputs =
1618
(input instanceof Sequence) ? input.toArray().map(item => fn.head(xdmp.fromJSON(item))) :
1719
(input instanceof Document) ? [fn.head(xdmp.fromJSON(input))] :
1820
[ {UNKNOWN: input} ];
1921

2022
//console.log(work.collection + ": state.next = " + state.next);
21-
var ranInt = Math.floor(Math.random() * Math.floor(2));
22-
if ((ranInt == 1 && work.collection == "bulkInputOutputTest_1") || (work.errorOnMax === true && state.next > work.max)) {
23+
var ranInt = inErrorRange ? 1 : Math.floor(Math.random() * Math.floor(2));
24+
if (ranInt == 1 && work.collection == "bulkInputOutputTest_1") {
2325
//console.log(work.collection + ': ' + "state.next = " + state.next + ", ranInt = " + ranInt);
2426
fn.error(xs.QName("ERROR"), "Exception");
2527
}

0 commit comments

Comments
 (0)