From c57c0bfe9f1d3bfdec580d853ac677c18f9c18e5 Mon Sep 17 00:00:00 2001 From: Brad Miro Date: Wed, 30 Oct 2019 16:27:02 -0400 Subject: [PATCH] feat: added samples for api-endpoints (#259) * Added samples for api-endpoints * Fixed license and function name * Fixed test case for setEndpoint and added file to linkinator until it lands --- automl/beta/setEndpoint.js | 47 +++++++++++++++++++++++++++++++++ automl/test/setEndpoint.test.js | 29 ++++++++++++++++++++ 2 files changed, 76 insertions(+) create mode 100644 automl/beta/setEndpoint.js create mode 100644 automl/test/setEndpoint.test.js diff --git a/automl/beta/setEndpoint.js b/automl/beta/setEndpoint.js new file mode 100644 index 00000000000..117b246faf8 --- /dev/null +++ b/automl/beta/setEndpoint.js @@ -0,0 +1,47 @@ +// Copyright 2019 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +'use strict'; + +async function setEndpoint(projectId) { + // [START automl_set_endpoint] + const automl = require('@google-cloud/automl').v1beta1; + + // You must first create a dataset, using the `eu` endpoint, before you can + // call other operations such as: list, get, import, delete, etc. + const clientOptions = {apiEndpoint: 'eu-automl.googleapis.com'}; + + // Instantiates a client + const client = new automl.AutoMlClient(clientOptions); + + // A resource that represents Google Cloud Platform location. + const projectLocation = client.locationPath(projectId, 'eu'); + // [END automl_set_endpoint] + console.log(projectLocation); + + // Grabs the list of datasets in a given project location. + // Note: create a dataset in `eu` before calling `listDatasets`. + const responses = await client.listDatasets({parent: projectLocation}); + + // Prints out each dataset. + const datasets = responses[0]; + datasets.forEach(dataset => { + console.log(dataset); + }); +} + +setEndpoint(...process.argv.slice(2)).catch(err => { + console.error(err); + process.exitCode = 1; +}); diff --git a/automl/test/setEndpoint.test.js b/automl/test/setEndpoint.test.js new file mode 100644 index 00000000000..89c24335949 --- /dev/null +++ b/automl/test/setEndpoint.test.js @@ -0,0 +1,29 @@ +// Copyright 2019 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +'use strict'; + +const {assert} = require('chai'); +const cp = require('child_process'); + +const projectId = process.env.GCLOUD_PROJECT; + +const execSync = cmd => cp.execSync(cmd, {encoding: 'utf-8'}); + +describe('set endpoint for automl', () => { + it('should list all datasets in `eu`', async () => { + const stdout = execSync(`node beta/setEndpoint.js "${projectId}"`); + assert.match(stdout, /do_not_delete_eu/); + }); +});