Skip to content

Commit

Permalink
fix: better support for fallback mode (#95)
Browse files Browse the repository at this point in the history
- [ ] Regenerate this pull request now.

PiperOrigin-RevId: 468790263

Source-Link: googleapis/googleapis@873ab45

Source-Link: googleapis/googleapis-gen@cb6f37a
Copy-Tag: eyJwIjoiLmdpdGh1Yi8uT3dsQm90LnlhbWwiLCJoIjoiY2I2ZjM3YWVmZjJhMzQ3MmU0MGE3YmJhY2U4YzY3ZDc1ZTI0YmVlNSJ9
  • Loading branch information
gcf-owl-bot[bot] authored Aug 23, 2022
1 parent c13361c commit 8c57c42
Show file tree
Hide file tree
Showing 7 changed files with 103 additions and 89 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@
"segments": [
{
"start": 25,
"end": 62,
"end": 65,
"type": "FULL"
}
],
Expand Down Expand Up @@ -70,7 +70,7 @@
"segments": [
{
"start": 25,
"end": 50,
"end": 53,
"type": "FULL"
}
],
Expand Down Expand Up @@ -110,7 +110,7 @@
"segments": [
{
"start": 25,
"end": 60,
"end": 63,
"type": "FULL"
}
],
Expand Down Expand Up @@ -158,7 +158,7 @@
"segments": [
{
"start": 25,
"end": 51,
"end": 54,
"type": "FULL"
}
],
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,9 @@
function main(parent, connectorId, connector) {
// [START vpcaccess_v1_generated_VpcAccessService_CreateConnector_async]
/**
* This snippet has been automatically generated and should be regarded as a code template only.
* It will require modifications to work.
* It may require correct/in-range values for request initialization.
* TODO(developer): Uncomment these variables before running the sample.
*/
/**
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,9 @@
function main(name) {
// [START vpcaccess_v1_generated_VpcAccessService_DeleteConnector_async]
/**
* This snippet has been automatically generated and should be regarded as a code template only.
* It will require modifications to work.
* It may require correct/in-range values for request initialization.
* TODO(developer): Uncomment these variables before running the sample.
*/
/**
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,9 @@
function main(name) {
// [START vpcaccess_v1_generated_VpcAccessService_GetConnector_async]
/**
* This snippet has been automatically generated and should be regarded as a code template only.
* It will require modifications to work.
* It may require correct/in-range values for request initialization.
* TODO(developer): Uncomment these variables before running the sample.
*/
/**
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,9 @@
function main(parent) {
// [START vpcaccess_v1_generated_VpcAccessService_ListConnectors_async]
/**
* This snippet has been automatically generated and should be regarded as a code template only.
* It will require modifications to work.
* It may require correct/in-range values for request initialization.
* TODO(developer): Uncomment these variables before running the sample.
*/
/**
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,6 @@ import {
} from 'google-gax';

import {Transform} from 'stream';
import {RequestType} from 'google-gax/build/src/apitypes';
import * as protos from '../../protos/protos';
import jsonProtos = require('../../protos/protos.json');
/**
Expand Down Expand Up @@ -318,7 +317,8 @@ export class VpcAccessServiceClient {
const apiCall = this._gaxModule.createApiCall(
callPromise,
this._defaults[methodName],
descriptor
descriptor,
this._opts.fallback
);

this.innerApiCalls[methodName] = apiCall;
Expand Down Expand Up @@ -602,7 +602,7 @@ export class VpcAccessServiceClient {
const decodeOperation = new gax.Operation(
operation,
this.descriptors.longrunning.createConnector,
gax.createDefaultBackoffSettings()
this._gaxModule.createDefaultBackoffSettings()
);
return decodeOperation as LROperation<
protos.google.cloud.vpcaccess.v1.Connector,
Expand Down Expand Up @@ -740,7 +740,7 @@ export class VpcAccessServiceClient {
const decodeOperation = new gax.Operation(
operation,
this.descriptors.longrunning.deleteConnector,
gax.createDefaultBackoffSettings()
this._gaxModule.createDefaultBackoffSettings()
);
return decodeOperation as LROperation<
protos.google.protobuf.Empty,
Expand Down Expand Up @@ -884,7 +884,7 @@ export class VpcAccessServiceClient {
const callSettings = defaultCallSettings.merge(options);
this.initialize();
return this.descriptors.page.listConnectors.createStream(
this.innerApiCalls.listConnectors as gax.GaxCall,
this.innerApiCalls.listConnectors as GaxCall,
request,
callSettings
);
Expand Down Expand Up @@ -932,7 +932,7 @@ export class VpcAccessServiceClient {
this.initialize();
return this.descriptors.page.listConnectors.asyncIterate(
this.innerApiCalls['listConnectors'] as GaxCall,
request as unknown as RequestType,
request as {},
callSettings
) as AsyncIterable<protos.google.cloud.vpcaccess.v1.IConnector>;
}
Expand Down
160 changes: 81 additions & 79 deletions packages/google-cloud-vpc-access/test/gapic_vpc_access_service_v1.ts
Original file line number Diff line number Diff line change
Expand Up @@ -145,101 +145,103 @@ function stubAsyncIterationCall<ResponseType>(
}

describe('v1.VpcAccessServiceClient', () => {
it('has servicePath', () => {
const servicePath =
vpcaccessserviceModule.v1.VpcAccessServiceClient.servicePath;
assert(servicePath);
});

it('has apiEndpoint', () => {
const apiEndpoint =
vpcaccessserviceModule.v1.VpcAccessServiceClient.apiEndpoint;
assert(apiEndpoint);
});

it('has port', () => {
const port = vpcaccessserviceModule.v1.VpcAccessServiceClient.port;
assert(port);
assert(typeof port === 'number');
});

it('should create a client with no option', () => {
const client = new vpcaccessserviceModule.v1.VpcAccessServiceClient();
assert(client);
});
describe('Common methods', () => {
it('has servicePath', () => {
const servicePath =
vpcaccessserviceModule.v1.VpcAccessServiceClient.servicePath;
assert(servicePath);
});

it('should create a client with gRPC fallback', () => {
const client = new vpcaccessserviceModule.v1.VpcAccessServiceClient({
fallback: true,
it('has apiEndpoint', () => {
const apiEndpoint =
vpcaccessserviceModule.v1.VpcAccessServiceClient.apiEndpoint;
assert(apiEndpoint);
});
assert(client);
});

it('has initialize method and supports deferred initialization', async () => {
const client = new vpcaccessserviceModule.v1.VpcAccessServiceClient({
credentials: {client_email: 'bogus', private_key: 'bogus'},
projectId: 'bogus',
it('has port', () => {
const port = vpcaccessserviceModule.v1.VpcAccessServiceClient.port;
assert(port);
assert(typeof port === 'number');
});
assert.strictEqual(client.vpcAccessServiceStub, undefined);
await client.initialize();
assert(client.vpcAccessServiceStub);
});

it('has close method for the initialized client', done => {
const client = new vpcaccessserviceModule.v1.VpcAccessServiceClient({
credentials: {client_email: 'bogus', private_key: 'bogus'},
projectId: 'bogus',
it('should create a client with no option', () => {
const client = new vpcaccessserviceModule.v1.VpcAccessServiceClient();
assert(client);
});
client.initialize();
assert(client.vpcAccessServiceStub);
client.close().then(() => {
done();

it('should create a client with gRPC fallback', () => {
const client = new vpcaccessserviceModule.v1.VpcAccessServiceClient({
fallback: true,
});
assert(client);
});
});

it('has close method for the non-initialized client', done => {
const client = new vpcaccessserviceModule.v1.VpcAccessServiceClient({
credentials: {client_email: 'bogus', private_key: 'bogus'},
projectId: 'bogus',
it('has initialize method and supports deferred initialization', async () => {
const client = new vpcaccessserviceModule.v1.VpcAccessServiceClient({
credentials: {client_email: 'bogus', private_key: 'bogus'},
projectId: 'bogus',
});
assert.strictEqual(client.vpcAccessServiceStub, undefined);
await client.initialize();
assert(client.vpcAccessServiceStub);
});
assert.strictEqual(client.vpcAccessServiceStub, undefined);
client.close().then(() => {
done();

it('has close method for the initialized client', done => {
const client = new vpcaccessserviceModule.v1.VpcAccessServiceClient({
credentials: {client_email: 'bogus', private_key: 'bogus'},
projectId: 'bogus',
});
client.initialize();
assert(client.vpcAccessServiceStub);
client.close().then(() => {
done();
});
});
});

it('has getProjectId method', async () => {
const fakeProjectId = 'fake-project-id';
const client = new vpcaccessserviceModule.v1.VpcAccessServiceClient({
credentials: {client_email: 'bogus', private_key: 'bogus'},
projectId: 'bogus',
it('has close method for the non-initialized client', done => {
const client = new vpcaccessserviceModule.v1.VpcAccessServiceClient({
credentials: {client_email: 'bogus', private_key: 'bogus'},
projectId: 'bogus',
});
assert.strictEqual(client.vpcAccessServiceStub, undefined);
client.close().then(() => {
done();
});
});
client.auth.getProjectId = sinon.stub().resolves(fakeProjectId);
const result = await client.getProjectId();
assert.strictEqual(result, fakeProjectId);
assert((client.auth.getProjectId as SinonStub).calledWithExactly());
});

it('has getProjectId method with callback', async () => {
const fakeProjectId = 'fake-project-id';
const client = new vpcaccessserviceModule.v1.VpcAccessServiceClient({
credentials: {client_email: 'bogus', private_key: 'bogus'},
projectId: 'bogus',
it('has getProjectId method', async () => {
const fakeProjectId = 'fake-project-id';
const client = new vpcaccessserviceModule.v1.VpcAccessServiceClient({
credentials: {client_email: 'bogus', private_key: 'bogus'},
projectId: 'bogus',
});
client.auth.getProjectId = sinon.stub().resolves(fakeProjectId);
const result = await client.getProjectId();
assert.strictEqual(result, fakeProjectId);
assert((client.auth.getProjectId as SinonStub).calledWithExactly());
});
client.auth.getProjectId = sinon
.stub()
.callsArgWith(0, null, fakeProjectId);
const promise = new Promise((resolve, reject) => {
client.getProjectId((err?: Error | null, projectId?: string | null) => {
if (err) {
reject(err);
} else {
resolve(projectId);
}

it('has getProjectId method with callback', async () => {
const fakeProjectId = 'fake-project-id';
const client = new vpcaccessserviceModule.v1.VpcAccessServiceClient({
credentials: {client_email: 'bogus', private_key: 'bogus'},
projectId: 'bogus',
});
client.auth.getProjectId = sinon
.stub()
.callsArgWith(0, null, fakeProjectId);
const promise = new Promise((resolve, reject) => {
client.getProjectId((err?: Error | null, projectId?: string | null) => {
if (err) {
reject(err);
} else {
resolve(projectId);
}
});
});
const result = await promise;
assert.strictEqual(result, fakeProjectId);
});
const result = await promise;
assert.strictEqual(result, fakeProjectId);
});

describe('getConnector', () => {
Expand Down

0 comments on commit 8c57c42

Please sign in to comment.