Skip to content
This repository has been archived by the owner on Jul 20, 2023. It is now read-only.

Commit

Permalink
docs: add create agent code sample (#163)
Browse files Browse the repository at this point in the history
  • Loading branch information
galz10 authored Aug 16, 2021
1 parent 092d69d commit 9acd227
Show file tree
Hide file tree
Showing 4 changed files with 104 additions and 0 deletions.
1 change: 1 addition & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -139,6 +139,7 @@ Samples are in the [`samples/`](https://github.com/googleapis/nodejs-dialogflow-

| Sample | Source Code | Try it |
| --------------------------- | --------------------------------- | ------ |
| Create-agent | [source code](https://github.com/googleapis/nodejs-dialogflow-cx/blob/main/samples/create-agent.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-dialogflow-cx&page=editor&open_in_editor=samples/create-agent.js,samples/README.md) |
| Detect-intent-audio | [source code](https://github.com/googleapis/nodejs-dialogflow-cx/blob/main/samples/detect-intent-audio.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-dialogflow-cx&page=editor&open_in_editor=samples/detect-intent-audio.js,samples/README.md) |
| Detect-intent-streaming | [source code](https://github.com/googleapis/nodejs-dialogflow-cx/blob/main/samples/detect-intent-streaming.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-dialogflow-cx&page=editor&open_in_editor=samples/detect-intent-streaming.js,samples/README.md) |
| Detect-intent-text | [source code](https://github.com/googleapis/nodejs-dialogflow-cx/blob/main/samples/detect-intent-text.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-dialogflow-cx&page=editor&open_in_editor=samples/detect-intent-text.js,samples/README.md) |
Expand Down
18 changes: 18 additions & 0 deletions samples/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@

* [Before you begin](#before-you-begin)
* [Samples](#samples)
* [Create-agent](#create-agent)
* [Detect-intent-audio](#detect-intent-audio)
* [Detect-intent-streaming](#detect-intent-streaming)
* [Detect-intent-text](#detect-intent-text)
Expand All @@ -33,6 +34,23 @@ Before running the samples, make sure you've followed the steps outlined in



### Create-agent

View the [source code](https://github.com/googleapis/nodejs-dialogflow-cx/blob/main/samples/create-agent.js).

[![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-dialogflow-cx&page=editor&open_in_editor=samples/create-agent.js,samples/README.md)

__Usage:__


`node samples/create-agent.js`


-----




### Detect-intent-audio

View the [source code](https://github.com/googleapis/nodejs-dialogflow-cx/blob/main/samples/detect-intent-audio.js).
Expand Down
53 changes: 53 additions & 0 deletions samples/create-agent.js
Original file line number Diff line number Diff line change
@@ -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));
32 changes: 32 additions & 0 deletions samples/test/create-agent.test.js
Original file line number Diff line number Diff line change
@@ -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);
});
});

0 comments on commit 9acd227

Please sign in to comment.