Search in sources :

Example 21 with Context

use of com.ibm.watson.assistant.v1.model.Context in project java-sdk by watson-developer-cloud.

the class AssistantServiceIT method testSendMessages.

/**
 * Test send messages.
 *
 * @throws InterruptedException the interrupted exception
 */
@Test
public void testSendMessages() throws InterruptedException {
    final String[] messages = new String[] { "turn ac on", "turn right", "no", "yes" };
    Context context = null;
    for (final String message : messages) {
        MessageOptions request = new MessageOptions.Builder(workspaceId).input(new InputData.Builder(message).build()).alternateIntents(true).context(context).nodesVisitedDetails(true).build();
        if (message.equals("yes")) {
            RuntimeIntent offTopic = new RuntimeIntent();
            offTopic.setIntent("off_topic");
            offTopic.setConfidence(1.0);
            request = request.newBuilder().addIntent(offTopic).build();
        }
        MessageResponse response = service.message(request).execute();
        assertMessageFromService(response);
        assertNotNull(response.getOutput().getNodesVisitedDetails());
        for (RuntimeEntity entity : response.getEntities()) {
            assertNotNull(entity.getGroups());
        }
        context = new Context();
        context.putAll(response.getContext());
        Thread.sleep(500);
    }
}
Also used : Context(com.ibm.watson.developer_cloud.assistant.v1.model.Context) MessageOptions(com.ibm.watson.developer_cloud.assistant.v1.model.MessageOptions) RuntimeIntent(com.ibm.watson.developer_cloud.assistant.v1.model.RuntimeIntent) RuntimeEntity(com.ibm.watson.developer_cloud.assistant.v1.model.RuntimeEntity) MessageResponse(com.ibm.watson.developer_cloud.assistant.v1.model.MessageResponse) Test(org.junit.Test)

Example 22 with Context

use of com.ibm.watson.assistant.v1.model.Context in project java-sdk by watson-developer-cloud.

the class AssistantTest method testSendMessageWithAlternateIntents.

/**
 * Test send message. use some different MessageOptions options like context and other public methods
 *
 * @throws IOException Signals that an I/O exception has occurred.
 * @throws InterruptedException the interrupted exception
 */
@Test
public void testSendMessageWithAlternateIntents() throws IOException, InterruptedException {
    MessageResponse mockResponse = loadFixture(FIXTURE, MessageResponse.class);
    server.enqueue(jsonResponse(mockResponse));
    Context contextTemp = new Context();
    contextTemp.put("name", "Myname");
    InputData inputTemp = new InputData.Builder("My text").build();
    MessageOptions options = new MessageOptions.Builder(WORKSPACE_ID).input(inputTemp).alternateIntents(false).context(contextTemp).entities(null).intents(null).build();
    // execute first request
    MessageResponse serviceResponse = service.message(options).execute();
    // first request
    RecordedRequest request = server.takeRequest();
    String path = StringUtils.join(PATH_MESSAGE, "?", VERSION, "=2018-02-16");
    assertEquals(path, request.getPath());
    assertArrayEquals(new String[] { "Do you want to get a quote?" }, serviceResponse.getOutput().getText().toArray(new String[0]));
    assertEquals(request.getMethod(), "POST");
    assertNotNull(request.getHeader(HttpHeaders.AUTHORIZATION));
    assertEquals("{\"input\":{\"text\":\"My text\"},\"alternate_intents\":false," + "\"context\":{\"name\":\"Myname\"}}", request.getBody().readUtf8());
    assertEquals(serviceResponse, mockResponse);
}
Also used : Context(com.ibm.watson.developer_cloud.assistant.v1.model.Context) RecordedRequest(okhttp3.mockwebserver.RecordedRequest) MessageOptions(com.ibm.watson.developer_cloud.assistant.v1.model.MessageOptions) MessageResponse(com.ibm.watson.developer_cloud.assistant.v1.model.MessageResponse) InputData(com.ibm.watson.developer_cloud.assistant.v1.model.InputData) WatsonServiceUnitTest(com.ibm.watson.developer_cloud.WatsonServiceUnitTest) Test(org.junit.Test)

Example 23 with Context

use of com.ibm.watson.assistant.v1.model.Context in project java-sdk by watson-developer-cloud.

the class ConversationServiceIT method testSendMessages.

/**
 * Test send messages.
 *
 * @throws InterruptedException the interrupted exception
 */
