不要怂,就是干,撸起袖子干!

Commit 6b5634d7 by Mick Hansen

sleep is not working for sqlite for some reason

1 parent a67b59e3
Showing with 50 additions and 48 deletions
......@@ -22,59 +22,61 @@ describe(Support.getTestDialectTeaser("Sequelize#transaction"), function () {
.success(function() { done(); });
});
it('works for long running transactions', function(done) {
Support.prepareTransactionTest(this.sequelize, function(sequelize) {
var User = sequelize.define('User', {
name: Support.Sequelize.STRING
}, { timestamps: false });
return sequelize.sync({ force: true }).success(function() {
return sequelize.transaction();
}).then(function (t) {
expect(t).to.be.ok;
var query = 'select sleep(2);';
switch(Support.getTestDialect()) {
case 'postgres':
query = 'select pg_sleep(2);';
break;
case 'sqlite':
query = 'select sqlite3_sleep(2);';
break;
default:
break;
}
return sequelize.query(query, null, {
raw: true,
plain: true,
transaction: t
}).then(function() {
var dao = User.build({ name: 'foo' });
// this.QueryGenerator.insertQuery(tableName, values, dao.daoFactory.rawAttributes)
return query = sequelize
.getQueryInterface()
.QueryGenerator
.insertQuery(User.tableName, dao.values, User.rawAttributes);
}).then(function () {
return Promise.delay(1000);
}).then(function () {
if (Support.getTestDialect() !== 'sqlite') {
it('works for long running transactions', function(done) {
Support.prepareTransactionTest(this.sequelize, function(sequelize) {
var User = sequelize.define('User', {
name: Support.Sequelize.STRING
}, { timestamps: false });
return sequelize.sync({ force: true }).success(function() {
return sequelize.transaction();
}).then(function (t) {
expect(t).to.be.ok;
var query = 'select sleep(2);';
switch(Support.getTestDialect()) {
case 'postgres':
query = 'select pg_sleep(2);';
break;
case 'sqlite':
query = 'select sqlite3_sleep(2000);';
break;
default:
break;
}
return sequelize.query(query, null, {
raw: true,
plain: true,
transaction: t
}).then(function() {
var dao = User.build({ name: 'foo' });
// this.QueryGenerator.insertQuery(tableName, values, dao.daoFactory.rawAttributes)
return query = sequelize
.getQueryInterface()
.QueryGenerator
.insertQuery(User.tableName, dao.values, User.rawAttributes);
}).then(function () {
return Promise.delay(1000);
}).then(function () {
return sequelize.query(query, null, {
raw: true,
plain: true,
transaction: t
});
}).then(function () {
return t.commit();
});
}).then(function () {
return t.commit();
});
}).then(function() {
return User.all().success(function(users) {
expect(users.length).to.equal(1);
expect(users[0].name).to.equal('foo');
done();
});
}).catch(done);
}).then(function() {
return User.all().success(function(users) {
expect(users.length).to.equal(1);
expect(users[0].name).to.equal('foo');
done();
});
}).catch(done);
});
});
});
});
......
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!