From 7dc3244e0f29109415bdcf9dba3964a4ebcd9f2d Mon Sep 17 00:00:00 2001 From: Brad Miro Date: Mon, 28 Oct 2019 20:30:14 -0400 Subject: [PATCH] feat: added endpoint samples and updated docs for language api (#315) --- cloud-language/snippets/setEndpoint.js | 46 +++++++++++++++++++ .../snippets/test/setEndpoint.test.js | 29 ++++++++++++ 2 files changed, 75 insertions(+) create mode 100644 cloud-language/snippets/setEndpoint.js create mode 100644 cloud-language/snippets/test/setEndpoint.test.js diff --git a/cloud-language/snippets/setEndpoint.js b/cloud-language/snippets/setEndpoint.js new file mode 100644 index 0000000000..b1f5fa7439 --- /dev/null +++ b/cloud-language/snippets/setEndpoint.js @@ -0,0 +1,46 @@ +// 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 language_set_endpoint] + // Imports the Google Cloud client library + const language = require('@google-cloud/language'); + + // Specifies the location of the api endpoint + const clientOptions = {apiEndpoint: 'eu-language.googleapis.com'}; + + // Instantiates a client + const client = new language.LanguageServiceClient(clientOptions); + // [END language_set_endpoint] + + // The text to analyze + const text = 'Hello, world!'; + + const document = { + content: text, + type: 'PLAIN_TEXT', + }; + + // Detects the sentiment of the text + const [result] = await client.analyzeSentiment({document: document}); + const sentiment = result.documentSentiment; + + console.log(`Text: ${text}`); + console.log(`Sentiment score: ${sentiment.score}`); + console.log(`Sentiment magnitude: ${sentiment.magnitude}`); +} + +setEndpoint().catch(console.error); diff --git a/cloud-language/snippets/test/setEndpoint.test.js b/cloud-language/snippets/test/setEndpoint.test.js new file mode 100644 index 0000000000..4aad3eb9b2 --- /dev/null +++ b/cloud-language/snippets/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 execSync = cmd => cp.execSync(cmd, {encoding: 'utf-8'}); + +describe('set endpoint for language api call', () => { + it('should analyze sentiment in text at a specific api endpoint', async () => { + const stdout = execSync('node setEndpoint.js'); + assert(stdout, /Text: Hello, world!/); + assert.match(stdout, /Sentiment score: /); + assert.match(stdout, /Sentiment magnitude: /); + }); +});