Search in sources :

Example 1 with CreateWorkspaceOptions

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

the class ConversationTest method testCreateWorkspaceBuilder.

/**
 * Test CreateWorkspace builder.
 */
@Test
public void testCreateWorkspaceBuilder() {
    String workspaceName = "Builder Test";
    String workspaceDescription = "Description of " + workspaceName;
    String workspaceLanguage = "en";
    // intents
    CreateIntent testIntent0 = new CreateIntent.Builder("testIntent0").build();
    CreateIntent testIntent1 = new CreateIntent.Builder("testIntent1").build();
    // entities
    CreateEntity testEntity0 = new CreateEntity.Builder("testEntity0").build();
    CreateEntity testEntity1 = new CreateEntity.Builder("testEntity1").build();
    // counterexamples
    CreateCounterexample testCounterexample0 = new CreateCounterexample.Builder("testCounterexample0").build();
    CreateCounterexample testCounterexample1 = new CreateCounterexample.Builder("testCounterexample1").build();
    // dialognodes
    CreateDialogNode testDialogNode0 = new CreateDialogNode.Builder("dialogNode0").build();
    CreateDialogNode testDialogNode1 = new CreateDialogNode.Builder("dialogNode1").build();
    // metadata
    Map<String, Object> workspaceMetadata = new HashMap<String, Object>();
    String metadataValue = "value for " + workspaceName;
    workspaceMetadata.put("key", metadataValue);
    CreateWorkspaceOptions createOptions = new CreateWorkspaceOptions.Builder().name(workspaceName).description(workspaceDescription).language(workspaceLanguage).addIntent(testIntent0).addIntent(testIntent1).addEntity(testEntity0).addEntity(testEntity1).addCounterexample(testCounterexample0).addCounterexample(testCounterexample1).addDialogNode(testDialogNode0).addDialogNode(testDialogNode1).metadata(workspaceMetadata).build();
    assertEquals(createOptions.name(), workspaceName);
    assertEquals(createOptions.description(), workspaceDescription);
    assertEquals(createOptions.language(), workspaceLanguage);
    assertNotNull(createOptions.intents());
    assertEquals(createOptions.intents().size(), 2);
    assertEquals(createOptions.intents().get(0), testIntent0);
    assertEquals(createOptions.intents().get(1), testIntent1);
    assertNotNull(createOptions.entities());
    assertEquals(createOptions.entities().size(), 2);
    assertEquals(createOptions.entities().get(0), testEntity0);
    assertEquals(createOptions.entities().get(1), testEntity1);
    assertNotNull(createOptions.counterexamples());
    assertEquals(createOptions.counterexamples().size(), 2);
    assertEquals(createOptions.counterexamples().get(0), testCounterexample0);
    assertEquals(createOptions.counterexamples().get(1), testCounterexample1);
    assertNotNull(createOptions.dialogNodes());
    assertEquals(createOptions.dialogNodes().size(), 2);
    assertEquals(createOptions.dialogNodes().get(0), testDialogNode0);
    assertEquals(createOptions.dialogNodes().get(1), testDialogNode1);
    CreateWorkspaceOptions.Builder builder = createOptions.newBuilder();
    CreateIntent testIntent2 = new CreateIntent.Builder("testIntent2").build();
    CreateEntity testEntity2 = new CreateEntity.Builder("testEntity2").build();
    CreateCounterexample testCounterexample2 = new CreateCounterexample.Builder("testCounterexample2").build();
    CreateDialogNode testDialogNode2 = new CreateDialogNode.Builder("dialogNode2").build();
    builder.intents(Arrays.asList(testIntent2));
    builder.entities(Arrays.asList(testEntity2));
    builder.counterexamples(Arrays.asList(testCounterexample2));
    builder.dialogNodes(Arrays.asList(testDialogNode2));
    CreateWorkspaceOptions options2 = builder.build();
    assertNotNull(options2.intents());
    assertEquals(options2.intents().size(), 1);
    assertEquals(options2.intents().get(0), testIntent2);
    assertNotNull(options2.entities());
    assertEquals(options2.entities().size(), 1);
    assertEquals(options2.entities().get(0), testEntity2);
    assertNotNull(options2.counterexamples());
    assertEquals(options2.counterexamples().size(), 1);
    assertEquals(options2.counterexamples().get(0), testCounterexample2);
    assertNotNull(options2.dialogNodes());
    assertEquals(options2.dialogNodes().size(), 1);
    assertEquals(options2.dialogNodes().get(0), testDialogNode2);
}
Also used : CreateEntity(com.ibm.watson.developer_cloud.conversation.v1.model.CreateEntity) CreateDialogNode(com.ibm.watson.developer_cloud.conversation.v1.model.CreateDialogNode) HashMap(java.util.HashMap) CreateIntent(com.ibm.watson.developer_cloud.conversation.v1.model.CreateIntent) CreateCounterexample(com.ibm.watson.developer_cloud.conversation.v1.model.CreateCounterexample) CreateWorkspaceOptions(com.ibm.watson.developer_cloud.conversation.v1.model.CreateWorkspaceOptions) JsonObject(com.google.gson.JsonObject) WatsonServiceUnitTest(com.ibm.watson.developer_cloud.WatsonServiceUnitTest) Test(org.junit.Test)

