From 3de2ae493e4de0a277548ce8acb6e60a8d9024a8 Mon Sep 17 00:00:00 2001 From: Brad Miro Date: Tue, 26 Nov 2019 14:16:28 -0500 Subject: [PATCH] feat(samples): add sample of configuring alternate apiEndpoint (#473) --- vision/samples/setEndpoint.js | 36 +++++++++++++++++++ .../samples/system-test/setEndpoint.test.js | 28 +++++++++++++++ 2 files changed, 64 insertions(+) create mode 100644 vision/samples/setEndpoint.js create mode 100644 vision/samples/system-test/setEndpoint.test.js diff --git a/vision/samples/setEndpoint.js b/vision/samples/setEndpoint.js new file mode 100644 index 0000000000..42d90bd337 --- /dev/null +++ b/vision/samples/setEndpoint.js @@ -0,0 +1,36 @@ +// 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() { + // [START vision_set_endpoint] + // Imports the Google Cloud client library + const vision = require('@google-cloud/vision'); + + // Specifies the location of the api endpoint + const clientOptions = {apiEndpoint: 'eu-vision.googleapis.com'}; + + // Creates a client + const client = new vision.ImageAnnotatorClient(clientOptions); + // [END vision_set_endpoint] + + // Performs label detection on the image file + const [result] = await client.labelDetection('./resources/wakeupcat.jpg'); + const labels = result.labelAnnotations; + console.log('Labels:'); + labels.forEach(label => console.log(label.description)); +} + +setEndpoint().catch(console.error); diff --git a/vision/samples/system-test/setEndpoint.test.js b/vision/samples/system-test/setEndpoint.test.js new file mode 100644 index 0000000000..3c7aa2a7c7 --- /dev/null +++ b/vision/samples/system-test/setEndpoint.test.js @@ -0,0 +1,28 @@ +// 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 execSync = cmd => cp.execSync(cmd, {encoding: 'utf-8'}); + +describe(`set endpoint for vision api call`, () => { + it(`should detect labels in a remote file from a pre-set api endpoint`, async () => { + const stdout = execSync('node setEndpoint.js'); + assert.match(stdout, /Labels:/); + assert.match(stdout, /cat/); + }); +});