10
10
import com .marklogic .client .io .marker .AbstractWriteHandle ;
11
11
import com .marklogic .client .row .RowRecord ;
12
12
import com .marklogic .client .test .Common ;
13
+ import com .marklogic .client .test .MarkLogicVersion ;
13
14
import com .marklogic .client .test .junit5 .RequiresML11 ;
15
+ import org .junit .Before ;
16
+ import org .junit .jupiter .api .BeforeEach ;
14
17
import org .junit .jupiter .api .Test ;
15
18
import org .junit .jupiter .api .extension .ExtendWith ;
16
19
24
27
@ ExtendWith (RequiresML11 .class )
25
28
public class TransformDocTest extends AbstractOpticUpdateTest {
26
29
30
+ private String transformDocModule ;
31
+ private String transformMultipleDocsModule ;
32
+
33
+ @ BeforeEach
34
+ void beforeEach () {
35
+ boolean is12OrHigher = Common .getMarkLogicVersion ().getMajor () >= 12 ;
36
+ if (is12OrHigher ) {
37
+ transformDocModule = "/etc/optic/test/transformDoc-test-12.mjs" ;
38
+ transformMultipleDocsModule = "/etc/optic/test/transformDoc-multipleRows-12.mjs" ;
39
+ } else {
40
+ transformDocModule = "/etc/optic/test/transformDoc-test.mjs" ;
41
+ transformMultipleDocsModule = "/etc/optic/test/transformDoc-multipleRows.mjs" ;
42
+ }
43
+ }
44
+
27
45
@ Test
28
46
public void mjsTransformWithParam () {
29
47
ArrayNode rows = mapper .createArrayNode ();
@@ -32,7 +50,7 @@ public void mjsTransformWithParam() {
32
50
ModifyPlan plan = op
33
51
.fromParam ("myDocs" , "" , op .colTypes (op .colType ("doc" , "none" )))
34
52
.transformDoc (op .col ("doc" ),
35
- op .transformDef ("/etc/optic/test/transformDoc-test.mjs" )
53
+ op .transformDef (transformDocModule )
36
54
.withParam ("myParam" , "my value" ));
37
55
38
56
List <RowRecord > results = resultRows (plan .bindParam ("myDocs" , new JacksonHandle (rows )));
@@ -53,7 +71,7 @@ public void mjsTransformWithColParam() {
53
71
.joinDoc (op .col ("doc" ), op .col ("uri" ))
54
72
.transformDoc (
55
73
op .col ("doc" ),
56
- op .transformDef ("/etc/optic/test/transformDoc-test.mjs" )
74
+ op .transformDef (transformDocModule )
57
75
.withParam ("myColumnParam" , op .col ("uri" ))
58
76
.withParam ("myParam" , "test value" )
59
77
);
@@ -76,7 +94,7 @@ public void mjsTransformWithQualifiedColParam() {
76
94
.joinDoc (op .col ("doc" ), op .viewCol (qualifier , "uri" ))
77
95
.transformDoc (
78
96
op .col ("doc" ),
79
- op .transformDef ("/etc/optic/test/transformDoc-test.mjs" ).withParam ("myParam" , op .viewCol (qualifier , "uri" ))
97
+ op .transformDef (transformDocModule ).withParam ("myParam" , op .viewCol (qualifier , "uri" ))
80
98
);
81
99
82
100
List <RowRecord > rows = resultRows (plan );
@@ -96,7 +114,7 @@ public void mjsTransformWithoutParam() {
96
114
ModifyPlan plan = op
97
115
.fromParam ("myDocs" , "" , op .colTypes (op .colType ("doc" , "none" )))
98
116
.transformDoc (op .col ("doc" ),
99
- op .transformDef ("/etc/optic/test/transformDoc-test.mjs" ).withKind ("mjs" ));
117
+ op .transformDef (transformDocModule ).withKind ("mjs" ));
100
118
101
119
List <RowRecord > results = resultRows (plan .bindParam ("myDocs" , new JacksonHandle (rows )));
102
120
assertEquals (1 , results .size ());
@@ -113,7 +131,7 @@ public void mjsTransformReturnsMultipleRows() {
113
131
.fromDocDescriptors (
114
132
op .docDescriptor (newWriteOp ("will-be-replaced" , mapper .createObjectNode ().put ("hello" , "there" )))
115
133
)
116
- .transformDoc (op .col ("doc" ), op .transformDef ("/etc/optic/test/transformDoc-multipleRows.mjs" ))
134
+ .transformDoc (op .col ("doc" ), op .transformDef (transformMultipleDocsModule ))
117
135
.bind (op .as ("uri" , op .fn .concat (
118
136
op .xs .string ("/acme/" ),
119
137
op .xdmp .random (),
@@ -152,7 +170,7 @@ public void multipleJsonDocs() {
152
170
.fromDocUris ("/optic/test/musician1.json" , "/optic/test/musician2.json" )
153
171
.joinDoc (op .col ("doc" ), op .col ("uri" ))
154
172
.transformDoc (op .col ("doc" ),
155
- op .transformDef ("/etc/optic/test/transformDoc-test.mjs" ).withParam ("myParam" ,
173
+ op .transformDef (transformDocModule ).withParam ("myParam" ,
156
174
"my value" ));
157
175
158
176
List <RowRecord > results = resultRows (plan );
0 commit comments