Example 2 with CreateWorkspaceOptions

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

the class AssistantTest method testCreateWorkspaceWOptions.

// Test the createWorkspace operation with a valid options model parameter
@Test
public void testCreateWorkspaceWOptions() 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 createWorkspacePath = "/v1/workspaces";
    server.enqueue(new MockResponse().setHeader("Content-type", "application/json").setResponseCode(201).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 DialogNode model
    DialogNode dialogNodeModel = new DialogNode.Builder().dialogNode("testString").description("testString").conditions("testString").parent("testString").previousSibling("testString").output(dialogNodeOutputModel).context(dialogNodeContextModel).metadata(new java.util.HashMap<String, Object>() {

        {
            put("foo", "testString");
        }
    }).nextStep(dialogNodeNextStepModel).title("testString").type("standard").eventName("focus").variable("testString").actions(new java.util.ArrayList<DialogNodeAction>(java.util.Arrays.asList(dialogNodeActionModel))).digressIn("not_available").digressOut("allow_returning").digressOutSlots("not_allowed").userLabel("testString").disambiguationOptOut(false).build();
    // Construct an instance of the Counterexample model
    Counterexample counterexampleModel = new Counterexample.Builder().text("testString").build();
    // Construct an instance of the WorkspaceSystemSettingsTooling model
    WorkspaceSystemSettingsTooling workspaceSystemSettingsToolingModel = new WorkspaceSystemSettingsTooling.Builder().storeGenericResponses(true).build();
    // Construct an instance of the WorkspaceSystemSettingsDisambiguation model
    WorkspaceSystemSettingsDisambiguation workspaceSystemSettingsDisambiguationModel = new WorkspaceSystemSettingsDisambiguation.Builder().prompt("testString").noneOfTheAbovePrompt("testString").enabled(false).sensitivity("auto").randomize(true).maxSuggestions(Long.valueOf("1")).suggestionTextPolicy("testString").build();
    // Construct an instance of the WorkspaceSystemSettingsSystemEntities model
    WorkspaceSystemSettingsSystemEntities workspaceSystemSettingsSystemEntitiesModel = new WorkspaceSystemSettingsSystemEntities.Builder().enabled(false).build();
    // Construct an instance of the WorkspaceSystemSettingsOffTopic model
    WorkspaceSystemSettingsOffTopic workspaceSystemSettingsOffTopicModel = new WorkspaceSystemSettingsOffTopic.Builder().enabled(false).build();
    // Construct an instance of the WorkspaceSystemSettings model
    WorkspaceSystemSettings workspaceSystemSettingsModel = new WorkspaceSystemSettings.Builder().tooling(workspaceSystemSettingsToolingModel).disambiguation(workspaceSystemSettingsDisambiguationModel).humanAgentAssist(new java.util.HashMap<String, Object>() {

        {
            put("foo", "testString");
        }
    }).spellingSuggestions(false).spellingAutoCorrect(false).systemEntities(workspaceSystemSettingsSystemEntitiesModel).offTopic(workspaceSystemSettingsOffTopicModel).add("foo", "testString").build();
    // Construct an instance of the WebhookHeader model
    WebhookHeader webhookHeaderModel = new WebhookHeader.Builder().name("testString").value("testString").build();
    // Construct an instance of the Webhook model
    Webhook webhookModel = new Webhook.Builder().url("testString").name("testString").headers(new java.util.ArrayList<WebhookHeader>(java.util.Arrays.asList(webhookHeaderModel))).build();
    // Construct an instance of the Mention model
    Mention mentionModel = new Mention.Builder().entity("testString").location(new java.util.ArrayList<Long>(java.util.Arrays.asList(Long.valueOf("26")))).build();
    // Construct an instance of the Example model
    Example exampleModel = new Example.Builder().text("testString").mentions(new java.util.ArrayList<Mention>(java.util.Arrays.asList(mentionModel))).build();
    // Construct an instance of the CreateIntent model
    CreateIntent createIntentModel = new CreateIntent.Builder().intent("testString").description("testString").examples(new java.util.ArrayList<Example>(java.util.Arrays.asList(exampleModel))).build();
    // Construct an instance of the CreateValue model
    CreateValue createValueModel = new CreateValue.Builder().value("testString").metadata(new java.util.HashMap<String, Object>() {

        {
            put("foo", "testString");
        }
    }).type("synonyms").synonyms(new java.util.ArrayList<String>(java.util.Arrays.asList("testString"))).patterns(new java.util.ArrayList<String>(java.util.Arrays.asList("testString"))).build();
    // Construct an instance of the CreateEntity model
    CreateEntity createEntityModel = new CreateEntity.Builder().entity("testString").description("testString").metadata(new java.util.HashMap<String, Object>() {

        {
            put("foo", "testString");
        }
    }).fuzzyMatch(true).values(new java.util.ArrayList<CreateValue>(java.util.Arrays.asList(createValueModel))).build();
    // Construct an instance of the CreateWorkspaceOptions model
    CreateWorkspaceOptions createWorkspaceOptionsModel = new CreateWorkspaceOptions.Builder().name("testString").description("testString").language("testString").dialogNodes(new java.util.ArrayList<DialogNode>(java.util.Arrays.asList(dialogNodeModel))).counterexamples(new java.util.ArrayList<Counterexample>(java.util.Arrays.asList(counterexampleModel))).metadata(new java.util.HashMap<String, Object>() {

        {
            put("foo", "testString");
        }
    }).learningOptOut(false).systemSettings(workspaceSystemSettingsModel).webhooks(new java.util.ArrayList<Webhook>(java.util.Arrays.asList(webhookModel))).intents(new java.util.ArrayList<CreateIntent>(java.util.Arrays.asList(createIntentModel))).entities(new java.util.ArrayList<CreateEntity>(java.util.Arrays.asList(createEntityModel))).includeAudit(false).build();
    // Invoke createWorkspace() with a valid options model and verify the result
    Response<Workspace> response = assistantService.createWorkspace(createWorkspaceOptionsModel).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(), "POST");
    // Verify request path
    String parsedPath = TestUtilities.parseReqPath(request);
    assertEquals(parsedPath, createWorkspacePath);
    // 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) CreateEntity(com.ibm.watson.assistant.v1.model.CreateEntity) HashMap(java.util.HashMap) Counterexample(com.ibm.watson.assistant.v1.model.Counterexample) Mention(com.ibm.watson.assistant.v1.model.Mention) Example(com.ibm.watson.assistant.v1.model.Example) CreateWorkspaceOptions(com.ibm.watson.assistant.v1.model.CreateWorkspaceOptions) DialogNodeOutputGenericDialogNodeOutputResponseTypeVideo(com.ibm.watson.assistant.v1.model.DialogNodeOutputGenericDialogNodeOutputResponseTypeVideo) MockResponse(okhttp3.mockwebserver.MockResponse) CreateIntent(com.ibm.watson.assistant.v1.model.CreateIntent) DialogNodeContext(com.ibm.watson.assistant.v1.model.DialogNodeContext) WorkspaceSystemSettingsTooling(com.ibm.watson.assistant.v1.model.WorkspaceSystemSettingsTooling) Map(java.util.Map) HashMap(java.util.HashMap) CreateValue(com.ibm.watson.assistant.v1.model.CreateValue) ResponseGenericChannel(com.ibm.watson.assistant.v1.model.ResponseGenericChannel) DialogNode(com.ibm.watson.assistant.v1.model.DialogNode) WorkspaceSystemSettings(com.ibm.watson.assistant.v1.model.WorkspaceSystemSettings) DialogNodeOutput(com.ibm.watson.assistant.v1.model.DialogNodeOutput) DialogNodeNextStep(com.ibm.watson.assistant.v1.model.DialogNodeNextStep) DialogNodeOutputModifiers(com.ibm.watson.assistant.v1.model.DialogNodeOutputModifiers) RecordedRequest(okhttp3.mockwebserver.RecordedRequest) WorkspaceSystemSettingsDisambiguation(com.ibm.watson.assistant.v1.model.WorkspaceSystemSettingsDisambiguation) DialogNodeAction(com.ibm.watson.assistant.v1.model.DialogNodeAction) WebhookHeader(com.ibm.watson.assistant.v1.model.WebhookHeader) WorkspaceSystemSettingsSystemEntities(com.ibm.watson.assistant.v1.model.WorkspaceSystemSettingsSystemEntities) WorkspaceSystemSettingsOffTopic(com.ibm.watson.assistant.v1.model.WorkspaceSystemSettingsOffTopic) Webhook(com.ibm.watson.assistant.v1.model.Webhook) Workspace(com.ibm.watson.assistant.v1.model.Workspace) Test(org.testng.annotations.Test)

