@@ -23,6 +23,7 @@ const Stream = require('stream');
23
23
const streamToArray = require ( 'stream-to-array' ) ;
24
24
const p = marklogic . planBuilder ;
25
25
const fs = require ( 'fs' ) ;
26
+ const testlib = require ( "../etc/test-lib" ) ;
26
27
const tdeWriter = marklogic . createDatabaseClient ( {
27
28
database : 'unittest-nodeapi-modules' ,
28
29
host : 'localhost' ,
@@ -35,68 +36,37 @@ const tdeWriter = marklogic.createDatabaseClient({
35
36
let uris = new Set ( ) ;
36
37
let result = [ ] ;
37
38
const planFromBuilderTemplate = p . fromView ( 'soccer' , 'matches' , '' ) ;
39
+ let serverConfiguration = { } ;
38
40
39
- describe . skip ( 'data movement rows-queryAll' , function ( ) {
41
+ describe ( 'data movement rows-queryAll' , function ( ) {
40
42
this . timeout ( 15000 ) ;
41
43
before ( function ( done ) {
42
- const view = [
43
- {
44
- uri :'/test/exporting-rows.xml' ,
45
- collections :[ 'http://marklogic.com/xdmp/tde' ] ,
46
- contentType :'application/xml' ,
47
- content :fs . createReadStream ( './test-basic/data/exportingRows.tdex' ) ,
48
- permissions : [
49
- { 'role-name' : 'rest-reader' , capabilities : [ 'read' ] } ,
50
- { 'role-name' : 'rest-writer' , capabilities : [ 'read' , 'update' , 'execute' ] }
51
- ]
52
- } ] ;
53
- tdeWriter . documents . write ( view )
54
- . result ( function ( response ) {
55
- let readable = new Stream . Readable ( { objectMode : true } ) ;
56
- for ( let i = 1 ; i <= 200 ; i ++ ) {
57
- let temp = {
58
- uri : '/test/dataMovement/requests/exporting-rows/' + i + '.xml' ,
59
- contentType : 'application/xml' ,
60
- content : '<?xml version="1.0" encoding="UTF-8"?>\n' +
61
- '<match>\n' +
62
- '<id>' + i + '</id>\n' +
63
- '<docUri>/test/dataMovement/requests/exporting-rows/' + i + '.xml</docUri>\n' +
64
- '<match-date>2016-10-12</match-date>\n' +
65
- '<league>Premier-' + i + '</league>\n' +
66
- '<score>\n' +
67
- '<home>' + i + '</home>\n' +
68
- '</score>\n' +
69
- '</match>'
70
- } ;
71
- uris . add ( temp . uri ) ;
72
- readable . push ( temp ) ;
44
+ try {
45
+ testlib . findServerConfiguration ( serverConfiguration ) ;
46
+ setTimeout ( ( ) => {
47
+ if ( serverConfiguration . serverVersion >= 12 ) {
48
+ this . skip ( ) ;
73
49
}
74
- readable . push ( null ) ;
75
- dbWriter . documents . writeAll ( readable , {
76
- defaultMetadata : {
77
- collections : [ 'source1' ] ,
78
- permissions : [
79
- { 'role-name' : 'rest-reader' , capabilities : [ 'read' ] } ,
80
- { 'role-name' : 'rest-writer' , capabilities : [ 'read' , 'update' ] }
81
- ] ,
82
- } , onCompletion : ( ( summary ) => {
83
- done ( ) ;
84
- } )
85
- } ) ;
86
- } ) ;
50
+ setUp ( done ) ;
51
+ } , 3000 ) ;
52
+ } catch ( error ) {
53
+ done ( error ) ;
54
+ }
87
55
} ) ;
88
56
89
57
after ( function ( done ) {
90
- const q = marklogic . queryBuilder ;
91
- const ctsQb = marklogic . ctsQueryBuilder ;
92
- const query = q . where ( ctsQb . cts . directoryQuery ( '/test/dataMovement/requests/exporting-rows/' ) ) ;
93
- dbWriter . documents . queryToRemoveAll ( query , {
94
- onCompletion : ( ( summary ) => {
95
- tdeWriter . documents . remove ( '/test/exporting-rows.xml' )
96
- . result ( function ( response ) { } )
97
- . then ( done ( ) ) ;
98
- } )
99
- } ) ;
58
+ if ( serverConfiguration . serverVersion < 12 ) {
59
+ const q = marklogic . queryBuilder ;
60
+ const ctsQb = marklogic . ctsQueryBuilder ;
61
+ const query = q . where ( ctsQb . cts . directoryQuery ( '/test/dataMovement/requests/exporting-rows/' ) ) ;
62
+ dbWriter . documents . queryToRemoveAll ( query , {
63
+ onCompletion : ( ( summary ) => {
64
+ tdeWriter . documents . remove ( '/test/exporting-rows.xml' )
65
+ . result ( function ( response ) { } )
66
+ . then ( done ( ) ) ;
67
+ } )
68
+ } ) ;
69
+ } else { done ( ) ; }
100
70
} ) ;
101
71
102
72
it ( 'should queryAll documents with onCompletion, batchSize and concurrentRequests options' , function ( done ) {
@@ -271,3 +241,51 @@ function verifyDocs(done){
271
241
result = [ ] ;
272
242
done ( ) ;
273
243
}
244
+
245
+ function setUp ( done ) {
246
+ const view = [
247
+ {
248
+ uri :'/test/exporting-rows.xml' ,
249
+ collections :[ 'http://marklogic.com/xdmp/tde' ] ,
250
+ contentType :'application/xml' ,
251
+ content :fs . createReadStream ( './test-basic/data/exportingRows.tdex' ) ,
252
+ permissions : [
253
+ { 'role-name' : 'rest-reader' , capabilities : [ 'read' ] } ,
254
+ { 'role-name' : 'rest-writer' , capabilities : [ 'read' , 'update' , 'execute' ] }
255
+ ]
256
+ } ] ;
257
+ tdeWriter . documents . write ( view )
258
+ . result ( function ( response ) {
259
+ let readable = new Stream . Readable ( { objectMode : true } ) ;
260
+ for ( let i = 1 ; i <= 200 ; i ++ ) {
261
+ let temp = {
262
+ uri : '/test/dataMovement/requests/exporting-rows/' + i + '.xml' ,
263
+ contentType : 'application/xml' ,
264
+ content : '<?xml version="1.0" encoding="UTF-8"?>\n' +
265
+ '<match>\n' +
266
+ '<id>' + i + '</id>\n' +
267
+ '<docUri>/test/dataMovement/requests/exporting-rows/' + i + '.xml</docUri>\n' +
268
+ '<match-date>2016-10-12</match-date>\n' +
269
+ '<league>Premier-' + i + '</league>\n' +
270
+ '<score>\n' +
271
+ '<home>' + i + '</home>\n' +
272
+ '</score>\n' +
273
+ '</match>'
274
+ } ;
275
+ uris . add ( temp . uri ) ;
276
+ readable . push ( temp ) ;
277
+ }
278
+ readable . push ( null ) ;
279
+ dbWriter . documents . writeAll ( readable , {
280
+ defaultMetadata : {
281
+ collections : [ 'source1' ] ,
282
+ permissions : [
283
+ { 'role-name' : 'rest-reader' , capabilities : [ 'read' ] } ,
284
+ { 'role-name' : 'rest-writer' , capabilities : [ 'read' , 'update' ] }
285
+ ] ,
286
+ } , onCompletion : ( ( summary ) => {
287
+ done ( ) ;
288
+ } )
289
+ } ) ;
290
+ } ) ;
291
+ }
0 commit comments