use of com.ibm.watson.assistant.v1.model.CreateEntity 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);
}
use of com.ibm.watson.assistant.v1.model.CreateEntity in project java-sdk by watson-developer-cloud.
the class ConversationTest method testUpdateWorkspaceOptionsBuilder.
/**
* Test UpdateWorkspaceOptions builder.
*/
@Test
public void testUpdateWorkspaceOptionsBuilder() {
String workspaceName = "Builder Test";
String workspaceDescription = "Description of " + workspaceName;
String workspaceLanguage = "en";
// intents
CreateIntent testIntent = new CreateIntent.Builder("testIntent").build();
// entities
CreateEntity testEntity = new CreateEntity.Builder("testEntity").build();
// counterexamples
CreateCounterexample testCounterexample = new CreateCounterexample.Builder("testCounterexample").build();
// dialognodes
CreateDialogNode testDialogNode = new CreateDialogNode.Builder("dialogNode").build();
// metadata
Map<String, Object> workspaceMetadata = new HashMap<String, Object>();
String metadataValue = "value for " + workspaceName;
workspaceMetadata.put("key", metadataValue);
UpdateWorkspaceOptions.Builder builder = new UpdateWorkspaceOptions.Builder(WORKSPACE_ID);
builder.name(workspaceName);
builder.description(workspaceDescription);
builder.language(workspaceLanguage);
builder.addIntent(testIntent);
builder.addEntity(testEntity);
builder.addCounterexample(testCounterexample);
builder.addDialogNode(testDialogNode);
builder.metadata(workspaceMetadata);
UpdateWorkspaceOptions options = builder.build();
assertEquals(options.name(), workspaceName);
assertEquals(options.description(), workspaceDescription);
assertEquals(options.language(), workspaceLanguage);
assertNotNull(options.intents());
assertEquals(options.intents().size(), 1);
assertEquals(options.intents().get(0), testIntent);
assertNotNull(options.entities());
assertEquals(options.entities().size(), 1);
assertEquals(options.entities().get(0), testEntity);
assertNotNull(options.counterexamples());
assertEquals(options.counterexamples().size(), 1);
assertEquals(options.counterexamples().get(0), testCounterexample);
assertNotNull(options.dialogNodes());
assertEquals(options.dialogNodes().size(), 1);
assertEquals(options.dialogNodes().get(0), testDialogNode);
assertNotNull(options.metadata());
assertEquals(options.metadata(), workspaceMetadata);
UpdateWorkspaceOptions.Builder builder2 = options.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();
builder2.intents(new ArrayList<CreateIntent>());
builder2.addIntent(testIntent2);
builder2.entities(new ArrayList<CreateEntity>());
builder2.addEntity(testEntity2);
builder2.counterexamples(new ArrayList<CreateCounterexample>());
builder2.addCounterexample(testCounterexample2);
builder2.dialogNodes(new ArrayList<CreateDialogNode>());
builder2.addDialogNode(testDialogNode2);
UpdateWorkspaceOptions options2 = builder2.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);
}
use of com.ibm.watson.assistant.v1.model.CreateEntity 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));
}
use of com.ibm.watson.assistant.v1.model.CreateEntity in project java-sdk by watson-developer-cloud.
the class Assistant method createEntity.
/**
* Create entity.
*
* <p>Create a new entity, or enable a system entity.
*
* <p>If you want to create multiple entities with a single API call, consider using the **[Update
* workspace](#update-workspace)** method instead.
*
* @param createEntityOptions the {@link CreateEntityOptions} containing the options for the call
* @return a {@link ServiceCall} with a result of type {@link Entity}
*/
public ServiceCall<Entity> createEntity(CreateEntityOptions createEntityOptions) {
com.ibm.cloud.sdk.core.util.Validator.notNull(createEntityOptions, "createEntityOptions cannot be null");
Map<String, String> pathParamsMap = new HashMap<String, String>();
pathParamsMap.put("workspace_id", createEntityOptions.workspaceId());
RequestBuilder builder = RequestBuilder.post(RequestBuilder.resolveRequestUrl(getServiceUrl(), "/v1/workspaces/{workspace_id}/entities", pathParamsMap));
Map<String, String> sdkHeaders = SdkCommon.getSdkHeaders("conversation", "v1", "createEntity");
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 (createEntityOptions.includeAudit() != null) {
builder.query("include_audit", String.valueOf(createEntityOptions.includeAudit()));
}
final JsonObject contentJson = new JsonObject();
contentJson.addProperty("entity", createEntityOptions.entity());
if (createEntityOptions.description() != null) {
contentJson.addProperty("description", createEntityOptions.description());
}
if (createEntityOptions.metadata() != null) {
contentJson.add("metadata", com.ibm.cloud.sdk.core.util.GsonSingleton.getGson().toJsonTree(createEntityOptions.metadata()));
}
if (createEntityOptions.fuzzyMatch() != null) {
contentJson.addProperty("fuzzy_match", createEntityOptions.fuzzyMatch());
}
if (createEntityOptions.values() != null) {
contentJson.add("values", com.ibm.cloud.sdk.core.util.GsonSingleton.getGson().toJsonTree(createEntityOptions.values()));
}
builder.bodyJson(contentJson);
ResponseConverter<Entity> responseConverter = ResponseConverterUtils.getValue(new com.google.gson.reflect.TypeToken<Entity>() {
}.getType());
return createServiceCall(builder.build(), responseConverter);
}
use of com.ibm.watson.assistant.v1.model.CreateEntity 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();
}
}
}
Aggregations