This is an automated email from the ASF dual-hosted git repository. glynnbird pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/couchdb-nano.git
The following commit(s) were added to refs/heads/master by this push: new 723e148 (#70) Return error if db.get() called with no docName (#78) 723e148 is described below commit 723e148f1633c5a75c78c62fd5ff4914ea01d560 Author: Adam Saeid <20905824+adamsa...@users.noreply.github.com> AuthorDate: Tue Jun 26 07:55:52 2018 +0100 (#70) Return error if db.get() called with no docName (#78) --- lib/nano.js | 8 +++++++- tests/unit/document/get.js | 41 +++++++++++++++++++++++++++++++++++++++++ 2 files changed, 48 insertions(+), 1 deletion(-) diff --git a/lib/nano.js b/lib/nano.js index 3b7f822..0ea96de 100644 --- a/lib/nano.js +++ b/lib/nano.js @@ -460,7 +460,13 @@ module.exports = exports = nano = function dbScope(cfg) { qs = {}; } - return relax({db: dbName, doc: docName, qs: qs}, callback); + if(!docName) { + if(callback) + callback("Invalid doc id", null); + } + else { + return relax({db: dbName, doc: docName, qs: qs}, callback); + } } // http://docs.couchdb.org/en/latest/api/document/common.html#head--db-docid diff --git a/tests/unit/document/get.js b/tests/unit/document/get.js new file mode 100644 index 0000000..bbe18b7 --- /dev/null +++ b/tests/unit/document/get.js @@ -0,0 +1,41 @@ +// Licensed under the Apache License, Version 2.0 (the 'License'); you may not +// use this file except in compliance with the License. You may obtain a copy of +// the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an 'AS IS' BASIS, WITHOUT +// WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +// License for the specific language governing permissions and limitations under +// the License. + +'use strict'; + +var helpers = require('../../helpers/unit'); +var test = require('tape'); +var debug = require('debug')('nano/tests/unit/shared/error'); + +var cli = helpers.mockClientDb(debug) +var db = cli.use('foo') + +test('it should not return db info if docName undefined', function(assert) { + db.get(undefined, function(err) { + assert.equal(err, 'Invalid doc id'); + assert.end(); + }); +}); + +test('it should not return db info if docName null', function(assert) { + db.get(null, function(err) { + assert.equal(err, 'Invalid doc id'); + assert.end(); + }); +}); + +test('it should not return db info if docName empty string', function(assert) { + db.get('', function(err) { + assert.equal(err, 'Invalid doc id'); + assert.end(); + }); +}); \ No newline at end of file