From f9973364562243a757db5c61f0ec05771751e1eb Mon Sep 17 00:00:00 2001 From: Gal Zahavi <38544478+galz10@users.noreply.github.com> Date: Wed, 8 Sep 2021 09:03:28 -0700 Subject: [PATCH] docs(samples): add set agent code sample (#370) * Added Update Intent Snippet and Test * Deleted Setting Env Vars * Fixed Lint Issues * Fixed Lint and Build Issue * Fixed Build Issue * Changed tests to pytests * Removed delete and create agent from test * Fixed Import Order * Deleted unused import * Removed Language from update_intent Snippet * Added copyright * Changed intent name to random name * delete intent after testing * fix test * remove contains * Added Create Intent * fix lint * docs(samples): add set agent code sample * lint fix * Resolved comments * test and lint changes * Added Comments * lint fix Co-authored-by: Anthonios Partheniou --- samples/snippets/set_agent.py | 39 ++++++++++++++++++++++++++++++ samples/snippets/set_agent_test.py | 31 ++++++++++++++++++++++++ 2 files changed, 70 insertions(+) create mode 100644 samples/snippets/set_agent.py create mode 100644 samples/snippets/set_agent_test.py diff --git a/samples/snippets/set_agent.py b/samples/snippets/set_agent.py new file mode 100644 index 000000000..f1b993d15 --- /dev/null +++ b/samples/snippets/set_agent.py @@ -0,0 +1,39 @@ +# 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. + +# [START dialogflow_set_agent_sample] + +from google.cloud.dialogflow_v2 import Agent +from google.cloud.dialogflow_v2 import AgentsClient + + +def set_agent(project_id, display_name): + + agents_client = AgentsClient() + + parent = agents_client.common_project_path(project_id) + + agent = Agent( + parent=parent, + display_name=display_name, + default_language_code="en", + time_zone="America/Los_Angeles", + ) + + response = agents_client.set_agent(request={"agent": agent}) + + return response + + +# [END dialogflow_set_agent_sample] diff --git a/samples/snippets/set_agent_test.py b/samples/snippets/set_agent_test.py new file mode 100644 index 000000000..98b0eeb7f --- /dev/null +++ b/samples/snippets/set_agent_test.py @@ -0,0 +1,31 @@ +# 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. + +import os + +from google.api_core.exceptions import InvalidArgument + +import pytest + +from set_agent import set_agent + +PROJECT_ID = os.getenv("GOOGLE_CLOUD_PROJECT") + + +# We cannot test setAgent because Dialogflow ES can only have one agent +# and if we create a agent it will delete the exisitng testing agent and +# would cause all tests to fail +def test_set_agent(): + with pytest.raises(InvalidArgument): + set_agent(PROJECT_ID, "")