From f26879d090df794f1116999f9fb947965f53d75f Mon Sep 17 00:00:00 2001 From: Dave Gramlich Date: Mon, 19 Feb 2018 10:05:59 -0500 Subject: [PATCH 1/3] format key when deleting cached database --- src/database.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/database.js b/src/database.js index 15c9ff92b..362c14593 100644 --- a/src/database.js +++ b/src/database.js @@ -258,6 +258,7 @@ Database.formatName_ = function(instanceName, name) { */ Database.prototype.close = function(callback) { var self = this; + var key = this.id.split('/').pop(); var leakError = null; var leaks = this.pool_.getLeaks(); @@ -266,7 +267,7 @@ Database.prototype.close = function(callback) { leakError.messages = leaks; } - this.parent.databases_.delete(self.id); + this.parent.databases_.delete(key); this.pool_.close().then(() => callback(leakError), callback); }; From 6ef068a5ee165ac892b09d89230ccfa138fb5562 Mon Sep 17 00:00:00 2001 From: Dave Gramlich Date: Fri, 2 Mar 2018 12:36:12 -0500 Subject: [PATCH 2/3] unit tests --- test/database.js | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/test/database.js b/test/database.js index 7f2e0c7ce..1e4aa1a29 100644 --- a/test/database.js +++ b/test/database.js @@ -276,6 +276,12 @@ describe('Database', function() { }); describe('close', function() { + var FAKE_ID = 'a/c/b/d'; + + beforeEach(function() { + database.id = FAKE_ID; + }); + describe('success', function() { beforeEach(function() { database.parent = INSTANCE; @@ -295,13 +301,14 @@ describe('Database', function() { it('should remove the database cache', function(done) { var cache = INSTANCE.databases_; + var cacheId = FAKE_ID.split('/').pop(); - cache.set(database.id, database); - assert(cache.has(database.id)); + cache.set(cacheId, database); + assert(cache.has(cacheId)); database.close(function(err) { assert.ifError(err); - assert.strictEqual(cache.has(database.id), false); + assert.strictEqual(cache.has(cacheId), false); done(); }); }); From dfab678106c05548610cf28eb921e3b07b589d93 Mon Sep 17 00:00:00 2001 From: Dave Gramlich Date: Fri, 2 Mar 2018 12:37:29 -0500 Subject: [PATCH 3/3] fix lint error --- src/database.js | 1 - 1 file changed, 1 deletion(-) diff --git a/src/database.js b/src/database.js index 3e977c997..53ab26ac8 100644 --- a/src/database.js +++ b/src/database.js @@ -249,7 +249,6 @@ Database.prototype.batchTransaction = function(identifier) { * }); */ Database.prototype.close = function(callback) { - var self = this; var key = this.id.split('/').pop(); var leakError = null; var leaks = this.pool_.getLeaks();