From ae20e248eac4b41623959a7d548dc04acbe1059c Mon Sep 17 00:00:00 2001 From: Kelvin Jin Date: Thu, 17 Aug 2017 14:07:43 -0700 Subject: [PATCH] Modifying call credentials to reflect metadata changes --- src/call-credentials.ts | 9 ++------- test/test-call-credentials.ts | 33 ++++----------------------------- 2 files changed, 6 insertions(+), 36 deletions(-) diff --git a/src/call-credentials.ts b/src/call-credentials.ts index cd79315b..6e196823 100644 --- a/src/call-credentials.ts +++ b/src/call-credentials.ts @@ -63,15 +63,10 @@ class CallCredentialsImpl { cb(err || new Error('Unknown error')); return; } else { - const result = Metadata.createMetadata(); + const result: Metadata = new Metadata(); metadataArray.forEach((metadata) => { if (metadata) { - const metadataObj = metadata.getMap(); - Object.keys(metadataObj).forEach((key) => { - metadataObj[key].forEach((value) => { - result.add(key, value); - }); - }); + result.merge(metadata); } }); cb(null, result); diff --git a/test/test-call-credentials.ts b/test/test-call-credentials.ts index 155fb1a6..13b2302d 100644 --- a/test/test-call-credentials.ts +++ b/test/test-call-credentials.ts @@ -1,28 +1,7 @@ import { Metadata } from '../src/metadata'; import { CallCredentials, CallMetadataGenerator } from '../src/call-credentials'; -import { mockFunction } from './common'; import * as assert from 'assert'; -class MetadataMock extends Metadata { - constructor(private obj: { [propName: string]: Array } = {}) { - super(); - } - - add(key: string, value: string) { - if (!this.obj[key]) { - this.obj[key] = [value]; - } else { - this.obj[key].push(value); - } - } - clone() { return new MetadataMock(Object.create(this.obj)); }; - get(key: string) { return this.obj[key]; } - getMap() { return this.obj; } - set() { mockFunction() } - remove() { mockFunction() } -} -Metadata.createMetadata = () => new MetadataMock(); - // Returns a Promise that resolves to an object containing either an error or // metadata function generateMetadata( @@ -40,7 +19,7 @@ function generateMetadata( function makeGenerator(props: Array): CallMetadataGenerator { return (options: { [propName: string]: string }, cb) => { - const metadata: Metadata = new MetadataMock(); + const metadata: Metadata = new Metadata(); props.forEach((prop) => { if (options[prop]) { metadata.add(prop, options[prop]); @@ -52,7 +31,7 @@ function makeGenerator(props: Array): CallMetadataGenerator { function makeAfterMsElapsedGenerator(ms: number): CallMetadataGenerator { return (_options, cb) => { - const metadata = new MetadataMock(); + const metadata = new Metadata(); metadata.add('msElapsed', `${ms}`); setTimeout(() => cb(null, metadata), ms); }; @@ -101,9 +80,7 @@ describe('CallCredentials', () => { assert.ok(!err); assert.ok(metadata); if (metadata) { - assert.deepEqual(metadata.getMap(), { - name: ['foo'] - }); + assert.deepEqual(metadata.get('name'), ['foo']); } } ); @@ -153,9 +130,7 @@ describe('CallCredentials', () => { assert.ok(!err); assert.ok(metadata); if (metadata) { - assert.deepEqual(metadata.getMap(), { - msElapsed: expected - }); + assert.deepEqual(metadata.get('msElapsed'), expected); } })); });