Example 3 with CreateWorkspaceOptions

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

the class Assistant method createWorkspace.

/**
 * Create workspace.
 *
 * <p>Create a workspace based on component objects. You must provide workspace components
 * defining the content of the new workspace.
 *
 * @param createWorkspaceOptions the {@link CreateWorkspaceOptions} containing the options for the
 *     call
 * @return a {@link ServiceCall} with a result of type {@link Workspace}
 */
public ServiceCall<Workspace> createWorkspace(CreateWorkspaceOptions createWorkspaceOptions) {
    boolean skipBody = false;
    if (createWorkspaceOptions == null) {
        createWorkspaceOptions = new CreateWorkspaceOptions.Builder().build();
        skipBody = true;
    }
    RequestBuilder builder = RequestBuilder.post(RequestBuilder.resolveRequestUrl(getServiceUrl(), "/v1/workspaces"));
    Map<String, String> sdkHeaders = SdkCommon.getSdkHeaders("conversation", "v1", "createWorkspace");
    for (Entry<String, String> header : sdkHeaders.entrySet()) {
        builder.header(header.getKey(), header.getValue());
    }
    builder.header("Accept", "application/json");
    builder.query("version", String.valueOf(this.version));
    if (createWorkspaceOptions.includeAudit() != null) {
        builder.query("include_audit", String.valueOf(createWorkspaceOptions.includeAudit()));
    }
    if (!skipBody) {
        final JsonObject contentJson = new JsonObject();
        if (createWorkspaceOptions.name() != null) {
            contentJson.addProperty("name", createWorkspaceOptions.name());
        }
        if (createWorkspaceOptions.description() != null) {
            contentJson.addProperty("description", createWorkspaceOptions.description());
        }
        if (createWorkspaceOptions.language() != null) {
            contentJson.addProperty("language", createWorkspaceOptions.language());
        }
        if (createWorkspaceOptions.dialogNodes() != null) {
            contentJson.add("dialog_nodes", com.ibm.cloud.sdk.core.util.GsonSingleton.getGson().toJsonTree(createWorkspaceOptions.dialogNodes()));
        }
        if (createWorkspaceOptions.counterexamples() != null) {
            contentJson.add("counterexamples", com.ibm.cloud.sdk.core.util.GsonSingleton.getGson().toJsonTree(createWorkspaceOptions.counterexamples()));
        }
        if (createWorkspaceOptions.metadata() != null) {
            contentJson.add("metadata", com.ibm.cloud.sdk.core.util.GsonSingleton.getGson().toJsonTree(createWorkspaceOptions.metadata()));
        }
        if (createWorkspaceOptions.learningOptOut() != null) {
            contentJson.addProperty("learning_opt_out", createWorkspaceOptions.learningOptOut());
        }
        if (createWorkspaceOptions.systemSettings() != null) {
            contentJson.add("system_settings", com.ibm.cloud.sdk.core.util.GsonSingleton.getGson().toJsonTree(createWorkspaceOptions.systemSettings()));
        }
        if (createWorkspaceOptions.webhooks() != null) {
            contentJson.add("webhooks", com.ibm.cloud.sdk.core.util.GsonSingleton.getGson().toJsonTree(createWorkspaceOptions.webhooks()));
        }
        if (createWorkspaceOptions.intents() != null) {
            contentJson.add("intents", com.ibm.cloud.sdk.core.util.GsonSingleton.getGson().toJsonTree(createWorkspaceOptions.intents()));
        }
        if (createWorkspaceOptions.entities() != null) {
            contentJson.add("entities", com.ibm.cloud.sdk.core.util.GsonSingleton.getGson().toJsonTree(createWorkspaceOptions.entities()));
        }
        builder.bodyJson(contentJson);
    }
    ResponseConverter<Workspace> responseConverter = ResponseConverterUtils.getValue(new com.google.gson.reflect.TypeToken<Workspace>() {
    }.getType());
    return createServiceCall(builder.build(), responseConverter);
}
Also used : RequestBuilder(com.ibm.cloud.sdk.core.http.RequestBuilder) RequestBuilder(com.ibm.cloud.sdk.core.http.RequestBuilder) JsonObject(com.google.gson.JsonObject) Workspace(com.ibm.watson.assistant.v1.model.Workspace)

