Skip to content

Commit

Permalink
Merge pull request #6816 from Fonger/improve-ci-test
Browse files Browse the repository at this point in the history
greatly improve travis-ci pass rate
  • Loading branch information
vkarpov15 authored Aug 6, 2018
2 parents 9970bb2 + 6e36905 commit 679279c
Show file tree
Hide file tree
Showing 3 changed files with 67 additions and 82 deletions.
2 changes: 1 addition & 1 deletion test/aggregate.test.js
Original file line number Diff line number Diff line change
Expand Up @@ -1208,7 +1208,7 @@ describe('aggregate: ', function() {
cursor().
exec().
eachAsync(checkDoc, { parallel: 2}).then(function() {
assert.ok(Date.now() - startedAt[1] > 100);
assert.ok(Date.now() - startedAt[1] >= 100);
assert.equal(startedAt.length, 2);
assert.ok(startedAt[1] - startedAt[0] < 50);
assert.deepEqual(names.sort(), expectedNames);
Expand Down
145 changes: 65 additions & 80 deletions test/model.querying.test.js
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,6 @@ describe('model: querying:', function() {
});

mongoose.model('BlogPostB', BlogPostB);
collection = 'blogposts_' + random();

ModSchema = new Schema({
num: Number,
Expand Down Expand Up @@ -84,6 +83,11 @@ describe('model: querying:', function() {
db.close(done);
});

beforeEach(function() {
// use different collection name in every test to avoid conflict (gh-6816)
collection = 'blogposts_' + random();
});

it('find returns a Query', function(done) {
var BlogPostB = db.model('BlogPostB', collection);

Expand Down Expand Up @@ -1856,6 +1860,7 @@ describe('model: querying:', function() {

Test.create(docA, docB, docC, function(err, a, b, c) {
assert.ifError(err);
if (err) return done(err);
assert.equal(b.block.toString('utf8'), 'buffer shtuffs are neat');
assert.equal(a.block.toString('utf8'), 'über');
assert.equal(c.block.toString('utf8'), 'hello world');
Expand Down Expand Up @@ -1911,89 +1916,69 @@ describe('model: querying:', function() {
var docC = {name: 'C', block: new MongooseBuffer('aGVsbG8gd29ybGQ=', 'base64')};

Test.create(docA, docB, docC, function(err, a, b, c) {
assert.ifError(err);
assert.equal(a.block.toString('utf8'), 'über');
assert.equal(b.block.toString('utf8'), 'buffer shtuffs are neat');
assert.equal(c.block.toString('utf8'), 'hello world');

Test.find({block: {$in: [[195, 188, 98, 101, 114], 'buffer shtuffs are neat', new Buffer('aGVsbG8gd29ybGQ=', 'base64')]}}, function(err, tests) {
cb();
assert.ifError(err);
assert.equal(tests.length, 3);
});

Test.find({block: {$in: ['über', 'hello world']}}, function(err, tests) {
cb();
assert.ifError(err);
assert.equal(tests.length, 2);
});

Test.find({block: {$in: ['über']}}, function(err, tests) {
cb();
assert.ifError(err);
assert.equal(tests.length, 1);
assert.equal(tests[0].block.toString('utf8'), 'über');
});

Test.find({block: {$nin: ['über']}}, function(err, tests) {
cb();
assert.ifError(err);
assert.equal(tests.length, 2);
});

Test.find({block: {$nin: [[195, 188, 98, 101, 114], new Buffer('aGVsbG8gd29ybGQ=', 'base64')]}}, function(err, tests) {
cb();
assert.ifError(err);
assert.equal(tests.length, 1);
assert.equal(tests[0].block.toString('utf8'), 'buffer shtuffs are neat');
});

Test.find({block: {$ne: 'über'}}, function(err, tests) {
cb();
assert.ifError(err);
assert.equal(tests.length, 2);
});

Test.find({block: {$gt: 'über'}}, function(err, tests) {
cb();
assert.ifError(err);
assert.equal(tests.length, 2);
});
if (err) return done(err);

Test.find({block: {$gte: 'über'}}, function(err, tests) {
cb();
assert.ifError(err);
assert.equal(tests.length, 3);
});

Test.find({block: {$lt: new Buffer('buffer shtuffs are neat')}}, function(err, tests) {
cb();
assert.ifError(err);
assert.equal(tests.length, 2);
var ret = {};
ret[tests[0].block.toString('utf8')] = 1;
ret[tests[1].block.toString('utf8')] = 1;

assert.ok(ret['über'] !== undefined);
});
co(function*() {
assert.equal(a.block.toString('utf8'), 'über');
assert.equal(b.block.toString('utf8'), 'buffer shtuffs are neat');
assert.equal(c.block.toString('utf8'), 'hello world');

Test.find({block: {$lte: 'buffer shtuffs are neat'}}, function(err, tests) {
cb();
assert.ifError(err);
assert.equal(tests.length, 3);
});
let testPromises = [
Test.find({block: {$in: [[195, 188, 98, 101, 114], 'buffer shtuffs are neat', new Buffer('aGVsbG8gd29ybGQ=', 'base64')]}}, function(err, tests) {
assert.ifError(err);
assert.equal(tests.length, 3);
}),
Test.find({block: {$in: ['über', 'hello world']}}, function(err, tests) {
assert.ifError(err);
assert.equal(tests.length, 2);
}),
Test.find({block: {$in: ['über']}}, function(err, tests) {
assert.ifError(err);
assert.equal(tests.length, 1);
assert.equal(tests[0].block.toString('utf8'), 'über');
}),
Test.find({block: {$nin: ['über']}}, function(err, tests) {
assert.ifError(err);
assert.equal(tests.length, 2);
}),
Test.find({block: {$nin: [[195, 188, 98, 101, 114], new Buffer('aGVsbG8gd29ybGQ=', 'base64')]}}, function(err, tests) {
assert.ifError(err);
assert.equal(tests.length, 1);
assert.equal(tests[0].block.toString('utf8'), 'buffer shtuffs are neat');
}),
Test.find({block: {$ne: 'über'}}, function(err, tests) {
assert.ifError(err);
assert.equal(tests.length, 2);
}),
Test.find({block: {$gt: 'über'}}, function(err, tests) {
assert.ifError(err);
assert.equal(tests.length, 2);
}),
Test.find({block: {$gte: 'über'}}, function(err, tests) {
assert.ifError(err);
assert.equal(tests.length, 3);
}),
Test.find({block: {$lt: new Buffer('buffer shtuffs are neat')}}, function(err, tests) {
assert.ifError(err);
assert.equal(tests.length, 2);
var ret = {};
ret[tests[0].block.toString('utf8')] = 1;
ret[tests[1].block.toString('utf8')] = 1;

assert.ok(ret['über'] !== undefined);
}),
Test.find({block: {$lte: 'buffer shtuffs are neat'}}, function(err, tests) {
assert.ifError(err);
assert.equal(tests.length, 3);
})
];

var pending = 9;
// run all of the tests in parallel
yield testPromises;
yield Test.remove({});

function cb() {
if (--pending) {
return;
}
Test.remove({}, function(err) {
assert.ifError(err);
done();
});
}
done();
}).catch(done);
});
});

Expand Down
2 changes: 1 addition & 1 deletion test/query.cursor.test.js
Original file line number Diff line number Diff line change
Expand Up @@ -329,7 +329,7 @@ describe('QueryCursor', function() {
};
};
cursor.eachAsync(checkDoc, { parallel: 2 }).then(function() {
assert.ok(Date.now() - startedAt[1] > 100);
assert.ok(Date.now() - startedAt[1] >= 100);
assert.equal(startedAt.length, 2);
assert.ok(startedAt[1] - startedAt[0] < 50);
assert.deepEqual(names.sort(), ['Axl', 'Slash']);
Expand Down

0 comments on commit 679279c

Please sign in to comment.