From d667927206bd106e0463562f767d11937ab432b2 Mon Sep 17 00:00:00 2001 From: Gal Zahavi <38544478+galz10@users.noreply.github.com> Date: Mon, 16 Aug 2021 11:17:48 -0700 Subject: [PATCH] docs: add create agent code sample (#163) --- dialogflow-cx/create-agent.js | 53 +++++++++++++++++++++++++ dialogflow-cx/test/create-agent.test.js | 32 +++++++++++++++ 2 files changed, 85 insertions(+) create mode 100644 dialogflow-cx/create-agent.js create mode 100644 dialogflow-cx/test/create-agent.test.js diff --git a/dialogflow-cx/create-agent.js b/dialogflow-cx/create-agent.js new file mode 100644 index 00000000000..f9bd36d2fd5 --- /dev/null +++ b/dialogflow-cx/create-agent.js @@ -0,0 +1,53 @@ +// Copyright 2021 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'; + +process.env.DEBUG = 'dialogflow:debug'; // enables lib debugging statements + +async function main(projectId, displayName) { + // [START dialogflow_set_agent_sample] + + const parent = 'projects/' + projectId + '/locations/global'; + + const api_endpoint = 'global-dialogflow.googleapis.com:443'; + + const agent = { + displayName: displayName, + defaultLanguageCode: 'en', + timeZone: 'America/Los_Angeles', + }; + + const {AgentsClient} = require('@google-cloud/dialogflow-cx'); + + const client = new AgentsClient({api_endpoint: api_endpoint}); + + async function setAgentSample() { + const request = { + agent, + parent, + }; + + const [response] = await client.createAgent(request); + console.log(`response: ${JSON.stringify(response, null, 2)}`); + } + await setAgentSample(); + // [END dialogflow_set_agent_sample] +} + +process.on('unhandledRejection', err => { + console.error(err.message); + process.exitCode = 1; +}); +main(...process.argv.slice(2)); diff --git a/dialogflow-cx/test/create-agent.test.js b/dialogflow-cx/test/create-agent.test.js new file mode 100644 index 00000000000..e4fe8d39c70 --- /dev/null +++ b/dialogflow-cx/test/create-agent.test.js @@ -0,0 +1,32 @@ +// Copyright 2021 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 +// +// http://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 {describe, it} = require('mocha'); +const uuid = require('uuid'); +const execSync = require('child_process').execSync; +const exec = cmd => execSync(cmd, {encoding: 'utf8'}); + +describe('create agent', () => { + const cmd = 'node create-agent.js'; + const agentId = `temp_agent_${uuid.v4().split('-')[0]}`; + const projectId = process.env.GCLOUD_PROJECT; + + it('should create agent', async () => { + const output = exec(`${cmd} ${projectId} ${agentId}`); + assert.include(output, agentId); + }); +});