From f1ae51301d4ea9b0ed1ad4d4762c249fef9f8d08 Mon Sep 17 00:00:00 2001 From: "gcf-owl-bot[bot]" <78513119+gcf-owl-bot[bot]@users.noreply.github.com> Date: Wed, 14 Sep 2022 22:30:32 +0000 Subject: [PATCH] fix: preserve default values in x-goog-request-params header (#1711) - [ ] Regenerate this pull request now. PiperOrigin-RevId: 474338479 Source-Link: https://github.com/googleapis/googleapis/commit/d5d35e0353b59719e8917103b1bc7df2782bf6ba Source-Link: https://github.com/googleapis/googleapis-gen/commit/efcd3f93962a103f68f003e2a1eecde6fa216a27 Copy-Tag: eyJwIjoiLmdpdGh1Yi8uT3dsQm90LnlhbWwiLCJoIjoiZWZjZDNmOTM5NjJhMTAzZjY4ZjAwM2UyYTFlZWNkZTZmYTIxNmEyNyJ9 --- src/v1/database_admin_client.ts | 58 +- src/v1/instance_admin_client.ts | 28 +- src/v1/spanner_client.ts | 34 +- test/gapic_database_admin_v1.ts | 2089 ++++++++++++++++--------------- test/gapic_instance_admin_v1.ts | 1057 ++++++++-------- test/gapic_spanner_v1.ts | 1277 ++++++++++--------- 6 files changed, 2312 insertions(+), 2231 deletions(-) diff --git a/src/v1/database_admin_client.ts b/src/v1/database_admin_client.ts index 2e6ba105d..dc72ea201 100644 --- a/src/v1/database_admin_client.ts +++ b/src/v1/database_admin_client.ts @@ -595,7 +595,7 @@ export class DatabaseAdminClient { options.otherArgs.headers = options.otherArgs.headers || {}; options.otherArgs.headers['x-goog-request-params'] = this._gaxModule.routingHeader.fromParams({ - name: request.name || '', + name: request.name ?? '', }); this.initialize(); return this.innerApiCalls.getDatabase(request, options, callback); @@ -690,7 +690,7 @@ export class DatabaseAdminClient { options.otherArgs.headers = options.otherArgs.headers || {}; options.otherArgs.headers['x-goog-request-params'] = this._gaxModule.routingHeader.fromParams({ - database: request.database || '', + database: request.database ?? '', }); this.initialize(); return this.innerApiCalls.dropDatabase(request, options, callback); @@ -791,7 +791,7 @@ export class DatabaseAdminClient { options.otherArgs.headers = options.otherArgs.headers || {}; options.otherArgs.headers['x-goog-request-params'] = this._gaxModule.routingHeader.fromParams({ - database: request.database || '', + database: request.database ?? '', }); this.initialize(); return this.innerApiCalls.getDatabaseDdl(request, options, callback); @@ -892,7 +892,7 @@ export class DatabaseAdminClient { options.otherArgs.headers = options.otherArgs.headers || {}; options.otherArgs.headers['x-goog-request-params'] = this._gaxModule.routingHeader.fromParams({ - resource: request.resource || '', + resource: request.resource ?? '', }); this.initialize(); return this.innerApiCalls.setIamPolicy(request, options, callback); @@ -986,7 +986,7 @@ export class DatabaseAdminClient { options.otherArgs.headers = options.otherArgs.headers || {}; options.otherArgs.headers['x-goog-request-params'] = this._gaxModule.routingHeader.fromParams({ - resource: request.resource || '', + resource: request.resource ?? '', }); this.initialize(); return this.innerApiCalls.getIamPolicy(request, options, callback); @@ -1084,7 +1084,7 @@ export class DatabaseAdminClient { options.otherArgs.headers = options.otherArgs.headers || {}; options.otherArgs.headers['x-goog-request-params'] = this._gaxModule.routingHeader.fromParams({ - resource: request.resource || '', + resource: request.resource ?? '', }); this.initialize(); return this.innerApiCalls.testIamPermissions(request, options, callback); @@ -1177,7 +1177,7 @@ export class DatabaseAdminClient { options.otherArgs.headers = options.otherArgs.headers || {}; options.otherArgs.headers['x-goog-request-params'] = this._gaxModule.routingHeader.fromParams({ - name: request.name || '', + name: request.name ?? '', }); this.initialize(); return this.innerApiCalls.getBackup(request, options, callback); @@ -1277,7 +1277,7 @@ export class DatabaseAdminClient { options.otherArgs.headers = options.otherArgs.headers || {}; options.otherArgs.headers['x-goog-request-params'] = this._gaxModule.routingHeader.fromParams({ - 'backup.name': request.backup!.name || '', + 'backup.name': request.backup!.name ?? '', }); this.initialize(); return this.innerApiCalls.updateBackup(request, options, callback); @@ -1370,7 +1370,7 @@ export class DatabaseAdminClient { options.otherArgs.headers = options.otherArgs.headers || {}; options.otherArgs.headers['x-goog-request-params'] = this._gaxModule.routingHeader.fromParams({ - name: request.name || '', + name: request.name ?? '', }); this.initialize(); return this.innerApiCalls.deleteBackup(request, options, callback); @@ -1499,7 +1499,7 @@ export class DatabaseAdminClient { options.otherArgs.headers = options.otherArgs.headers || {}; options.otherArgs.headers['x-goog-request-params'] = this._gaxModule.routingHeader.fromParams({ - parent: request.parent || '', + parent: request.parent ?? '', }); this.initialize(); return this.innerApiCalls.createDatabase(request, options, callback); @@ -1665,7 +1665,7 @@ export class DatabaseAdminClient { options.otherArgs.headers = options.otherArgs.headers || {}; options.otherArgs.headers['x-goog-request-params'] = this._gaxModule.routingHeader.fromParams({ - database: request.database || '', + database: request.database ?? '', }); this.initialize(); return this.innerApiCalls.updateDatabaseDdl(request, options, callback); @@ -1831,7 +1831,7 @@ export class DatabaseAdminClient { options.otherArgs.headers = options.otherArgs.headers || {}; options.otherArgs.headers['x-goog-request-params'] = this._gaxModule.routingHeader.fromParams({ - parent: request.parent || '', + parent: request.parent ?? '', }); this.initialize(); return this.innerApiCalls.createBackup(request, options, callback); @@ -2004,7 +2004,7 @@ export class DatabaseAdminClient { options.otherArgs.headers = options.otherArgs.headers || {}; options.otherArgs.headers['x-goog-request-params'] = this._gaxModule.routingHeader.fromParams({ - parent: request.parent || '', + parent: request.parent ?? '', }); this.initialize(); return this.innerApiCalls.copyBackup(request, options, callback); @@ -2177,7 +2177,7 @@ export class DatabaseAdminClient { options.otherArgs.headers = options.otherArgs.headers || {}; options.otherArgs.headers['x-goog-request-params'] = this._gaxModule.routingHeader.fromParams({ - parent: request.parent || '', + parent: request.parent ?? '', }); this.initialize(); return this.innerApiCalls.restoreDatabase(request, options, callback); @@ -2314,7 +2314,7 @@ export class DatabaseAdminClient { options.otherArgs.headers = options.otherArgs.headers || {}; options.otherArgs.headers['x-goog-request-params'] = this._gaxModule.routingHeader.fromParams({ - parent: request.parent || '', + parent: request.parent ?? '', }); this.initialize(); return this.innerApiCalls.listDatabases(request, options, callback); @@ -2356,7 +2356,7 @@ export class DatabaseAdminClient { options.otherArgs.headers = options.otherArgs.headers || {}; options.otherArgs.headers['x-goog-request-params'] = this._gaxModule.routingHeader.fromParams({ - parent: request.parent || '', + parent: request.parent ?? '', }); const defaultCallSettings = this._defaults['listDatabases']; const callSettings = defaultCallSettings.merge(options); @@ -2407,7 +2407,7 @@ export class DatabaseAdminClient { options.otherArgs.headers = options.otherArgs.headers || {}; options.otherArgs.headers['x-goog-request-params'] = this._gaxModule.routingHeader.fromParams({ - parent: request.parent || '', + parent: request.parent ?? '', }); const defaultCallSettings = this._defaults['listDatabases']; const callSettings = defaultCallSettings.merge(options); @@ -2554,7 +2554,7 @@ export class DatabaseAdminClient { options.otherArgs.headers = options.otherArgs.headers || {}; options.otherArgs.headers['x-goog-request-params'] = this._gaxModule.routingHeader.fromParams({ - parent: request.parent || '', + parent: request.parent ?? '', }); this.initialize(); return this.innerApiCalls.listBackups(request, options, callback); @@ -2633,7 +2633,7 @@ export class DatabaseAdminClient { options.otherArgs.headers = options.otherArgs.headers || {}; options.otherArgs.headers['x-goog-request-params'] = this._gaxModule.routingHeader.fromParams({ - parent: request.parent || '', + parent: request.parent ?? '', }); const defaultCallSettings = this._defaults['listBackups']; const callSettings = defaultCallSettings.merge(options); @@ -2721,7 +2721,7 @@ export class DatabaseAdminClient { options.otherArgs.headers = options.otherArgs.headers || {}; options.otherArgs.headers['x-goog-request-params'] = this._gaxModule.routingHeader.fromParams({ - parent: request.parent || '', + parent: request.parent ?? '', }); const defaultCallSettings = this._defaults['listBackups']; const callSettings = defaultCallSettings.merge(options); @@ -2880,7 +2880,7 @@ export class DatabaseAdminClient { options.otherArgs.headers = options.otherArgs.headers || {}; options.otherArgs.headers['x-goog-request-params'] = this._gaxModule.routingHeader.fromParams({ - parent: request.parent || '', + parent: request.parent ?? '', }); this.initialize(); return this.innerApiCalls.listDatabaseOperations( @@ -2970,7 +2970,7 @@ export class DatabaseAdminClient { options.otherArgs.headers = options.otherArgs.headers || {}; options.otherArgs.headers['x-goog-request-params'] = this._gaxModule.routingHeader.fromParams({ - parent: request.parent || '', + parent: request.parent ?? '', }); const defaultCallSettings = this._defaults['listDatabaseOperations']; const callSettings = defaultCallSettings.merge(options); @@ -3065,7 +3065,7 @@ export class DatabaseAdminClient { options.otherArgs.headers = options.otherArgs.headers || {}; options.otherArgs.headers['x-goog-request-params'] = this._gaxModule.routingHeader.fromParams({ - parent: request.parent || '', + parent: request.parent ?? '', }); const defaultCallSettings = this._defaults['listDatabaseOperations']; const callSettings = defaultCallSettings.merge(options); @@ -3250,7 +3250,7 @@ export class DatabaseAdminClient { options.otherArgs.headers = options.otherArgs.headers || {}; options.otherArgs.headers['x-goog-request-params'] = this._gaxModule.routingHeader.fromParams({ - parent: request.parent || '', + parent: request.parent ?? '', }); this.initialize(); return this.innerApiCalls.listBackupOperations(request, options, callback); @@ -3360,7 +3360,7 @@ export class DatabaseAdminClient { options.otherArgs.headers = options.otherArgs.headers || {}; options.otherArgs.headers['x-goog-request-params'] = this._gaxModule.routingHeader.fromParams({ - parent: request.parent || '', + parent: request.parent ?? '', }); const defaultCallSettings = this._defaults['listBackupOperations']; const callSettings = defaultCallSettings.merge(options); @@ -3479,7 +3479,7 @@ export class DatabaseAdminClient { options.otherArgs.headers = options.otherArgs.headers || {}; options.otherArgs.headers['x-goog-request-params'] = this._gaxModule.routingHeader.fromParams({ - parent: request.parent || '', + parent: request.parent ?? '', }); const defaultCallSettings = this._defaults['listBackupOperations']; const callSettings = defaultCallSettings.merge(options); @@ -3588,7 +3588,7 @@ export class DatabaseAdminClient { options.otherArgs.headers = options.otherArgs.headers || {}; options.otherArgs.headers['x-goog-request-params'] = this._gaxModule.routingHeader.fromParams({ - parent: request.parent || '', + parent: request.parent ?? '', }); this.initialize(); return this.innerApiCalls.listDatabaseRoles(request, options, callback); @@ -3631,7 +3631,7 @@ export class DatabaseAdminClient { options.otherArgs.headers = options.otherArgs.headers || {}; options.otherArgs.headers['x-goog-request-params'] = this._gaxModule.routingHeader.fromParams({ - parent: request.parent || '', + parent: request.parent ?? '', }); const defaultCallSettings = this._defaults['listDatabaseRoles']; const callSettings = defaultCallSettings.merge(options); @@ -3683,7 +3683,7 @@ export class DatabaseAdminClient { options.otherArgs.headers = options.otherArgs.headers || {}; options.otherArgs.headers['x-goog-request-params'] = this._gaxModule.routingHeader.fromParams({ - parent: request.parent || '', + parent: request.parent ?? '', }); const defaultCallSettings = this._defaults['listDatabaseRoles']; const callSettings = defaultCallSettings.merge(options); diff --git a/src/v1/instance_admin_client.ts b/src/v1/instance_admin_client.ts index a252b5ef3..3c26f78f2 100644 --- a/src/v1/instance_admin_client.ts +++ b/src/v1/instance_admin_client.ts @@ -537,7 +537,7 @@ export class InstanceAdminClient { options.otherArgs.headers = options.otherArgs.headers || {}; options.otherArgs.headers['x-goog-request-params'] = this._gaxModule.routingHeader.fromParams({ - name: request.name || '', + name: request.name ?? '', }); this.initialize(); return this.innerApiCalls.getInstanceConfig(request, options, callback); @@ -633,7 +633,7 @@ export class InstanceAdminClient { options.otherArgs.headers = options.otherArgs.headers || {}; options.otherArgs.headers['x-goog-request-params'] = this._gaxModule.routingHeader.fromParams({ - name: request.name || '', + name: request.name ?? '', }); this.initialize(); return this.innerApiCalls.getInstance(request, options, callback); @@ -741,7 +741,7 @@ export class InstanceAdminClient { options.otherArgs.headers = options.otherArgs.headers || {}; options.otherArgs.headers['x-goog-request-params'] = this._gaxModule.routingHeader.fromParams({ - name: request.name || '', + name: request.name ?? '', }); this.initialize(); return this.innerApiCalls.deleteInstance(request, options, callback); @@ -840,7 +840,7 @@ export class InstanceAdminClient { options.otherArgs.headers = options.otherArgs.headers || {}; options.otherArgs.headers['x-goog-request-params'] = this._gaxModule.routingHeader.fromParams({ - resource: request.resource || '', + resource: request.resource ?? '', }); this.initialize(); return this.innerApiCalls.setIamPolicy(request, options, callback); @@ -931,7 +931,7 @@ export class InstanceAdminClient { options.otherArgs.headers = options.otherArgs.headers || {}; options.otherArgs.headers['x-goog-request-params'] = this._gaxModule.routingHeader.fromParams({ - resource: request.resource || '', + resource: request.resource ?? '', }); this.initialize(); return this.innerApiCalls.getIamPolicy(request, options, callback); @@ -1025,7 +1025,7 @@ export class InstanceAdminClient { options.otherArgs.headers = options.otherArgs.headers || {}; options.otherArgs.headers['x-goog-request-params'] = this._gaxModule.routingHeader.fromParams({ - resource: request.resource || '', + resource: request.resource ?? '', }); this.initialize(); return this.innerApiCalls.testIamPermissions(request, options, callback); @@ -1170,7 +1170,7 @@ export class InstanceAdminClient { options.otherArgs.headers = options.otherArgs.headers || {}; options.otherArgs.headers['x-goog-request-params'] = this._gaxModule.routingHeader.fromParams({ - parent: request.parent || '', + parent: request.parent ?? '', }); this.initialize(); return this.innerApiCalls.createInstance(request, options, callback); @@ -1353,7 +1353,7 @@ export class InstanceAdminClient { options.otherArgs.headers = options.otherArgs.headers || {}; options.otherArgs.headers['x-goog-request-params'] = this._gaxModule.routingHeader.fromParams({ - 'instance.name': request.instance!.name || '', + 'instance.name': request.instance!.name ?? '', }); this.initialize(); return this.innerApiCalls.updateInstance(request, options, callback); @@ -1491,7 +1491,7 @@ export class InstanceAdminClient { options.otherArgs.headers = options.otherArgs.headers || {}; options.otherArgs.headers['x-goog-request-params'] = this._gaxModule.routingHeader.fromParams({ - parent: request.parent || '', + parent: request.parent ?? '', }); this.initialize(); return this.innerApiCalls.listInstanceConfigs(request, options, callback); @@ -1534,7 +1534,7 @@ export class InstanceAdminClient { options.otherArgs.headers = options.otherArgs.headers || {}; options.otherArgs.headers['x-goog-request-params'] = this._gaxModule.routingHeader.fromParams({ - parent: request.parent || '', + parent: request.parent ?? '', }); const defaultCallSettings = this._defaults['listInstanceConfigs']; const callSettings = defaultCallSettings.merge(options); @@ -1586,7 +1586,7 @@ export class InstanceAdminClient { options.otherArgs.headers = options.otherArgs.headers || {}; options.otherArgs.headers['x-goog-request-params'] = this._gaxModule.routingHeader.fromParams({ - parent: request.parent || '', + parent: request.parent ?? '', }); const defaultCallSettings = this._defaults['listInstanceConfigs']; const callSettings = defaultCallSettings.merge(options); @@ -1714,7 +1714,7 @@ export class InstanceAdminClient { options.otherArgs.headers = options.otherArgs.headers || {}; options.otherArgs.headers['x-goog-request-params'] = this._gaxModule.routingHeader.fromParams({ - parent: request.parent || '', + parent: request.parent ?? '', }); this.initialize(); return this.innerApiCalls.listInstances(request, options, callback); @@ -1776,7 +1776,7 @@ export class InstanceAdminClient { options.otherArgs.headers = options.otherArgs.headers || {}; options.otherArgs.headers['x-goog-request-params'] = this._gaxModule.routingHeader.fromParams({ - parent: request.parent || '', + parent: request.parent ?? '', }); const defaultCallSettings = this._defaults['listInstances']; const callSettings = defaultCallSettings.merge(options); @@ -1847,7 +1847,7 @@ export class InstanceAdminClient { options.otherArgs.headers = options.otherArgs.headers || {}; options.otherArgs.headers['x-goog-request-params'] = this._gaxModule.routingHeader.fromParams({ - parent: request.parent || '', + parent: request.parent ?? '', }); const defaultCallSettings = this._defaults['listInstances']; const callSettings = defaultCallSettings.merge(options); diff --git a/src/v1/spanner_client.ts b/src/v1/spanner_client.ts index ce1041545..e93060a87 100644 --- a/src/v1/spanner_client.ts +++ b/src/v1/spanner_client.ts @@ -472,7 +472,7 @@ export class SpannerClient { options.otherArgs.headers = options.otherArgs.headers || {}; options.otherArgs.headers['x-goog-request-params'] = this._gaxModule.routingHeader.fromParams({ - database: request.database || '', + database: request.database ?? '', }); this.initialize(); return this.innerApiCalls.createSession(request, options, callback); @@ -566,7 +566,7 @@ export class SpannerClient { options.otherArgs.headers = options.otherArgs.headers || {}; options.otherArgs.headers['x-goog-request-params'] = this._gaxModule.routingHeader.fromParams({ - database: request.database || '', + database: request.database ?? '', }); this.initialize(); return this.innerApiCalls.batchCreateSessions(request, options, callback); @@ -649,7 +649,7 @@ export class SpannerClient { options.otherArgs.headers = options.otherArgs.headers || {}; options.otherArgs.headers['x-goog-request-params'] = this._gaxModule.routingHeader.fromParams({ - name: request.name || '', + name: request.name ?? '', }); this.initialize(); return this.innerApiCalls.getSession(request, options, callback); @@ -732,7 +732,7 @@ export class SpannerClient { options.otherArgs.headers = options.otherArgs.headers || {}; options.otherArgs.headers['x-goog-request-params'] = this._gaxModule.routingHeader.fromParams({ - name: request.name || '', + name: request.name ?? '', }); this.initialize(); return this.innerApiCalls.deleteSession(request, options, callback); @@ -890,7 +890,7 @@ export class SpannerClient { options.otherArgs.headers = options.otherArgs.headers || {}; options.otherArgs.headers['x-goog-request-params'] = this._gaxModule.routingHeader.fromParams({ - session: request.session || '', + session: request.session ?? '', }); this.initialize(); return this.innerApiCalls.executeSql(request, options, callback); @@ -1005,7 +1005,7 @@ export class SpannerClient { options.otherArgs.headers = options.otherArgs.headers || {}; options.otherArgs.headers['x-goog-request-params'] = this._gaxModule.routingHeader.fromParams({ - session: request.session || '', + session: request.session ?? '', }); this.initialize(); return this.innerApiCalls.executeBatchDml(request, options, callback); @@ -1141,7 +1141,7 @@ export class SpannerClient { options.otherArgs.headers = options.otherArgs.headers || {}; options.otherArgs.headers['x-goog-request-params'] = this._gaxModule.routingHeader.fromParams({ - session: request.session || '', + session: request.session ?? '', }); this.initialize(); return this.innerApiCalls.read(request, options, callback); @@ -1233,7 +1233,7 @@ export class SpannerClient { options.otherArgs.headers = options.otherArgs.headers || {}; options.otherArgs.headers['x-goog-request-params'] = this._gaxModule.routingHeader.fromParams({ - session: request.session || '', + session: request.session ?? '', }); this.initialize(); return this.innerApiCalls.beginTransaction(request, options, callback); @@ -1349,7 +1349,7 @@ export class SpannerClient { options.otherArgs.headers = options.otherArgs.headers || {}; options.otherArgs.headers['x-goog-request-params'] = this._gaxModule.routingHeader.fromParams({ - session: request.session || '', + session: request.session ?? '', }); this.initialize(); return this.innerApiCalls.commit(request, options, callback); @@ -1439,7 +1439,7 @@ export class SpannerClient { options.otherArgs.headers = options.otherArgs.headers || {}; options.otherArgs.headers['x-goog-request-params'] = this._gaxModule.routingHeader.fromParams({ - session: request.session || '', + session: request.session ?? '', }); this.initialize(); return this.innerApiCalls.rollback(request, options, callback); @@ -1568,7 +1568,7 @@ export class SpannerClient { options.otherArgs.headers = options.otherArgs.headers || {}; options.otherArgs.headers['x-goog-request-params'] = this._gaxModule.routingHeader.fromParams({ - session: request.session || '', + session: request.session ?? '', }); this.initialize(); return this.innerApiCalls.partitionQuery(request, options, callback); @@ -1683,7 +1683,7 @@ export class SpannerClient { options.otherArgs.headers = options.otherArgs.headers || {}; options.otherArgs.headers['x-goog-request-params'] = this._gaxModule.routingHeader.fromParams({ - session: request.session || '', + session: request.session ?? '', }); this.initialize(); return this.innerApiCalls.partitionRead(request, options, callback); @@ -1785,7 +1785,7 @@ export class SpannerClient { options.otherArgs.headers = options.otherArgs.headers || {}; options.otherArgs.headers['x-goog-request-params'] = this._gaxModule.routingHeader.fromParams({ - session: request.session || '', + session: request.session ?? '', }); this.initialize(); return this.innerApiCalls.executeStreamingSql(request, options); @@ -1863,7 +1863,7 @@ export class SpannerClient { options.otherArgs.headers = options.otherArgs.headers || {}; options.otherArgs.headers['x-goog-request-params'] = this._gaxModule.routingHeader.fromParams({ - session: request.session || '', + session: request.session ?? '', }); this.initialize(); return this.innerApiCalls.streamingRead(request, options); @@ -1968,7 +1968,7 @@ export class SpannerClient { options.otherArgs.headers = options.otherArgs.headers || {}; options.otherArgs.headers['x-goog-request-params'] = this._gaxModule.routingHeader.fromParams({ - database: request.database || '', + database: request.database ?? '', }); this.initialize(); return this.innerApiCalls.listSessions(request, options, callback); @@ -2020,7 +2020,7 @@ export class SpannerClient { options.otherArgs.headers = options.otherArgs.headers || {}; options.otherArgs.headers['x-goog-request-params'] = this._gaxModule.routingHeader.fromParams({ - database: request.database || '', + database: request.database ?? '', }); const defaultCallSettings = this._defaults['listSessions']; const callSettings = defaultCallSettings.merge(options); @@ -2079,7 +2079,7 @@ export class SpannerClient { options.otherArgs.headers = options.otherArgs.headers || {}; options.otherArgs.headers['x-goog-request-params'] = this._gaxModule.routingHeader.fromParams({ - database: request.database || '', + database: request.database ?? '', }); const defaultCallSettings = this._defaults['listSessions']; const callSettings = defaultCallSettings.merge(options); diff --git a/test/gapic_database_admin_v1.ts b/test/gapic_database_admin_v1.ts index 94e2f9f8d..e2ec725ae 100644 --- a/test/gapic_database_admin_v1.ts +++ b/test/gapic_database_admin_v1.ts @@ -27,6 +27,21 @@ import {PassThrough} from 'stream'; import {protobuf, LROperation, operationsProtos} from 'google-gax'; +// Dynamically loaded proto JSON is needed to get the type information +// to fill in default values for request objects +const root = protobuf.Root.fromJSON( + require('../protos/protos.json') +).resolveAll(); + +// eslint-disable-next-line @typescript-eslint/no-unused-vars +function getTypeDefaultValue(typeName: string, fields: string[]) { + let type = root.lookupType(typeName) as protobuf.Type; + for (const field of fields.slice(0, -1)) { + type = type.fields[field]?.resolvedType as protobuf.Type; + } + return type.fields[fields[fields.length - 1]]?.defaultValue; +} + function generateSampleMessage(instance: T) { const filledObject = ( instance.constructor as typeof protobuf.Message @@ -254,26 +269,23 @@ describe('v1.DatabaseAdminClient', () => { const request = generateSampleMessage( new protos.google.spanner.admin.database.v1.GetDatabaseRequest() ); - request.name = ''; - const expectedHeaderRequestParams = 'name='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue('GetDatabaseRequest', ['name']); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1}`; const expectedResponse = generateSampleMessage( new protos.google.spanner.admin.database.v1.Database() ); client.innerApiCalls.getDatabase = stubSimpleCall(expectedResponse); const [response] = await client.getDatabase(request); assert.deepStrictEqual(response, expectedResponse); - assert( - (client.innerApiCalls.getDatabase as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions, undefined) - ); + const actualRequest = ( + client.innerApiCalls.getDatabase as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.getDatabase as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes getDatabase without error using callback', async () => { @@ -285,15 +297,9 @@ describe('v1.DatabaseAdminClient', () => { const request = generateSampleMessage( new protos.google.spanner.admin.database.v1.GetDatabaseRequest() ); - request.name = ''; - const expectedHeaderRequestParams = 'name='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue('GetDatabaseRequest', ['name']); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1}`; const expectedResponse = generateSampleMessage( new protos.google.spanner.admin.database.v1.Database() ); @@ -316,11 +322,14 @@ describe('v1.DatabaseAdminClient', () => { }); const response = await promise; assert.deepStrictEqual(response, expectedResponse); - assert( - (client.innerApiCalls.getDatabase as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions /*, callback defined above */) - ); + const actualRequest = ( + client.innerApiCalls.getDatabase as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.getDatabase as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes getDatabase with error', async () => { @@ -332,26 +341,23 @@ describe('v1.DatabaseAdminClient', () => { const request = generateSampleMessage( new protos.google.spanner.admin.database.v1.GetDatabaseRequest() ); - request.name = ''; - const expectedHeaderRequestParams = 'name='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue('GetDatabaseRequest', ['name']); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1}`; const expectedError = new Error('expected'); client.innerApiCalls.getDatabase = stubSimpleCall( undefined, expectedError ); await assert.rejects(client.getDatabase(request), expectedError); - assert( - (client.innerApiCalls.getDatabase as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions, undefined) - ); + const actualRequest = ( + client.innerApiCalls.getDatabase as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.getDatabase as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes getDatabase with closed client', async () => { @@ -363,7 +369,8 @@ describe('v1.DatabaseAdminClient', () => { const request = generateSampleMessage( new protos.google.spanner.admin.database.v1.GetDatabaseRequest() ); - request.name = ''; + const defaultValue1 = getTypeDefaultValue('GetDatabaseRequest', ['name']); + request.name = defaultValue1; const expectedError = new Error('The client has already been closed.'); client.close(); await assert.rejects(client.getDatabase(request), expectedError); @@ -380,26 +387,25 @@ describe('v1.DatabaseAdminClient', () => { const request = generateSampleMessage( new protos.google.spanner.admin.database.v1.DropDatabaseRequest() ); - request.database = ''; - const expectedHeaderRequestParams = 'database='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue('DropDatabaseRequest', [ + 'database', + ]); + request.database = defaultValue1; + const expectedHeaderRequestParams = `database=${defaultValue1}`; const expectedResponse = generateSampleMessage( new protos.google.protobuf.Empty() ); client.innerApiCalls.dropDatabase = stubSimpleCall(expectedResponse); const [response] = await client.dropDatabase(request); assert.deepStrictEqual(response, expectedResponse); - assert( - (client.innerApiCalls.dropDatabase as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions, undefined) - ); + const actualRequest = ( + client.innerApiCalls.dropDatabase as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.dropDatabase as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes dropDatabase without error using callback', async () => { @@ -411,15 +417,11 @@ describe('v1.DatabaseAdminClient', () => { const request = generateSampleMessage( new protos.google.spanner.admin.database.v1.DropDatabaseRequest() ); - request.database = ''; - const expectedHeaderRequestParams = 'database='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue('DropDatabaseRequest', [ + 'database', + ]); + request.database = defaultValue1; + const expectedHeaderRequestParams = `database=${defaultValue1}`; const expectedResponse = generateSampleMessage( new protos.google.protobuf.Empty() ); @@ -442,11 +444,14 @@ describe('v1.DatabaseAdminClient', () => { }); const response = await promise; assert.deepStrictEqual(response, expectedResponse); - assert( - (client.innerApiCalls.dropDatabase as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions /*, callback defined above */) - ); + const actualRequest = ( + client.innerApiCalls.dropDatabase as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.dropDatabase as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes dropDatabase with error', async () => { @@ -458,26 +463,25 @@ describe('v1.DatabaseAdminClient', () => { const request = generateSampleMessage( new protos.google.spanner.admin.database.v1.DropDatabaseRequest() ); - request.database = ''; - const expectedHeaderRequestParams = 'database='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue('DropDatabaseRequest', [ + 'database', + ]); + request.database = defaultValue1; + const expectedHeaderRequestParams = `database=${defaultValue1}`; const expectedError = new Error('expected'); client.innerApiCalls.dropDatabase = stubSimpleCall( undefined, expectedError ); await assert.rejects(client.dropDatabase(request), expectedError); - assert( - (client.innerApiCalls.dropDatabase as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions, undefined) - ); + const actualRequest = ( + client.innerApiCalls.dropDatabase as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.dropDatabase as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes dropDatabase with closed client', async () => { @@ -489,7 +493,10 @@ describe('v1.DatabaseAdminClient', () => { const request = generateSampleMessage( new protos.google.spanner.admin.database.v1.DropDatabaseRequest() ); - request.database = ''; + const defaultValue1 = getTypeDefaultValue('DropDatabaseRequest', [ + 'database', + ]); + request.database = defaultValue1; const expectedError = new Error('The client has already been closed.'); client.close(); await assert.rejects(client.dropDatabase(request), expectedError); @@ -506,26 +513,25 @@ describe('v1.DatabaseAdminClient', () => { const request = generateSampleMessage( new protos.google.spanner.admin.database.v1.GetDatabaseDdlRequest() ); - request.database = ''; - const expectedHeaderRequestParams = 'database='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue('GetDatabaseDdlRequest', [ + 'database', + ]); + request.database = defaultValue1; + const expectedHeaderRequestParams = `database=${defaultValue1}`; const expectedResponse = generateSampleMessage( new protos.google.spanner.admin.database.v1.GetDatabaseDdlResponse() ); client.innerApiCalls.getDatabaseDdl = stubSimpleCall(expectedResponse); const [response] = await client.getDatabaseDdl(request); assert.deepStrictEqual(response, expectedResponse); - assert( - (client.innerApiCalls.getDatabaseDdl as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions, undefined) - ); + const actualRequest = ( + client.innerApiCalls.getDatabaseDdl as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.getDatabaseDdl as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes getDatabaseDdl without error using callback', async () => { @@ -537,15 +543,11 @@ describe('v1.DatabaseAdminClient', () => { const request = generateSampleMessage( new protos.google.spanner.admin.database.v1.GetDatabaseDdlRequest() ); - request.database = ''; - const expectedHeaderRequestParams = 'database='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue('GetDatabaseDdlRequest', [ + 'database', + ]); + request.database = defaultValue1; + const expectedHeaderRequestParams = `database=${defaultValue1}`; const expectedResponse = generateSampleMessage( new protos.google.spanner.admin.database.v1.GetDatabaseDdlResponse() ); @@ -568,11 +570,14 @@ describe('v1.DatabaseAdminClient', () => { }); const response = await promise; assert.deepStrictEqual(response, expectedResponse); - assert( - (client.innerApiCalls.getDatabaseDdl as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions /*, callback defined above */) - ); + const actualRequest = ( + client.innerApiCalls.getDatabaseDdl as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.getDatabaseDdl as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes getDatabaseDdl with error', async () => { @@ -584,26 +589,25 @@ describe('v1.DatabaseAdminClient', () => { const request = generateSampleMessage( new protos.google.spanner.admin.database.v1.GetDatabaseDdlRequest() ); - request.database = ''; - const expectedHeaderRequestParams = 'database='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue('GetDatabaseDdlRequest', [ + 'database', + ]); + request.database = defaultValue1; + const expectedHeaderRequestParams = `database=${defaultValue1}`; const expectedError = new Error('expected'); client.innerApiCalls.getDatabaseDdl = stubSimpleCall( undefined, expectedError ); await assert.rejects(client.getDatabaseDdl(request), expectedError); - assert( - (client.innerApiCalls.getDatabaseDdl as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions, undefined) - ); + const actualRequest = ( + client.innerApiCalls.getDatabaseDdl as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.getDatabaseDdl as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes getDatabaseDdl with closed client', async () => { @@ -615,7 +619,10 @@ describe('v1.DatabaseAdminClient', () => { const request = generateSampleMessage( new protos.google.spanner.admin.database.v1.GetDatabaseDdlRequest() ); - request.database = ''; + const defaultValue1 = getTypeDefaultValue('GetDatabaseDdlRequest', [ + 'database', + ]); + request.database = defaultValue1; const expectedError = new Error('The client has already been closed.'); client.close(); await assert.rejects(client.getDatabaseDdl(request), expectedError); @@ -632,26 +639,25 @@ describe('v1.DatabaseAdminClient', () => { const request = generateSampleMessage( new protos.google.iam.v1.SetIamPolicyRequest() ); - request.resource = ''; - const expectedHeaderRequestParams = 'resource='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue('SetIamPolicyRequest', [ + 'resource', + ]); + request.resource = defaultValue1; + const expectedHeaderRequestParams = `resource=${defaultValue1}`; const expectedResponse = generateSampleMessage( new protos.google.iam.v1.Policy() ); client.innerApiCalls.setIamPolicy = stubSimpleCall(expectedResponse); const [response] = await client.setIamPolicy(request); assert.deepStrictEqual(response, expectedResponse); - assert( - (client.innerApiCalls.setIamPolicy as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions, undefined) - ); + const actualRequest = ( + client.innerApiCalls.setIamPolicy as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.setIamPolicy as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes setIamPolicy without error using callback', async () => { @@ -663,15 +669,11 @@ describe('v1.DatabaseAdminClient', () => { const request = generateSampleMessage( new protos.google.iam.v1.SetIamPolicyRequest() ); - request.resource = ''; - const expectedHeaderRequestParams = 'resource='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue('SetIamPolicyRequest', [ + 'resource', + ]); + request.resource = defaultValue1; + const expectedHeaderRequestParams = `resource=${defaultValue1}`; const expectedResponse = generateSampleMessage( new protos.google.iam.v1.Policy() ); @@ -694,11 +696,14 @@ describe('v1.DatabaseAdminClient', () => { }); const response = await promise; assert.deepStrictEqual(response, expectedResponse); - assert( - (client.innerApiCalls.setIamPolicy as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions /*, callback defined above */) - ); + const actualRequest = ( + client.innerApiCalls.setIamPolicy as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.setIamPolicy as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes setIamPolicy with error', async () => { @@ -710,26 +715,25 @@ describe('v1.DatabaseAdminClient', () => { const request = generateSampleMessage( new protos.google.iam.v1.SetIamPolicyRequest() ); - request.resource = ''; - const expectedHeaderRequestParams = 'resource='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue('SetIamPolicyRequest', [ + 'resource', + ]); + request.resource = defaultValue1; + const expectedHeaderRequestParams = `resource=${defaultValue1}`; const expectedError = new Error('expected'); client.innerApiCalls.setIamPolicy = stubSimpleCall( undefined, expectedError ); await assert.rejects(client.setIamPolicy(request), expectedError); - assert( - (client.innerApiCalls.setIamPolicy as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions, undefined) - ); + const actualRequest = ( + client.innerApiCalls.setIamPolicy as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.setIamPolicy as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes setIamPolicy with closed client', async () => { @@ -741,7 +745,10 @@ describe('v1.DatabaseAdminClient', () => { const request = generateSampleMessage( new protos.google.iam.v1.SetIamPolicyRequest() ); - request.resource = ''; + const defaultValue1 = getTypeDefaultValue('SetIamPolicyRequest', [ + 'resource', + ]); + request.resource = defaultValue1; const expectedError = new Error('The client has already been closed.'); client.close(); await assert.rejects(client.setIamPolicy(request), expectedError); @@ -758,26 +765,25 @@ describe('v1.DatabaseAdminClient', () => { const request = generateSampleMessage( new protos.google.iam.v1.GetIamPolicyRequest() ); - request.resource = ''; - const expectedHeaderRequestParams = 'resource='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue('GetIamPolicyRequest', [ + 'resource', + ]); + request.resource = defaultValue1; + const expectedHeaderRequestParams = `resource=${defaultValue1}`; const expectedResponse = generateSampleMessage( new protos.google.iam.v1.Policy() ); client.innerApiCalls.getIamPolicy = stubSimpleCall(expectedResponse); const [response] = await client.getIamPolicy(request); assert.deepStrictEqual(response, expectedResponse); - assert( - (client.innerApiCalls.getIamPolicy as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions, undefined) - ); + const actualRequest = ( + client.innerApiCalls.getIamPolicy as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.getIamPolicy as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes getIamPolicy without error using callback', async () => { @@ -789,15 +795,11 @@ describe('v1.DatabaseAdminClient', () => { const request = generateSampleMessage( new protos.google.iam.v1.GetIamPolicyRequest() ); - request.resource = ''; - const expectedHeaderRequestParams = 'resource='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue('GetIamPolicyRequest', [ + 'resource', + ]); + request.resource = defaultValue1; + const expectedHeaderRequestParams = `resource=${defaultValue1}`; const expectedResponse = generateSampleMessage( new protos.google.iam.v1.Policy() ); @@ -820,11 +822,14 @@ describe('v1.DatabaseAdminClient', () => { }); const response = await promise; assert.deepStrictEqual(response, expectedResponse); - assert( - (client.innerApiCalls.getIamPolicy as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions /*, callback defined above */) - ); + const actualRequest = ( + client.innerApiCalls.getIamPolicy as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.getIamPolicy as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes getIamPolicy with error', async () => { @@ -836,26 +841,25 @@ describe('v1.DatabaseAdminClient', () => { const request = generateSampleMessage( new protos.google.iam.v1.GetIamPolicyRequest() ); - request.resource = ''; - const expectedHeaderRequestParams = 'resource='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue('GetIamPolicyRequest', [ + 'resource', + ]); + request.resource = defaultValue1; + const expectedHeaderRequestParams = `resource=${defaultValue1}`; const expectedError = new Error('expected'); client.innerApiCalls.getIamPolicy = stubSimpleCall( undefined, expectedError ); await assert.rejects(client.getIamPolicy(request), expectedError); - assert( - (client.innerApiCalls.getIamPolicy as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions, undefined) - ); + const actualRequest = ( + client.innerApiCalls.getIamPolicy as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.getIamPolicy as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes getIamPolicy with closed client', async () => { @@ -867,7 +871,10 @@ describe('v1.DatabaseAdminClient', () => { const request = generateSampleMessage( new protos.google.iam.v1.GetIamPolicyRequest() ); - request.resource = ''; + const defaultValue1 = getTypeDefaultValue('GetIamPolicyRequest', [ + 'resource', + ]); + request.resource = defaultValue1; const expectedError = new Error('The client has already been closed.'); client.close(); await assert.rejects(client.getIamPolicy(request), expectedError); @@ -884,15 +891,11 @@ describe('v1.DatabaseAdminClient', () => { const request = generateSampleMessage( new protos.google.iam.v1.TestIamPermissionsRequest() ); - request.resource = ''; - const expectedHeaderRequestParams = 'resource='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue('TestIamPermissionsRequest', [ + 'resource', + ]); + request.resource = defaultValue1; + const expectedHeaderRequestParams = `resource=${defaultValue1}`; const expectedResponse = generateSampleMessage( new protos.google.iam.v1.TestIamPermissionsResponse() ); @@ -900,11 +903,14 @@ describe('v1.DatabaseAdminClient', () => { stubSimpleCall(expectedResponse); const [response] = await client.testIamPermissions(request); assert.deepStrictEqual(response, expectedResponse); - assert( - (client.innerApiCalls.testIamPermissions as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions, undefined) - ); + const actualRequest = ( + client.innerApiCalls.testIamPermissions as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.testIamPermissions as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes testIamPermissions without error using callback', async () => { @@ -916,15 +922,11 @@ describe('v1.DatabaseAdminClient', () => { const request = generateSampleMessage( new protos.google.iam.v1.TestIamPermissionsRequest() ); - request.resource = ''; - const expectedHeaderRequestParams = 'resource='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue('TestIamPermissionsRequest', [ + 'resource', + ]); + request.resource = defaultValue1; + const expectedHeaderRequestParams = `resource=${defaultValue1}`; const expectedResponse = generateSampleMessage( new protos.google.iam.v1.TestIamPermissionsResponse() ); @@ -947,11 +949,14 @@ describe('v1.DatabaseAdminClient', () => { }); const response = await promise; assert.deepStrictEqual(response, expectedResponse); - assert( - (client.innerApiCalls.testIamPermissions as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions /*, callback defined above */) - ); + const actualRequest = ( + client.innerApiCalls.testIamPermissions as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.testIamPermissions as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes testIamPermissions with error', async () => { @@ -963,26 +968,25 @@ describe('v1.DatabaseAdminClient', () => { const request = generateSampleMessage( new protos.google.iam.v1.TestIamPermissionsRequest() ); - request.resource = ''; - const expectedHeaderRequestParams = 'resource='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue('TestIamPermissionsRequest', [ + 'resource', + ]); + request.resource = defaultValue1; + const expectedHeaderRequestParams = `resource=${defaultValue1}`; const expectedError = new Error('expected'); client.innerApiCalls.testIamPermissions = stubSimpleCall( undefined, expectedError ); await assert.rejects(client.testIamPermissions(request), expectedError); - assert( - (client.innerApiCalls.testIamPermissions as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions, undefined) - ); + const actualRequest = ( + client.innerApiCalls.testIamPermissions as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.testIamPermissions as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes testIamPermissions with closed client', async () => { @@ -994,7 +998,10 @@ describe('v1.DatabaseAdminClient', () => { const request = generateSampleMessage( new protos.google.iam.v1.TestIamPermissionsRequest() ); - request.resource = ''; + const defaultValue1 = getTypeDefaultValue('TestIamPermissionsRequest', [ + 'resource', + ]); + request.resource = defaultValue1; const expectedError = new Error('The client has already been closed.'); client.close(); await assert.rejects(client.testIamPermissions(request), expectedError); @@ -1011,26 +1018,23 @@ describe('v1.DatabaseAdminClient', () => { const request = generateSampleMessage( new protos.google.spanner.admin.database.v1.GetBackupRequest() ); - request.name = ''; - const expectedHeaderRequestParams = 'name='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue('GetBackupRequest', ['name']); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1}`; const expectedResponse = generateSampleMessage( new protos.google.spanner.admin.database.v1.Backup() ); client.innerApiCalls.getBackup = stubSimpleCall(expectedResponse); const [response] = await client.getBackup(request); assert.deepStrictEqual(response, expectedResponse); - assert( - (client.innerApiCalls.getBackup as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions, undefined) - ); + const actualRequest = ( + client.innerApiCalls.getBackup as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.getBackup as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes getBackup without error using callback', async () => { @@ -1042,15 +1046,9 @@ describe('v1.DatabaseAdminClient', () => { const request = generateSampleMessage( new protos.google.spanner.admin.database.v1.GetBackupRequest() ); - request.name = ''; - const expectedHeaderRequestParams = 'name='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue('GetBackupRequest', ['name']); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1}`; const expectedResponse = generateSampleMessage( new protos.google.spanner.admin.database.v1.Backup() ); @@ -1073,11 +1071,14 @@ describe('v1.DatabaseAdminClient', () => { }); const response = await promise; assert.deepStrictEqual(response, expectedResponse); - assert( - (client.innerApiCalls.getBackup as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions /*, callback defined above */) - ); + const actualRequest = ( + client.innerApiCalls.getBackup as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.getBackup as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes getBackup with error', async () => { @@ -1089,23 +1090,20 @@ describe('v1.DatabaseAdminClient', () => { const request = generateSampleMessage( new protos.google.spanner.admin.database.v1.GetBackupRequest() ); - request.name = ''; - const expectedHeaderRequestParams = 'name='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue('GetBackupRequest', ['name']); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1}`; const expectedError = new Error('expected'); client.innerApiCalls.getBackup = stubSimpleCall(undefined, expectedError); await assert.rejects(client.getBackup(request), expectedError); - assert( - (client.innerApiCalls.getBackup as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions, undefined) - ); + const actualRequest = ( + client.innerApiCalls.getBackup as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.getBackup as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes getBackup with closed client', async () => { @@ -1117,7 +1115,8 @@ describe('v1.DatabaseAdminClient', () => { const request = generateSampleMessage( new protos.google.spanner.admin.database.v1.GetBackupRequest() ); - request.name = ''; + const defaultValue1 = getTypeDefaultValue('GetBackupRequest', ['name']); + request.name = defaultValue1; const expectedError = new Error('The client has already been closed.'); client.close(); await assert.rejects(client.getBackup(request), expectedError); @@ -1134,27 +1133,27 @@ describe('v1.DatabaseAdminClient', () => { const request = generateSampleMessage( new protos.google.spanner.admin.database.v1.UpdateBackupRequest() ); - request.backup = {}; - request.backup.name = ''; - const expectedHeaderRequestParams = 'backup.name='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + request.backup ??= {}; + const defaultValue1 = getTypeDefaultValue('UpdateBackupRequest', [ + 'backup', + 'name', + ]); + request.backup.name = defaultValue1; + const expectedHeaderRequestParams = `backup.name=${defaultValue1}`; const expectedResponse = generateSampleMessage( new protos.google.spanner.admin.database.v1.Backup() ); client.innerApiCalls.updateBackup = stubSimpleCall(expectedResponse); const [response] = await client.updateBackup(request); assert.deepStrictEqual(response, expectedResponse); - assert( - (client.innerApiCalls.updateBackup as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions, undefined) - ); + const actualRequest = ( + client.innerApiCalls.updateBackup as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.updateBackup as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes updateBackup without error using callback', async () => { @@ -1166,16 +1165,13 @@ describe('v1.DatabaseAdminClient', () => { const request = generateSampleMessage( new protos.google.spanner.admin.database.v1.UpdateBackupRequest() ); - request.backup = {}; - request.backup.name = ''; - const expectedHeaderRequestParams = 'backup.name='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + request.backup ??= {}; + const defaultValue1 = getTypeDefaultValue('UpdateBackupRequest', [ + 'backup', + 'name', + ]); + request.backup.name = defaultValue1; + const expectedHeaderRequestParams = `backup.name=${defaultValue1}`; const expectedResponse = generateSampleMessage( new protos.google.spanner.admin.database.v1.Backup() ); @@ -1198,11 +1194,14 @@ describe('v1.DatabaseAdminClient', () => { }); const response = await promise; assert.deepStrictEqual(response, expectedResponse); - assert( - (client.innerApiCalls.updateBackup as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions /*, callback defined above */) - ); + const actualRequest = ( + client.innerApiCalls.updateBackup as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.updateBackup as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes updateBackup with error', async () => { @@ -1214,27 +1213,27 @@ describe('v1.DatabaseAdminClient', () => { const request = generateSampleMessage( new protos.google.spanner.admin.database.v1.UpdateBackupRequest() ); - request.backup = {}; - request.backup.name = ''; - const expectedHeaderRequestParams = 'backup.name='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + request.backup ??= {}; + const defaultValue1 = getTypeDefaultValue('UpdateBackupRequest', [ + 'backup', + 'name', + ]); + request.backup.name = defaultValue1; + const expectedHeaderRequestParams = `backup.name=${defaultValue1}`; const expectedError = new Error('expected'); client.innerApiCalls.updateBackup = stubSimpleCall( undefined, expectedError ); await assert.rejects(client.updateBackup(request), expectedError); - assert( - (client.innerApiCalls.updateBackup as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions, undefined) - ); + const actualRequest = ( + client.innerApiCalls.updateBackup as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.updateBackup as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes updateBackup with closed client', async () => { @@ -1246,8 +1245,12 @@ describe('v1.DatabaseAdminClient', () => { const request = generateSampleMessage( new protos.google.spanner.admin.database.v1.UpdateBackupRequest() ); - request.backup = {}; - request.backup.name = ''; + request.backup ??= {}; + const defaultValue1 = getTypeDefaultValue('UpdateBackupRequest', [ + 'backup', + 'name', + ]); + request.backup.name = defaultValue1; const expectedError = new Error('The client has already been closed.'); client.close(); await assert.rejects(client.updateBackup(request), expectedError); @@ -1264,26 +1267,25 @@ describe('v1.DatabaseAdminClient', () => { const request = generateSampleMessage( new protos.google.spanner.admin.database.v1.DeleteBackupRequest() ); - request.name = ''; - const expectedHeaderRequestParams = 'name='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue('DeleteBackupRequest', [ + 'name', + ]); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1}`; const expectedResponse = generateSampleMessage( new protos.google.protobuf.Empty() ); client.innerApiCalls.deleteBackup = stubSimpleCall(expectedResponse); const [response] = await client.deleteBackup(request); assert.deepStrictEqual(response, expectedResponse); - assert( - (client.innerApiCalls.deleteBackup as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions, undefined) - ); + const actualRequest = ( + client.innerApiCalls.deleteBackup as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.deleteBackup as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes deleteBackup without error using callback', async () => { @@ -1295,15 +1297,11 @@ describe('v1.DatabaseAdminClient', () => { const request = generateSampleMessage( new protos.google.spanner.admin.database.v1.DeleteBackupRequest() ); - request.name = ''; - const expectedHeaderRequestParams = 'name='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue('DeleteBackupRequest', [ + 'name', + ]); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1}`; const expectedResponse = generateSampleMessage( new protos.google.protobuf.Empty() ); @@ -1326,11 +1324,14 @@ describe('v1.DatabaseAdminClient', () => { }); const response = await promise; assert.deepStrictEqual(response, expectedResponse); - assert( - (client.innerApiCalls.deleteBackup as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions /*, callback defined above */) - ); + const actualRequest = ( + client.innerApiCalls.deleteBackup as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.deleteBackup as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes deleteBackup with error', async () => { @@ -1342,26 +1343,25 @@ describe('v1.DatabaseAdminClient', () => { const request = generateSampleMessage( new protos.google.spanner.admin.database.v1.DeleteBackupRequest() ); - request.name = ''; - const expectedHeaderRequestParams = 'name='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue('DeleteBackupRequest', [ + 'name', + ]); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1}`; const expectedError = new Error('expected'); client.innerApiCalls.deleteBackup = stubSimpleCall( undefined, expectedError ); await assert.rejects(client.deleteBackup(request), expectedError); - assert( - (client.innerApiCalls.deleteBackup as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions, undefined) - ); + const actualRequest = ( + client.innerApiCalls.deleteBackup as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.deleteBackup as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes deleteBackup with closed client', async () => { @@ -1373,7 +1373,10 @@ describe('v1.DatabaseAdminClient', () => { const request = generateSampleMessage( new protos.google.spanner.admin.database.v1.DeleteBackupRequest() ); - request.name = ''; + const defaultValue1 = getTypeDefaultValue('DeleteBackupRequest', [ + 'name', + ]); + request.name = defaultValue1; const expectedError = new Error('The client has already been closed.'); client.close(); await assert.rejects(client.deleteBackup(request), expectedError); @@ -1390,15 +1393,11 @@ describe('v1.DatabaseAdminClient', () => { const request = generateSampleMessage( new protos.google.spanner.admin.database.v1.CreateDatabaseRequest() ); - request.parent = ''; - const expectedHeaderRequestParams = 'parent='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue('CreateDatabaseRequest', [ + 'parent', + ]); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; const expectedResponse = generateSampleMessage( new protos.google.longrunning.Operation() ); @@ -1407,11 +1406,14 @@ describe('v1.DatabaseAdminClient', () => { const [operation] = await client.createDatabase(request); const [response] = await operation.promise(); assert.deepStrictEqual(response, expectedResponse); - assert( - (client.innerApiCalls.createDatabase as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions, undefined) - ); + const actualRequest = ( + client.innerApiCalls.createDatabase as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.createDatabase as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes createDatabase without error using callback', async () => { @@ -1423,15 +1425,11 @@ describe('v1.DatabaseAdminClient', () => { const request = generateSampleMessage( new protos.google.spanner.admin.database.v1.CreateDatabaseRequest() ); - request.parent = ''; - const expectedHeaderRequestParams = 'parent='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue('CreateDatabaseRequest', [ + 'parent', + ]); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; const expectedResponse = generateSampleMessage( new protos.google.longrunning.Operation() ); @@ -1461,11 +1459,14 @@ describe('v1.DatabaseAdminClient', () => { >; const [response] = await operation.promise(); assert.deepStrictEqual(response, expectedResponse); - assert( - (client.innerApiCalls.createDatabase as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions /*, callback defined above */) - ); + const actualRequest = ( + client.innerApiCalls.createDatabase as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.createDatabase as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes createDatabase with call error', async () => { @@ -1477,26 +1478,25 @@ describe('v1.DatabaseAdminClient', () => { const request = generateSampleMessage( new protos.google.spanner.admin.database.v1.CreateDatabaseRequest() ); - request.parent = ''; - const expectedHeaderRequestParams = 'parent='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue('CreateDatabaseRequest', [ + 'parent', + ]); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; const expectedError = new Error('expected'); client.innerApiCalls.createDatabase = stubLongRunningCall( undefined, expectedError ); await assert.rejects(client.createDatabase(request), expectedError); - assert( - (client.innerApiCalls.createDatabase as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions, undefined) - ); + const actualRequest = ( + client.innerApiCalls.createDatabase as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.createDatabase as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes createDatabase with LRO error', async () => { @@ -1508,15 +1508,11 @@ describe('v1.DatabaseAdminClient', () => { const request = generateSampleMessage( new protos.google.spanner.admin.database.v1.CreateDatabaseRequest() ); - request.parent = ''; - const expectedHeaderRequestParams = 'parent='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue('CreateDatabaseRequest', [ + 'parent', + ]); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; const expectedError = new Error('expected'); client.innerApiCalls.createDatabase = stubLongRunningCall( undefined, @@ -1525,11 +1521,14 @@ describe('v1.DatabaseAdminClient', () => { ); const [operation] = await client.createDatabase(request); await assert.rejects(operation.promise(), expectedError); - assert( - (client.innerApiCalls.createDatabase as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions, undefined) - ); + const actualRequest = ( + client.innerApiCalls.createDatabase as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.createDatabase as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes checkCreateDatabaseProgress without error', async () => { @@ -1584,15 +1583,11 @@ describe('v1.DatabaseAdminClient', () => { const request = generateSampleMessage( new protos.google.spanner.admin.database.v1.UpdateDatabaseDdlRequest() ); - request.database = ''; - const expectedHeaderRequestParams = 'database='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue('UpdateDatabaseDdlRequest', [ + 'database', + ]); + request.database = defaultValue1; + const expectedHeaderRequestParams = `database=${defaultValue1}`; const expectedResponse = generateSampleMessage( new protos.google.longrunning.Operation() ); @@ -1601,11 +1596,14 @@ describe('v1.DatabaseAdminClient', () => { const [operation] = await client.updateDatabaseDdl(request); const [response] = await operation.promise(); assert.deepStrictEqual(response, expectedResponse); - assert( - (client.innerApiCalls.updateDatabaseDdl as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions, undefined) - ); + const actualRequest = ( + client.innerApiCalls.updateDatabaseDdl as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.updateDatabaseDdl as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes updateDatabaseDdl without error using callback', async () => { @@ -1617,15 +1615,11 @@ describe('v1.DatabaseAdminClient', () => { const request = generateSampleMessage( new protos.google.spanner.admin.database.v1.UpdateDatabaseDdlRequest() ); - request.database = ''; - const expectedHeaderRequestParams = 'database='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue('UpdateDatabaseDdlRequest', [ + 'database', + ]); + request.database = defaultValue1; + const expectedHeaderRequestParams = `database=${defaultValue1}`; const expectedResponse = generateSampleMessage( new protos.google.longrunning.Operation() ); @@ -1655,11 +1649,14 @@ describe('v1.DatabaseAdminClient', () => { >; const [response] = await operation.promise(); assert.deepStrictEqual(response, expectedResponse); - assert( - (client.innerApiCalls.updateDatabaseDdl as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions /*, callback defined above */) - ); + const actualRequest = ( + client.innerApiCalls.updateDatabaseDdl as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.updateDatabaseDdl as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes updateDatabaseDdl with call error', async () => { @@ -1671,26 +1668,25 @@ describe('v1.DatabaseAdminClient', () => { const request = generateSampleMessage( new protos.google.spanner.admin.database.v1.UpdateDatabaseDdlRequest() ); - request.database = ''; - const expectedHeaderRequestParams = 'database='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue('UpdateDatabaseDdlRequest', [ + 'database', + ]); + request.database = defaultValue1; + const expectedHeaderRequestParams = `database=${defaultValue1}`; const expectedError = new Error('expected'); client.innerApiCalls.updateDatabaseDdl = stubLongRunningCall( undefined, expectedError ); await assert.rejects(client.updateDatabaseDdl(request), expectedError); - assert( - (client.innerApiCalls.updateDatabaseDdl as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions, undefined) - ); + const actualRequest = ( + client.innerApiCalls.updateDatabaseDdl as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.updateDatabaseDdl as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes updateDatabaseDdl with LRO error', async () => { @@ -1702,15 +1698,11 @@ describe('v1.DatabaseAdminClient', () => { const request = generateSampleMessage( new protos.google.spanner.admin.database.v1.UpdateDatabaseDdlRequest() ); - request.database = ''; - const expectedHeaderRequestParams = 'database='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue('UpdateDatabaseDdlRequest', [ + 'database', + ]); + request.database = defaultValue1; + const expectedHeaderRequestParams = `database=${defaultValue1}`; const expectedError = new Error('expected'); client.innerApiCalls.updateDatabaseDdl = stubLongRunningCall( undefined, @@ -1719,11 +1711,14 @@ describe('v1.DatabaseAdminClient', () => { ); const [operation] = await client.updateDatabaseDdl(request); await assert.rejects(operation.promise(), expectedError); - assert( - (client.innerApiCalls.updateDatabaseDdl as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions, undefined) - ); + const actualRequest = ( + client.innerApiCalls.updateDatabaseDdl as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.updateDatabaseDdl as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes checkUpdateDatabaseDdlProgress without error', async () => { @@ -1778,15 +1773,11 @@ describe('v1.DatabaseAdminClient', () => { const request = generateSampleMessage( new protos.google.spanner.admin.database.v1.CreateBackupRequest() ); - request.parent = ''; - const expectedHeaderRequestParams = 'parent='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue('CreateBackupRequest', [ + 'parent', + ]); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; const expectedResponse = generateSampleMessage( new protos.google.longrunning.Operation() ); @@ -1794,11 +1785,14 @@ describe('v1.DatabaseAdminClient', () => { const [operation] = await client.createBackup(request); const [response] = await operation.promise(); assert.deepStrictEqual(response, expectedResponse); - assert( - (client.innerApiCalls.createBackup as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions, undefined) - ); + const actualRequest = ( + client.innerApiCalls.createBackup as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.createBackup as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes createBackup without error using callback', async () => { @@ -1810,15 +1804,11 @@ describe('v1.DatabaseAdminClient', () => { const request = generateSampleMessage( new protos.google.spanner.admin.database.v1.CreateBackupRequest() ); - request.parent = ''; - const expectedHeaderRequestParams = 'parent='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue('CreateBackupRequest', [ + 'parent', + ]); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; const expectedResponse = generateSampleMessage( new protos.google.longrunning.Operation() ); @@ -1848,11 +1838,14 @@ describe('v1.DatabaseAdminClient', () => { >; const [response] = await operation.promise(); assert.deepStrictEqual(response, expectedResponse); - assert( - (client.innerApiCalls.createBackup as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions /*, callback defined above */) - ); + const actualRequest = ( + client.innerApiCalls.createBackup as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.createBackup as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes createBackup with call error', async () => { @@ -1864,26 +1857,25 @@ describe('v1.DatabaseAdminClient', () => { const request = generateSampleMessage( new protos.google.spanner.admin.database.v1.CreateBackupRequest() ); - request.parent = ''; - const expectedHeaderRequestParams = 'parent='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue('CreateBackupRequest', [ + 'parent', + ]); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; const expectedError = new Error('expected'); client.innerApiCalls.createBackup = stubLongRunningCall( undefined, expectedError ); await assert.rejects(client.createBackup(request), expectedError); - assert( - (client.innerApiCalls.createBackup as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions, undefined) - ); + const actualRequest = ( + client.innerApiCalls.createBackup as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.createBackup as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes createBackup with LRO error', async () => { @@ -1895,15 +1887,11 @@ describe('v1.DatabaseAdminClient', () => { const request = generateSampleMessage( new protos.google.spanner.admin.database.v1.CreateBackupRequest() ); - request.parent = ''; - const expectedHeaderRequestParams = 'parent='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue('CreateBackupRequest', [ + 'parent', + ]); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; const expectedError = new Error('expected'); client.innerApiCalls.createBackup = stubLongRunningCall( undefined, @@ -1912,11 +1900,14 @@ describe('v1.DatabaseAdminClient', () => { ); const [operation] = await client.createBackup(request); await assert.rejects(operation.promise(), expectedError); - assert( - (client.innerApiCalls.createBackup as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions, undefined) - ); + const actualRequest = ( + client.innerApiCalls.createBackup as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.createBackup as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes checkCreateBackupProgress without error', async () => { @@ -1968,15 +1959,11 @@ describe('v1.DatabaseAdminClient', () => { const request = generateSampleMessage( new protos.google.spanner.admin.database.v1.CopyBackupRequest() ); - request.parent = ''; - const expectedHeaderRequestParams = 'parent='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue('CopyBackupRequest', [ + 'parent', + ]); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; const expectedResponse = generateSampleMessage( new protos.google.longrunning.Operation() ); @@ -1984,11 +1971,14 @@ describe('v1.DatabaseAdminClient', () => { const [operation] = await client.copyBackup(request); const [response] = await operation.promise(); assert.deepStrictEqual(response, expectedResponse); - assert( - (client.innerApiCalls.copyBackup as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions, undefined) - ); + const actualRequest = ( + client.innerApiCalls.copyBackup as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.copyBackup as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes copyBackup without error using callback', async () => { @@ -2000,15 +1990,11 @@ describe('v1.DatabaseAdminClient', () => { const request = generateSampleMessage( new protos.google.spanner.admin.database.v1.CopyBackupRequest() ); - request.parent = ''; - const expectedHeaderRequestParams = 'parent='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue('CopyBackupRequest', [ + 'parent', + ]); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; const expectedResponse = generateSampleMessage( new protos.google.longrunning.Operation() ); @@ -2038,11 +2024,14 @@ describe('v1.DatabaseAdminClient', () => { >; const [response] = await operation.promise(); assert.deepStrictEqual(response, expectedResponse); - assert( - (client.innerApiCalls.copyBackup as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions /*, callback defined above */) - ); + const actualRequest = ( + client.innerApiCalls.copyBackup as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.copyBackup as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes copyBackup with call error', async () => { @@ -2054,26 +2043,25 @@ describe('v1.DatabaseAdminClient', () => { const request = generateSampleMessage( new protos.google.spanner.admin.database.v1.CopyBackupRequest() ); - request.parent = ''; - const expectedHeaderRequestParams = 'parent='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue('CopyBackupRequest', [ + 'parent', + ]); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; const expectedError = new Error('expected'); client.innerApiCalls.copyBackup = stubLongRunningCall( undefined, expectedError ); await assert.rejects(client.copyBackup(request), expectedError); - assert( - (client.innerApiCalls.copyBackup as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions, undefined) - ); + const actualRequest = ( + client.innerApiCalls.copyBackup as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.copyBackup as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes copyBackup with LRO error', async () => { @@ -2085,15 +2073,11 @@ describe('v1.DatabaseAdminClient', () => { const request = generateSampleMessage( new protos.google.spanner.admin.database.v1.CopyBackupRequest() ); - request.parent = ''; - const expectedHeaderRequestParams = 'parent='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue('CopyBackupRequest', [ + 'parent', + ]); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; const expectedError = new Error('expected'); client.innerApiCalls.copyBackup = stubLongRunningCall( undefined, @@ -2102,11 +2086,14 @@ describe('v1.DatabaseAdminClient', () => { ); const [operation] = await client.copyBackup(request); await assert.rejects(operation.promise(), expectedError); - assert( - (client.innerApiCalls.copyBackup as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions, undefined) - ); + const actualRequest = ( + client.innerApiCalls.copyBackup as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.copyBackup as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes checkCopyBackupProgress without error', async () => { @@ -2158,15 +2145,11 @@ describe('v1.DatabaseAdminClient', () => { const request = generateSampleMessage( new protos.google.spanner.admin.database.v1.RestoreDatabaseRequest() ); - request.parent = ''; - const expectedHeaderRequestParams = 'parent='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue('RestoreDatabaseRequest', [ + 'parent', + ]); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; const expectedResponse = generateSampleMessage( new protos.google.longrunning.Operation() ); @@ -2175,11 +2158,14 @@ describe('v1.DatabaseAdminClient', () => { const [operation] = await client.restoreDatabase(request); const [response] = await operation.promise(); assert.deepStrictEqual(response, expectedResponse); - assert( - (client.innerApiCalls.restoreDatabase as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions, undefined) - ); + const actualRequest = ( + client.innerApiCalls.restoreDatabase as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.restoreDatabase as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes restoreDatabase without error using callback', async () => { @@ -2191,15 +2177,11 @@ describe('v1.DatabaseAdminClient', () => { const request = generateSampleMessage( new protos.google.spanner.admin.database.v1.RestoreDatabaseRequest() ); - request.parent = ''; - const expectedHeaderRequestParams = 'parent='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue('RestoreDatabaseRequest', [ + 'parent', + ]); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; const expectedResponse = generateSampleMessage( new protos.google.longrunning.Operation() ); @@ -2229,11 +2211,14 @@ describe('v1.DatabaseAdminClient', () => { >; const [response] = await operation.promise(); assert.deepStrictEqual(response, expectedResponse); - assert( - (client.innerApiCalls.restoreDatabase as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions /*, callback defined above */) - ); + const actualRequest = ( + client.innerApiCalls.restoreDatabase as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.restoreDatabase as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes restoreDatabase with call error', async () => { @@ -2245,26 +2230,25 @@ describe('v1.DatabaseAdminClient', () => { const request = generateSampleMessage( new protos.google.spanner.admin.database.v1.RestoreDatabaseRequest() ); - request.parent = ''; - const expectedHeaderRequestParams = 'parent='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue('RestoreDatabaseRequest', [ + 'parent', + ]); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; const expectedError = new Error('expected'); client.innerApiCalls.restoreDatabase = stubLongRunningCall( undefined, expectedError ); await assert.rejects(client.restoreDatabase(request), expectedError); - assert( - (client.innerApiCalls.restoreDatabase as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions, undefined) - ); + const actualRequest = ( + client.innerApiCalls.restoreDatabase as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.restoreDatabase as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes restoreDatabase with LRO error', async () => { @@ -2276,15 +2260,11 @@ describe('v1.DatabaseAdminClient', () => { const request = generateSampleMessage( new protos.google.spanner.admin.database.v1.RestoreDatabaseRequest() ); - request.parent = ''; - const expectedHeaderRequestParams = 'parent='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue('RestoreDatabaseRequest', [ + 'parent', + ]); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; const expectedError = new Error('expected'); client.innerApiCalls.restoreDatabase = stubLongRunningCall( undefined, @@ -2293,11 +2273,14 @@ describe('v1.DatabaseAdminClient', () => { ); const [operation] = await client.restoreDatabase(request); await assert.rejects(operation.promise(), expectedError); - assert( - (client.innerApiCalls.restoreDatabase as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions, undefined) - ); + const actualRequest = ( + client.innerApiCalls.restoreDatabase as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.restoreDatabase as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes checkRestoreDatabaseProgress without error', async () => { @@ -2352,15 +2335,11 @@ describe('v1.DatabaseAdminClient', () => { const request = generateSampleMessage( new protos.google.spanner.admin.database.v1.ListDatabasesRequest() ); - request.parent = ''; - const expectedHeaderRequestParams = 'parent='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue('ListDatabasesRequest', [ + 'parent', + ]); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; const expectedResponse = [ generateSampleMessage( new protos.google.spanner.admin.database.v1.Database() @@ -2375,11 +2354,14 @@ describe('v1.DatabaseAdminClient', () => { client.innerApiCalls.listDatabases = stubSimpleCall(expectedResponse); const [response] = await client.listDatabases(request); assert.deepStrictEqual(response, expectedResponse); - assert( - (client.innerApiCalls.listDatabases as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions, undefined) - ); + const actualRequest = ( + client.innerApiCalls.listDatabases as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.listDatabases as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes listDatabases without error using callback', async () => { @@ -2391,15 +2373,11 @@ describe('v1.DatabaseAdminClient', () => { const request = generateSampleMessage( new protos.google.spanner.admin.database.v1.ListDatabasesRequest() ); - request.parent = ''; - const expectedHeaderRequestParams = 'parent='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue('ListDatabasesRequest', [ + 'parent', + ]); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; const expectedResponse = [ generateSampleMessage( new protos.google.spanner.admin.database.v1.Database() @@ -2430,11 +2408,14 @@ describe('v1.DatabaseAdminClient', () => { }); const response = await promise; assert.deepStrictEqual(response, expectedResponse); - assert( - (client.innerApiCalls.listDatabases as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions /*, callback defined above */) - ); + const actualRequest = ( + client.innerApiCalls.listDatabases as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.listDatabases as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes listDatabases with error', async () => { @@ -2446,26 +2427,25 @@ describe('v1.DatabaseAdminClient', () => { const request = generateSampleMessage( new protos.google.spanner.admin.database.v1.ListDatabasesRequest() ); - request.parent = ''; - const expectedHeaderRequestParams = 'parent='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue('ListDatabasesRequest', [ + 'parent', + ]); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; const expectedError = new Error('expected'); client.innerApiCalls.listDatabases = stubSimpleCall( undefined, expectedError ); await assert.rejects(client.listDatabases(request), expectedError); - assert( - (client.innerApiCalls.listDatabases as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions, undefined) - ); + const actualRequest = ( + client.innerApiCalls.listDatabases as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.listDatabases as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes listDatabasesStream without error', async () => { @@ -2477,8 +2457,11 @@ describe('v1.DatabaseAdminClient', () => { const request = generateSampleMessage( new protos.google.spanner.admin.database.v1.ListDatabasesRequest() ); - request.parent = ''; - const expectedHeaderRequestParams = 'parent='; + const defaultValue1 = getTypeDefaultValue('ListDatabasesRequest', [ + 'parent', + ]); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; const expectedResponse = [ generateSampleMessage( new protos.google.spanner.admin.database.v1.Database() @@ -2516,11 +2499,12 @@ describe('v1.DatabaseAdminClient', () => { .getCall(0) .calledWith(client.innerApiCalls.listDatabases, request) ); - assert.strictEqual( - ( - client.descriptors.page.listDatabases.createStream as SinonStub - ).getCall(0).args[2].otherArgs.headers['x-goog-request-params'], - expectedHeaderRequestParams + assert( + (client.descriptors.page.listDatabases.createStream as SinonStub) + .getCall(0) + .args[2].otherArgs.headers['x-goog-request-params'].includes( + expectedHeaderRequestParams + ) ); }); @@ -2533,8 +2517,11 @@ describe('v1.DatabaseAdminClient', () => { const request = generateSampleMessage( new protos.google.spanner.admin.database.v1.ListDatabasesRequest() ); - request.parent = ''; - const expectedHeaderRequestParams = 'parent='; + const defaultValue1 = getTypeDefaultValue('ListDatabasesRequest', [ + 'parent', + ]); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; const expectedError = new Error('expected'); client.descriptors.page.listDatabases.createStream = stubPageStreamingCall(undefined, expectedError); @@ -2561,11 +2548,12 @@ describe('v1.DatabaseAdminClient', () => { .getCall(0) .calledWith(client.innerApiCalls.listDatabases, request) ); - assert.strictEqual( - ( - client.descriptors.page.listDatabases.createStream as SinonStub - ).getCall(0).args[2].otherArgs.headers['x-goog-request-params'], - expectedHeaderRequestParams + assert( + (client.descriptors.page.listDatabases.createStream as SinonStub) + .getCall(0) + .args[2].otherArgs.headers['x-goog-request-params'].includes( + expectedHeaderRequestParams + ) ); }); @@ -2578,8 +2566,11 @@ describe('v1.DatabaseAdminClient', () => { const request = generateSampleMessage( new protos.google.spanner.admin.database.v1.ListDatabasesRequest() ); - request.parent = ''; - const expectedHeaderRequestParams = 'parent='; + const defaultValue1 = getTypeDefaultValue('ListDatabasesRequest', [ + 'parent', + ]); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; const expectedResponse = [ generateSampleMessage( new protos.google.spanner.admin.database.v1.Database() @@ -2605,11 +2596,12 @@ describe('v1.DatabaseAdminClient', () => { ).getCall(0).args[1], request ); - assert.strictEqual( - ( - client.descriptors.page.listDatabases.asyncIterate as SinonStub - ).getCall(0).args[2].otherArgs.headers['x-goog-request-params'], - expectedHeaderRequestParams + assert( + (client.descriptors.page.listDatabases.asyncIterate as SinonStub) + .getCall(0) + .args[2].otherArgs.headers['x-goog-request-params'].includes( + expectedHeaderRequestParams + ) ); }); @@ -2622,8 +2614,11 @@ describe('v1.DatabaseAdminClient', () => { const request = generateSampleMessage( new protos.google.spanner.admin.database.v1.ListDatabasesRequest() ); - request.parent = ''; - const expectedHeaderRequestParams = 'parent='; + const defaultValue1 = getTypeDefaultValue('ListDatabasesRequest', [ + 'parent', + ]); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; const expectedError = new Error('expected'); client.descriptors.page.listDatabases.asyncIterate = stubAsyncIterationCall(undefined, expectedError); @@ -2641,11 +2636,12 @@ describe('v1.DatabaseAdminClient', () => { ).getCall(0).args[1], request ); - assert.strictEqual( - ( - client.descriptors.page.listDatabases.asyncIterate as SinonStub - ).getCall(0).args[2].otherArgs.headers['x-goog-request-params'], - expectedHeaderRequestParams + assert( + (client.descriptors.page.listDatabases.asyncIterate as SinonStub) + .getCall(0) + .args[2].otherArgs.headers['x-goog-request-params'].includes( + expectedHeaderRequestParams + ) ); }); }); @@ -2660,15 +2656,11 @@ describe('v1.DatabaseAdminClient', () => { const request = generateSampleMessage( new protos.google.spanner.admin.database.v1.ListBackupsRequest() ); - request.parent = ''; - const expectedHeaderRequestParams = 'parent='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue('ListBackupsRequest', [ + 'parent', + ]); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; const expectedResponse = [ generateSampleMessage( new protos.google.spanner.admin.database.v1.Backup() @@ -2683,11 +2675,14 @@ describe('v1.DatabaseAdminClient', () => { client.innerApiCalls.listBackups = stubSimpleCall(expectedResponse); const [response] = await client.listBackups(request); assert.deepStrictEqual(response, expectedResponse); - assert( - (client.innerApiCalls.listBackups as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions, undefined) - ); + const actualRequest = ( + client.innerApiCalls.listBackups as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.listBackups as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes listBackups without error using callback', async () => { @@ -2699,15 +2694,11 @@ describe('v1.DatabaseAdminClient', () => { const request = generateSampleMessage( new protos.google.spanner.admin.database.v1.ListBackupsRequest() ); - request.parent = ''; - const expectedHeaderRequestParams = 'parent='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue('ListBackupsRequest', [ + 'parent', + ]); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; const expectedResponse = [ generateSampleMessage( new protos.google.spanner.admin.database.v1.Backup() @@ -2738,11 +2729,14 @@ describe('v1.DatabaseAdminClient', () => { }); const response = await promise; assert.deepStrictEqual(response, expectedResponse); - assert( - (client.innerApiCalls.listBackups as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions /*, callback defined above */) - ); + const actualRequest = ( + client.innerApiCalls.listBackups as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.listBackups as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes listBackups with error', async () => { @@ -2754,26 +2748,25 @@ describe('v1.DatabaseAdminClient', () => { const request = generateSampleMessage( new protos.google.spanner.admin.database.v1.ListBackupsRequest() ); - request.parent = ''; - const expectedHeaderRequestParams = 'parent='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue('ListBackupsRequest', [ + 'parent', + ]); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; const expectedError = new Error('expected'); client.innerApiCalls.listBackups = stubSimpleCall( undefined, expectedError ); await assert.rejects(client.listBackups(request), expectedError); - assert( - (client.innerApiCalls.listBackups as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions, undefined) - ); + const actualRequest = ( + client.innerApiCalls.listBackups as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.listBackups as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes listBackupsStream without error', async () => { @@ -2785,8 +2778,11 @@ describe('v1.DatabaseAdminClient', () => { const request = generateSampleMessage( new protos.google.spanner.admin.database.v1.ListBackupsRequest() ); - request.parent = ''; - const expectedHeaderRequestParams = 'parent='; + const defaultValue1 = getTypeDefaultValue('ListBackupsRequest', [ + 'parent', + ]); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; const expectedResponse = [ generateSampleMessage( new protos.google.spanner.admin.database.v1.Backup() @@ -2823,11 +2819,12 @@ describe('v1.DatabaseAdminClient', () => { .getCall(0) .calledWith(client.innerApiCalls.listBackups, request) ); - assert.strictEqual( - (client.descriptors.page.listBackups.createStream as SinonStub).getCall( - 0 - ).args[2].otherArgs.headers['x-goog-request-params'], - expectedHeaderRequestParams + assert( + (client.descriptors.page.listBackups.createStream as SinonStub) + .getCall(0) + .args[2].otherArgs.headers['x-goog-request-params'].includes( + expectedHeaderRequestParams + ) ); }); @@ -2840,8 +2837,11 @@ describe('v1.DatabaseAdminClient', () => { const request = generateSampleMessage( new protos.google.spanner.admin.database.v1.ListBackupsRequest() ); - request.parent = ''; - const expectedHeaderRequestParams = 'parent='; + const defaultValue1 = getTypeDefaultValue('ListBackupsRequest', [ + 'parent', + ]); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; const expectedError = new Error('expected'); client.descriptors.page.listBackups.createStream = stubPageStreamingCall( undefined, @@ -2869,11 +2869,12 @@ describe('v1.DatabaseAdminClient', () => { .getCall(0) .calledWith(client.innerApiCalls.listBackups, request) ); - assert.strictEqual( - (client.descriptors.page.listBackups.createStream as SinonStub).getCall( - 0 - ).args[2].otherArgs.headers['x-goog-request-params'], - expectedHeaderRequestParams + assert( + (client.descriptors.page.listBackups.createStream as SinonStub) + .getCall(0) + .args[2].otherArgs.headers['x-goog-request-params'].includes( + expectedHeaderRequestParams + ) ); }); @@ -2886,8 +2887,11 @@ describe('v1.DatabaseAdminClient', () => { const request = generateSampleMessage( new protos.google.spanner.admin.database.v1.ListBackupsRequest() ); - request.parent = ''; - const expectedHeaderRequestParams = 'parent='; + const defaultValue1 = getTypeDefaultValue('ListBackupsRequest', [ + 'parent', + ]); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; const expectedResponse = [ generateSampleMessage( new protos.google.spanner.admin.database.v1.Backup() @@ -2913,11 +2917,12 @@ describe('v1.DatabaseAdminClient', () => { ).args[1], request ); - assert.strictEqual( - (client.descriptors.page.listBackups.asyncIterate as SinonStub).getCall( - 0 - ).args[2].otherArgs.headers['x-goog-request-params'], - expectedHeaderRequestParams + assert( + (client.descriptors.page.listBackups.asyncIterate as SinonStub) + .getCall(0) + .args[2].otherArgs.headers['x-goog-request-params'].includes( + expectedHeaderRequestParams + ) ); }); @@ -2930,8 +2935,11 @@ describe('v1.DatabaseAdminClient', () => { const request = generateSampleMessage( new protos.google.spanner.admin.database.v1.ListBackupsRequest() ); - request.parent = ''; - const expectedHeaderRequestParams = 'parent='; + const defaultValue1 = getTypeDefaultValue('ListBackupsRequest', [ + 'parent', + ]); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; const expectedError = new Error('expected'); client.descriptors.page.listBackups.asyncIterate = stubAsyncIterationCall( undefined, @@ -2950,11 +2958,12 @@ describe('v1.DatabaseAdminClient', () => { ).args[1], request ); - assert.strictEqual( - (client.descriptors.page.listBackups.asyncIterate as SinonStub).getCall( - 0 - ).args[2].otherArgs.headers['x-goog-request-params'], - expectedHeaderRequestParams + assert( + (client.descriptors.page.listBackups.asyncIterate as SinonStub) + .getCall(0) + .args[2].otherArgs.headers['x-goog-request-params'].includes( + expectedHeaderRequestParams + ) ); }); }); @@ -2969,15 +2978,12 @@ describe('v1.DatabaseAdminClient', () => { const request = generateSampleMessage( new protos.google.spanner.admin.database.v1.ListDatabaseOperationsRequest() ); - request.parent = ''; - const expectedHeaderRequestParams = 'parent='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue( + 'ListDatabaseOperationsRequest', + ['parent'] + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; const expectedResponse = [ generateSampleMessage(new protos.google.longrunning.Operation()), generateSampleMessage(new protos.google.longrunning.Operation()), @@ -2987,11 +2993,14 @@ describe('v1.DatabaseAdminClient', () => { stubSimpleCall(expectedResponse); const [response] = await client.listDatabaseOperations(request); assert.deepStrictEqual(response, expectedResponse); - assert( - (client.innerApiCalls.listDatabaseOperations as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions, undefined) - ); + const actualRequest = ( + client.innerApiCalls.listDatabaseOperations as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.listDatabaseOperations as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes listDatabaseOperations without error using callback', async () => { @@ -3003,15 +3012,12 @@ describe('v1.DatabaseAdminClient', () => { const request = generateSampleMessage( new protos.google.spanner.admin.database.v1.ListDatabaseOperationsRequest() ); - request.parent = ''; - const expectedHeaderRequestParams = 'parent='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue( + 'ListDatabaseOperationsRequest', + ['parent'] + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; const expectedResponse = [ generateSampleMessage(new protos.google.longrunning.Operation()), generateSampleMessage(new protos.google.longrunning.Operation()), @@ -3036,11 +3042,14 @@ describe('v1.DatabaseAdminClient', () => { }); const response = await promise; assert.deepStrictEqual(response, expectedResponse); - assert( - (client.innerApiCalls.listDatabaseOperations as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions /*, callback defined above */) - ); + const actualRequest = ( + client.innerApiCalls.listDatabaseOperations as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.listDatabaseOperations as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes listDatabaseOperations with error', async () => { @@ -3052,15 +3061,12 @@ describe('v1.DatabaseAdminClient', () => { const request = generateSampleMessage( new protos.google.spanner.admin.database.v1.ListDatabaseOperationsRequest() ); - request.parent = ''; - const expectedHeaderRequestParams = 'parent='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue( + 'ListDatabaseOperationsRequest', + ['parent'] + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; const expectedError = new Error('expected'); client.innerApiCalls.listDatabaseOperations = stubSimpleCall( undefined, @@ -3070,11 +3076,14 @@ describe('v1.DatabaseAdminClient', () => { client.listDatabaseOperations(request), expectedError ); - assert( - (client.innerApiCalls.listDatabaseOperations as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions, undefined) - ); + const actualRequest = ( + client.innerApiCalls.listDatabaseOperations as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.listDatabaseOperations as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes listDatabaseOperationsStream without error', async () => { @@ -3086,8 +3095,12 @@ describe('v1.DatabaseAdminClient', () => { const request = generateSampleMessage( new protos.google.spanner.admin.database.v1.ListDatabaseOperationsRequest() ); - request.parent = ''; - const expectedHeaderRequestParams = 'parent='; + const defaultValue1 = getTypeDefaultValue( + 'ListDatabaseOperationsRequest', + ['parent'] + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; const expectedResponse = [ generateSampleMessage(new protos.google.longrunning.Operation()), generateSampleMessage(new protos.google.longrunning.Operation()), @@ -3118,12 +3131,15 @@ describe('v1.DatabaseAdminClient', () => { .getCall(0) .calledWith(client.innerApiCalls.listDatabaseOperations, request) ); - assert.strictEqual( + assert( ( client.descriptors.page.listDatabaseOperations .createStream as SinonStub - ).getCall(0).args[2].otherArgs.headers['x-goog-request-params'], - expectedHeaderRequestParams + ) + .getCall(0) + .args[2].otherArgs.headers['x-goog-request-params'].includes( + expectedHeaderRequestParams + ) ); }); @@ -3136,8 +3152,12 @@ describe('v1.DatabaseAdminClient', () => { const request = generateSampleMessage( new protos.google.spanner.admin.database.v1.ListDatabaseOperationsRequest() ); - request.parent = ''; - const expectedHeaderRequestParams = 'parent='; + const defaultValue1 = getTypeDefaultValue( + 'ListDatabaseOperationsRequest', + ['parent'] + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; const expectedError = new Error('expected'); client.descriptors.page.listDatabaseOperations.createStream = stubPageStreamingCall(undefined, expectedError); @@ -3163,12 +3183,15 @@ describe('v1.DatabaseAdminClient', () => { .getCall(0) .calledWith(client.innerApiCalls.listDatabaseOperations, request) ); - assert.strictEqual( + assert( ( client.descriptors.page.listDatabaseOperations .createStream as SinonStub - ).getCall(0).args[2].otherArgs.headers['x-goog-request-params'], - expectedHeaderRequestParams + ) + .getCall(0) + .args[2].otherArgs.headers['x-goog-request-params'].includes( + expectedHeaderRequestParams + ) ); }); @@ -3181,8 +3204,12 @@ describe('v1.DatabaseAdminClient', () => { const request = generateSampleMessage( new protos.google.spanner.admin.database.v1.ListDatabaseOperationsRequest() ); - request.parent = ''; - const expectedHeaderRequestParams = 'parent='; + const defaultValue1 = getTypeDefaultValue( + 'ListDatabaseOperationsRequest', + ['parent'] + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; const expectedResponse = [ generateSampleMessage(new protos.google.longrunning.Operation()), generateSampleMessage(new protos.google.longrunning.Operation()), @@ -3203,12 +3230,15 @@ describe('v1.DatabaseAdminClient', () => { ).getCall(0).args[1], request ); - assert.strictEqual( + assert( ( client.descriptors.page.listDatabaseOperations .asyncIterate as SinonStub - ).getCall(0).args[2].otherArgs.headers['x-goog-request-params'], - expectedHeaderRequestParams + ) + .getCall(0) + .args[2].otherArgs.headers['x-goog-request-params'].includes( + expectedHeaderRequestParams + ) ); }); @@ -3221,8 +3251,12 @@ describe('v1.DatabaseAdminClient', () => { const request = generateSampleMessage( new protos.google.spanner.admin.database.v1.ListDatabaseOperationsRequest() ); - request.parent = ''; - const expectedHeaderRequestParams = 'parent='; + const defaultValue1 = getTypeDefaultValue( + 'ListDatabaseOperationsRequest', + ['parent'] + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; const expectedError = new Error('expected'); client.descriptors.page.listDatabaseOperations.asyncIterate = stubAsyncIterationCall(undefined, expectedError); @@ -3240,12 +3274,15 @@ describe('v1.DatabaseAdminClient', () => { ).getCall(0).args[1], request ); - assert.strictEqual( + assert( ( client.descriptors.page.listDatabaseOperations .asyncIterate as SinonStub - ).getCall(0).args[2].otherArgs.headers['x-goog-request-params'], - expectedHeaderRequestParams + ) + .getCall(0) + .args[2].otherArgs.headers['x-goog-request-params'].includes( + expectedHeaderRequestParams + ) ); }); }); @@ -3260,15 +3297,11 @@ describe('v1.DatabaseAdminClient', () => { const request = generateSampleMessage( new protos.google.spanner.admin.database.v1.ListBackupOperationsRequest() ); - request.parent = ''; - const expectedHeaderRequestParams = 'parent='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue('ListBackupOperationsRequest', [ + 'parent', + ]); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; const expectedResponse = [ generateSampleMessage(new protos.google.longrunning.Operation()), generateSampleMessage(new protos.google.longrunning.Operation()), @@ -3278,11 +3311,14 @@ describe('v1.DatabaseAdminClient', () => { stubSimpleCall(expectedResponse); const [response] = await client.listBackupOperations(request); assert.deepStrictEqual(response, expectedResponse); - assert( - (client.innerApiCalls.listBackupOperations as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions, undefined) - ); + const actualRequest = ( + client.innerApiCalls.listBackupOperations as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.listBackupOperations as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes listBackupOperations without error using callback', async () => { @@ -3294,15 +3330,11 @@ describe('v1.DatabaseAdminClient', () => { const request = generateSampleMessage( new protos.google.spanner.admin.database.v1.ListBackupOperationsRequest() ); - request.parent = ''; - const expectedHeaderRequestParams = 'parent='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue('ListBackupOperationsRequest', [ + 'parent', + ]); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; const expectedResponse = [ generateSampleMessage(new protos.google.longrunning.Operation()), generateSampleMessage(new protos.google.longrunning.Operation()), @@ -3327,11 +3359,14 @@ describe('v1.DatabaseAdminClient', () => { }); const response = await promise; assert.deepStrictEqual(response, expectedResponse); - assert( - (client.innerApiCalls.listBackupOperations as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions /*, callback defined above */) - ); + const actualRequest = ( + client.innerApiCalls.listBackupOperations as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.listBackupOperations as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes listBackupOperations with error', async () => { @@ -3343,26 +3378,25 @@ describe('v1.DatabaseAdminClient', () => { const request = generateSampleMessage( new protos.google.spanner.admin.database.v1.ListBackupOperationsRequest() ); - request.parent = ''; - const expectedHeaderRequestParams = 'parent='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue('ListBackupOperationsRequest', [ + 'parent', + ]); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; const expectedError = new Error('expected'); client.innerApiCalls.listBackupOperations = stubSimpleCall( undefined, expectedError ); await assert.rejects(client.listBackupOperations(request), expectedError); - assert( - (client.innerApiCalls.listBackupOperations as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions, undefined) - ); + const actualRequest = ( + client.innerApiCalls.listBackupOperations as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.listBackupOperations as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes listBackupOperationsStream without error', async () => { @@ -3374,8 +3408,11 @@ describe('v1.DatabaseAdminClient', () => { const request = generateSampleMessage( new protos.google.spanner.admin.database.v1.ListBackupOperationsRequest() ); - request.parent = ''; - const expectedHeaderRequestParams = 'parent='; + const defaultValue1 = getTypeDefaultValue('ListBackupOperationsRequest', [ + 'parent', + ]); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; const expectedResponse = [ generateSampleMessage(new protos.google.longrunning.Operation()), generateSampleMessage(new protos.google.longrunning.Operation()), @@ -3403,11 +3440,12 @@ describe('v1.DatabaseAdminClient', () => { .getCall(0) .calledWith(client.innerApiCalls.listBackupOperations, request) ); - assert.strictEqual( - ( - client.descriptors.page.listBackupOperations.createStream as SinonStub - ).getCall(0).args[2].otherArgs.headers['x-goog-request-params'], - expectedHeaderRequestParams + assert( + (client.descriptors.page.listBackupOperations.createStream as SinonStub) + .getCall(0) + .args[2].otherArgs.headers['x-goog-request-params'].includes( + expectedHeaderRequestParams + ) ); }); @@ -3420,8 +3458,11 @@ describe('v1.DatabaseAdminClient', () => { const request = generateSampleMessage( new protos.google.spanner.admin.database.v1.ListBackupOperationsRequest() ); - request.parent = ''; - const expectedHeaderRequestParams = 'parent='; + const defaultValue1 = getTypeDefaultValue('ListBackupOperationsRequest', [ + 'parent', + ]); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; const expectedError = new Error('expected'); client.descriptors.page.listBackupOperations.createStream = stubPageStreamingCall(undefined, expectedError); @@ -3444,11 +3485,12 @@ describe('v1.DatabaseAdminClient', () => { .getCall(0) .calledWith(client.innerApiCalls.listBackupOperations, request) ); - assert.strictEqual( - ( - client.descriptors.page.listBackupOperations.createStream as SinonStub - ).getCall(0).args[2].otherArgs.headers['x-goog-request-params'], - expectedHeaderRequestParams + assert( + (client.descriptors.page.listBackupOperations.createStream as SinonStub) + .getCall(0) + .args[2].otherArgs.headers['x-goog-request-params'].includes( + expectedHeaderRequestParams + ) ); }); @@ -3461,8 +3503,11 @@ describe('v1.DatabaseAdminClient', () => { const request = generateSampleMessage( new protos.google.spanner.admin.database.v1.ListBackupOperationsRequest() ); - request.parent = ''; - const expectedHeaderRequestParams = 'parent='; + const defaultValue1 = getTypeDefaultValue('ListBackupOperationsRequest', [ + 'parent', + ]); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; const expectedResponse = [ generateSampleMessage(new protos.google.longrunning.Operation()), generateSampleMessage(new protos.google.longrunning.Operation()), @@ -3482,11 +3527,12 @@ describe('v1.DatabaseAdminClient', () => { ).getCall(0).args[1], request ); - assert.strictEqual( - ( - client.descriptors.page.listBackupOperations.asyncIterate as SinonStub - ).getCall(0).args[2].otherArgs.headers['x-goog-request-params'], - expectedHeaderRequestParams + assert( + (client.descriptors.page.listBackupOperations.asyncIterate as SinonStub) + .getCall(0) + .args[2].otherArgs.headers['x-goog-request-params'].includes( + expectedHeaderRequestParams + ) ); }); @@ -3499,8 +3545,11 @@ describe('v1.DatabaseAdminClient', () => { const request = generateSampleMessage( new protos.google.spanner.admin.database.v1.ListBackupOperationsRequest() ); - request.parent = ''; - const expectedHeaderRequestParams = 'parent='; + const defaultValue1 = getTypeDefaultValue('ListBackupOperationsRequest', [ + 'parent', + ]); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; const expectedError = new Error('expected'); client.descriptors.page.listBackupOperations.asyncIterate = stubAsyncIterationCall(undefined, expectedError); @@ -3517,11 +3566,12 @@ describe('v1.DatabaseAdminClient', () => { ).getCall(0).args[1], request ); - assert.strictEqual( - ( - client.descriptors.page.listBackupOperations.asyncIterate as SinonStub - ).getCall(0).args[2].otherArgs.headers['x-goog-request-params'], - expectedHeaderRequestParams + assert( + (client.descriptors.page.listBackupOperations.asyncIterate as SinonStub) + .getCall(0) + .args[2].otherArgs.headers['x-goog-request-params'].includes( + expectedHeaderRequestParams + ) ); }); }); @@ -3536,15 +3586,11 @@ describe('v1.DatabaseAdminClient', () => { const request = generateSampleMessage( new protos.google.spanner.admin.database.v1.ListDatabaseRolesRequest() ); - request.parent = ''; - const expectedHeaderRequestParams = 'parent='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue('ListDatabaseRolesRequest', [ + 'parent', + ]); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; const expectedResponse = [ generateSampleMessage( new protos.google.spanner.admin.database.v1.DatabaseRole() @@ -3559,11 +3605,14 @@ describe('v1.DatabaseAdminClient', () => { client.innerApiCalls.listDatabaseRoles = stubSimpleCall(expectedResponse); const [response] = await client.listDatabaseRoles(request); assert.deepStrictEqual(response, expectedResponse); - assert( - (client.innerApiCalls.listDatabaseRoles as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions, undefined) - ); + const actualRequest = ( + client.innerApiCalls.listDatabaseRoles as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.listDatabaseRoles as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes listDatabaseRoles without error using callback', async () => { @@ -3575,15 +3624,11 @@ describe('v1.DatabaseAdminClient', () => { const request = generateSampleMessage( new protos.google.spanner.admin.database.v1.ListDatabaseRolesRequest() ); - request.parent = ''; - const expectedHeaderRequestParams = 'parent='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue('ListDatabaseRolesRequest', [ + 'parent', + ]); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; const expectedResponse = [ generateSampleMessage( new protos.google.spanner.admin.database.v1.DatabaseRole() @@ -3616,11 +3661,14 @@ describe('v1.DatabaseAdminClient', () => { }); const response = await promise; assert.deepStrictEqual(response, expectedResponse); - assert( - (client.innerApiCalls.listDatabaseRoles as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions /*, callback defined above */) - ); + const actualRequest = ( + client.innerApiCalls.listDatabaseRoles as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.listDatabaseRoles as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes listDatabaseRoles with error', async () => { @@ -3632,26 +3680,25 @@ describe('v1.DatabaseAdminClient', () => { const request = generateSampleMessage( new protos.google.spanner.admin.database.v1.ListDatabaseRolesRequest() ); - request.parent = ''; - const expectedHeaderRequestParams = 'parent='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue('ListDatabaseRolesRequest', [ + 'parent', + ]); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; const expectedError = new Error('expected'); client.innerApiCalls.listDatabaseRoles = stubSimpleCall( undefined, expectedError ); await assert.rejects(client.listDatabaseRoles(request), expectedError); - assert( - (client.innerApiCalls.listDatabaseRoles as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions, undefined) - ); + const actualRequest = ( + client.innerApiCalls.listDatabaseRoles as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.listDatabaseRoles as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes listDatabaseRolesStream without error', async () => { @@ -3663,8 +3710,11 @@ describe('v1.DatabaseAdminClient', () => { const request = generateSampleMessage( new protos.google.spanner.admin.database.v1.ListDatabaseRolesRequest() ); - request.parent = ''; - const expectedHeaderRequestParams = 'parent='; + const defaultValue1 = getTypeDefaultValue('ListDatabaseRolesRequest', [ + 'parent', + ]); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; const expectedResponse = [ generateSampleMessage( new protos.google.spanner.admin.database.v1.DatabaseRole() @@ -3702,11 +3752,12 @@ describe('v1.DatabaseAdminClient', () => { .getCall(0) .calledWith(client.innerApiCalls.listDatabaseRoles, request) ); - assert.strictEqual( - ( - client.descriptors.page.listDatabaseRoles.createStream as SinonStub - ).getCall(0).args[2].otherArgs.headers['x-goog-request-params'], - expectedHeaderRequestParams + assert( + (client.descriptors.page.listDatabaseRoles.createStream as SinonStub) + .getCall(0) + .args[2].otherArgs.headers['x-goog-request-params'].includes( + expectedHeaderRequestParams + ) ); }); @@ -3719,8 +3770,11 @@ describe('v1.DatabaseAdminClient', () => { const request = generateSampleMessage( new protos.google.spanner.admin.database.v1.ListDatabaseRolesRequest() ); - request.parent = ''; - const expectedHeaderRequestParams = 'parent='; + const defaultValue1 = getTypeDefaultValue('ListDatabaseRolesRequest', [ + 'parent', + ]); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; const expectedError = new Error('expected'); client.descriptors.page.listDatabaseRoles.createStream = stubPageStreamingCall(undefined, expectedError); @@ -3747,11 +3801,12 @@ describe('v1.DatabaseAdminClient', () => { .getCall(0) .calledWith(client.innerApiCalls.listDatabaseRoles, request) ); - assert.strictEqual( - ( - client.descriptors.page.listDatabaseRoles.createStream as SinonStub - ).getCall(0).args[2].otherArgs.headers['x-goog-request-params'], - expectedHeaderRequestParams + assert( + (client.descriptors.page.listDatabaseRoles.createStream as SinonStub) + .getCall(0) + .args[2].otherArgs.headers['x-goog-request-params'].includes( + expectedHeaderRequestParams + ) ); }); @@ -3764,8 +3819,11 @@ describe('v1.DatabaseAdminClient', () => { const request = generateSampleMessage( new protos.google.spanner.admin.database.v1.ListDatabaseRolesRequest() ); - request.parent = ''; - const expectedHeaderRequestParams = 'parent='; + const defaultValue1 = getTypeDefaultValue('ListDatabaseRolesRequest', [ + 'parent', + ]); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; const expectedResponse = [ generateSampleMessage( new protos.google.spanner.admin.database.v1.DatabaseRole() @@ -3792,11 +3850,12 @@ describe('v1.DatabaseAdminClient', () => { ).getCall(0).args[1], request ); - assert.strictEqual( - ( - client.descriptors.page.listDatabaseRoles.asyncIterate as SinonStub - ).getCall(0).args[2].otherArgs.headers['x-goog-request-params'], - expectedHeaderRequestParams + assert( + (client.descriptors.page.listDatabaseRoles.asyncIterate as SinonStub) + .getCall(0) + .args[2].otherArgs.headers['x-goog-request-params'].includes( + expectedHeaderRequestParams + ) ); }); @@ -3809,8 +3868,11 @@ describe('v1.DatabaseAdminClient', () => { const request = generateSampleMessage( new protos.google.spanner.admin.database.v1.ListDatabaseRolesRequest() ); - request.parent = ''; - const expectedHeaderRequestParams = 'parent='; + const defaultValue1 = getTypeDefaultValue('ListDatabaseRolesRequest', [ + 'parent', + ]); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; const expectedError = new Error('expected'); client.descriptors.page.listDatabaseRoles.asyncIterate = stubAsyncIterationCall(undefined, expectedError); @@ -3828,11 +3890,12 @@ describe('v1.DatabaseAdminClient', () => { ).getCall(0).args[1], request ); - assert.strictEqual( - ( - client.descriptors.page.listDatabaseRoles.asyncIterate as SinonStub - ).getCall(0).args[2].otherArgs.headers['x-goog-request-params'], - expectedHeaderRequestParams + assert( + (client.descriptors.page.listDatabaseRoles.asyncIterate as SinonStub) + .getCall(0) + .args[2].otherArgs.headers['x-goog-request-params'].includes( + expectedHeaderRequestParams + ) ); }); }); diff --git a/test/gapic_instance_admin_v1.ts b/test/gapic_instance_admin_v1.ts index d56ea7348..321eb31e0 100644 --- a/test/gapic_instance_admin_v1.ts +++ b/test/gapic_instance_admin_v1.ts @@ -27,6 +27,21 @@ import {PassThrough} from 'stream'; import {protobuf, LROperation, operationsProtos} from 'google-gax'; +// Dynamically loaded proto JSON is needed to get the type information +// to fill in default values for request objects +const root = protobuf.Root.fromJSON( + require('../protos/protos.json') +).resolveAll(); + +// eslint-disable-next-line @typescript-eslint/no-unused-vars +function getTypeDefaultValue(typeName: string, fields: string[]) { + let type = root.lookupType(typeName) as protobuf.Type; + for (const field of fields.slice(0, -1)) { + type = type.fields[field]?.resolvedType as protobuf.Type; + } + return type.fields[fields[fields.length - 1]]?.defaultValue; +} + function generateSampleMessage(instance: T) { const filledObject = ( instance.constructor as typeof protobuf.Message @@ -254,26 +269,25 @@ describe('v1.InstanceAdminClient', () => { const request = generateSampleMessage( new protos.google.spanner.admin.instance.v1.GetInstanceConfigRequest() ); - request.name = ''; - const expectedHeaderRequestParams = 'name='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue('GetInstanceConfigRequest', [ + 'name', + ]); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1}`; const expectedResponse = generateSampleMessage( new protos.google.spanner.admin.instance.v1.InstanceConfig() ); client.innerApiCalls.getInstanceConfig = stubSimpleCall(expectedResponse); const [response] = await client.getInstanceConfig(request); assert.deepStrictEqual(response, expectedResponse); - assert( - (client.innerApiCalls.getInstanceConfig as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions, undefined) - ); + const actualRequest = ( + client.innerApiCalls.getInstanceConfig as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.getInstanceConfig as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes getInstanceConfig without error using callback', async () => { @@ -285,15 +299,11 @@ describe('v1.InstanceAdminClient', () => { const request = generateSampleMessage( new protos.google.spanner.admin.instance.v1.GetInstanceConfigRequest() ); - request.name = ''; - const expectedHeaderRequestParams = 'name='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue('GetInstanceConfigRequest', [ + 'name', + ]); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1}`; const expectedResponse = generateSampleMessage( new protos.google.spanner.admin.instance.v1.InstanceConfig() ); @@ -316,11 +326,14 @@ describe('v1.InstanceAdminClient', () => { }); const response = await promise; assert.deepStrictEqual(response, expectedResponse); - assert( - (client.innerApiCalls.getInstanceConfig as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions /*, callback defined above */) - ); + const actualRequest = ( + client.innerApiCalls.getInstanceConfig as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.getInstanceConfig as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes getInstanceConfig with error', async () => { @@ -332,26 +345,25 @@ describe('v1.InstanceAdminClient', () => { const request = generateSampleMessage( new protos.google.spanner.admin.instance.v1.GetInstanceConfigRequest() ); - request.name = ''; - const expectedHeaderRequestParams = 'name='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue('GetInstanceConfigRequest', [ + 'name', + ]); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1}`; const expectedError = new Error('expected'); client.innerApiCalls.getInstanceConfig = stubSimpleCall( undefined, expectedError ); await assert.rejects(client.getInstanceConfig(request), expectedError); - assert( - (client.innerApiCalls.getInstanceConfig as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions, undefined) - ); + const actualRequest = ( + client.innerApiCalls.getInstanceConfig as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.getInstanceConfig as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes getInstanceConfig with closed client', async () => { @@ -363,7 +375,10 @@ describe('v1.InstanceAdminClient', () => { const request = generateSampleMessage( new protos.google.spanner.admin.instance.v1.GetInstanceConfigRequest() ); - request.name = ''; + const defaultValue1 = getTypeDefaultValue('GetInstanceConfigRequest', [ + 'name', + ]); + request.name = defaultValue1; const expectedError = new Error('The client has already been closed.'); client.close(); await assert.rejects(client.getInstanceConfig(request), expectedError); @@ -380,26 +395,23 @@ describe('v1.InstanceAdminClient', () => { const request = generateSampleMessage( new protos.google.spanner.admin.instance.v1.GetInstanceRequest() ); - request.name = ''; - const expectedHeaderRequestParams = 'name='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue('GetInstanceRequest', ['name']); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1}`; const expectedResponse = generateSampleMessage( new protos.google.spanner.admin.instance.v1.Instance() ); client.innerApiCalls.getInstance = stubSimpleCall(expectedResponse); const [response] = await client.getInstance(request); assert.deepStrictEqual(response, expectedResponse); - assert( - (client.innerApiCalls.getInstance as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions, undefined) - ); + const actualRequest = ( + client.innerApiCalls.getInstance as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.getInstance as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes getInstance without error using callback', async () => { @@ -411,15 +423,9 @@ describe('v1.InstanceAdminClient', () => { const request = generateSampleMessage( new protos.google.spanner.admin.instance.v1.GetInstanceRequest() ); - request.name = ''; - const expectedHeaderRequestParams = 'name='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue('GetInstanceRequest', ['name']); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1}`; const expectedResponse = generateSampleMessage( new protos.google.spanner.admin.instance.v1.Instance() ); @@ -442,11 +448,14 @@ describe('v1.InstanceAdminClient', () => { }); const response = await promise; assert.deepStrictEqual(response, expectedResponse); - assert( - (client.innerApiCalls.getInstance as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions /*, callback defined above */) - ); + const actualRequest = ( + client.innerApiCalls.getInstance as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.getInstance as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes getInstance with error', async () => { @@ -458,26 +467,23 @@ describe('v1.InstanceAdminClient', () => { const request = generateSampleMessage( new protos.google.spanner.admin.instance.v1.GetInstanceRequest() ); - request.name = ''; - const expectedHeaderRequestParams = 'name='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue('GetInstanceRequest', ['name']); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1}`; const expectedError = new Error('expected'); client.innerApiCalls.getInstance = stubSimpleCall( undefined, expectedError ); await assert.rejects(client.getInstance(request), expectedError); - assert( - (client.innerApiCalls.getInstance as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions, undefined) - ); + const actualRequest = ( + client.innerApiCalls.getInstance as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.getInstance as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes getInstance with closed client', async () => { @@ -489,7 +495,8 @@ describe('v1.InstanceAdminClient', () => { const request = generateSampleMessage( new protos.google.spanner.admin.instance.v1.GetInstanceRequest() ); - request.name = ''; + const defaultValue1 = getTypeDefaultValue('GetInstanceRequest', ['name']); + request.name = defaultValue1; const expectedError = new Error('The client has already been closed.'); client.close(); await assert.rejects(client.getInstance(request), expectedError); @@ -506,26 +513,25 @@ describe('v1.InstanceAdminClient', () => { const request = generateSampleMessage( new protos.google.spanner.admin.instance.v1.DeleteInstanceRequest() ); - request.name = ''; - const expectedHeaderRequestParams = 'name='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue('DeleteInstanceRequest', [ + 'name', + ]); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1}`; const expectedResponse = generateSampleMessage( new protos.google.protobuf.Empty() ); client.innerApiCalls.deleteInstance = stubSimpleCall(expectedResponse); const [response] = await client.deleteInstance(request); assert.deepStrictEqual(response, expectedResponse); - assert( - (client.innerApiCalls.deleteInstance as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions, undefined) - ); + const actualRequest = ( + client.innerApiCalls.deleteInstance as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.deleteInstance as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes deleteInstance without error using callback', async () => { @@ -537,15 +543,11 @@ describe('v1.InstanceAdminClient', () => { const request = generateSampleMessage( new protos.google.spanner.admin.instance.v1.DeleteInstanceRequest() ); - request.name = ''; - const expectedHeaderRequestParams = 'name='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue('DeleteInstanceRequest', [ + 'name', + ]); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1}`; const expectedResponse = generateSampleMessage( new protos.google.protobuf.Empty() ); @@ -568,11 +570,14 @@ describe('v1.InstanceAdminClient', () => { }); const response = await promise; assert.deepStrictEqual(response, expectedResponse); - assert( - (client.innerApiCalls.deleteInstance as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions /*, callback defined above */) - ); + const actualRequest = ( + client.innerApiCalls.deleteInstance as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.deleteInstance as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes deleteInstance with error', async () => { @@ -584,26 +589,25 @@ describe('v1.InstanceAdminClient', () => { const request = generateSampleMessage( new protos.google.spanner.admin.instance.v1.DeleteInstanceRequest() ); - request.name = ''; - const expectedHeaderRequestParams = 'name='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue('DeleteInstanceRequest', [ + 'name', + ]); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1}`; const expectedError = new Error('expected'); client.innerApiCalls.deleteInstance = stubSimpleCall( undefined, expectedError ); await assert.rejects(client.deleteInstance(request), expectedError); - assert( - (client.innerApiCalls.deleteInstance as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions, undefined) - ); + const actualRequest = ( + client.innerApiCalls.deleteInstance as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.deleteInstance as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes deleteInstance with closed client', async () => { @@ -615,7 +619,10 @@ describe('v1.InstanceAdminClient', () => { const request = generateSampleMessage( new protos.google.spanner.admin.instance.v1.DeleteInstanceRequest() ); - request.name = ''; + const defaultValue1 = getTypeDefaultValue('DeleteInstanceRequest', [ + 'name', + ]); + request.name = defaultValue1; const expectedError = new Error('The client has already been closed.'); client.close(); await assert.rejects(client.deleteInstance(request), expectedError); @@ -632,26 +639,25 @@ describe('v1.InstanceAdminClient', () => { const request = generateSampleMessage( new protos.google.iam.v1.SetIamPolicyRequest() ); - request.resource = ''; - const expectedHeaderRequestParams = 'resource='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue('SetIamPolicyRequest', [ + 'resource', + ]); + request.resource = defaultValue1; + const expectedHeaderRequestParams = `resource=${defaultValue1}`; const expectedResponse = generateSampleMessage( new protos.google.iam.v1.Policy() ); client.innerApiCalls.setIamPolicy = stubSimpleCall(expectedResponse); const [response] = await client.setIamPolicy(request); assert.deepStrictEqual(response, expectedResponse); - assert( - (client.innerApiCalls.setIamPolicy as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions, undefined) - ); + const actualRequest = ( + client.innerApiCalls.setIamPolicy as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.setIamPolicy as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes setIamPolicy without error using callback', async () => { @@ -663,15 +669,11 @@ describe('v1.InstanceAdminClient', () => { const request = generateSampleMessage( new protos.google.iam.v1.SetIamPolicyRequest() ); - request.resource = ''; - const expectedHeaderRequestParams = 'resource='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue('SetIamPolicyRequest', [ + 'resource', + ]); + request.resource = defaultValue1; + const expectedHeaderRequestParams = `resource=${defaultValue1}`; const expectedResponse = generateSampleMessage( new protos.google.iam.v1.Policy() ); @@ -694,11 +696,14 @@ describe('v1.InstanceAdminClient', () => { }); const response = await promise; assert.deepStrictEqual(response, expectedResponse); - assert( - (client.innerApiCalls.setIamPolicy as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions /*, callback defined above */) - ); + const actualRequest = ( + client.innerApiCalls.setIamPolicy as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.setIamPolicy as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes setIamPolicy with error', async () => { @@ -710,26 +715,25 @@ describe('v1.InstanceAdminClient', () => { const request = generateSampleMessage( new protos.google.iam.v1.SetIamPolicyRequest() ); - request.resource = ''; - const expectedHeaderRequestParams = 'resource='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue('SetIamPolicyRequest', [ + 'resource', + ]); + request.resource = defaultValue1; + const expectedHeaderRequestParams = `resource=${defaultValue1}`; const expectedError = new Error('expected'); client.innerApiCalls.setIamPolicy = stubSimpleCall( undefined, expectedError ); await assert.rejects(client.setIamPolicy(request), expectedError); - assert( - (client.innerApiCalls.setIamPolicy as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions, undefined) - ); + const actualRequest = ( + client.innerApiCalls.setIamPolicy as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.setIamPolicy as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes setIamPolicy with closed client', async () => { @@ -741,7 +745,10 @@ describe('v1.InstanceAdminClient', () => { const request = generateSampleMessage( new protos.google.iam.v1.SetIamPolicyRequest() ); - request.resource = ''; + const defaultValue1 = getTypeDefaultValue('SetIamPolicyRequest', [ + 'resource', + ]); + request.resource = defaultValue1; const expectedError = new Error('The client has already been closed.'); client.close(); await assert.rejects(client.setIamPolicy(request), expectedError); @@ -758,26 +765,25 @@ describe('v1.InstanceAdminClient', () => { const request = generateSampleMessage( new protos.google.iam.v1.GetIamPolicyRequest() ); - request.resource = ''; - const expectedHeaderRequestParams = 'resource='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue('GetIamPolicyRequest', [ + 'resource', + ]); + request.resource = defaultValue1; + const expectedHeaderRequestParams = `resource=${defaultValue1}`; const expectedResponse = generateSampleMessage( new protos.google.iam.v1.Policy() ); client.innerApiCalls.getIamPolicy = stubSimpleCall(expectedResponse); const [response] = await client.getIamPolicy(request); assert.deepStrictEqual(response, expectedResponse); - assert( - (client.innerApiCalls.getIamPolicy as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions, undefined) - ); + const actualRequest = ( + client.innerApiCalls.getIamPolicy as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.getIamPolicy as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes getIamPolicy without error using callback', async () => { @@ -789,15 +795,11 @@ describe('v1.InstanceAdminClient', () => { const request = generateSampleMessage( new protos.google.iam.v1.GetIamPolicyRequest() ); - request.resource = ''; - const expectedHeaderRequestParams = 'resource='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue('GetIamPolicyRequest', [ + 'resource', + ]); + request.resource = defaultValue1; + const expectedHeaderRequestParams = `resource=${defaultValue1}`; const expectedResponse = generateSampleMessage( new protos.google.iam.v1.Policy() ); @@ -820,11 +822,14 @@ describe('v1.InstanceAdminClient', () => { }); const response = await promise; assert.deepStrictEqual(response, expectedResponse); - assert( - (client.innerApiCalls.getIamPolicy as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions /*, callback defined above */) - ); + const actualRequest = ( + client.innerApiCalls.getIamPolicy as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.getIamPolicy as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes getIamPolicy with error', async () => { @@ -836,26 +841,25 @@ describe('v1.InstanceAdminClient', () => { const request = generateSampleMessage( new protos.google.iam.v1.GetIamPolicyRequest() ); - request.resource = ''; - const expectedHeaderRequestParams = 'resource='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue('GetIamPolicyRequest', [ + 'resource', + ]); + request.resource = defaultValue1; + const expectedHeaderRequestParams = `resource=${defaultValue1}`; const expectedError = new Error('expected'); client.innerApiCalls.getIamPolicy = stubSimpleCall( undefined, expectedError ); await assert.rejects(client.getIamPolicy(request), expectedError); - assert( - (client.innerApiCalls.getIamPolicy as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions, undefined) - ); + const actualRequest = ( + client.innerApiCalls.getIamPolicy as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.getIamPolicy as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes getIamPolicy with closed client', async () => { @@ -867,7 +871,10 @@ describe('v1.InstanceAdminClient', () => { const request = generateSampleMessage( new protos.google.iam.v1.GetIamPolicyRequest() ); - request.resource = ''; + const defaultValue1 = getTypeDefaultValue('GetIamPolicyRequest', [ + 'resource', + ]); + request.resource = defaultValue1; const expectedError = new Error('The client has already been closed.'); client.close(); await assert.rejects(client.getIamPolicy(request), expectedError); @@ -884,15 +891,11 @@ describe('v1.InstanceAdminClient', () => { const request = generateSampleMessage( new protos.google.iam.v1.TestIamPermissionsRequest() ); - request.resource = ''; - const expectedHeaderRequestParams = 'resource='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue('TestIamPermissionsRequest', [ + 'resource', + ]); + request.resource = defaultValue1; + const expectedHeaderRequestParams = `resource=${defaultValue1}`; const expectedResponse = generateSampleMessage( new protos.google.iam.v1.TestIamPermissionsResponse() ); @@ -900,11 +903,14 @@ describe('v1.InstanceAdminClient', () => { stubSimpleCall(expectedResponse); const [response] = await client.testIamPermissions(request); assert.deepStrictEqual(response, expectedResponse); - assert( - (client.innerApiCalls.testIamPermissions as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions, undefined) - ); + const actualRequest = ( + client.innerApiCalls.testIamPermissions as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.testIamPermissions as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes testIamPermissions without error using callback', async () => { @@ -916,15 +922,11 @@ describe('v1.InstanceAdminClient', () => { const request = generateSampleMessage( new protos.google.iam.v1.TestIamPermissionsRequest() ); - request.resource = ''; - const expectedHeaderRequestParams = 'resource='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue('TestIamPermissionsRequest', [ + 'resource', + ]); + request.resource = defaultValue1; + const expectedHeaderRequestParams = `resource=${defaultValue1}`; const expectedResponse = generateSampleMessage( new protos.google.iam.v1.TestIamPermissionsResponse() ); @@ -947,11 +949,14 @@ describe('v1.InstanceAdminClient', () => { }); const response = await promise; assert.deepStrictEqual(response, expectedResponse); - assert( - (client.innerApiCalls.testIamPermissions as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions /*, callback defined above */) - ); + const actualRequest = ( + client.innerApiCalls.testIamPermissions as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.testIamPermissions as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes testIamPermissions with error', async () => { @@ -963,26 +968,25 @@ describe('v1.InstanceAdminClient', () => { const request = generateSampleMessage( new protos.google.iam.v1.TestIamPermissionsRequest() ); - request.resource = ''; - const expectedHeaderRequestParams = 'resource='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue('TestIamPermissionsRequest', [ + 'resource', + ]); + request.resource = defaultValue1; + const expectedHeaderRequestParams = `resource=${defaultValue1}`; const expectedError = new Error('expected'); client.innerApiCalls.testIamPermissions = stubSimpleCall( undefined, expectedError ); await assert.rejects(client.testIamPermissions(request), expectedError); - assert( - (client.innerApiCalls.testIamPermissions as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions, undefined) - ); + const actualRequest = ( + client.innerApiCalls.testIamPermissions as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.testIamPermissions as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes testIamPermissions with closed client', async () => { @@ -994,7 +998,10 @@ describe('v1.InstanceAdminClient', () => { const request = generateSampleMessage( new protos.google.iam.v1.TestIamPermissionsRequest() ); - request.resource = ''; + const defaultValue1 = getTypeDefaultValue('TestIamPermissionsRequest', [ + 'resource', + ]); + request.resource = defaultValue1; const expectedError = new Error('The client has already been closed.'); client.close(); await assert.rejects(client.testIamPermissions(request), expectedError); @@ -1011,15 +1018,11 @@ describe('v1.InstanceAdminClient', () => { const request = generateSampleMessage( new protos.google.spanner.admin.instance.v1.CreateInstanceRequest() ); - request.parent = ''; - const expectedHeaderRequestParams = 'parent='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue('CreateInstanceRequest', [ + 'parent', + ]); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; const expectedResponse = generateSampleMessage( new protos.google.longrunning.Operation() ); @@ -1028,11 +1031,14 @@ describe('v1.InstanceAdminClient', () => { const [operation] = await client.createInstance(request); const [response] = await operation.promise(); assert.deepStrictEqual(response, expectedResponse); - assert( - (client.innerApiCalls.createInstance as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions, undefined) - ); + const actualRequest = ( + client.innerApiCalls.createInstance as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.createInstance as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes createInstance without error using callback', async () => { @@ -1044,15 +1050,11 @@ describe('v1.InstanceAdminClient', () => { const request = generateSampleMessage( new protos.google.spanner.admin.instance.v1.CreateInstanceRequest() ); - request.parent = ''; - const expectedHeaderRequestParams = 'parent='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue('CreateInstanceRequest', [ + 'parent', + ]); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; const expectedResponse = generateSampleMessage( new protos.google.longrunning.Operation() ); @@ -1082,11 +1084,14 @@ describe('v1.InstanceAdminClient', () => { >; const [response] = await operation.promise(); assert.deepStrictEqual(response, expectedResponse); - assert( - (client.innerApiCalls.createInstance as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions /*, callback defined above */) - ); + const actualRequest = ( + client.innerApiCalls.createInstance as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.createInstance as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes createInstance with call error', async () => { @@ -1098,26 +1103,25 @@ describe('v1.InstanceAdminClient', () => { const request = generateSampleMessage( new protos.google.spanner.admin.instance.v1.CreateInstanceRequest() ); - request.parent = ''; - const expectedHeaderRequestParams = 'parent='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue('CreateInstanceRequest', [ + 'parent', + ]); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; const expectedError = new Error('expected'); client.innerApiCalls.createInstance = stubLongRunningCall( undefined, expectedError ); await assert.rejects(client.createInstance(request), expectedError); - assert( - (client.innerApiCalls.createInstance as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions, undefined) - ); + const actualRequest = ( + client.innerApiCalls.createInstance as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.createInstance as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes createInstance with LRO error', async () => { @@ -1129,15 +1133,11 @@ describe('v1.InstanceAdminClient', () => { const request = generateSampleMessage( new protos.google.spanner.admin.instance.v1.CreateInstanceRequest() ); - request.parent = ''; - const expectedHeaderRequestParams = 'parent='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue('CreateInstanceRequest', [ + 'parent', + ]); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; const expectedError = new Error('expected'); client.innerApiCalls.createInstance = stubLongRunningCall( undefined, @@ -1146,11 +1146,14 @@ describe('v1.InstanceAdminClient', () => { ); const [operation] = await client.createInstance(request); await assert.rejects(operation.promise(), expectedError); - assert( - (client.innerApiCalls.createInstance as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions, undefined) - ); + const actualRequest = ( + client.innerApiCalls.createInstance as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.createInstance as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes checkCreateInstanceProgress without error', async () => { @@ -1205,16 +1208,13 @@ describe('v1.InstanceAdminClient', () => { const request = generateSampleMessage( new protos.google.spanner.admin.instance.v1.UpdateInstanceRequest() ); - request.instance = {}; - request.instance.name = ''; - const expectedHeaderRequestParams = 'instance.name='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + request.instance ??= {}; + const defaultValue1 = getTypeDefaultValue('UpdateInstanceRequest', [ + 'instance', + 'name', + ]); + request.instance.name = defaultValue1; + const expectedHeaderRequestParams = `instance.name=${defaultValue1}`; const expectedResponse = generateSampleMessage( new protos.google.longrunning.Operation() ); @@ -1223,11 +1223,14 @@ describe('v1.InstanceAdminClient', () => { const [operation] = await client.updateInstance(request); const [response] = await operation.promise(); assert.deepStrictEqual(response, expectedResponse); - assert( - (client.innerApiCalls.updateInstance as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions, undefined) - ); + const actualRequest = ( + client.innerApiCalls.updateInstance as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.updateInstance as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes updateInstance without error using callback', async () => { @@ -1239,16 +1242,13 @@ describe('v1.InstanceAdminClient', () => { const request = generateSampleMessage( new protos.google.spanner.admin.instance.v1.UpdateInstanceRequest() ); - request.instance = {}; - request.instance.name = ''; - const expectedHeaderRequestParams = 'instance.name='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + request.instance ??= {}; + const defaultValue1 = getTypeDefaultValue('UpdateInstanceRequest', [ + 'instance', + 'name', + ]); + request.instance.name = defaultValue1; + const expectedHeaderRequestParams = `instance.name=${defaultValue1}`; const expectedResponse = generateSampleMessage( new protos.google.longrunning.Operation() ); @@ -1278,11 +1278,14 @@ describe('v1.InstanceAdminClient', () => { >; const [response] = await operation.promise(); assert.deepStrictEqual(response, expectedResponse); - assert( - (client.innerApiCalls.updateInstance as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions /*, callback defined above */) - ); + const actualRequest = ( + client.innerApiCalls.updateInstance as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.updateInstance as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes updateInstance with call error', async () => { @@ -1294,27 +1297,27 @@ describe('v1.InstanceAdminClient', () => { const request = generateSampleMessage( new protos.google.spanner.admin.instance.v1.UpdateInstanceRequest() ); - request.instance = {}; - request.instance.name = ''; - const expectedHeaderRequestParams = 'instance.name='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + request.instance ??= {}; + const defaultValue1 = getTypeDefaultValue('UpdateInstanceRequest', [ + 'instance', + 'name', + ]); + request.instance.name = defaultValue1; + const expectedHeaderRequestParams = `instance.name=${defaultValue1}`; const expectedError = new Error('expected'); client.innerApiCalls.updateInstance = stubLongRunningCall( undefined, expectedError ); await assert.rejects(client.updateInstance(request), expectedError); - assert( - (client.innerApiCalls.updateInstance as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions, undefined) - ); + const actualRequest = ( + client.innerApiCalls.updateInstance as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.updateInstance as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes updateInstance with LRO error', async () => { @@ -1326,16 +1329,13 @@ describe('v1.InstanceAdminClient', () => { const request = generateSampleMessage( new protos.google.spanner.admin.instance.v1.UpdateInstanceRequest() ); - request.instance = {}; - request.instance.name = ''; - const expectedHeaderRequestParams = 'instance.name='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + request.instance ??= {}; + const defaultValue1 = getTypeDefaultValue('UpdateInstanceRequest', [ + 'instance', + 'name', + ]); + request.instance.name = defaultValue1; + const expectedHeaderRequestParams = `instance.name=${defaultValue1}`; const expectedError = new Error('expected'); client.innerApiCalls.updateInstance = stubLongRunningCall( undefined, @@ -1344,11 +1344,14 @@ describe('v1.InstanceAdminClient', () => { ); const [operation] = await client.updateInstance(request); await assert.rejects(operation.promise(), expectedError); - assert( - (client.innerApiCalls.updateInstance as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions, undefined) - ); + const actualRequest = ( + client.innerApiCalls.updateInstance as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.updateInstance as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes checkUpdateInstanceProgress without error', async () => { @@ -1403,15 +1406,11 @@ describe('v1.InstanceAdminClient', () => { const request = generateSampleMessage( new protos.google.spanner.admin.instance.v1.ListInstanceConfigsRequest() ); - request.parent = ''; - const expectedHeaderRequestParams = 'parent='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue('ListInstanceConfigsRequest', [ + 'parent', + ]); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; const expectedResponse = [ generateSampleMessage( new protos.google.spanner.admin.instance.v1.InstanceConfig() @@ -1427,11 +1426,14 @@ describe('v1.InstanceAdminClient', () => { stubSimpleCall(expectedResponse); const [response] = await client.listInstanceConfigs(request); assert.deepStrictEqual(response, expectedResponse); - assert( - (client.innerApiCalls.listInstanceConfigs as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions, undefined) - ); + const actualRequest = ( + client.innerApiCalls.listInstanceConfigs as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.listInstanceConfigs as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes listInstanceConfigs without error using callback', async () => { @@ -1443,15 +1445,11 @@ describe('v1.InstanceAdminClient', () => { const request = generateSampleMessage( new protos.google.spanner.admin.instance.v1.ListInstanceConfigsRequest() ); - request.parent = ''; - const expectedHeaderRequestParams = 'parent='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue('ListInstanceConfigsRequest', [ + 'parent', + ]); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; const expectedResponse = [ generateSampleMessage( new protos.google.spanner.admin.instance.v1.InstanceConfig() @@ -1484,11 +1482,14 @@ describe('v1.InstanceAdminClient', () => { }); const response = await promise; assert.deepStrictEqual(response, expectedResponse); - assert( - (client.innerApiCalls.listInstanceConfigs as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions /*, callback defined above */) - ); + const actualRequest = ( + client.innerApiCalls.listInstanceConfigs as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.listInstanceConfigs as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes listInstanceConfigs with error', async () => { @@ -1500,26 +1501,25 @@ describe('v1.InstanceAdminClient', () => { const request = generateSampleMessage( new protos.google.spanner.admin.instance.v1.ListInstanceConfigsRequest() ); - request.parent = ''; - const expectedHeaderRequestParams = 'parent='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue('ListInstanceConfigsRequest', [ + 'parent', + ]); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; const expectedError = new Error('expected'); client.innerApiCalls.listInstanceConfigs = stubSimpleCall( undefined, expectedError ); await assert.rejects(client.listInstanceConfigs(request), expectedError); - assert( - (client.innerApiCalls.listInstanceConfigs as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions, undefined) - ); + const actualRequest = ( + client.innerApiCalls.listInstanceConfigs as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.listInstanceConfigs as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes listInstanceConfigsStream without error', async () => { @@ -1531,8 +1531,11 @@ describe('v1.InstanceAdminClient', () => { const request = generateSampleMessage( new protos.google.spanner.admin.instance.v1.ListInstanceConfigsRequest() ); - request.parent = ''; - const expectedHeaderRequestParams = 'parent='; + const defaultValue1 = getTypeDefaultValue('ListInstanceConfigsRequest', [ + 'parent', + ]); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; const expectedResponse = [ generateSampleMessage( new protos.google.spanner.admin.instance.v1.InstanceConfig() @@ -1572,11 +1575,12 @@ describe('v1.InstanceAdminClient', () => { .getCall(0) .calledWith(client.innerApiCalls.listInstanceConfigs, request) ); - assert.strictEqual( - ( - client.descriptors.page.listInstanceConfigs.createStream as SinonStub - ).getCall(0).args[2].otherArgs.headers['x-goog-request-params'], - expectedHeaderRequestParams + assert( + (client.descriptors.page.listInstanceConfigs.createStream as SinonStub) + .getCall(0) + .args[2].otherArgs.headers['x-goog-request-params'].includes( + expectedHeaderRequestParams + ) ); }); @@ -1589,8 +1593,11 @@ describe('v1.InstanceAdminClient', () => { const request = generateSampleMessage( new protos.google.spanner.admin.instance.v1.ListInstanceConfigsRequest() ); - request.parent = ''; - const expectedHeaderRequestParams = 'parent='; + const defaultValue1 = getTypeDefaultValue('ListInstanceConfigsRequest', [ + 'parent', + ]); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; const expectedError = new Error('expected'); client.descriptors.page.listInstanceConfigs.createStream = stubPageStreamingCall(undefined, expectedError); @@ -1619,11 +1626,12 @@ describe('v1.InstanceAdminClient', () => { .getCall(0) .calledWith(client.innerApiCalls.listInstanceConfigs, request) ); - assert.strictEqual( - ( - client.descriptors.page.listInstanceConfigs.createStream as SinonStub - ).getCall(0).args[2].otherArgs.headers['x-goog-request-params'], - expectedHeaderRequestParams + assert( + (client.descriptors.page.listInstanceConfigs.createStream as SinonStub) + .getCall(0) + .args[2].otherArgs.headers['x-goog-request-params'].includes( + expectedHeaderRequestParams + ) ); }); @@ -1636,8 +1644,11 @@ describe('v1.InstanceAdminClient', () => { const request = generateSampleMessage( new protos.google.spanner.admin.instance.v1.ListInstanceConfigsRequest() ); - request.parent = ''; - const expectedHeaderRequestParams = 'parent='; + const defaultValue1 = getTypeDefaultValue('ListInstanceConfigsRequest', [ + 'parent', + ]); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; const expectedResponse = [ generateSampleMessage( new protos.google.spanner.admin.instance.v1.InstanceConfig() @@ -1664,11 +1675,12 @@ describe('v1.InstanceAdminClient', () => { ).getCall(0).args[1], request ); - assert.strictEqual( - ( - client.descriptors.page.listInstanceConfigs.asyncIterate as SinonStub - ).getCall(0).args[2].otherArgs.headers['x-goog-request-params'], - expectedHeaderRequestParams + assert( + (client.descriptors.page.listInstanceConfigs.asyncIterate as SinonStub) + .getCall(0) + .args[2].otherArgs.headers['x-goog-request-params'].includes( + expectedHeaderRequestParams + ) ); }); @@ -1681,8 +1693,11 @@ describe('v1.InstanceAdminClient', () => { const request = generateSampleMessage( new protos.google.spanner.admin.instance.v1.ListInstanceConfigsRequest() ); - request.parent = ''; - const expectedHeaderRequestParams = 'parent='; + const defaultValue1 = getTypeDefaultValue('ListInstanceConfigsRequest', [ + 'parent', + ]); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; const expectedError = new Error('expected'); client.descriptors.page.listInstanceConfigs.asyncIterate = stubAsyncIterationCall(undefined, expectedError); @@ -1700,11 +1715,12 @@ describe('v1.InstanceAdminClient', () => { ).getCall(0).args[1], request ); - assert.strictEqual( - ( - client.descriptors.page.listInstanceConfigs.asyncIterate as SinonStub - ).getCall(0).args[2].otherArgs.headers['x-goog-request-params'], - expectedHeaderRequestParams + assert( + (client.descriptors.page.listInstanceConfigs.asyncIterate as SinonStub) + .getCall(0) + .args[2].otherArgs.headers['x-goog-request-params'].includes( + expectedHeaderRequestParams + ) ); }); }); @@ -1719,15 +1735,11 @@ describe('v1.InstanceAdminClient', () => { const request = generateSampleMessage( new protos.google.spanner.admin.instance.v1.ListInstancesRequest() ); - request.parent = ''; - const expectedHeaderRequestParams = 'parent='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue('ListInstancesRequest', [ + 'parent', + ]); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; const expectedResponse = [ generateSampleMessage( new protos.google.spanner.admin.instance.v1.Instance() @@ -1742,11 +1754,14 @@ describe('v1.InstanceAdminClient', () => { client.innerApiCalls.listInstances = stubSimpleCall(expectedResponse); const [response] = await client.listInstances(request); assert.deepStrictEqual(response, expectedResponse); - assert( - (client.innerApiCalls.listInstances as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions, undefined) - ); + const actualRequest = ( + client.innerApiCalls.listInstances as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.listInstances as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes listInstances without error using callback', async () => { @@ -1758,15 +1773,11 @@ describe('v1.InstanceAdminClient', () => { const request = generateSampleMessage( new protos.google.spanner.admin.instance.v1.ListInstancesRequest() ); - request.parent = ''; - const expectedHeaderRequestParams = 'parent='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue('ListInstancesRequest', [ + 'parent', + ]); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; const expectedResponse = [ generateSampleMessage( new protos.google.spanner.admin.instance.v1.Instance() @@ -1797,11 +1808,14 @@ describe('v1.InstanceAdminClient', () => { }); const response = await promise; assert.deepStrictEqual(response, expectedResponse); - assert( - (client.innerApiCalls.listInstances as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions /*, callback defined above */) - ); + const actualRequest = ( + client.innerApiCalls.listInstances as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.listInstances as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes listInstances with error', async () => { @@ -1813,26 +1827,25 @@ describe('v1.InstanceAdminClient', () => { const request = generateSampleMessage( new protos.google.spanner.admin.instance.v1.ListInstancesRequest() ); - request.parent = ''; - const expectedHeaderRequestParams = 'parent='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue('ListInstancesRequest', [ + 'parent', + ]); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; const expectedError = new Error('expected'); client.innerApiCalls.listInstances = stubSimpleCall( undefined, expectedError ); await assert.rejects(client.listInstances(request), expectedError); - assert( - (client.innerApiCalls.listInstances as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions, undefined) - ); + const actualRequest = ( + client.innerApiCalls.listInstances as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.listInstances as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes listInstancesStream without error', async () => { @@ -1844,8 +1857,11 @@ describe('v1.InstanceAdminClient', () => { const request = generateSampleMessage( new protos.google.spanner.admin.instance.v1.ListInstancesRequest() ); - request.parent = ''; - const expectedHeaderRequestParams = 'parent='; + const defaultValue1 = getTypeDefaultValue('ListInstancesRequest', [ + 'parent', + ]); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; const expectedResponse = [ generateSampleMessage( new protos.google.spanner.admin.instance.v1.Instance() @@ -1883,11 +1899,12 @@ describe('v1.InstanceAdminClient', () => { .getCall(0) .calledWith(client.innerApiCalls.listInstances, request) ); - assert.strictEqual( - ( - client.descriptors.page.listInstances.createStream as SinonStub - ).getCall(0).args[2].otherArgs.headers['x-goog-request-params'], - expectedHeaderRequestParams + assert( + (client.descriptors.page.listInstances.createStream as SinonStub) + .getCall(0) + .args[2].otherArgs.headers['x-goog-request-params'].includes( + expectedHeaderRequestParams + ) ); }); @@ -1900,8 +1917,11 @@ describe('v1.InstanceAdminClient', () => { const request = generateSampleMessage( new protos.google.spanner.admin.instance.v1.ListInstancesRequest() ); - request.parent = ''; - const expectedHeaderRequestParams = 'parent='; + const defaultValue1 = getTypeDefaultValue('ListInstancesRequest', [ + 'parent', + ]); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; const expectedError = new Error('expected'); client.descriptors.page.listInstances.createStream = stubPageStreamingCall(undefined, expectedError); @@ -1928,11 +1948,12 @@ describe('v1.InstanceAdminClient', () => { .getCall(0) .calledWith(client.innerApiCalls.listInstances, request) ); - assert.strictEqual( - ( - client.descriptors.page.listInstances.createStream as SinonStub - ).getCall(0).args[2].otherArgs.headers['x-goog-request-params'], - expectedHeaderRequestParams + assert( + (client.descriptors.page.listInstances.createStream as SinonStub) + .getCall(0) + .args[2].otherArgs.headers['x-goog-request-params'].includes( + expectedHeaderRequestParams + ) ); }); @@ -1945,8 +1966,11 @@ describe('v1.InstanceAdminClient', () => { const request = generateSampleMessage( new protos.google.spanner.admin.instance.v1.ListInstancesRequest() ); - request.parent = ''; - const expectedHeaderRequestParams = 'parent='; + const defaultValue1 = getTypeDefaultValue('ListInstancesRequest', [ + 'parent', + ]); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; const expectedResponse = [ generateSampleMessage( new protos.google.spanner.admin.instance.v1.Instance() @@ -1972,11 +1996,12 @@ describe('v1.InstanceAdminClient', () => { ).getCall(0).args[1], request ); - assert.strictEqual( - ( - client.descriptors.page.listInstances.asyncIterate as SinonStub - ).getCall(0).args[2].otherArgs.headers['x-goog-request-params'], - expectedHeaderRequestParams + assert( + (client.descriptors.page.listInstances.asyncIterate as SinonStub) + .getCall(0) + .args[2].otherArgs.headers['x-goog-request-params'].includes( + expectedHeaderRequestParams + ) ); }); @@ -1989,8 +2014,11 @@ describe('v1.InstanceAdminClient', () => { const request = generateSampleMessage( new protos.google.spanner.admin.instance.v1.ListInstancesRequest() ); - request.parent = ''; - const expectedHeaderRequestParams = 'parent='; + const defaultValue1 = getTypeDefaultValue('ListInstancesRequest', [ + 'parent', + ]); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; const expectedError = new Error('expected'); client.descriptors.page.listInstances.asyncIterate = stubAsyncIterationCall(undefined, expectedError); @@ -2008,11 +2036,12 @@ describe('v1.InstanceAdminClient', () => { ).getCall(0).args[1], request ); - assert.strictEqual( - ( - client.descriptors.page.listInstances.asyncIterate as SinonStub - ).getCall(0).args[2].otherArgs.headers['x-goog-request-params'], - expectedHeaderRequestParams + assert( + (client.descriptors.page.listInstances.asyncIterate as SinonStub) + .getCall(0) + .args[2].otherArgs.headers['x-goog-request-params'].includes( + expectedHeaderRequestParams + ) ); }); }); diff --git a/test/gapic_spanner_v1.ts b/test/gapic_spanner_v1.ts index e7f142eda..28002426d 100644 --- a/test/gapic_spanner_v1.ts +++ b/test/gapic_spanner_v1.ts @@ -27,6 +27,21 @@ import {PassThrough} from 'stream'; import {protobuf} from 'google-gax'; +// Dynamically loaded proto JSON is needed to get the type information +// to fill in default values for request objects +const root = protobuf.Root.fromJSON( + require('../protos/protos.json') +).resolveAll(); + +// eslint-disable-next-line @typescript-eslint/no-unused-vars +function getTypeDefaultValue(typeName: string, fields: string[]) { + let type = root.lookupType(typeName) as protobuf.Type; + for (const field of fields.slice(0, -1)) { + type = type.fields[field]?.resolvedType as protobuf.Type; + } + return type.fields[fields[fields.length - 1]]?.defaultValue; +} + function generateSampleMessage(instance: T) { const filledObject = ( instance.constructor as typeof protobuf.Message @@ -241,26 +256,25 @@ describe('v1.SpannerClient', () => { const request = generateSampleMessage( new protos.google.spanner.v1.CreateSessionRequest() ); - request.database = ''; - const expectedHeaderRequestParams = 'database='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue('CreateSessionRequest', [ + 'database', + ]); + request.database = defaultValue1; + const expectedHeaderRequestParams = `database=${defaultValue1}`; const expectedResponse = generateSampleMessage( new protos.google.spanner.v1.Session() ); client.innerApiCalls.createSession = stubSimpleCall(expectedResponse); const [response] = await client.createSession(request); assert.deepStrictEqual(response, expectedResponse); - assert( - (client.innerApiCalls.createSession as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions, undefined) - ); + const actualRequest = ( + client.innerApiCalls.createSession as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.createSession as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes createSession without error using callback', async () => { @@ -272,15 +286,11 @@ describe('v1.SpannerClient', () => { const request = generateSampleMessage( new protos.google.spanner.v1.CreateSessionRequest() ); - request.database = ''; - const expectedHeaderRequestParams = 'database='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue('CreateSessionRequest', [ + 'database', + ]); + request.database = defaultValue1; + const expectedHeaderRequestParams = `database=${defaultValue1}`; const expectedResponse = generateSampleMessage( new protos.google.spanner.v1.Session() ); @@ -303,11 +313,14 @@ describe('v1.SpannerClient', () => { }); const response = await promise; assert.deepStrictEqual(response, expectedResponse); - assert( - (client.innerApiCalls.createSession as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions /*, callback defined above */) - ); + const actualRequest = ( + client.innerApiCalls.createSession as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.createSession as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes createSession with error', async () => { @@ -319,26 +332,25 @@ describe('v1.SpannerClient', () => { const request = generateSampleMessage( new protos.google.spanner.v1.CreateSessionRequest() ); - request.database = ''; - const expectedHeaderRequestParams = 'database='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue('CreateSessionRequest', [ + 'database', + ]); + request.database = defaultValue1; + const expectedHeaderRequestParams = `database=${defaultValue1}`; const expectedError = new Error('expected'); client.innerApiCalls.createSession = stubSimpleCall( undefined, expectedError ); await assert.rejects(client.createSession(request), expectedError); - assert( - (client.innerApiCalls.createSession as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions, undefined) - ); + const actualRequest = ( + client.innerApiCalls.createSession as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.createSession as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes createSession with closed client', async () => { @@ -350,7 +362,10 @@ describe('v1.SpannerClient', () => { const request = generateSampleMessage( new protos.google.spanner.v1.CreateSessionRequest() ); - request.database = ''; + const defaultValue1 = getTypeDefaultValue('CreateSessionRequest', [ + 'database', + ]); + request.database = defaultValue1; const expectedError = new Error('The client has already been closed.'); client.close(); await assert.rejects(client.createSession(request), expectedError); @@ -367,15 +382,11 @@ describe('v1.SpannerClient', () => { const request = generateSampleMessage( new protos.google.spanner.v1.BatchCreateSessionsRequest() ); - request.database = ''; - const expectedHeaderRequestParams = 'database='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue('BatchCreateSessionsRequest', [ + 'database', + ]); + request.database = defaultValue1; + const expectedHeaderRequestParams = `database=${defaultValue1}`; const expectedResponse = generateSampleMessage( new protos.google.spanner.v1.BatchCreateSessionsResponse() ); @@ -383,11 +394,14 @@ describe('v1.SpannerClient', () => { stubSimpleCall(expectedResponse); const [response] = await client.batchCreateSessions(request); assert.deepStrictEqual(response, expectedResponse); - assert( - (client.innerApiCalls.batchCreateSessions as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions, undefined) - ); + const actualRequest = ( + client.innerApiCalls.batchCreateSessions as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.batchCreateSessions as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes batchCreateSessions without error using callback', async () => { @@ -399,15 +413,11 @@ describe('v1.SpannerClient', () => { const request = generateSampleMessage( new protos.google.spanner.v1.BatchCreateSessionsRequest() ); - request.database = ''; - const expectedHeaderRequestParams = 'database='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue('BatchCreateSessionsRequest', [ + 'database', + ]); + request.database = defaultValue1; + const expectedHeaderRequestParams = `database=${defaultValue1}`; const expectedResponse = generateSampleMessage( new protos.google.spanner.v1.BatchCreateSessionsResponse() ); @@ -430,11 +440,14 @@ describe('v1.SpannerClient', () => { }); const response = await promise; assert.deepStrictEqual(response, expectedResponse); - assert( - (client.innerApiCalls.batchCreateSessions as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions /*, callback defined above */) - ); + const actualRequest = ( + client.innerApiCalls.batchCreateSessions as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.batchCreateSessions as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes batchCreateSessions with error', async () => { @@ -446,26 +459,25 @@ describe('v1.SpannerClient', () => { const request = generateSampleMessage( new protos.google.spanner.v1.BatchCreateSessionsRequest() ); - request.database = ''; - const expectedHeaderRequestParams = 'database='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue('BatchCreateSessionsRequest', [ + 'database', + ]); + request.database = defaultValue1; + const expectedHeaderRequestParams = `database=${defaultValue1}`; const expectedError = new Error('expected'); client.innerApiCalls.batchCreateSessions = stubSimpleCall( undefined, expectedError ); await assert.rejects(client.batchCreateSessions(request), expectedError); - assert( - (client.innerApiCalls.batchCreateSessions as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions, undefined) - ); + const actualRequest = ( + client.innerApiCalls.batchCreateSessions as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.batchCreateSessions as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes batchCreateSessions with closed client', async () => { @@ -477,7 +489,10 @@ describe('v1.SpannerClient', () => { const request = generateSampleMessage( new protos.google.spanner.v1.BatchCreateSessionsRequest() ); - request.database = ''; + const defaultValue1 = getTypeDefaultValue('BatchCreateSessionsRequest', [ + 'database', + ]); + request.database = defaultValue1; const expectedError = new Error('The client has already been closed.'); client.close(); await assert.rejects(client.batchCreateSessions(request), expectedError); @@ -494,26 +509,23 @@ describe('v1.SpannerClient', () => { const request = generateSampleMessage( new protos.google.spanner.v1.GetSessionRequest() ); - request.name = ''; - const expectedHeaderRequestParams = 'name='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue('GetSessionRequest', ['name']); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1}`; const expectedResponse = generateSampleMessage( new protos.google.spanner.v1.Session() ); client.innerApiCalls.getSession = stubSimpleCall(expectedResponse); const [response] = await client.getSession(request); assert.deepStrictEqual(response, expectedResponse); - assert( - (client.innerApiCalls.getSession as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions, undefined) - ); + const actualRequest = ( + client.innerApiCalls.getSession as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.getSession as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes getSession without error using callback', async () => { @@ -525,15 +537,9 @@ describe('v1.SpannerClient', () => { const request = generateSampleMessage( new protos.google.spanner.v1.GetSessionRequest() ); - request.name = ''; - const expectedHeaderRequestParams = 'name='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue('GetSessionRequest', ['name']); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1}`; const expectedResponse = generateSampleMessage( new protos.google.spanner.v1.Session() ); @@ -556,11 +562,14 @@ describe('v1.SpannerClient', () => { }); const response = await promise; assert.deepStrictEqual(response, expectedResponse); - assert( - (client.innerApiCalls.getSession as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions /*, callback defined above */) - ); + const actualRequest = ( + client.innerApiCalls.getSession as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.getSession as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes getSession with error', async () => { @@ -572,26 +581,23 @@ describe('v1.SpannerClient', () => { const request = generateSampleMessage( new protos.google.spanner.v1.GetSessionRequest() ); - request.name = ''; - const expectedHeaderRequestParams = 'name='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue('GetSessionRequest', ['name']); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1}`; const expectedError = new Error('expected'); client.innerApiCalls.getSession = stubSimpleCall( undefined, expectedError ); await assert.rejects(client.getSession(request), expectedError); - assert( - (client.innerApiCalls.getSession as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions, undefined) - ); + const actualRequest = ( + client.innerApiCalls.getSession as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.getSession as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes getSession with closed client', async () => { @@ -603,7 +609,8 @@ describe('v1.SpannerClient', () => { const request = generateSampleMessage( new protos.google.spanner.v1.GetSessionRequest() ); - request.name = ''; + const defaultValue1 = getTypeDefaultValue('GetSessionRequest', ['name']); + request.name = defaultValue1; const expectedError = new Error('The client has already been closed.'); client.close(); await assert.rejects(client.getSession(request), expectedError); @@ -620,26 +627,25 @@ describe('v1.SpannerClient', () => { const request = generateSampleMessage( new protos.google.spanner.v1.DeleteSessionRequest() ); - request.name = ''; - const expectedHeaderRequestParams = 'name='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue('DeleteSessionRequest', [ + 'name', + ]); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1}`; const expectedResponse = generateSampleMessage( new protos.google.protobuf.Empty() ); client.innerApiCalls.deleteSession = stubSimpleCall(expectedResponse); const [response] = await client.deleteSession(request); assert.deepStrictEqual(response, expectedResponse); - assert( - (client.innerApiCalls.deleteSession as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions, undefined) - ); + const actualRequest = ( + client.innerApiCalls.deleteSession as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.deleteSession as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes deleteSession without error using callback', async () => { @@ -651,15 +657,11 @@ describe('v1.SpannerClient', () => { const request = generateSampleMessage( new protos.google.spanner.v1.DeleteSessionRequest() ); - request.name = ''; - const expectedHeaderRequestParams = 'name='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue('DeleteSessionRequest', [ + 'name', + ]); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1}`; const expectedResponse = generateSampleMessage( new protos.google.protobuf.Empty() ); @@ -682,11 +684,14 @@ describe('v1.SpannerClient', () => { }); const response = await promise; assert.deepStrictEqual(response, expectedResponse); - assert( - (client.innerApiCalls.deleteSession as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions /*, callback defined above */) - ); + const actualRequest = ( + client.innerApiCalls.deleteSession as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.deleteSession as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes deleteSession with error', async () => { @@ -698,26 +703,25 @@ describe('v1.SpannerClient', () => { const request = generateSampleMessage( new protos.google.spanner.v1.DeleteSessionRequest() ); - request.name = ''; - const expectedHeaderRequestParams = 'name='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue('DeleteSessionRequest', [ + 'name', + ]); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1}`; const expectedError = new Error('expected'); client.innerApiCalls.deleteSession = stubSimpleCall( undefined, expectedError ); await assert.rejects(client.deleteSession(request), expectedError); - assert( - (client.innerApiCalls.deleteSession as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions, undefined) - ); + const actualRequest = ( + client.innerApiCalls.deleteSession as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.deleteSession as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes deleteSession with closed client', async () => { @@ -729,7 +733,10 @@ describe('v1.SpannerClient', () => { const request = generateSampleMessage( new protos.google.spanner.v1.DeleteSessionRequest() ); - request.name = ''; + const defaultValue1 = getTypeDefaultValue('DeleteSessionRequest', [ + 'name', + ]); + request.name = defaultValue1; const expectedError = new Error('The client has already been closed.'); client.close(); await assert.rejects(client.deleteSession(request), expectedError); @@ -746,26 +753,25 @@ describe('v1.SpannerClient', () => { const request = generateSampleMessage( new protos.google.spanner.v1.ExecuteSqlRequest() ); - request.session = ''; - const expectedHeaderRequestParams = 'session='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue('ExecuteSqlRequest', [ + 'session', + ]); + request.session = defaultValue1; + const expectedHeaderRequestParams = `session=${defaultValue1}`; const expectedResponse = generateSampleMessage( new protos.google.spanner.v1.ResultSet() ); client.innerApiCalls.executeSql = stubSimpleCall(expectedResponse); const [response] = await client.executeSql(request); assert.deepStrictEqual(response, expectedResponse); - assert( - (client.innerApiCalls.executeSql as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions, undefined) - ); + const actualRequest = ( + client.innerApiCalls.executeSql as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.executeSql as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes executeSql without error using callback', async () => { @@ -777,15 +783,11 @@ describe('v1.SpannerClient', () => { const request = generateSampleMessage( new protos.google.spanner.v1.ExecuteSqlRequest() ); - request.session = ''; - const expectedHeaderRequestParams = 'session='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue('ExecuteSqlRequest', [ + 'session', + ]); + request.session = defaultValue1; + const expectedHeaderRequestParams = `session=${defaultValue1}`; const expectedResponse = generateSampleMessage( new protos.google.spanner.v1.ResultSet() ); @@ -808,11 +810,14 @@ describe('v1.SpannerClient', () => { }); const response = await promise; assert.deepStrictEqual(response, expectedResponse); - assert( - (client.innerApiCalls.executeSql as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions /*, callback defined above */) - ); + const actualRequest = ( + client.innerApiCalls.executeSql as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.executeSql as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes executeSql with error', async () => { @@ -824,26 +829,25 @@ describe('v1.SpannerClient', () => { const request = generateSampleMessage( new protos.google.spanner.v1.ExecuteSqlRequest() ); - request.session = ''; - const expectedHeaderRequestParams = 'session='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue('ExecuteSqlRequest', [ + 'session', + ]); + request.session = defaultValue1; + const expectedHeaderRequestParams = `session=${defaultValue1}`; const expectedError = new Error('expected'); client.innerApiCalls.executeSql = stubSimpleCall( undefined, expectedError ); await assert.rejects(client.executeSql(request), expectedError); - assert( - (client.innerApiCalls.executeSql as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions, undefined) - ); + const actualRequest = ( + client.innerApiCalls.executeSql as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.executeSql as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes executeSql with closed client', async () => { @@ -855,7 +859,10 @@ describe('v1.SpannerClient', () => { const request = generateSampleMessage( new protos.google.spanner.v1.ExecuteSqlRequest() ); - request.session = ''; + const defaultValue1 = getTypeDefaultValue('ExecuteSqlRequest', [ + 'session', + ]); + request.session = defaultValue1; const expectedError = new Error('The client has already been closed.'); client.close(); await assert.rejects(client.executeSql(request), expectedError); @@ -872,26 +879,25 @@ describe('v1.SpannerClient', () => { const request = generateSampleMessage( new protos.google.spanner.v1.ExecuteBatchDmlRequest() ); - request.session = ''; - const expectedHeaderRequestParams = 'session='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue('ExecuteBatchDmlRequest', [ + 'session', + ]); + request.session = defaultValue1; + const expectedHeaderRequestParams = `session=${defaultValue1}`; const expectedResponse = generateSampleMessage( new protos.google.spanner.v1.ExecuteBatchDmlResponse() ); client.innerApiCalls.executeBatchDml = stubSimpleCall(expectedResponse); const [response] = await client.executeBatchDml(request); assert.deepStrictEqual(response, expectedResponse); - assert( - (client.innerApiCalls.executeBatchDml as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions, undefined) - ); + const actualRequest = ( + client.innerApiCalls.executeBatchDml as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.executeBatchDml as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes executeBatchDml without error using callback', async () => { @@ -903,15 +909,11 @@ describe('v1.SpannerClient', () => { const request = generateSampleMessage( new protos.google.spanner.v1.ExecuteBatchDmlRequest() ); - request.session = ''; - const expectedHeaderRequestParams = 'session='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue('ExecuteBatchDmlRequest', [ + 'session', + ]); + request.session = defaultValue1; + const expectedHeaderRequestParams = `session=${defaultValue1}`; const expectedResponse = generateSampleMessage( new protos.google.spanner.v1.ExecuteBatchDmlResponse() ); @@ -934,11 +936,14 @@ describe('v1.SpannerClient', () => { }); const response = await promise; assert.deepStrictEqual(response, expectedResponse); - assert( - (client.innerApiCalls.executeBatchDml as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions /*, callback defined above */) - ); + const actualRequest = ( + client.innerApiCalls.executeBatchDml as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.executeBatchDml as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes executeBatchDml with error', async () => { @@ -950,26 +955,25 @@ describe('v1.SpannerClient', () => { const request = generateSampleMessage( new protos.google.spanner.v1.ExecuteBatchDmlRequest() ); - request.session = ''; - const expectedHeaderRequestParams = 'session='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue('ExecuteBatchDmlRequest', [ + 'session', + ]); + request.session = defaultValue1; + const expectedHeaderRequestParams = `session=${defaultValue1}`; const expectedError = new Error('expected'); client.innerApiCalls.executeBatchDml = stubSimpleCall( undefined, expectedError ); await assert.rejects(client.executeBatchDml(request), expectedError); - assert( - (client.innerApiCalls.executeBatchDml as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions, undefined) - ); + const actualRequest = ( + client.innerApiCalls.executeBatchDml as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.executeBatchDml as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes executeBatchDml with closed client', async () => { @@ -981,7 +985,10 @@ describe('v1.SpannerClient', () => { const request = generateSampleMessage( new protos.google.spanner.v1.ExecuteBatchDmlRequest() ); - request.session = ''; + const defaultValue1 = getTypeDefaultValue('ExecuteBatchDmlRequest', [ + 'session', + ]); + request.session = defaultValue1; const expectedError = new Error('The client has already been closed.'); client.close(); await assert.rejects(client.executeBatchDml(request), expectedError); @@ -998,26 +1005,22 @@ describe('v1.SpannerClient', () => { const request = generateSampleMessage( new protos.google.spanner.v1.ReadRequest() ); - request.session = ''; - const expectedHeaderRequestParams = 'session='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue('ReadRequest', ['session']); + request.session = defaultValue1; + const expectedHeaderRequestParams = `session=${defaultValue1}`; const expectedResponse = generateSampleMessage( new protos.google.spanner.v1.ResultSet() ); client.innerApiCalls.read = stubSimpleCall(expectedResponse); const [response] = await client.read(request); assert.deepStrictEqual(response, expectedResponse); - assert( - (client.innerApiCalls.read as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions, undefined) - ); + const actualRequest = (client.innerApiCalls.read as SinonStub).getCall(0) + .args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.read as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes read without error using callback', async () => { @@ -1029,15 +1032,9 @@ describe('v1.SpannerClient', () => { const request = generateSampleMessage( new protos.google.spanner.v1.ReadRequest() ); - request.session = ''; - const expectedHeaderRequestParams = 'session='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue('ReadRequest', ['session']); + request.session = defaultValue1; + const expectedHeaderRequestParams = `session=${defaultValue1}`; const expectedResponse = generateSampleMessage( new protos.google.spanner.v1.ResultSet() ); @@ -1059,11 +1056,13 @@ describe('v1.SpannerClient', () => { }); const response = await promise; assert.deepStrictEqual(response, expectedResponse); - assert( - (client.innerApiCalls.read as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions /*, callback defined above */) - ); + const actualRequest = (client.innerApiCalls.read as SinonStub).getCall(0) + .args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.read as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes read with error', async () => { @@ -1075,23 +1074,19 @@ describe('v1.SpannerClient', () => { const request = generateSampleMessage( new protos.google.spanner.v1.ReadRequest() ); - request.session = ''; - const expectedHeaderRequestParams = 'session='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue('ReadRequest', ['session']); + request.session = defaultValue1; + const expectedHeaderRequestParams = `session=${defaultValue1}`; const expectedError = new Error('expected'); client.innerApiCalls.read = stubSimpleCall(undefined, expectedError); await assert.rejects(client.read(request), expectedError); - assert( - (client.innerApiCalls.read as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions, undefined) - ); + const actualRequest = (client.innerApiCalls.read as SinonStub).getCall(0) + .args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.read as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes read with closed client', async () => { @@ -1103,7 +1098,8 @@ describe('v1.SpannerClient', () => { const request = generateSampleMessage( new protos.google.spanner.v1.ReadRequest() ); - request.session = ''; + const defaultValue1 = getTypeDefaultValue('ReadRequest', ['session']); + request.session = defaultValue1; const expectedError = new Error('The client has already been closed.'); client.close(); await assert.rejects(client.read(request), expectedError); @@ -1120,26 +1116,25 @@ describe('v1.SpannerClient', () => { const request = generateSampleMessage( new protos.google.spanner.v1.BeginTransactionRequest() ); - request.session = ''; - const expectedHeaderRequestParams = 'session='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue('BeginTransactionRequest', [ + 'session', + ]); + request.session = defaultValue1; + const expectedHeaderRequestParams = `session=${defaultValue1}`; const expectedResponse = generateSampleMessage( new protos.google.spanner.v1.Transaction() ); client.innerApiCalls.beginTransaction = stubSimpleCall(expectedResponse); const [response] = await client.beginTransaction(request); assert.deepStrictEqual(response, expectedResponse); - assert( - (client.innerApiCalls.beginTransaction as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions, undefined) - ); + const actualRequest = ( + client.innerApiCalls.beginTransaction as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.beginTransaction as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes beginTransaction without error using callback', async () => { @@ -1151,15 +1146,11 @@ describe('v1.SpannerClient', () => { const request = generateSampleMessage( new protos.google.spanner.v1.BeginTransactionRequest() ); - request.session = ''; - const expectedHeaderRequestParams = 'session='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue('BeginTransactionRequest', [ + 'session', + ]); + request.session = defaultValue1; + const expectedHeaderRequestParams = `session=${defaultValue1}`; const expectedResponse = generateSampleMessage( new protos.google.spanner.v1.Transaction() ); @@ -1182,11 +1173,14 @@ describe('v1.SpannerClient', () => { }); const response = await promise; assert.deepStrictEqual(response, expectedResponse); - assert( - (client.innerApiCalls.beginTransaction as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions /*, callback defined above */) - ); + const actualRequest = ( + client.innerApiCalls.beginTransaction as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.beginTransaction as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes beginTransaction with error', async () => { @@ -1198,26 +1192,25 @@ describe('v1.SpannerClient', () => { const request = generateSampleMessage( new protos.google.spanner.v1.BeginTransactionRequest() ); - request.session = ''; - const expectedHeaderRequestParams = 'session='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue('BeginTransactionRequest', [ + 'session', + ]); + request.session = defaultValue1; + const expectedHeaderRequestParams = `session=${defaultValue1}`; const expectedError = new Error('expected'); client.innerApiCalls.beginTransaction = stubSimpleCall( undefined, expectedError ); await assert.rejects(client.beginTransaction(request), expectedError); - assert( - (client.innerApiCalls.beginTransaction as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions, undefined) - ); + const actualRequest = ( + client.innerApiCalls.beginTransaction as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.beginTransaction as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes beginTransaction with closed client', async () => { @@ -1229,7 +1222,10 @@ describe('v1.SpannerClient', () => { const request = generateSampleMessage( new protos.google.spanner.v1.BeginTransactionRequest() ); - request.session = ''; + const defaultValue1 = getTypeDefaultValue('BeginTransactionRequest', [ + 'session', + ]); + request.session = defaultValue1; const expectedError = new Error('The client has already been closed.'); client.close(); await assert.rejects(client.beginTransaction(request), expectedError); @@ -1246,26 +1242,23 @@ describe('v1.SpannerClient', () => { const request = generateSampleMessage( new protos.google.spanner.v1.CommitRequest() ); - request.session = ''; - const expectedHeaderRequestParams = 'session='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue('CommitRequest', ['session']); + request.session = defaultValue1; + const expectedHeaderRequestParams = `session=${defaultValue1}`; const expectedResponse = generateSampleMessage( new protos.google.spanner.v1.CommitResponse() ); client.innerApiCalls.commit = stubSimpleCall(expectedResponse); const [response] = await client.commit(request); assert.deepStrictEqual(response, expectedResponse); - assert( - (client.innerApiCalls.commit as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions, undefined) - ); + const actualRequest = (client.innerApiCalls.commit as SinonStub).getCall( + 0 + ).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.commit as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes commit without error using callback', async () => { @@ -1277,15 +1270,9 @@ describe('v1.SpannerClient', () => { const request = generateSampleMessage( new protos.google.spanner.v1.CommitRequest() ); - request.session = ''; - const expectedHeaderRequestParams = 'session='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue('CommitRequest', ['session']); + request.session = defaultValue1; + const expectedHeaderRequestParams = `session=${defaultValue1}`; const expectedResponse = generateSampleMessage( new protos.google.spanner.v1.CommitResponse() ); @@ -1308,11 +1295,14 @@ describe('v1.SpannerClient', () => { }); const response = await promise; assert.deepStrictEqual(response, expectedResponse); - assert( - (client.innerApiCalls.commit as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions /*, callback defined above */) - ); + const actualRequest = (client.innerApiCalls.commit as SinonStub).getCall( + 0 + ).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.commit as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes commit with error', async () => { @@ -1324,23 +1314,20 @@ describe('v1.SpannerClient', () => { const request = generateSampleMessage( new protos.google.spanner.v1.CommitRequest() ); - request.session = ''; - const expectedHeaderRequestParams = 'session='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue('CommitRequest', ['session']); + request.session = defaultValue1; + const expectedHeaderRequestParams = `session=${defaultValue1}`; const expectedError = new Error('expected'); client.innerApiCalls.commit = stubSimpleCall(undefined, expectedError); await assert.rejects(client.commit(request), expectedError); - assert( - (client.innerApiCalls.commit as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions, undefined) - ); + const actualRequest = (client.innerApiCalls.commit as SinonStub).getCall( + 0 + ).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.commit as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes commit with closed client', async () => { @@ -1352,7 +1339,8 @@ describe('v1.SpannerClient', () => { const request = generateSampleMessage( new protos.google.spanner.v1.CommitRequest() ); - request.session = ''; + const defaultValue1 = getTypeDefaultValue('CommitRequest', ['session']); + request.session = defaultValue1; const expectedError = new Error('The client has already been closed.'); client.close(); await assert.rejects(client.commit(request), expectedError); @@ -1369,26 +1357,23 @@ describe('v1.SpannerClient', () => { const request = generateSampleMessage( new protos.google.spanner.v1.RollbackRequest() ); - request.session = ''; - const expectedHeaderRequestParams = 'session='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue('RollbackRequest', ['session']); + request.session = defaultValue1; + const expectedHeaderRequestParams = `session=${defaultValue1}`; const expectedResponse = generateSampleMessage( new protos.google.protobuf.Empty() ); client.innerApiCalls.rollback = stubSimpleCall(expectedResponse); const [response] = await client.rollback(request); assert.deepStrictEqual(response, expectedResponse); - assert( - (client.innerApiCalls.rollback as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions, undefined) - ); + const actualRequest = ( + client.innerApiCalls.rollback as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.rollback as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes rollback without error using callback', async () => { @@ -1400,15 +1385,9 @@ describe('v1.SpannerClient', () => { const request = generateSampleMessage( new protos.google.spanner.v1.RollbackRequest() ); - request.session = ''; - const expectedHeaderRequestParams = 'session='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue('RollbackRequest', ['session']); + request.session = defaultValue1; + const expectedHeaderRequestParams = `session=${defaultValue1}`; const expectedResponse = generateSampleMessage( new protos.google.protobuf.Empty() ); @@ -1431,11 +1410,14 @@ describe('v1.SpannerClient', () => { }); const response = await promise; assert.deepStrictEqual(response, expectedResponse); - assert( - (client.innerApiCalls.rollback as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions /*, callback defined above */) - ); + const actualRequest = ( + client.innerApiCalls.rollback as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.rollback as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes rollback with error', async () => { @@ -1447,23 +1429,20 @@ describe('v1.SpannerClient', () => { const request = generateSampleMessage( new protos.google.spanner.v1.RollbackRequest() ); - request.session = ''; - const expectedHeaderRequestParams = 'session='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue('RollbackRequest', ['session']); + request.session = defaultValue1; + const expectedHeaderRequestParams = `session=${defaultValue1}`; const expectedError = new Error('expected'); client.innerApiCalls.rollback = stubSimpleCall(undefined, expectedError); await assert.rejects(client.rollback(request), expectedError); - assert( - (client.innerApiCalls.rollback as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions, undefined) - ); + const actualRequest = ( + client.innerApiCalls.rollback as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.rollback as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes rollback with closed client', async () => { @@ -1475,7 +1454,8 @@ describe('v1.SpannerClient', () => { const request = generateSampleMessage( new protos.google.spanner.v1.RollbackRequest() ); - request.session = ''; + const defaultValue1 = getTypeDefaultValue('RollbackRequest', ['session']); + request.session = defaultValue1; const expectedError = new Error('The client has already been closed.'); client.close(); await assert.rejects(client.rollback(request), expectedError); @@ -1492,26 +1472,25 @@ describe('v1.SpannerClient', () => { const request = generateSampleMessage( new protos.google.spanner.v1.PartitionQueryRequest() ); - request.session = ''; - const expectedHeaderRequestParams = 'session='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue('PartitionQueryRequest', [ + 'session', + ]); + request.session = defaultValue1; + const expectedHeaderRequestParams = `session=${defaultValue1}`; const expectedResponse = generateSampleMessage( new protos.google.spanner.v1.PartitionResponse() ); client.innerApiCalls.partitionQuery = stubSimpleCall(expectedResponse); const [response] = await client.partitionQuery(request); assert.deepStrictEqual(response, expectedResponse); - assert( - (client.innerApiCalls.partitionQuery as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions, undefined) - ); + const actualRequest = ( + client.innerApiCalls.partitionQuery as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.partitionQuery as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes partitionQuery without error using callback', async () => { @@ -1523,15 +1502,11 @@ describe('v1.SpannerClient', () => { const request = generateSampleMessage( new protos.google.spanner.v1.PartitionQueryRequest() ); - request.session = ''; - const expectedHeaderRequestParams = 'session='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue('PartitionQueryRequest', [ + 'session', + ]); + request.session = defaultValue1; + const expectedHeaderRequestParams = `session=${defaultValue1}`; const expectedResponse = generateSampleMessage( new protos.google.spanner.v1.PartitionResponse() ); @@ -1554,11 +1529,14 @@ describe('v1.SpannerClient', () => { }); const response = await promise; assert.deepStrictEqual(response, expectedResponse); - assert( - (client.innerApiCalls.partitionQuery as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions /*, callback defined above */) - ); + const actualRequest = ( + client.innerApiCalls.partitionQuery as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.partitionQuery as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes partitionQuery with error', async () => { @@ -1570,26 +1548,25 @@ describe('v1.SpannerClient', () => { const request = generateSampleMessage( new protos.google.spanner.v1.PartitionQueryRequest() ); - request.session = ''; - const expectedHeaderRequestParams = 'session='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue('PartitionQueryRequest', [ + 'session', + ]); + request.session = defaultValue1; + const expectedHeaderRequestParams = `session=${defaultValue1}`; const expectedError = new Error('expected'); client.innerApiCalls.partitionQuery = stubSimpleCall( undefined, expectedError ); await assert.rejects(client.partitionQuery(request), expectedError); - assert( - (client.innerApiCalls.partitionQuery as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions, undefined) - ); + const actualRequest = ( + client.innerApiCalls.partitionQuery as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.partitionQuery as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes partitionQuery with closed client', async () => { @@ -1601,7 +1578,10 @@ describe('v1.SpannerClient', () => { const request = generateSampleMessage( new protos.google.spanner.v1.PartitionQueryRequest() ); - request.session = ''; + const defaultValue1 = getTypeDefaultValue('PartitionQueryRequest', [ + 'session', + ]); + request.session = defaultValue1; const expectedError = new Error('The client has already been closed.'); client.close(); await assert.rejects(client.partitionQuery(request), expectedError); @@ -1618,26 +1598,25 @@ describe('v1.SpannerClient', () => { const request = generateSampleMessage( new protos.google.spanner.v1.PartitionReadRequest() ); - request.session = ''; - const expectedHeaderRequestParams = 'session='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue('PartitionReadRequest', [ + 'session', + ]); + request.session = defaultValue1; + const expectedHeaderRequestParams = `session=${defaultValue1}`; const expectedResponse = generateSampleMessage( new protos.google.spanner.v1.PartitionResponse() ); client.innerApiCalls.partitionRead = stubSimpleCall(expectedResponse); const [response] = await client.partitionRead(request); assert.deepStrictEqual(response, expectedResponse); - assert( - (client.innerApiCalls.partitionRead as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions, undefined) - ); + const actualRequest = ( + client.innerApiCalls.partitionRead as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.partitionRead as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes partitionRead without error using callback', async () => { @@ -1649,15 +1628,11 @@ describe('v1.SpannerClient', () => { const request = generateSampleMessage( new protos.google.spanner.v1.PartitionReadRequest() ); - request.session = ''; - const expectedHeaderRequestParams = 'session='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue('PartitionReadRequest', [ + 'session', + ]); + request.session = defaultValue1; + const expectedHeaderRequestParams = `session=${defaultValue1}`; const expectedResponse = generateSampleMessage( new protos.google.spanner.v1.PartitionResponse() ); @@ -1680,11 +1655,14 @@ describe('v1.SpannerClient', () => { }); const response = await promise; assert.deepStrictEqual(response, expectedResponse); - assert( - (client.innerApiCalls.partitionRead as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions /*, callback defined above */) - ); + const actualRequest = ( + client.innerApiCalls.partitionRead as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.partitionRead as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes partitionRead with error', async () => { @@ -1696,26 +1674,25 @@ describe('v1.SpannerClient', () => { const request = generateSampleMessage( new protos.google.spanner.v1.PartitionReadRequest() ); - request.session = ''; - const expectedHeaderRequestParams = 'session='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue('PartitionReadRequest', [ + 'session', + ]); + request.session = defaultValue1; + const expectedHeaderRequestParams = `session=${defaultValue1}`; const expectedError = new Error('expected'); client.innerApiCalls.partitionRead = stubSimpleCall( undefined, expectedError ); await assert.rejects(client.partitionRead(request), expectedError); - assert( - (client.innerApiCalls.partitionRead as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions, undefined) - ); + const actualRequest = ( + client.innerApiCalls.partitionRead as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.partitionRead as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes partitionRead with closed client', async () => { @@ -1727,7 +1704,10 @@ describe('v1.SpannerClient', () => { const request = generateSampleMessage( new protos.google.spanner.v1.PartitionReadRequest() ); - request.session = ''; + const defaultValue1 = getTypeDefaultValue('PartitionReadRequest', [ + 'session', + ]); + request.session = defaultValue1; const expectedError = new Error('The client has already been closed.'); client.close(); await assert.rejects(client.partitionRead(request), expectedError); @@ -1744,15 +1724,11 @@ describe('v1.SpannerClient', () => { const request = generateSampleMessage( new protos.google.spanner.v1.ExecuteSqlRequest() ); - request.session = ''; - const expectedHeaderRequestParams = 'session='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue('ExecuteSqlRequest', [ + 'session', + ]); + request.session = defaultValue1; + const expectedHeaderRequestParams = `session=${defaultValue1}`; const expectedResponse = generateSampleMessage( new protos.google.spanner.v1.PartialResultSet() ); @@ -1772,11 +1748,14 @@ describe('v1.SpannerClient', () => { }); const response = await promise; assert.deepStrictEqual(response, expectedResponse); - assert( - (client.innerApiCalls.executeStreamingSql as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions) - ); + const actualRequest = ( + client.innerApiCalls.executeStreamingSql as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.executeStreamingSql as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes executeStreamingSql with error', async () => { @@ -1788,15 +1767,11 @@ describe('v1.SpannerClient', () => { const request = generateSampleMessage( new protos.google.spanner.v1.ExecuteSqlRequest() ); - request.session = ''; - const expectedHeaderRequestParams = 'session='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue('ExecuteSqlRequest', [ + 'session', + ]); + request.session = defaultValue1; + const expectedHeaderRequestParams = `session=${defaultValue1}`; const expectedError = new Error('expected'); client.innerApiCalls.executeStreamingSql = stubServerStreamingCall( undefined, @@ -1815,11 +1790,14 @@ describe('v1.SpannerClient', () => { }); }); await assert.rejects(promise, expectedError); - assert( - (client.innerApiCalls.executeStreamingSql as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions) - ); + const actualRequest = ( + client.innerApiCalls.executeStreamingSql as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.executeStreamingSql as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes executeStreamingSql with closed client', async () => { @@ -1831,7 +1809,10 @@ describe('v1.SpannerClient', () => { const request = generateSampleMessage( new protos.google.spanner.v1.ExecuteSqlRequest() ); - request.session = ''; + const defaultValue1 = getTypeDefaultValue('ExecuteSqlRequest', [ + 'session', + ]); + request.session = defaultValue1; const expectedError = new Error('The client has already been closed.'); client.close(); const stream = client.executeStreamingSql(request); @@ -1860,15 +1841,9 @@ describe('v1.SpannerClient', () => { const request = generateSampleMessage( new protos.google.spanner.v1.ReadRequest() ); - request.session = ''; - const expectedHeaderRequestParams = 'session='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue('ReadRequest', ['session']); + request.session = defaultValue1; + const expectedHeaderRequestParams = `session=${defaultValue1}`; const expectedResponse = generateSampleMessage( new protos.google.spanner.v1.PartialResultSet() ); @@ -1888,11 +1863,14 @@ describe('v1.SpannerClient', () => { }); const response = await promise; assert.deepStrictEqual(response, expectedResponse); - assert( - (client.innerApiCalls.streamingRead as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions) - ); + const actualRequest = ( + client.innerApiCalls.streamingRead as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.streamingRead as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes streamingRead with error', async () => { @@ -1904,15 +1882,9 @@ describe('v1.SpannerClient', () => { const request = generateSampleMessage( new protos.google.spanner.v1.ReadRequest() ); - request.session = ''; - const expectedHeaderRequestParams = 'session='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue('ReadRequest', ['session']); + request.session = defaultValue1; + const expectedHeaderRequestParams = `session=${defaultValue1}`; const expectedError = new Error('expected'); client.innerApiCalls.streamingRead = stubServerStreamingCall( undefined, @@ -1931,11 +1903,14 @@ describe('v1.SpannerClient', () => { }); }); await assert.rejects(promise, expectedError); - assert( - (client.innerApiCalls.streamingRead as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions) - ); + const actualRequest = ( + client.innerApiCalls.streamingRead as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.streamingRead as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes streamingRead with closed client', async () => { @@ -1947,7 +1922,8 @@ describe('v1.SpannerClient', () => { const request = generateSampleMessage( new protos.google.spanner.v1.ReadRequest() ); - request.session = ''; + const defaultValue1 = getTypeDefaultValue('ReadRequest', ['session']); + request.session = defaultValue1; const expectedError = new Error('The client has already been closed.'); client.close(); const stream = client.streamingRead(request); @@ -1976,15 +1952,11 @@ describe('v1.SpannerClient', () => { const request = generateSampleMessage( new protos.google.spanner.v1.ListSessionsRequest() ); - request.database = ''; - const expectedHeaderRequestParams = 'database='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue('ListSessionsRequest', [ + 'database', + ]); + request.database = defaultValue1; + const expectedHeaderRequestParams = `database=${defaultValue1}`; const expectedResponse = [ generateSampleMessage(new protos.google.spanner.v1.Session()), generateSampleMessage(new protos.google.spanner.v1.Session()), @@ -1993,11 +1965,14 @@ describe('v1.SpannerClient', () => { client.innerApiCalls.listSessions = stubSimpleCall(expectedResponse); const [response] = await client.listSessions(request); assert.deepStrictEqual(response, expectedResponse); - assert( - (client.innerApiCalls.listSessions as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions, undefined) - ); + const actualRequest = ( + client.innerApiCalls.listSessions as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.listSessions as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes listSessions without error using callback', async () => { @@ -2009,15 +1984,11 @@ describe('v1.SpannerClient', () => { const request = generateSampleMessage( new protos.google.spanner.v1.ListSessionsRequest() ); - request.database = ''; - const expectedHeaderRequestParams = 'database='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue('ListSessionsRequest', [ + 'database', + ]); + request.database = defaultValue1; + const expectedHeaderRequestParams = `database=${defaultValue1}`; const expectedResponse = [ generateSampleMessage(new protos.google.spanner.v1.Session()), generateSampleMessage(new protos.google.spanner.v1.Session()), @@ -2042,11 +2013,14 @@ describe('v1.SpannerClient', () => { }); const response = await promise; assert.deepStrictEqual(response, expectedResponse); - assert( - (client.innerApiCalls.listSessions as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions /*, callback defined above */) - ); + const actualRequest = ( + client.innerApiCalls.listSessions as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.listSessions as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes listSessions with error', async () => { @@ -2058,26 +2032,25 @@ describe('v1.SpannerClient', () => { const request = generateSampleMessage( new protos.google.spanner.v1.ListSessionsRequest() ); - request.database = ''; - const expectedHeaderRequestParams = 'database='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue('ListSessionsRequest', [ + 'database', + ]); + request.database = defaultValue1; + const expectedHeaderRequestParams = `database=${defaultValue1}`; const expectedError = new Error('expected'); client.innerApiCalls.listSessions = stubSimpleCall( undefined, expectedError ); await assert.rejects(client.listSessions(request), expectedError); - assert( - (client.innerApiCalls.listSessions as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions, undefined) - ); + const actualRequest = ( + client.innerApiCalls.listSessions as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.listSessions as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes listSessionsStream without error', async () => { @@ -2089,8 +2062,11 @@ describe('v1.SpannerClient', () => { const request = generateSampleMessage( new protos.google.spanner.v1.ListSessionsRequest() ); - request.database = ''; - const expectedHeaderRequestParams = 'database='; + const defaultValue1 = getTypeDefaultValue('ListSessionsRequest', [ + 'database', + ]); + request.database = defaultValue1; + const expectedHeaderRequestParams = `database=${defaultValue1}`; const expectedResponse = [ generateSampleMessage(new protos.google.spanner.v1.Session()), generateSampleMessage(new protos.google.spanner.v1.Session()), @@ -2118,11 +2094,12 @@ describe('v1.SpannerClient', () => { .getCall(0) .calledWith(client.innerApiCalls.listSessions, request) ); - assert.strictEqual( - ( - client.descriptors.page.listSessions.createStream as SinonStub - ).getCall(0).args[2].otherArgs.headers['x-goog-request-params'], - expectedHeaderRequestParams + assert( + (client.descriptors.page.listSessions.createStream as SinonStub) + .getCall(0) + .args[2].otherArgs.headers['x-goog-request-params'].includes( + expectedHeaderRequestParams + ) ); }); @@ -2135,8 +2112,11 @@ describe('v1.SpannerClient', () => { const request = generateSampleMessage( new protos.google.spanner.v1.ListSessionsRequest() ); - request.database = ''; - const expectedHeaderRequestParams = 'database='; + const defaultValue1 = getTypeDefaultValue('ListSessionsRequest', [ + 'database', + ]); + request.database = defaultValue1; + const expectedHeaderRequestParams = `database=${defaultValue1}`; const expectedError = new Error('expected'); client.descriptors.page.listSessions.createStream = stubPageStreamingCall( undefined, @@ -2161,11 +2141,12 @@ describe('v1.SpannerClient', () => { .getCall(0) .calledWith(client.innerApiCalls.listSessions, request) ); - assert.strictEqual( - ( - client.descriptors.page.listSessions.createStream as SinonStub - ).getCall(0).args[2].otherArgs.headers['x-goog-request-params'], - expectedHeaderRequestParams + assert( + (client.descriptors.page.listSessions.createStream as SinonStub) + .getCall(0) + .args[2].otherArgs.headers['x-goog-request-params'].includes( + expectedHeaderRequestParams + ) ); }); @@ -2178,8 +2159,11 @@ describe('v1.SpannerClient', () => { const request = generateSampleMessage( new protos.google.spanner.v1.ListSessionsRequest() ); - request.database = ''; - const expectedHeaderRequestParams = 'database='; + const defaultValue1 = getTypeDefaultValue('ListSessionsRequest', [ + 'database', + ]); + request.database = defaultValue1; + const expectedHeaderRequestParams = `database=${defaultValue1}`; const expectedResponse = [ generateSampleMessage(new protos.google.spanner.v1.Session()), generateSampleMessage(new protos.google.spanner.v1.Session()), @@ -2199,11 +2183,12 @@ describe('v1.SpannerClient', () => { ).getCall(0).args[1], request ); - assert.strictEqual( - ( - client.descriptors.page.listSessions.asyncIterate as SinonStub - ).getCall(0).args[2].otherArgs.headers['x-goog-request-params'], - expectedHeaderRequestParams + assert( + (client.descriptors.page.listSessions.asyncIterate as SinonStub) + .getCall(0) + .args[2].otherArgs.headers['x-goog-request-params'].includes( + expectedHeaderRequestParams + ) ); }); @@ -2216,8 +2201,11 @@ describe('v1.SpannerClient', () => { const request = generateSampleMessage( new protos.google.spanner.v1.ListSessionsRequest() ); - request.database = ''; - const expectedHeaderRequestParams = 'database='; + const defaultValue1 = getTypeDefaultValue('ListSessionsRequest', [ + 'database', + ]); + request.database = defaultValue1; + const expectedHeaderRequestParams = `database=${defaultValue1}`; const expectedError = new Error('expected'); client.descriptors.page.listSessions.asyncIterate = stubAsyncIterationCall(undefined, expectedError); @@ -2234,11 +2222,12 @@ describe('v1.SpannerClient', () => { ).getCall(0).args[1], request ); - assert.strictEqual( - ( - client.descriptors.page.listSessions.asyncIterate as SinonStub - ).getCall(0).args[2].otherArgs.headers['x-goog-request-params'], - expectedHeaderRequestParams + assert( + (client.descriptors.page.listSessions.asyncIterate as SinonStub) + .getCall(0) + .args[2].otherArgs.headers['x-goog-request-params'].includes( + expectedHeaderRequestParams + ) ); }); });