@@ -23,6 +23,7 @@ const Stream = require('stream');
2323const streamToArray = require ( 'stream-to-array' ) ;
2424const p = marklogic . planBuilder ;
2525const fs = require ( 'fs' ) ;
26+ const testlib = require ( "../etc/test-lib" ) ;
2627const tdeWriter = marklogic . createDatabaseClient ( {
2728 database : 'unittest-nodeapi-modules' ,
2829 host : 'localhost' ,
@@ -35,68 +36,37 @@ const tdeWriter = marklogic.createDatabaseClient({
3536let uris = new Set ( ) ;
3637let result = [ ] ;
3738const planFromBuilderTemplate = p . fromView ( 'soccer' , 'matches' , '' ) ;
39+ let serverConfiguration = { } ;
3840
39- describe . skip ( 'data movement rows-queryAll' , function ( ) {
41+ describe ( 'data movement rows-queryAll' , function ( ) {
4042 this . timeout ( 15000 ) ;
4143 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 ( ) ;
7349 }
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+ }
8755 } ) ;
8856
8957 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 ( ) ; }
10070 } ) ;
10171
10272 it ( 'should queryAll documents with onCompletion, batchSize and concurrentRequests options' , function ( done ) {
@@ -271,3 +241,51 @@ function verifyDocs(done){
271241 result = [ ] ;
272242 done ( ) ;
273243}
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