@Test
public void testSendMessages() throws InterruptedException {
    final String[] messages = new String[] { "turn ac on", "turn right", "no", "yes" };
    Context context = null;
    for (final String message : messages) {
        MessageOptions request = new MessageOptions.Builder(workspaceId).input(new InputData.Builder(message).build()).alternateIntents(true).context(context).nodesVisitedDetails(true).build();
        if (message.equals("yes")) {
            RuntimeIntent offTopic = new RuntimeIntent();
            offTopic.setIntent("off_topic");
            offTopic.setConfidence(1.0);
            request = request.newBuilder().addIntent(offTopic).build();
        }
        MessageResponse response = service.message(request).execute();
        assertMessageFromService(response);
        assertNotNull(response.getOutput().getNodesVisitedDetails());
        for (RuntimeEntity entity : response.getEntities()) {
            assertNotNull(entity.getGroups());
        }
        context = new Context();
        context.putAll(response.getContext());
        Thread.sleep(500);
    }
}
Also used : Context(com.ibm.watson.developer_cloud.conversation.v1.model.Context) MessageOptions(com.ibm.watson.developer_cloud.conversation.v1.model.MessageOptions) RuntimeIntent(com.ibm.watson.developer_cloud.conversation.v1.model.RuntimeIntent) RuntimeEntity(com.ibm.watson.developer_cloud.conversation.v1.model.RuntimeEntity) MessageResponse(com.ibm.watson.developer_cloud.conversation.v1.model.MessageResponse) Test(org.junit.Test)

Example 24 with Context

use of com.ibm.watson.assistant.v1.model.Context in project java-sdk by watson-developer-cloud.

the class AssistantTest method testUpdateDialogNodeWOptions.

