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

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 () { ...@@ -22,59 +22,61 @@ describe(Support.getTestDialectTeaser("Sequelize#transaction"), function () {
.success(function() { done(); }); .success(function() { done(); });
}); });
it('works for long running transactions', function(done) { if (Support.getTestDialect() !== 'sqlite') {
Support.prepareTransactionTest(this.sequelize, function(sequelize) { it('works for long running transactions', function(done) {
var User = sequelize.define('User', { Support.prepareTransactionTest(this.sequelize, function(sequelize) {
name: Support.Sequelize.STRING var User = sequelize.define('User', {
}, { timestamps: false }); name: Support.Sequelize.STRING
}, { timestamps: false });
return sequelize.sync({ force: true }).success(function() {
return sequelize.transaction(); return sequelize.sync({ force: true }).success(function() {
}).then(function (t) { return sequelize.transaction();
expect(t).to.be.ok; }).then(function (t) {
var query = 'select sleep(2);'; expect(t).to.be.ok;
var query = 'select sleep(2);';
switch(Support.getTestDialect()) {
case 'postgres': switch(Support.getTestDialect()) {
query = 'select pg_sleep(2);'; case 'postgres':
break; query = 'select pg_sleep(2);';
case 'sqlite': break;
query = 'select sqlite3_sleep(2);'; case 'sqlite':
break; query = 'select sqlite3_sleep(2000);';
default: break;
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, { return sequelize.query(query, null, {
raw: true, raw: true,
plain: true, plain: true,
transaction: t 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 () { }).then(function() {
return t.commit(); return User.all().success(function(users) {
}); expect(users.length).to.equal(1);
}).then(function() { expect(users[0].name).to.equal('foo');
return User.all().success(function(users) { done();
expect(users.length).to.equal(1); });
expect(users[0].name).to.equal('foo'); }).catch(done);
done(); });
});
}).catch(done);
}); });
}); });
}); });
......
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!