Search in sources :

Example 16 with Counterexample

use of com.ibm.watson.developer_cloud.conversation.v1.model.Counterexample in project java-sdk by watson-developer-cloud.

the class ConversationServiceIT 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.conversation.v1.model.CreateEntity) DeleteWorkspaceOptions(com.ibm.watson.developer_cloud.conversation.v1.model.DeleteWorkspaceOptions) CreateValue(com.ibm.watson.developer_cloud.conversation.v1.model.CreateValue) HashMap(java.util.HashMap) CreateExample(com.ibm.watson.developer_cloud.conversation.v1.model.CreateExample) ArrayList(java.util.ArrayList) WorkspaceExport(com.ibm.watson.developer_cloud.conversation.v1.model.WorkspaceExport) CreateWorkspaceOptions(com.ibm.watson.developer_cloud.conversation.v1.model.CreateWorkspaceOptions) GetWorkspaceOptions(com.ibm.watson.developer_cloud.conversation.v1.model.GetWorkspaceOptions) CreateIntent(com.ibm.watson.developer_cloud.conversation.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.conversation.v1.model.CreateCounterexample) Workspace(com.ibm.watson.developer_cloud.conversation.v1.model.Workspace) Test(org.junit.Test)

Example 17 with Counterexample

use of com.ibm.watson.developer_cloud.conversation.v1.model.Counterexample in project java-sdk by watson-developer-cloud.

the class ConversationServiceIT method testListCounterexamples.

/**
 * Test listCounterexamples.
 */
@Test
public void testListCounterexamples() {
    // gotta be unique
    String counterExampleText = "Make me a " + UUID.randomUUID().toString() + " sandwich";
    try {
        ListCounterexamplesOptions listOptions = new ListCounterexamplesOptions.Builder(workspaceId).build();
        CounterexampleCollection ccResponse = service.listCounterexamples(listOptions).execute();
        assertNotNull(ccResponse);
        assertNotNull(ccResponse.getCounterexamples());
        assertNotNull(ccResponse.getPagination());
        assertNotNull(ccResponse.getPagination().getRefreshUrl());
        // nextUrl may be null
        Date start = new Date();
        // Now add a counterexample and make sure we get it back
        CreateCounterexampleOptions createOptions = new CreateCounterexampleOptions.Builder(workspaceId, counterExampleText).build();
        service.createCounterexample(createOptions).execute();
        long count = ccResponse.getCounterexamples().size();
        CounterexampleCollection ccResponse2 = service.listCounterexamples(listOptions.newBuilder().pageLimit(count + 1).includeAudit(true).build()).execute();
        assertNotNull(ccResponse2);
        assertNotNull(ccResponse2.getCounterexamples());
        List<Counterexample> counterexamples = ccResponse2.getCounterexamples();
        assertTrue(counterexamples.size() > count);
        Counterexample exResponse = null;
        for (Counterexample resp : counterexamples) {
            if (resp.getText().equals(counterExampleText)) {
                exResponse = resp;
                break;
            }
        }
        assertNotNull(exResponse);
        Date now = new Date();
        assertTrue(fuzzyBefore(exResponse.getCreated(), now));
        assertTrue(fuzzyAfter(exResponse.getCreated(), start));
        assertTrue(fuzzyBefore(exResponse.getUpdated(), now));
        assertTrue(fuzzyAfter(exResponse.getUpdated(), start));
    } catch (Exception ex) {
        fail(ex.getMessage());
    } finally {
        // Clean up
        try {
            DeleteCounterexampleOptions deleteOptions = new DeleteCounterexampleOptions.Builder(workspaceId, counterExampleText).build();
            service.deleteCounterexample(deleteOptions).execute();
        } catch (NotFoundException ex) {
        // Okay
        }
    }
}
Also used : ListCounterexamplesOptions(com.ibm.watson.developer_cloud.conversation.v1.model.ListCounterexamplesOptions) NotFoundException(com.ibm.watson.developer_cloud.service.exception.NotFoundException) DeleteCounterexampleOptions(com.ibm.watson.developer_cloud.conversation.v1.model.DeleteCounterexampleOptions) CreateCounterexample(com.ibm.watson.developer_cloud.conversation.v1.model.CreateCounterexample) Counterexample(com.ibm.watson.developer_cloud.conversation.v1.model.Counterexample) Date(java.util.Date) UnauthorizedException(com.ibm.watson.developer_cloud.service.exception.UnauthorizedException) NotFoundException(com.ibm.watson.developer_cloud.service.exception.NotFoundException) CounterexampleCollection(com.ibm.watson.developer_cloud.conversation.v1.model.CounterexampleCollection) CreateCounterexampleOptions(com.ibm.watson.developer_cloud.conversation.v1.model.CreateCounterexampleOptions) Test(org.junit.Test)

Aggregations

NotFoundException (com.ibm.watson.developer_cloud.service.exception.NotFoundException)11 UnauthorizedException (com.ibm.watson.developer_cloud.service.exception.UnauthorizedException)11 Test (org.junit.Test)11 Counterexample (com.ibm.watson.developer_cloud.assistant.v1.model.Counterexample)8 Counterexample (com.ibm.watson.developer_cloud.conversation.v1.model.Counterexample)8 CreateCounterexample (com.ibm.watson.developer_cloud.conversation.v1.model.CreateCounterexample)6 RequestBuilder (com.ibm.watson.developer_cloud.http.RequestBuilder)6 CreateCounterexample (com.ibm.watson.developer_cloud.assistant.v1.model.CreateCounterexample)5 JsonObject (com.google.gson.JsonObject)4 CreateCounterexampleOptions (com.ibm.watson.developer_cloud.assistant.v1.model.CreateCounterexampleOptions)4 DeleteCounterexampleOptions (com.ibm.watson.developer_cloud.assistant.v1.model.DeleteCounterexampleOptions)4 CreateCounterexampleOptions (com.ibm.watson.developer_cloud.conversation.v1.model.CreateCounterexampleOptions)4 DeleteCounterexampleOptions (com.ibm.watson.developer_cloud.conversation.v1.model.DeleteCounterexampleOptions)4 Date (java.util.Date)4 GetCounterexampleOptions (com.ibm.watson.developer_cloud.assistant.v1.model.GetCounterexampleOptions)2 CreateEntity (com.ibm.watson.developer_cloud.conversation.v1.model.CreateEntity)2 CreateIntent (com.ibm.watson.developer_cloud.conversation.v1.model.CreateIntent)2 CreateWorkspaceOptions (com.ibm.watson.developer_cloud.conversation.v1.model.CreateWorkspaceOptions)2 DeleteWorkspaceOptions (com.ibm.watson.developer_cloud.conversation.v1.model.DeleteWorkspaceOptions)2 GetCounterexampleOptions (com.ibm.watson.developer_cloud.conversation.v1.model.GetCounterexampleOptions)2