Skip to content
This repository was archived by the owner on Jul 13, 2023. It is now read-only.

Commit b5a177d

Browse files
fix: preserve default values in x-goog-request-params header (#691)
- [ ] Regenerate this pull request now. PiperOrigin-RevId: 474338479 Source-Link: googleapis/googleapis@d5d35e0 Source-Link: https://github.com/googleapis/googleapis-gen/commit/efcd3f93962a103f68f003e2a1eecde6fa216a27 Copy-Tag: eyJwIjoiLmdpdGh1Yi8uT3dsQm90LnlhbWwiLCJoIjoiZWZjZDNmOTM5NjJhMTAzZjY4ZjAwM2UyYTFlZWNkZTZmYTIxNmEyNyJ9
1 parent be4bf7d commit b5a177d

2 files changed

Lines changed: 30 additions & 216 deletions

File tree

test/gapic_language_service_v1.ts

Lines changed: 15 additions & 108 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,21 @@ import * as languageserviceModule from '../src';
2525

2626
import {protobuf} from 'google-gax';
2727

28+
// Dynamically loaded proto JSON is needed to get the type information
29+
// to fill in default values for request objects
30+
const root = protobuf.Root.fromJSON(
31+
require('../protos/protos.json')
32+
).resolveAll();
33+
34+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
35+
function getTypeDefaultValue(typeName: string, fields: string[]) {
36+
let type = root.lookupType(typeName) as protobuf.Type;
37+
for (const field of fields.slice(0, -1)) {
38+
type = type.fields[field]?.resolvedType as protobuf.Type;
39+
}
40+
return type.fields[fields[fields.length - 1]]?.defaultValue;
41+
}
42+
2843
function generateSampleMessage<T extends object>(instance: T) {
2944
const filledObject = (
3045
instance.constructor as typeof protobuf.Message
@@ -159,18 +174,12 @@ describe('v1.LanguageServiceClient', () => {
159174
const request = generateSampleMessage(
160175
new protos.google.cloud.language.v1.AnalyzeSentimentRequest()
161176
);
162-
const expectedOptions = {otherArgs: {headers: {}}};
163177
const expectedResponse = generateSampleMessage(
164178
new protos.google.cloud.language.v1.AnalyzeSentimentResponse()
165179
);
166180
client.innerApiCalls.analyzeSentiment = stubSimpleCall(expectedResponse);
167181
const [response] = await client.analyzeSentiment(request);
168182
assert.deepStrictEqual(response, expectedResponse);
169-
assert(
170-
(client.innerApiCalls.analyzeSentiment as SinonStub)
171-
.getCall(0)
172-
.calledWith(request, expectedOptions, undefined)
173-
);
174183
});
175184

176185
it('invokes analyzeSentiment without error using callback', async () => {
@@ -182,7 +191,6 @@ describe('v1.LanguageServiceClient', () => {
182191
const request = generateSampleMessage(
183192
new protos.google.cloud.language.v1.AnalyzeSentimentRequest()
184193
);
185-
const expectedOptions = {otherArgs: {headers: {}}};
186194
const expectedResponse = generateSampleMessage(
187195
new protos.google.cloud.language.v1.AnalyzeSentimentResponse()
188196
);
@@ -205,11 +213,6 @@ describe('v1.LanguageServiceClient', () => {
205213
});
206214
const response = await promise;
207215
assert.deepStrictEqual(response, expectedResponse);
208-
assert(
209-
(client.innerApiCalls.analyzeSentiment as SinonStub)
210-
.getCall(0)
211-
.calledWith(request, expectedOptions /*, callback defined above */)
212-
);
213216
});
214217

215218
it('invokes analyzeSentiment with error', async () => {
@@ -221,18 +224,12 @@ describe('v1.LanguageServiceClient', () => {
221224
const request = generateSampleMessage(
222225
new protos.google.cloud.language.v1.AnalyzeSentimentRequest()
223226
);
224-
const expectedOptions = {otherArgs: {headers: {}}};
225227
const expectedError = new Error('expected');
226228
client.innerApiCalls.analyzeSentiment = stubSimpleCall(
227229
undefined,
228230
expectedError
229231
);
230232
await assert.rejects(client.analyzeSentiment(request), expectedError);
231-
assert(
232-
(client.innerApiCalls.analyzeSentiment as SinonStub)
233-
.getCall(0)
234-
.calledWith(request, expectedOptions, undefined)
235-
);
236233
});
237234

238235
it('invokes analyzeSentiment with closed client', async () => {
@@ -260,18 +257,12 @@ describe('v1.LanguageServiceClient', () => {
260257
const request = generateSampleMessage(
261258
new protos.google.cloud.language.v1.AnalyzeEntitiesRequest()
262259
);
263-
const expectedOptions = {otherArgs: {headers: {}}};
264260
const expectedResponse = generateSampleMessage(
265261
new protos.google.cloud.language.v1.AnalyzeEntitiesResponse()
266262
);
267263
client.innerApiCalls.analyzeEntities = stubSimpleCall(expectedResponse);
268264
const [response] = await client.analyzeEntities(request);
269265
assert.deepStrictEqual(response, expectedResponse);
270-
assert(
271-
(client.innerApiCalls.analyzeEntities as SinonStub)
272-
.getCall(0)
273-
.calledWith(request, expectedOptions, undefined)
274-
);
275266
});
276267

277268
it('invokes analyzeEntities without error using callback', async () => {
@@ -283,7 +274,6 @@ describe('v1.LanguageServiceClient', () => {
283274
const request = generateSampleMessage(
284275
new protos.google.cloud.language.v1.AnalyzeEntitiesRequest()
285276
);
286-
const expectedOptions = {otherArgs: {headers: {}}};
287277
const expectedResponse = generateSampleMessage(
288278
new protos.google.cloud.language.v1.AnalyzeEntitiesResponse()
289279
);
@@ -306,11 +296,6 @@ describe('v1.LanguageServiceClient', () => {
306296
});
307297
const response = await promise;
308298
assert.deepStrictEqual(response, expectedResponse);
309-
assert(
310-
(client.innerApiCalls.analyzeEntities as SinonStub)
311-
.getCall(0)
312-
.calledWith(request, expectedOptions /*, callback defined above */)
313-
);
314299
});
315300

316301
it('invokes analyzeEntities with error', async () => {
@@ -322,18 +307,12 @@ describe('v1.LanguageServiceClient', () => {
322307
const request = generateSampleMessage(
323308
new protos.google.cloud.language.v1.AnalyzeEntitiesRequest()
324309
);
325-
const expectedOptions = {otherArgs: {headers: {}}};
326310
const expectedError = new Error('expected');
327311
client.innerApiCalls.analyzeEntities = stubSimpleCall(
328312
undefined,
329313
expectedError
330314
);
331315
await assert.rejects(client.analyzeEntities(request), expectedError);
332-
assert(
333-
(client.innerApiCalls.analyzeEntities as SinonStub)
334-
.getCall(0)
335-
.calledWith(request, expectedOptions, undefined)
336-
);
337316
});
338317

339318
it('invokes analyzeEntities with closed client', async () => {
@@ -361,19 +340,13 @@ describe('v1.LanguageServiceClient', () => {
361340
const request = generateSampleMessage(
362341
new protos.google.cloud.language.v1.AnalyzeEntitySentimentRequest()
363342
);
364-
const expectedOptions = {otherArgs: {headers: {}}};
365343
const expectedResponse = generateSampleMessage(
366344
new protos.google.cloud.language.v1.AnalyzeEntitySentimentResponse()
367345
);
368346
client.innerApiCalls.analyzeEntitySentiment =
369347
stubSimpleCall(expectedResponse);
370348
const [response] = await client.analyzeEntitySentiment(request);
371349
assert.deepStrictEqual(response, expectedResponse);
372-
assert(
373-
(client.innerApiCalls.analyzeEntitySentiment as SinonStub)
374-
.getCall(0)
375-
.calledWith(request, expectedOptions, undefined)
376-
);
377350
});
378351

379352
it('invokes analyzeEntitySentiment without error using callback', async () => {
@@ -385,7 +358,6 @@ describe('v1.LanguageServiceClient', () => {
385358
const request = generateSampleMessage(
386359
new protos.google.cloud.language.v1.AnalyzeEntitySentimentRequest()
387360
);
388-
const expectedOptions = {otherArgs: {headers: {}}};
389361
const expectedResponse = generateSampleMessage(
390362
new protos.google.cloud.language.v1.AnalyzeEntitySentimentResponse()
391363
);
@@ -408,11 +380,6 @@ describe('v1.LanguageServiceClient', () => {
408380
});
409381
const response = await promise;
410382
assert.deepStrictEqual(response, expectedResponse);
411-
assert(
412-
(client.innerApiCalls.analyzeEntitySentiment as SinonStub)
413-
.getCall(0)
414-
.calledWith(request, expectedOptions /*, callback defined above */)
415-
);
416383
});
417384

418385
it('invokes analyzeEntitySentiment with error', async () => {
@@ -424,7 +391,6 @@ describe('v1.LanguageServiceClient', () => {
424391
const request = generateSampleMessage(
425392
new protos.google.cloud.language.v1.AnalyzeEntitySentimentRequest()
426393
);
427-
const expectedOptions = {otherArgs: {headers: {}}};
428394
const expectedError = new Error('expected');
429395
client.innerApiCalls.analyzeEntitySentiment = stubSimpleCall(
430396
undefined,
@@ -434,11 +400,6 @@ describe('v1.LanguageServiceClient', () => {
434400
client.analyzeEntitySentiment(request),
435401
expectedError
436402
);
437-
assert(
438-
(client.innerApiCalls.analyzeEntitySentiment as SinonStub)
439-
.getCall(0)
440-
.calledWith(request, expectedOptions, undefined)
441-
);
442403
});
443404

444405
it('invokes analyzeEntitySentiment with closed client', async () => {
@@ -469,18 +430,12 @@ describe('v1.LanguageServiceClient', () => {
469430
const request = generateSampleMessage(
470431
new protos.google.cloud.language.v1.AnalyzeSyntaxRequest()
471432
);
472-
const expectedOptions = {otherArgs: {headers: {}}};
473433
const expectedResponse = generateSampleMessage(
474434
new protos.google.cloud.language.v1.AnalyzeSyntaxResponse()
475435
);
476436
client.innerApiCalls.analyzeSyntax = stubSimpleCall(expectedResponse);
477437
const [response] = await client.analyzeSyntax(request);
478438
assert.deepStrictEqual(response, expectedResponse);
479-
assert(
480-
(client.innerApiCalls.analyzeSyntax as SinonStub)
481-
.getCall(0)
482-
.calledWith(request, expectedOptions, undefined)
483-
);
484439
});
485440

486441
it('invokes analyzeSyntax without error using callback', async () => {
@@ -492,7 +447,6 @@ describe('v1.LanguageServiceClient', () => {
492447
const request = generateSampleMessage(
493448
new protos.google.cloud.language.v1.AnalyzeSyntaxRequest()
494449
);
495-
const expectedOptions = {otherArgs: {headers: {}}};
496450
const expectedResponse = generateSampleMessage(
497451
new protos.google.cloud.language.v1.AnalyzeSyntaxResponse()
498452
);
@@ -515,11 +469,6 @@ describe('v1.LanguageServiceClient', () => {
515469
});
516470
const response = await promise;
517471
assert.deepStrictEqual(response, expectedResponse);
518-
assert(
519-
(client.innerApiCalls.analyzeSyntax as SinonStub)
520-
.getCall(0)
521-
.calledWith(request, expectedOptions /*, callback defined above */)
522-
);
523472
});
524473

525474
it('invokes analyzeSyntax with error', async () => {
@@ -531,18 +480,12 @@ describe('v1.LanguageServiceClient', () => {
531480
const request = generateSampleMessage(
532481
new protos.google.cloud.language.v1.AnalyzeSyntaxRequest()
533482
);
534-
const expectedOptions = {otherArgs: {headers: {}}};
535483
const expectedError = new Error('expected');
536484
client.innerApiCalls.analyzeSyntax = stubSimpleCall(
537485
undefined,
538486
expectedError
539487
);
540488
await assert.rejects(client.analyzeSyntax(request), expectedError);
541-
assert(
542-
(client.innerApiCalls.analyzeSyntax as SinonStub)
543-
.getCall(0)
544-
.calledWith(request, expectedOptions, undefined)
545-
);
546489
});
547490

548491
it('invokes analyzeSyntax with closed client', async () => {
@@ -570,18 +513,12 @@ describe('v1.LanguageServiceClient', () => {
570513
const request = generateSampleMessage(
571514
new protos.google.cloud.language.v1.ClassifyTextRequest()
572515
);
573-
const expectedOptions = {otherArgs: {headers: {}}};
574516
const expectedResponse = generateSampleMessage(
575517
new protos.google.cloud.language.v1.ClassifyTextResponse()
576518
);
577519
client.innerApiCalls.classifyText = stubSimpleCall(expectedResponse);
578520
const [response] = await client.classifyText(request);
579521
assert.deepStrictEqual(response, expectedResponse);
580-
assert(
581-
(client.innerApiCalls.classifyText as SinonStub)
582-
.getCall(0)
583-
.calledWith(request, expectedOptions, undefined)
584-
);
585522
});
586523

587524
it('invokes classifyText without error using callback', async () => {
@@ -593,7 +530,6 @@ describe('v1.LanguageServiceClient', () => {
593530
const request = generateSampleMessage(
594531
new protos.google.cloud.language.v1.ClassifyTextRequest()
595532
);
596-
const expectedOptions = {otherArgs: {headers: {}}};
597533
const expectedResponse = generateSampleMessage(
598534
new protos.google.cloud.language.v1.ClassifyTextResponse()
599535
);
@@ -616,11 +552,6 @@ describe('v1.LanguageServiceClient', () => {
616552
});
617553
const response = await promise;
618554
assert.deepStrictEqual(response, expectedResponse);
619-
assert(
620-
(client.innerApiCalls.classifyText as SinonStub)
621-
.getCall(0)
622-
.calledWith(request, expectedOptions /*, callback defined above */)
623-
);
624555
});
625556

626557
it('invokes classifyText with error', async () => {
@@ -632,18 +563,12 @@ describe('v1.LanguageServiceClient', () => {
632563
const request = generateSampleMessage(
633564
new protos.google.cloud.language.v1.ClassifyTextRequest()
634565
);
635-
const expectedOptions = {otherArgs: {headers: {}}};
636566
const expectedError = new Error('expected');
637567
client.innerApiCalls.classifyText = stubSimpleCall(
638568
undefined,
639569
expectedError
640570
);
641571
await assert.rejects(client.classifyText(request), expectedError);
642-
assert(
643-
(client.innerApiCalls.classifyText as SinonStub)
644-
.getCall(0)
645-
.calledWith(request, expectedOptions, undefined)
646-
);
647572
});
648573

649574
it('invokes classifyText with closed client', async () => {
@@ -671,18 +596,12 @@ describe('v1.LanguageServiceClient', () => {
671596
const request = generateSampleMessage(
672597
new protos.google.cloud.language.v1.AnnotateTextRequest()
673598
);
674-
const expectedOptions = {otherArgs: {headers: {}}};
675599
const expectedResponse = generateSampleMessage(
676600
new protos.google.cloud.language.v1.AnnotateTextResponse()
677601
);
678602
client.innerApiCalls.annotateText = stubSimpleCall(expectedResponse);
679603
const [response] = await client.annotateText(request);
680604
assert.deepStrictEqual(response, expectedResponse);
681-
assert(
682-
(client.innerApiCalls.annotateText as SinonStub)
683-
.getCall(0)
684-
.calledWith(request, expectedOptions, undefined)
685-
);
686605
});
687606

688607
it('invokes annotateText without error using callback', async () => {
@@ -694,7 +613,6 @@ describe('v1.LanguageServiceClient', () => {
694613
const request = generateSampleMessage(
695614
new protos.google.cloud.language.v1.AnnotateTextRequest()
696615
);
697-
const expectedOptions = {otherArgs: {headers: {}}};
698616
const expectedResponse = generateSampleMessage(
699617
new protos.google.cloud.language.v1.AnnotateTextResponse()
700618
);
@@ -717,11 +635,6 @@ describe('v1.LanguageServiceClient', () => {
717635
});
718636
const response = await promise;
719637
assert.deepStrictEqual(response, expectedResponse);
720-
assert(
721-
(client.innerApiCalls.annotateText as SinonStub)
722-
.getCall(0)
723-
.calledWith(request, expectedOptions /*, callback defined above */)
724-
);
725638
});
726639

727640
it('invokes annotateText with error', async () => {
@@ -733,18 +646,12 @@ describe('v1.LanguageServiceClient', () => {
733646
const request = generateSampleMessage(
734647
new protos.google.cloud.language.v1.AnnotateTextRequest()
735648
);
736-
const expectedOptions = {otherArgs: {headers: {}}};
737649
const expectedError = new Error('expected');
738650
client.innerApiCalls.annotateText = stubSimpleCall(
739651
undefined,
740652
expectedError
741653
);
742654
await assert.rejects(client.annotateText(request), expectedError);
743-
assert(
744-
(client.innerApiCalls.annotateText as SinonStub)
745-
.getCall(0)
746-
.calledWith(request, expectedOptions, undefined)
747-
);
748655
});
749656

750657
it('invokes annotateText with closed client', async () => {

0 commit comments

Comments
 (0)