Example 4 with CreateWorkspaceOptions

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

the class AssistantServiceIT method testCreateWorkspace.

/**
 * Test createWorkspace.
 */
@Test
public void testCreateWorkspace() {
    // gotta be unique
    String workspaceName = "API Test " + UUID.randomUUID().toString();
    String workspaceDescription = "Description of " + workspaceName;
    String workspaceLanguage = "en";
    // metadata
    Map<String, Object> workspaceMetadata = new HashMap<String, Object>();
    String metadataValue = "value for " + workspaceName;
    workspaceMetadata.put("key", metadataValue);
    // intents
    List<CreateIntent> workspaceIntents = new ArrayList<CreateIntent>();
    // gotta be unique
    String intentName = "Hello" + UUID.randomUUID().toString();
    String intentDescription = "Description of " + intentName;
    String intentExample = "Example of " + intentName;
    List<CreateExample> intentExamples = new ArrayList<CreateExample>();
    intentExamples.add(new CreateExample.Builder().text(intentExample).build());
    workspaceIntents.add(new CreateIntent.Builder().intent(intentName).description(intentDescription).examples(intentExamples).build());
    // entities
    List<CreateEntity> workspaceEntities = new ArrayList<CreateEntity>();
    // gotta be unique
    String entityName = "Hello" + UUID.randomUUID().toString();
    String entityDescription = "Description of " + entityName;
    String entitySource = "Source for " + entityName;
    String entityValue = "Value of " + entityName;
    String entityValueSynonym = "Synonym for Value of " + entityName;
    List<CreateValue> entityValues = new ArrayList<CreateValue>();
    entityValues.add(new CreateValue.Builder().value(entityValue).addSynonym(entityValueSynonym).build());
    workspaceEntities.add(new CreateEntity.Builder().entity(entityName).description(entityDescription).values(entityValues).build());
    // counterexamples
    List<CreateCounterexample> workspaceCounterExamples = new ArrayList<CreateCounterexample>();
    String counterExampleText = "Counterexample for " + workspaceName;
    workspaceCounterExamples.add(new CreateCounterexample.Builder().text(counterExampleText).build());
    CreateWorkspaceOptions createOptions = new CreateWorkspaceOptions.Builder().name(workspaceName).description(workspaceDescription).language(workspaceLanguage).metadata(workspaceMetadata).intents(workspaceIntents).entities(workspaceEntities).counterexamples(workspaceCounterExamples).build();
    String workspaceId = null;
    try {
        Workspace response = service.createWorkspace(createOptions).execute();
        assertNotNull(response);
        assertNotNull(response.getWorkspaceId());
        workspaceId = response.getWorkspaceId();
        assertNotNull(response.getName());
        assertEquals(response.getName(), workspaceName);
        assertNotNull(response.getDescription());
        assertEquals(response.getDescription(), workspaceDescription);
        assertNotNull(response.getLanguage());
        assertEquals(response.getLanguage(), workspaceLanguage);
        // metadata
        assertNotNull(response.getMetadata());
        assertNotNull(response.getMetadata().get("key"));
        assertEquals(response.getMetadata().get("key"), metadataValue);
        GetWorkspaceOptions getOptions = new GetWorkspaceOptions.Builder(workspaceId).export(true).build();
        WorkspaceExport exResponse = service.getWorkspace(getOptions).execute();
        assertNotNull(exResponse);
        // intents
        assertNotNull(exResponse.getIntents());
        assertTrue(exResponse.getIntents().size() == 1);
        assertNotNull(exResponse.getIntents().get(0).getIntentName());
        assertEquals(exResponse.getIntents().get(0).getIntentName(), intentName);
        assertNotNull(exResponse.getIntents().get(0).getDescription());
        assertEquals(exResponse.getIntents().get(0).getDescription(), intentDescription);
        assertNotNull(exResponse.getIntents().get(0).getExamples());
        assertTrue(exResponse.getIntents().get(0).getExamples().size() == 1);
        assertNotNull(exResponse.getIntents().get(0).getExamples().get(0));
        assertNotNull(exResponse.getIntents().get(0).getExamples().get(0).getExampleText());
        assertEquals(exResponse.getIntents().get(0).getExamples().get(0).getExampleText(), intentExample);
        // entities
        assertNotNull(exResponse.getEntities());
        assertTrue(exResponse.getEntities().size() == 1);
        assertNotNull(exResponse.getEntities().get(0).getEntityName());
        assertEquals(exResponse.getEntities().get(0).getEntityName(), entityName);
        assertNotNull(exResponse.getEntities().get(0).getDescription());
        assertEquals(exResponse.getEntities().get(0).getDescription(), entityDescription);
        assertNotNull(exResponse.getEntities().get(0).getValues());
        assertTrue(exResponse.getEntities().get(0).getValues().size() == 1);
        assertNotNull(exResponse.getEntities().get(0).getValues().get(0).getValueText());
        assertEquals(exResponse.getEntities().get(0).getValues().get(0).getValueText(), entityValue);
        assertNotNull(exResponse.getEntities().get(0).getValues().get(0).getSynonyms());
        assertTrue(exResponse.getEntities().get(0).getValues().get(0).getSynonyms().size() == 1);
        assertEquals(exResponse.getEntities().get(0).getValues().get(0).getSynonyms().get(0), entityValueSynonym);
        // counterexamples
        assertNotNull(exResponse.getCounterexamples());
        assertTrue(exResponse.getCounterexamples().size() == 1);
        assertNotNull(exResponse.getCounterexamples().get(0).getText());
        assertEquals(exResponse.getCounterexamples().get(0).getText(), counterExampleText);
    } catch (Exception ex) {
        fail(ex.getMessage());
    } finally {
        // Clean up
        if (workspaceId != null) {
            DeleteWorkspaceOptions deleteOptions = new DeleteWorkspaceOptions.Builder(workspaceId).build();
            service.deleteWorkspace(deleteOptions).execute();
        }
    }
}
Also used : CreateEntity(com.ibm.watson.developer_cloud.assistant.v1.model.CreateEntity) DeleteWorkspaceOptions(com.ibm.watson.developer_cloud.assistant.v1.model.DeleteWorkspaceOptions) CreateValue(com.ibm.watson.developer_cloud.assistant.v1.model.CreateValue) HashMap(java.util.HashMap) CreateExample(com.ibm.watson.developer_cloud.assistant.v1.model.CreateExample) ArrayList(java.util.ArrayList) WorkspaceExport(com.ibm.watson.developer_cloud.assistant.v1.model.WorkspaceExport) CreateWorkspaceOptions(com.ibm.watson.developer_cloud.assistant.v1.model.CreateWorkspaceOptions) GetWorkspaceOptions(com.ibm.watson.developer_cloud.assistant.v1.model.GetWorkspaceOptions) CreateIntent(com.ibm.watson.developer_cloud.assistant.v1.model.CreateIntent) UnauthorizedException(com.ibm.watson.developer_cloud.service.exception.UnauthorizedException) NotFoundException(com.ibm.watson.developer_cloud.service.exception.NotFoundException) CreateCounterexample(com.ibm.watson.developer_cloud.assistant.v1.model.CreateCounterexample) Workspace(com.ibm.watson.developer_cloud.assistant.v1.model.Workspace) Test(org.junit.Test)

