loopback-connector/test/connectors/test-sql-connector.js

50 lines
1.1 KiB
JavaScript

/*
* A mockup connector that extends SQL connector
*/
var util = require('util');
var SqlConnector = require('../../lib/sql');
exports.initialize = function initializeDataSource(dataSource, callback) {
process.nextTick(function() {
if(callback) {
var connector = new TestConnector();
connector.dataSource = dataSource;
dataSource.connector = connector;
callback(null, connector);
}
});
};
function TestConnector() {
SqlConnector.apply(this, [].slice.call(arguments));
this._tables = {};
}
util.inherits(TestConnector, SqlConnector);
TestConnector.prototype.dropTable = function(model, cb) {
var err;
var exists = model in this._tables;
if (!exists) {
err = new Error('Model doesn\'t exist: ' + model);
} else {
delete this._tables[model];
}
process.nextTick(function() {
cb(err);
});
};
TestConnector.prototype.createTable = function(model, cb) {
var err;
var exists = model in this._tables;
if (exists) {
err = new Error('Model already exists: ' + model);
} else {
this._tables[model] = model;
}
process.nextTick(function() {
cb(err);
});
};