Search in sources :

Example 21 with AgentName

use of com.google.cloud.dialogflow.cx.v3beta1.AgentName in project java-dialogflow-cx by googleapis.

the class CreateFlow method createFlow.

// Create a flow in the specified agent.
public static Flow createFlow(String displayName, String projectId, String locationId, String agentId, Map<String, String> eventsToFulfillmentMessages) throws IOException, ApiException {
    FlowsSettings.Builder flowsSettingsBuilder = FlowsSettings.newBuilder();
    if (locationId.equals("global")) {
        flowsSettingsBuilder.setEndpoint("dialogflow.googleapis.com:443");
    } else {
        flowsSettingsBuilder.setEndpoint(locationId + "-dialogflow.googleapis.com:443");
    }
    FlowsSettings flowsSettings = flowsSettingsBuilder.build();
    // Instantiates a client
    try (FlowsClient flowsClient = FlowsClient.create(flowsSettings)) {
        // Set the project agent name using the projectID (my-project-id), locationID (global), and
        // agentID (UUID).
        AgentName parent = AgentName.of(projectId, locationId, agentId);
        // Build the EventHandlers for the flow using the mapping from events to fulfillment messages.
        List<EventHandler> eventHandlers = new ArrayList<>();
        for (Map.Entry<String, String> item : eventsToFulfillmentMessages.entrySet()) {
            eventHandlers.add(EventHandler.newBuilder().setEvent(// Event (sys.no-match-default)
            item.getKey()).setTriggerFulfillment(Fulfillment.newBuilder().addMessages(ResponseMessage.newBuilder().setText(Text.newBuilder().addText(item.getValue()).build()).build()).build()).build());
        }
        // Build the flow.
        Flow flow = Flow.newBuilder().setDisplayName(displayName).addAllEventHandlers(eventHandlers).build();
        // Performs the create flow request.
        Flow response = flowsClient.createFlow(parent, flow);
        // TODO : Uncomment if you want to print response
        // System.out.format("Flow created: %s\n", response.toString());
        flowsClient.shutdown();
        return response;
    }
}
Also used : FlowsClient(com.google.cloud.dialogflow.cx.v3beta1.FlowsClient) FlowsSettings(com.google.cloud.dialogflow.cx.v3beta1.FlowsSettings) ArrayList(java.util.ArrayList) EventHandler(com.google.cloud.dialogflow.cx.v3beta1.EventHandler) AgentName(com.google.cloud.dialogflow.cx.v3beta1.AgentName) Map(java.util.Map) Flow(com.google.cloud.dialogflow.cx.v3beta1.Flow)

Example 22 with AgentName

use of com.google.cloud.dialogflow.cx.v3beta1.AgentName in project java-dialogflow-cx by googleapis.

the class TestCasesClientTest method listTestCasesTest.

@Test
public void listTestCasesTest() throws Exception {
    TestCase responsesElement = TestCase.newBuilder().build();
    ListTestCasesResponse expectedResponse = ListTestCasesResponse.newBuilder().setNextPageToken("").addAllTestCases(Arrays.asList(responsesElement)).build();
    mockTestCases.addResponse(expectedResponse);
    AgentName parent = AgentName.of("[PROJECT]", "[LOCATION]", "[AGENT]");
    ListTestCasesPagedResponse pagedListResponse = client.listTestCases(parent);
    List<TestCase> resources = Lists.newArrayList(pagedListResponse.iterateAll());
    Assert.assertEquals(1, resources.size());
    Assert.assertEquals(expectedResponse.getTestCasesList().get(0), resources.get(0));
    List<AbstractMessage> actualRequests = mockTestCases.getRequests();
    Assert.assertEquals(1, actualRequests.size());
    ListTestCasesRequest actualRequest = ((ListTestCasesRequest) actualRequests.get(0));
    Assert.assertEquals(parent.toString(), actualRequest.getParent());
    Assert.assertTrue(channelProvider.isHeaderSent(ApiClientHeaderProvider.getDefaultApiClientHeaderKey(), GaxGrpcProperties.getDefaultApiClientHeaderPattern()));
}
Also used : ListTestCasesPagedResponse(com.google.cloud.dialogflow.cx.v3beta1.TestCasesClient.ListTestCasesPagedResponse) AbstractMessage(com.google.protobuf.AbstractMessage) Test(org.junit.Test)

Aggregations

Test (org.junit.Test)15 AbstractMessage (com.google.protobuf.AbstractMessage)7 ArrayList (java.util.ArrayList)4 Agent (com.google.cloud.dialogflow.cx.v3beta1.Agent)3 Flow (com.google.cloud.dialogflow.cx.v3beta1.Flow)3 Intent (com.google.cloud.dialogflow.cx.v3beta1.Intent)3 AgentName (com.google.cloud.dialogflow.v2.AgentName)3 Intent (com.google.cloud.dialogflow.v2.Intent)3 IntentsClient (com.google.cloud.dialogflow.v2.IntentsClient)3 AgentName (com.google.cloud.dialogflow.cx.v3beta1.AgentName)2 DeleteAgentRequest (com.google.cloud.dialogflow.cx.v3beta1.DeleteAgentRequest)2 EntityType (com.google.cloud.dialogflow.cx.v3beta1.EntityType)2 FlowsClient (com.google.cloud.dialogflow.cx.v3beta1.FlowsClient)2 IntentsClient (com.google.cloud.dialogflow.cx.v3beta1.IntentsClient)2 ListChangelogsPagedResponse (com.google.cloud.dialogflow.cx.v3beta1.ChangelogsClient.ListChangelogsPagedResponse)1 CreateEntityTypeRequest (com.google.cloud.dialogflow.cx.v3beta1.CreateEntityTypeRequest)1 CreateFlowRequest (com.google.cloud.dialogflow.cx.v3beta1.CreateFlowRequest)1 CreateIntentRequest (com.google.cloud.dialogflow.cx.v3beta1.CreateIntentRequest)1 CreatePageRequest (com.google.cloud.dialogflow.cx.v3beta1.CreatePageRequest)1 CreateTransitionRouteGroupRequest (com.google.cloud.dialogflow.cx.v3beta1.CreateTransitionRouteGroupRequest)1