From d4ba9bd295878009f58e301c53ca653098d61a15 Mon Sep 17 00:00:00 2001 From: Alka Trivedi Date: Wed, 25 Sep 2024 12:15:04 +0530 Subject: [PATCH] fix: getMetadata for Session --- src/session.ts | 8 +------- test/session.ts | 34 +++++++++++++++++++++++++++++----- 2 files changed, 30 insertions(+), 12 deletions(-) diff --git a/src/session.ts b/src/session.ts index 256d8af14..2ece6b45d 100644 --- a/src/session.ts +++ b/src/session.ts @@ -541,11 +541,5 @@ export class Session extends common.GrpcServiceObject { * that a callback is omitted. */ promisifyAll(Session, { - exclude: [ - 'delete', - 'getMetadata', - 'partitionedDml', - 'snapshot', - 'transaction', - ], + exclude: ['delete', 'partitionedDml', 'snapshot', 'transaction'], }); diff --git a/test/session.ts b/test/session.ts index 9570bcc27..31db117bd 100644 --- a/test/session.ts +++ b/test/session.ts @@ -37,7 +37,6 @@ const fakePfy = extend({}, pfy, { promisified = true; assert.deepStrictEqual(options.exclude, [ 'delete', - 'getMetadata', 'partitionedDml', 'snapshot', 'transaction', @@ -285,10 +284,35 @@ describe('Session', () => { }); describe('getMetadata', () => { - it('should correctly call and return the request', () => { + it('should correctly call and return the request using callback', done => { const requestReturnValue = {}; - function callback() {} + session.request = (config, callback) => { + assert.strictEqual(config.client, 'SpannerClient'); + assert.strictEqual(config.method, 'getSession'); + assert.deepStrictEqual(config.reqOpts, { + name: session.formattedName_, + }); + assert.deepStrictEqual(config.gaxOpts, {}); + assert.deepStrictEqual( + config.headers, + Object.assign( + {[LEADER_AWARE_ROUTING_HEADER]: true}, + session.resourceHeader_ + ) + ); + callback(null, requestReturnValue); + }; + + session.getMetadata((err, returnValue) => { + assert.ifError(err); + assert.strictEqual(returnValue, requestReturnValue); + done(); + }); + }); + + it('should correctly call and return the request using promise', async () => { + const requestReturnValue = {}; session.request = config => { assert.strictEqual(config.client, 'SpannerClient'); @@ -304,10 +328,10 @@ describe('Session', () => { session.resourceHeader_ ) ); - return requestReturnValue; + return new Promise(resolve => resolve(requestReturnValue)); }; - const returnValue = session.getMetadata(callback); + const returnValue = await session.getMetadata(); assert.strictEqual(returnValue, requestReturnValue); });