// Test the updateDialogNode operation with a valid options model parameter
@Test
public void testUpdateDialogNodeWOptions() throws Throwable {
    // Register a mock response
    String mockResponseBody = "{\"dialog_node\": \"dialogNode\", \"description\": \"description\", \"conditions\": \"conditions\", \"parent\": \"parent\", \"previous_sibling\": \"previousSibling\", \"output\": {\"generic\": [{\"response_type\": \"video\", \"source\": \"source\", \"title\": \"title\", \"description\": \"description\", \"channels\": [{\"channel\": \"chat\"}], \"channel_options\": {\"mapKey\": \"anyValue\"}, \"alt_text\": \"altText\"}], \"integrations\": {\"mapKey\": {\"mapKey\": \"anyValue\"}}, \"modifiers\": {\"overwrite\": true}}, \"context\": {\"integrations\": {\"mapKey\": {\"mapKey\": \"anyValue\"}}}, \"metadata\": {\"mapKey\": \"anyValue\"}, \"next_step\": {\"behavior\": \"get_user_input\", \"dialog_node\": \"dialogNode\", \"selector\": \"condition\"}, \"title\": \"title\", \"type\": \"standard\", \"event_name\": \"focus\", \"variable\": \"variable\", \"actions\": [{\"name\": \"name\", \"type\": \"client\", \"parameters\": {\"mapKey\": \"anyValue\"}, \"result_variable\": \"resultVariable\", \"credentials\": \"credentials\"}], \"digress_in\": \"not_available\", \"digress_out\": \"allow_returning\", \"digress_out_slots\": \"not_allowed\", \"user_label\": \"userLabel\", \"disambiguation_opt_out\": false, \"disabled\": true, \"created\": \"2019-01-01T12:00:00.000Z\", \"updated\": \"2019-01-01T12:00:00.000Z\"}";
    String updateDialogNodePath = "/v1/workspaces/testString/dialog_nodes/testString";
    server.enqueue(new MockResponse().setHeader("Content-type", "application/json").setResponseCode(200).setBody(mockResponseBody));
    // Construct an instance of the ResponseGenericChannel model
    ResponseGenericChannel responseGenericChannelModel = new ResponseGenericChannel.Builder().channel("chat").build();
    // Construct an instance of the DialogNodeOutputGenericDialogNodeOutputResponseTypeVideo model
    DialogNodeOutputGenericDialogNodeOutputResponseTypeVideo dialogNodeOutputGenericModel = new DialogNodeOutputGenericDialogNodeOutputResponseTypeVideo.Builder().responseType("video").source("testString").title("testString").description("testString").channels(new java.util.ArrayList<ResponseGenericChannel>(java.util.Arrays.asList(responseGenericChannelModel))).channelOptions(new java.util.HashMap<String, Object>() {

        {
            put("foo", "testString");
        }
    }).altText("testString").build();
    // Construct an instance of the DialogNodeOutputModifiers model
    DialogNodeOutputModifiers dialogNodeOutputModifiersModel = new DialogNodeOutputModifiers.Builder().overwrite(true).build();
    // Construct an instance of the DialogNodeOutput model
    DialogNodeOutput dialogNodeOutputModel = new DialogNodeOutput.Builder().generic(new java.util.ArrayList<DialogNodeOutputGeneric>(java.util.Arrays.asList(dialogNodeOutputGenericModel))).integrations(new java.util.HashMap<String, Map<String, Object>>() {

        {
            put("foo", new java.util.HashMap<String, Object>() {

                {
                    put("foo", "testString");
                }
            });
        }
    }).modifiers(dialogNodeOutputModifiersModel).add("foo", "testString").build();
    // Construct an instance of the DialogNodeContext model
    DialogNodeContext dialogNodeContextModel = new DialogNodeContext.Builder().integrations(new java.util.HashMap<String, Map<String, Object>>() {

        {
            put("foo", new java.util.HashMap<String, Object>() {

                {
                    put("foo", "testString");
                }
            });
        }
    }).add("foo", "testString").build();
    // Construct an instance of the DialogNodeNextStep model
    DialogNodeNextStep dialogNodeNextStepModel = new DialogNodeNextStep.Builder().behavior("get_user_input").dialogNode("testString").selector("condition").build();
    // Construct an instance of the DialogNodeAction model
    DialogNodeAction dialogNodeActionModel = new DialogNodeAction.Builder().name("testString").type("client").parameters(new java.util.HashMap<String, Object>() {

        {
            put("foo", "testString");
        }
    }).resultVariable("testString").credentials("testString").build();
    // Construct an instance of the UpdateDialogNodeOptions model
    UpdateDialogNodeOptions updateDialogNodeOptionsModel = new UpdateDialogNodeOptions.Builder().workspaceId("testString").dialogNode("testString").newDialogNode("testString").newDescription("testString").newConditions("testString").newParent("testString").newPreviousSibling("testString").newOutput(dialogNodeOutputModel).newContext(dialogNodeContextModel).newMetadata(new java.util.HashMap<String, Object>() {

        {
            put("foo", "testString");
        }
    }).newNextStep(dialogNodeNextStepModel).newTitle("testString").newType("standard").newEventName("focus").newVariable("testString").newActions(new java.util.ArrayList<DialogNodeAction>(java.util.Arrays.asList(dialogNodeActionModel))).newDigressIn("not_available").newDigressOut("allow_returning").newDigressOutSlots("not_allowed").newUserLabel("testString").newDisambiguationOptOut(false).includeAudit(false).build();
    // Invoke updateDialogNode() with a valid options model and verify the result
    Response<DialogNode> response = assistantService.updateDialogNode(updateDialogNodeOptionsModel).execute();
    assertNotNull(response);
    DialogNode responseObj = response.getResult();
    assertNotNull(responseObj);
    // Verify the contents of the request sent to the mock server
    RecordedRequest request = server.takeRequest();
    assertNotNull(request);
    assertEquals(request.getMethod(), "POST");
    // Verify request path
    String parsedPath = TestUtilities.parseReqPath(request);
    assertEquals(parsedPath, updateDialogNodePath);
    // Verify query params
    Map<String, String> query = TestUtilities.parseQueryString(request);
    assertNotNull(query);
    assertEquals(query.get("version"), "testString");
    assertEquals(Boolean.valueOf(query.get("include_audit")), Boolean.valueOf(false));
}
Also used : DialogNodeOutputGeneric(com.ibm.watson.assistant.v1.model.DialogNodeOutputGeneric) HashMap(java.util.HashMap) ResponseGenericChannel(com.ibm.watson.assistant.v1.model.ResponseGenericChannel) DialogNode(com.ibm.watson.assistant.v1.model.DialogNode) DialogNodeOutput(com.ibm.watson.assistant.v1.model.DialogNodeOutput) DialogNodeNextStep(com.ibm.watson.assistant.v1.model.DialogNodeNextStep) DialogNodeOutputModifiers(com.ibm.watson.assistant.v1.model.DialogNodeOutputModifiers) DialogNodeOutputGenericDialogNodeOutputResponseTypeVideo(com.ibm.watson.assistant.v1.model.DialogNodeOutputGenericDialogNodeOutputResponseTypeVideo) RecordedRequest(okhttp3.mockwebserver.RecordedRequest) MockResponse(okhttp3.mockwebserver.MockResponse) DialogNodeAction(com.ibm.watson.assistant.v1.model.DialogNodeAction) DialogNodeContext(com.ibm.watson.assistant.v1.model.DialogNodeContext) Map(java.util.Map) HashMap(java.util.HashMap) UpdateDialogNodeOptions(com.ibm.watson.assistant.v1.model.UpdateDialogNodeOptions) Test(org.testng.annotations.Test)

