Changeset: 0503a62a1ce6 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=0503a62a1ce6
Modified Files:
clients/nodejs/Tests/nodetest.js
Branch: default
Log Message:
Node.JS connector: test case
diffs (122 lines):
diff --git a/clients/nodejs/Tests/nodetest.js b/clients/nodejs/Tests/nodetest.js
--- a/clients/nodejs/Tests/nodetest.js
+++ b/clients/nodejs/Tests/nodetest.js
@@ -5,24 +5,21 @@ var dbport = parseInt(process.argv[2]);
var dbname = process.argv[3];
/* lets first check some failing connection attempts */
-monetdb.connect({host:'veryinvalidhostnamethathopefullyresolvesnowhere'},
function(resp) {
- assert.equal(false,resp.success);
- assert(resp.message.trim().length > 0);
+monetdb.connect({host:'veryinvalidhostnamethathopefullyresolvesnowhere'},
function(err) {
+ assert(err);
});
-monetdb.connect({dbname:'nonexist', port:dbport}, function(resp) {
- assert.equal(false,resp.success);
- assert(resp.message.trim().length > 0);
+monetdb.connect({dbname:'nonexist', port:dbport}, function(err) {
+ assert(err);
});
-monetdb.connect({dbname:dbname, user:'nonexist', port:dbport}, function(resp) {
- assert.equal(false,resp.success);
- assert(resp.message.trim().length > 0);
+monetdb.connect({dbname:dbname, user:'nonexist', port:dbport}, function(err) {
+ assert(err);
});
/* now actually connect */
-var conn = monetdb.connect({dbname:dbname, port:dbport}, function(resp) {
- assert.equal(true,resp.success);
+var conn = monetdb.connect({dbname:dbname, port:dbport, debug: false},
function(err) {
+ assert.equal(null, err);
});
@@ -32,8 +29,8 @@ conn.query('start transaction');
conn.query('create table foo(a int, b float, c clob)');
conn.query("insert into foo values
(42,4.2,'42'),(43,4.3,'43'),(44,4.4,'44'),(45,4.5,'45')");
-conn.query('select * from foo', function(res) {
- assert.equal(true, res.success);
+conn.query('select * from foo', function(err, res) {
+ assert.equal(null, err);
assert.equal('table', res.type);
assert.equal(4, res.rows);
@@ -53,7 +50,7 @@ conn.query('select * from foo', function
conn.query('delete from foo; drop table foo; rollback');
-/* query that will force multi-block operations */
+/* query that will stress multi-block operations */
function rep(str,n) {
ret = '';
for (var i = 0; i< n; i++) {
@@ -61,26 +58,52 @@ function rep(str,n) {
}
return ret;
}
-var longstr = rep('ABCDEFGHIJKLMNOP', 10000);
-conn.query("SELECT '"+longstr+"'", function(res) {
- assert.equal(true, res.success);
+var longstr = rep('ABCDEFGHIJKLMNOP', 100000);
+conn.query("SELECT '" + longstr + "'", function(err, res) {
+ assert.equal(null, err);
assert.equal(longstr,res.data[0][0]);
});
/* failing query */
-conn.query('MEHR BIER', function(res) {
- assert.equal(false,res.success);
- assert(res.message.trim().length > 0);
+conn.query('MEHR BIER', function(err, res) {
+ assert(err);
});
-/* prepared statement */
-conn.prepare('SELECT id from tables where name=? and type=? and readonly=?',
function(r){
- assert.equal(true,r.success);
- r.exec('connections', 0, false, function(r) {
- assert.equal(true,r.success);
- assert(r.rows > 0);
- conn.close();
+/* prepared statements */
+conn.query('MEHR BIER',
+ ['connections', 0, false], function(err, res) {
+ assert(err);
+});
+
+
+/* fire-and-forget query with parameters */
+conn.query('SELECT id from tables where name=? and type=? and readonly=?',
+ ['connections', 0, false], function(err, res) {
+ assert.equal(null, err);
+ assert(res.rows > 0);
+
+});
+
+/* prepared statements can also be re-used */
+conn.prepare('SELECT id from tables where name=? and type=? and readonly=?',
function(err, res){
+ assert.equal(null, err);
+
+ /* parameters can also be given as array */
+ res.exec(['connections', 0, false], function(err, res) {
+ assert.equal(null, err);
+ assert(res.rows > 0);
});
+
+ /* this fails due to missing param */
+ res.exec([0, false], function(err, res) {
+ assert(err);
+ });
+
+ res.release();
});
+conn.close();
+
+
+
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list