Example 5 with CreateWorkspaceOptions

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

the class AssistantServiceIT method testDeleteWorkspace.

/**
 * Test deleteWorkspace.
 */
@Test
public void testDeleteWorkspace() {
    CreateWorkspaceOptions createOptions = new CreateWorkspaceOptions.Builder().build();
    String workspaceId = null;
    try {
        Workspace response = service.createWorkspace(createOptions).execute();
        assertNotNull(response);
        assertNotNull(response.getWorkspaceId());
        workspaceId = response.getWorkspaceId();
        DeleteWorkspaceOptions deleteOptions = new DeleteWorkspaceOptions.Builder(workspaceId).build();
        service.deleteWorkspace(deleteOptions).execute();
        GetWorkspaceOptions getOptions = new GetWorkspaceOptions.Builder(workspaceId).export(true).build();
        service.getWorkspace(getOptions).execute();
    } catch (Exception ex) {
        // Expected result
        assertTrue(ex instanceof NotFoundException);
        workspaceId = null;
    } finally {
        // Clean up
        if (workspaceId != null) {
            DeleteWorkspaceOptions deleteOptions = new DeleteWorkspaceOptions.Builder(workspaceId).build();
            service.deleteWorkspace(deleteOptions).execute();
        }
    }
}
Also used : DeleteWorkspaceOptions(com.ibm.watson.developer_cloud.assistant.v1.model.DeleteWorkspaceOptions) CreateWorkspaceOptions(com.ibm.watson.developer_cloud.assistant.v1.model.CreateWorkspaceOptions) NotFoundException(com.ibm.watson.developer_cloud.service.exception.NotFoundException) UnauthorizedException(com.ibm.watson.developer_cloud.service.exception.UnauthorizedException) NotFoundException(com.ibm.watson.developer_cloud.service.exception.NotFoundException) Workspace(com.ibm.watson.developer_cloud.assistant.v1.model.Workspace) GetWorkspaceOptions(com.ibm.watson.developer_cloud.assistant.v1.model.GetWorkspaceOptions) Test(org.junit.Test)