Example 25 with Context

use of com.ibm.watson.assistant.v1.model.Context in project java-sdk by watson-developer-cloud.

the class AssistantTest method testGetWorkspaceWOptions.

// Test the getWorkspace operation with a valid options model parameter
@Test
public void testGetWorkspaceWOptions() throws Throwable {
    // Register a mock response
    String mockResponseBody = "{\"name\": \"name\", \"description\": \"description\", \"language\": \"language\", \"workspace_id\": \"workspaceId\", \"dialog_nodes\": [{\"dialog_node\": \"dialogNode\", \"description\": \"description\", \"conditions\": \"conditions\", \"parent\": \"parent\", \"previous_sibling\": \"previousSibling\", \"output\": {\"generic\": [{\"response_type\": \"video\", \"source\": \"source\", \"title\": \"title\", \"description\": \"description\", \"channels\": [{\"channel\": \"chat\"}], \"channel_options\": {\"mapKey\": \"anyValue\"}, \"alt_text\": \"altText\"}], \"integrations\": {\"mapKey\": {\"mapKey\": \"anyValue\"}}, \"modifiers\": {\"overwrite\": true}}, \"context\": {\"integrations\": {\"mapKey\": {\"mapKey\": \"anyValue\"}}}, \"metadata\": {\"mapKey\": \"anyValue\"}, \"next_step\": {\"behavior\": \"get_user_input\", \"dialog_node\": \"dialogNode\", \"selector\": \"condition\"}, \"title\": \"title\", \"type\": \"standard\", \"event_name\": \"focus\", \"variable\": \"variable\", \"actions\": [{\"name\": \"name\", \"type\": \"client\", \"parameters\": {\"mapKey\": \"anyValue\"}, \"result_variable\": \"resultVariable\", \"credentials\": \"credentials\"}], \"digress_in\": \"not_available\", \"digress_out\": \"allow_returning\", \"digress_out_slots\": \"not_allowed\", \"user_label\": \"userLabel\", \"disambiguation_opt_out\": false, \"disabled\": true, \"created\": \"2019-01-01T12:00:00.000Z\", \"updated\": \"2019-01-01T12:00:00.000Z\"}], \"counterexamples\": [{\"text\": \"text\", \"created\": \"2019-01-01T12:00:00.000Z\", \"updated\": \"2019-01-01T12:00:00.000Z\"}], \"created\": \"2019-01-01T12:00:00.000Z\", \"updated\": \"2019-01-01T12:00:00.000Z\", \"metadata\": {\"mapKey\": \"anyValue\"}, \"learning_opt_out\": false, \"system_settings\": {\"tooling\": {\"store_generic_responses\": false}, \"disambiguation\": {\"prompt\": \"prompt\", \"none_of_the_above_prompt\": \"noneOfTheAbovePrompt\", \"enabled\": false, \"sensitivity\": \"auto\", \"randomize\": false, \"max_suggestions\": 1, \"suggestion_text_policy\": \"suggestionTextPolicy\"}, \"human_agent_assist\": {\"mapKey\": \"anyValue\"}, \"spelling_suggestions\": false, \"spelling_auto_correct\": false, \"system_entities\": {\"enabled\": false}, \"off_topic\": {\"enabled\": false}}, \"status\": \"Non Existent\", \"webhooks\": [{\"url\": \"url\", \"name\": \"name\", \"headers\": [{\"name\": \"name\", \"value\": \"value\"}]}], \"intents\": [{\"intent\": \"intent\", \"description\": \"description\", \"created\": \"2019-01-01T12:00:00.000Z\", \"updated\": \"2019-01-01T12:00:00.000Z\", \"examples\": [{\"text\": \"text\", \"mentions\": [{\"entity\": \"entity\", \"location\": [8]}], \"created\": \"2019-01-01T12:00:00.000Z\", \"updated\": \"2019-01-01T12:00:00.000Z\"}]}], \"entities\": [{\"entity\": \"entity\", \"description\": \"description\", \"metadata\": {\"mapKey\": \"anyValue\"}, \"fuzzy_match\": true, \"created\": \"2019-01-01T12:00:00.000Z\", \"updated\": \"2019-01-01T12:00:00.000Z\", \"values\": [{\"value\": \"value\", \"metadata\": {\"mapKey\": \"anyValue\"}, \"type\": \"synonyms\", \"synonyms\": [\"synonym\"], \"patterns\": [\"pattern\"], \"created\": \"2019-01-01T12:00:00.000Z\", \"updated\": \"2019-01-01T12:00:00.000Z\"}]}]}";
    String getWorkspacePath = "/v1/workspaces/testString";
    server.enqueue(new MockResponse().setHeader("Content-type", "application/json").setResponseCode(200).setBody(mockResponseBody));
    // Construct an instance of the GetWorkspaceOptions model
    GetWorkspaceOptions getWorkspaceOptionsModel = new GetWorkspaceOptions.Builder().workspaceId("testString").export(false).includeAudit(false).sort("stable").build();
    // Invoke getWorkspace() with a valid options model and verify the result
    Response<Workspace> response = assistantService.getWorkspace(getWorkspaceOptionsModel).execute();
    assertNotNull(response);
    Workspace responseObj = response.getResult();
    assertNotNull(responseObj);
    // Verify the contents of the request sent to the mock server
    RecordedRequest request = server.takeRequest();
    assertNotNull(request);
    assertEquals(request.getMethod(), "GET");
    // Verify request path
    String parsedPath = TestUtilities.parseReqPath(request);
    assertEquals(parsedPath, getWorkspacePath);
    // Verify query params
    Map<String, String> query = TestUtilities.parseQueryString(request);
    assertNotNull(query);
    assertEquals(query.get("version"), "testString");
    assertEquals(Boolean.valueOf(query.get("export")), Boolean.valueOf(false));
    assertEquals(Boolean.valueOf(query.get("include_audit")), Boolean.valueOf(false));
    assertEquals(query.get("sort"), "stable");
}
Also used : RecordedRequest(okhttp3.mockwebserver.RecordedRequest) MockResponse(okhttp3.mockwebserver.MockResponse) GetWorkspaceOptions(com.ibm.watson.assistant.v1.model.GetWorkspaceOptions) Workspace(com.ibm.watson.assistant.v1.model.Workspace) Test(org.testng.annotations.Test)

