Skip to content

Commit 9456b89

Browse files
committed
MLE-24825 Convert basic and complete dm removeAllUris tests to async/await.
1 parent d4f831d commit 9456b89

File tree

2 files changed

+203
-193
lines changed

2 files changed

+203
-193
lines changed

test-basic/documents-data-movement-removeAllUris.js

Lines changed: 107 additions & 91 deletions
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,8 @@ let removeStream = new Stream.PassThrough({objectMode: true});
1515
let uris = [];
1616

1717
describe('data movement removeAllUris', function() {
18-
this.timeout(15000);
19-
beforeEach(function (done) {
18+
beforeEach(async function() {
19+
this.timeout(15000);
2020
let readable = new Stream.Readable({objectMode: true});
2121
removeStream = new Stream.PassThrough({objectMode: true});
2222
uris = [];
@@ -33,142 +33,158 @@ describe('data movement removeAllUris', function() {
3333
readable.push(null);
3434
removeStream.push(null);
3535

36-
dbWriter.documents.writeAll(readable,{
37-
onCompletion: ((summary) => {
38-
done();
39-
})
36+
await new Promise((resolve, reject) => {
37+
dbWriter.documents.writeAll(readable, {
38+
onCompletion: (summary) => {
39+
resolve(summary);
40+
}
41+
});
4042
});
4143
});
4244

43-
it('should removeAllUris documents with onCompletion, concurrentRequests options', done => {
44-
dbWriter.documents.removeAllUris(removeStream,{
45-
concurrentRequests : {multipleOf:'hosts', multiplier:4},
46-
onCompletion: ((summary) => {
47-
try {
48-
summary.docsRemovedSuccessfully.should.be.equal(100);
49-
summary.docsFailedToBeRemoved.should.be.equal(0);
50-
summary.timeElapsed.should.be.greaterThanOrEqual(0);
51-
verifyDocs(done);
52-
} catch(err) {
53-
done(err);
54-
}
55-
})
45+
it('should removeAllUris documents with onCompletion, concurrentRequests options', async () => {
46+
const summary = await new Promise((resolve, reject) => {
47+
dbWriter.documents.removeAllUris(removeStream, {
48+
concurrentRequests: {multipleOf: 'hosts', multiplier: 4},
49+
onCompletion: ((summary) => {
50+
try {
51+
summary.docsRemovedSuccessfully.should.be.equal(100);
52+
summary.docsFailedToBeRemoved.should.be.equal(0);
53+
summary.timeElapsed.should.be.greaterThanOrEqual(0);
54+
resolve(summary);
55+
} catch (err) {
56+
reject(err);
57+
}
58+
})
59+
});
5660
});
61+
await verifyDocs();
5762
});
5863

59-
it('should removeAllUris documents with onBatchSuccess and batchSize options', done => {
60-
61-
dbWriter.documents.removeAllUris(removeStream, {
62-
onBatchSuccess: (function(progress, documents) {
63-
progress.docsRemovedSuccessfully.should.be.greaterThanOrEqual(10);
64-
progress.docsFailedToBeRemoved.should.be.equal(0);
65-
progress.timeElapsed.should.be.greaterThanOrEqual(0);
66-
documents.length.should.equal(10);
67-
}),
68-
batchSize:10,
69-
onCompletion: ((summary) => {
70-
summary.docsRemovedSuccessfully.should.be.equal(100);
71-
summary.docsFailedToBeRemoved.should.be.equal(0);
72-
summary.timeElapsed.should.be.greaterThanOrEqual(0);
73-
verifyDocs(done);
74-
})
64+
it('should removeAllUris documents with onBatchSuccess and batchSize options', async () => {
65+
await new Promise((resolve, reject) => {
66+
dbWriter.documents.removeAllUris(removeStream, {
67+
onBatchSuccess: (function (progress, documents) {
68+
try {
69+
progress.docsRemovedSuccessfully.should.be.greaterThanOrEqual(10);
70+
progress.docsFailedToBeRemoved.should.be.equal(0);
71+
progress.timeElapsed.should.be.greaterThanOrEqual(0);
72+
documents.length.should.equal(10);
73+
} catch (err) {
74+
reject(err);
75+
}
76+
}),
77+
batchSize: 10,
78+
onCompletion: ((summary) => {
79+
try {
80+
summary.docsRemovedSuccessfully.should.be.equal(100);
81+
summary.docsFailedToBeRemoved.should.be.equal(0);
82+
summary.timeElapsed.should.be.greaterThanOrEqual(0);
83+
resolve(summary);
84+
} catch (err) {
85+
reject(err);
86+
}
87+
})
88+
});
7589
});
90+
await verifyDocs();
7691
});
7792

78-
it('should throw error with invalid batchSize and inputKind as array option', function(done){
93+
it('should throw error with invalid batchSize and inputKind as array option', async function(){
7994
try{
80-
dbWriter.documents.removeAllUris(removeStream,{
95+
await dbWriter.documents.removeAllUris(removeStream,{
8196
batchSize:10,
8297
inputKind:'array'
8398
});
8499
} catch(err){
85100
err.toString().should.equal('Error: batchSize not expected when inputKind is array.');
86-
dbWriter.documents.remove(uris)
87-
.result(function(response) {done();})
88-
.catch(error => done(error));
101+
await dbWriter.documents.remove(uris).result();
89102
}
90103
});
91104

92-
it('should removeAllUris documents with inputKind as array', done => {
93-
105+
it('should removeAllUris documents with inputKind as array', async () => {
94106
removeStream = new Stream.Readable({objectMode: true});
95-
for(let i=0; i+10<=uris.length; i=i+10){
96-
removeStream.push(uris.slice(i,i+10));
107+
for (let i = 0; i + 10 <= uris.length; i = i + 10) {
108+
removeStream.push(uris.slice(i, i + 10));
97109
}
98110
removeStream.push(null);
99111

100-
dbWriter.documents.removeAllUris(removeStream,{
101-
inputKind:'aRRaY',
102-
onBatchSuccess: (function(progress, documents) {
103-
try{
104-
documents.length.should.equal(10);
105-
} catch(error){
106-
done(error);
107-
}
108-
}),
109-
onCompletion: ((summary) => {
110-
try{
111-
summary.docsRemovedSuccessfully.should.be.equal(100);
112-
summary.docsFailedToBeRemoved.should.be.equal(0);
113-
summary.timeElapsed.should.be.greaterThanOrEqual(0);
114-
verifyDocs(done);
115-
} catch(error){
116-
done(error);
117-
}
118-
})
112+
await new Promise((resolve, reject) => {
113+
dbWriter.documents.removeAllUris(removeStream, {
114+
inputKind: 'aRRaY',
115+
onBatchSuccess: (function (progress, documents) {
116+
try {
117+
documents.length.should.equal(10);
118+
} catch (error) {
119+
reject(error);
120+
}
121+
}),
122+
onCompletion: ((summary) => {
123+
try {
124+
summary.docsRemovedSuccessfully.should.be.equal(100);
125+
summary.docsFailedToBeRemoved.should.be.equal(0);
126+
summary.timeElapsed.should.be.greaterThanOrEqual(0);
127+
resolve(summary);
128+
} catch (error) {
129+
reject(error);
130+
}
131+
})
132+
});
119133
});
134+
await verifyDocs();
120135
});
121136

122-
it('should throw error with invalid concurrentRequests option', function(done){
137+
it('should throw error with invalid concurrentRequests option', async function(){
123138
try{
124-
dbWriter.documents.removeAllUris(removeStream,{
139+
await dbWriter.documents.removeAllUris(removeStream,{
125140
concurrentRequests: {multipleOf: 'invalid', multiplier: 4}
126141
});
127142
} catch(err){
128143
err.toString().should.equal('Error: Invalid value for multipleOf. Value must be forests or hosts.');
129-
dbWriter.documents.remove(uris)
130-
.result(function(response) {done();})
131-
.catch(error => done(error));
144+
await dbWriter.documents.remove(uris).result();
132145
}
133146
});
134147

135-
it('should queryToRemoveAll documents with onCompletion option', function(done){
136-
137-
dbWriter.documents.queryToRemoveAll(query,{
138-
onCompletion:((summary) => {
139-
summary.docsRemovedSuccessfully.should.be.equal(100);
140-
summary.docsFailedToBeRemoved.should.be.equal(0);
141-
summary.timeElapsed.should.be.greaterThanOrEqual(0);
142-
verifyDocs(done);
143-
})
148+
it('should queryToRemoveAll documents with onCompletion option', async function(){
149+
await new Promise((resolve, reject) => {
150+
dbWriter.documents.queryToRemoveAll(query, {
151+
onCompletion: ((summary) => {
152+
try {
153+
summary.docsRemovedSuccessfully.should.be.equal(100);
154+
summary.docsFailedToBeRemoved.should.be.equal(0);
155+
summary.timeElapsed.should.be.greaterThanOrEqual(0);
156+
resolve(summary);
157+
} catch (err) {
158+
reject(err);
159+
}
160+
})
161+
});
144162
});
163+
await verifyDocs();
145164
});
146165

147-
it('should queryToRemoveAll documents with onCompletion, concurrentRequestsas',
148-
done => {
149-
166+
it('should queryToRemoveAll documents with onCompletion, concurrentRequestsas', async () => {
167+
await new Promise((resolve, reject) => {
150168
dbWriter.documents.queryToRemoveAll(query, {
151-
concurrentRequests : {multipleOf:'hosts', multiplier:4},
169+
concurrentRequests: {multipleOf: 'hosts', multiplier: 4},
152170
onCompletion: ((summary) => {
153171
try {
154172
summary.docsRemovedSuccessfully.should.be.equal(100);
155173
summary.docsFailedToBeRemoved.should.be.equal(0);
156174
summary.timeElapsed.should.be.greaterThanOrEqual(0);
157-
verifyDocs(done);
158-
} catch(err) {
159-
done(err);
175+
resolve(summary);
176+
} catch (err) {
177+
reject(err);
160178
}
161179
})
162180
});
163181
});
182+
await verifyDocs();
183+
});
164184

165185
});
166186

167-
function verifyDocs(done){
168-
dbWriter.documents.read(uris)
169-
.result(function (documents) {
170-
documents.length.should.equal(0);
171-
})
172-
.then(()=> done())
173-
.catch(err=> done(err));
187+
async function verifyDocs(){
188+
const documents = await dbWriter.documents.read(uris).result();
189+
documents.length.should.equal(0);
174190
}

0 commit comments

Comments
 (0)