Aggregations

Test (org.junit.Test)8 NotFoundException (com.ibm.watson.developer_cloud.service.exception.NotFoundException)6 UnauthorizedException (com.ibm.watson.developer_cloud.service.exception.UnauthorizedException)6 HashMap (java.util.HashMap)5 CreateWorkspaceOptions (com.ibm.watson.developer_cloud.assistant.v1.model.CreateWorkspaceOptions)4 CreateWorkspaceOptions (com.ibm.watson.developer_cloud.conversation.v1.model.CreateWorkspaceOptions)4 JsonObject (com.google.gson.JsonObject)3 CreateCounterexample (com.ibm.watson.developer_cloud.assistant.v1.model.CreateCounterexample)3 CreateEntity (com.ibm.watson.developer_cloud.assistant.v1.model.CreateEntity)3 CreateIntent (com.ibm.watson.developer_cloud.assistant.v1.model.CreateIntent)3 DeleteWorkspaceOptions (com.ibm.watson.developer_cloud.assistant.v1.model.DeleteWorkspaceOptions)3 Workspace (com.ibm.watson.developer_cloud.assistant.v1.model.Workspace)3 CreateCounterexample (com.ibm.watson.developer_cloud.conversation.v1.model.CreateCounterexample)3 CreateEntity (com.ibm.watson.developer_cloud.conversation.v1.model.CreateEntity)3 CreateIntent (com.ibm.watson.developer_cloud.conversation.v1.model.CreateIntent)3 DeleteWorkspaceOptions (com.ibm.watson.developer_cloud.conversation.v1.model.DeleteWorkspaceOptions)3 Workspace (com.ibm.watson.developer_cloud.conversation.v1.model.Workspace)3 Workspace (com.ibm.watson.assistant.v1.model.Workspace)2 WatsonServiceUnitTest (com.ibm.watson.developer_cloud.WatsonServiceUnitTest)2 GetWorkspaceOptions (com.ibm.watson.developer_cloud.assistant.v1.model.GetWorkspaceOptions)2