mirror of
https://github.com/wassname/HackFlowy.git
synced 2026-08-16 11:14:09 +08:00
Initial work on the server
This commit is contained in:
+55
@@ -0,0 +1,55 @@
|
||||
var common = require('../../common');
|
||||
var connection = common.createConnection();
|
||||
var assert = require('assert');
|
||||
|
||||
common.useTestDb(connection);
|
||||
|
||||
var table = 'load_data_test';
|
||||
connection.query([
|
||||
'CREATE TEMPORARY TABLE `' + table + '` (',
|
||||
'`id` int(11) unsigned NOT NULL AUTO_INCREMENT,',
|
||||
'`title` varchar(255),',
|
||||
'PRIMARY KEY (`id`)',
|
||||
') ENGINE=InnoDB DEFAULT CHARSET=utf8'
|
||||
].join('\n'));
|
||||
|
||||
var path = common.fixtures + '/data.csv';
|
||||
var sql =
|
||||
'LOAD DATA LOCAL INFILE ? INTO TABLE ' + table + ' ' +
|
||||
'FIELDS TERMINATED BY ? (id, title)';
|
||||
|
||||
var ok;
|
||||
connection.query(sql, [path, ','], function(err, _ok) {
|
||||
if (err) throw err;
|
||||
|
||||
ok = _ok;
|
||||
});
|
||||
|
||||
var rows;
|
||||
connection.query('SELECT * FROM ' + table, function(err, _rows) {
|
||||
if (err) throw err;
|
||||
|
||||
rows = _rows;
|
||||
});
|
||||
|
||||
// Try to load a file that does not exist to see if we handle this properly
|
||||
var loadErr;
|
||||
var loadResult;
|
||||
var badPath = common.fixtures + '/does_not_exist.csv';
|
||||
|
||||
connection.query(sql, [badPath, ','], function(err, result) {
|
||||
loadErr = err;
|
||||
loadResult = result;
|
||||
});
|
||||
|
||||
connection.end();
|
||||
|
||||
process.on('exit', function() {
|
||||
assert.equal(ok.affectedRows, 3);
|
||||
assert.equal(rows.length, 3);
|
||||
assert.equal(rows[0].id, 1);
|
||||
assert.equal(rows[0].title, 'Hello World');
|
||||
|
||||
assert.equal(loadErr.code, 'ENOENT');
|
||||
assert.equal(loadResult.affectedRows, 0);
|
||||
});
|
||||
Reference in New Issue
Block a user