Aggregations

Context (com.adobe.target.delivery.v1.model.Context)24 TargetDeliveryRequest (com.adobe.target.edge.client.model.TargetDeliveryRequest)21 Test (org.junit.jupiter.api.Test)19 ExecuteRequest (com.adobe.target.delivery.v1.model.ExecuteRequest)18 TargetTestDeliveryRequestUtils.getContext (com.adobe.target.edge.client.utils.TargetTestDeliveryRequestUtils.getContext)17 TargetTestDeliveryRequestUtils.getMboxExecuteRequest (com.adobe.target.edge.client.utils.TargetTestDeliveryRequestUtils.getMboxExecuteRequest)15 PrefetchRequest (com.adobe.target.delivery.v1.model.PrefetchRequest)14 RecordedRequest (okhttp3.mockwebserver.RecordedRequest)14 TargetDeliveryResponse (com.adobe.target.edge.client.model.TargetDeliveryResponse)13 TimingTool (com.adobe.target.edge.client.utils.TimingTool)12 MockResponse (okhttp3.mockwebserver.MockResponse)12 Test (org.testng.annotations.Test)12 HashMap (java.util.HashMap)11 Property (com.adobe.target.delivery.v1.model.Property)8 DialogNode (com.ibm.watson.assistant.v1.model.DialogNode)8 DeliveryResponse (com.adobe.target.delivery.v1.model.DeliveryResponse)6 MboxRequest (com.adobe.target.delivery.v1.model.MboxRequest)6 TelemetryEntry (com.adobe.target.delivery.v1.model.TelemetryEntry)6 TargetTestDeliveryRequestUtils.getNoContentDeliveryResponse (com.adobe.target.edge.client.utils.TargetTestDeliveryRequestUtils.getNoContentDeliveryResponse)6 TargetTestDeliveryRequestUtils.getTestDeliveryResponse (com.adobe.target.edge.client.utils.TargetTestDeliveryRequestUtils.getTestDeliveryResponse)6