Skip to content

Commit a4de760

Browse files
jeff-arnapaparazzi0329
authored andcommitted
test(tests): update unit and integration tests for new definitions
1 parent 7205523 commit a4de760

File tree

7 files changed

+721
-379
lines changed

7 files changed

+721
-379
lines changed

assistant/src/test/java/com/ibm/watson/assistant/v1/AssistantTest.java

Lines changed: 170 additions & 104 deletions
Original file line numberDiff line numberDiff line change
@@ -18,110 +18,7 @@
1818
import com.ibm.cloud.sdk.core.security.Authenticator;
1919
import com.ibm.cloud.sdk.core.security.NoAuthAuthenticator;
2020
import com.ibm.cloud.sdk.core.service.model.FileWithMetadata;
21-
import com.ibm.watson.assistant.v1.model.BulkClassifyOptions;
22-
import com.ibm.watson.assistant.v1.model.BulkClassifyResponse;
23-
import com.ibm.watson.assistant.v1.model.BulkClassifyUtterance;
24-
import com.ibm.watson.assistant.v1.model.CaptureGroup;
25-
import com.ibm.watson.assistant.v1.model.Context;
26-
import com.ibm.watson.assistant.v1.model.Counterexample;
27-
import com.ibm.watson.assistant.v1.model.CounterexampleCollection;
28-
import com.ibm.watson.assistant.v1.model.CreateCounterexampleOptions;
29-
import com.ibm.watson.assistant.v1.model.CreateDialogNodeOptions;
30-
import com.ibm.watson.assistant.v1.model.CreateEntity;
31-
import com.ibm.watson.assistant.v1.model.CreateEntityOptions;
32-
import com.ibm.watson.assistant.v1.model.CreateExampleOptions;
33-
import com.ibm.watson.assistant.v1.model.CreateIntent;
34-
import com.ibm.watson.assistant.v1.model.CreateIntentOptions;
35-
import com.ibm.watson.assistant.v1.model.CreateSynonymOptions;
36-
import com.ibm.watson.assistant.v1.model.CreateValue;
37-
import com.ibm.watson.assistant.v1.model.CreateValueOptions;
38-
import com.ibm.watson.assistant.v1.model.CreateWorkspaceAsyncOptions;
39-
import com.ibm.watson.assistant.v1.model.CreateWorkspaceOptions;
40-
import com.ibm.watson.assistant.v1.model.DeleteCounterexampleOptions;
41-
import com.ibm.watson.assistant.v1.model.DeleteDialogNodeOptions;
42-
import com.ibm.watson.assistant.v1.model.DeleteEntityOptions;
43-
import com.ibm.watson.assistant.v1.model.DeleteExampleOptions;
44-
import com.ibm.watson.assistant.v1.model.DeleteIntentOptions;
45-
import com.ibm.watson.assistant.v1.model.DeleteSynonymOptions;
46-
import com.ibm.watson.assistant.v1.model.DeleteUserDataOptions;
47-
import com.ibm.watson.assistant.v1.model.DeleteValueOptions;
48-
import com.ibm.watson.assistant.v1.model.DeleteWorkspaceOptions;
49-
import com.ibm.watson.assistant.v1.model.DialogNode;
50-
import com.ibm.watson.assistant.v1.model.DialogNodeAction;
51-
import com.ibm.watson.assistant.v1.model.DialogNodeCollection;
52-
import com.ibm.watson.assistant.v1.model.DialogNodeContext;
53-
import com.ibm.watson.assistant.v1.model.DialogNodeNextStep;
54-
import com.ibm.watson.assistant.v1.model.DialogNodeOutput;
55-
import com.ibm.watson.assistant.v1.model.DialogNodeOutputGenericDialogNodeOutputResponseTypeText;
56-
import com.ibm.watson.assistant.v1.model.DialogNodeOutputModifiers;
57-
import com.ibm.watson.assistant.v1.model.DialogNodeOutputTextValuesElement;
58-
import com.ibm.watson.assistant.v1.model.DialogNodeVisitedDetails;
59-
import com.ibm.watson.assistant.v1.model.Entity;
60-
import com.ibm.watson.assistant.v1.model.EntityCollection;
61-
import com.ibm.watson.assistant.v1.model.EntityMentionCollection;
62-
import com.ibm.watson.assistant.v1.model.Example;
63-
import com.ibm.watson.assistant.v1.model.ExampleCollection;
64-
import com.ibm.watson.assistant.v1.model.ExportWorkspaceAsyncOptions;
65-
import com.ibm.watson.assistant.v1.model.GetCounterexampleOptions;
66-
import com.ibm.watson.assistant.v1.model.GetDialogNodeOptions;
67-
import com.ibm.watson.assistant.v1.model.GetEntityOptions;
68-
import com.ibm.watson.assistant.v1.model.GetExampleOptions;
69-
import com.ibm.watson.assistant.v1.model.GetIntentOptions;
70-
import com.ibm.watson.assistant.v1.model.GetSynonymOptions;
71-
import com.ibm.watson.assistant.v1.model.GetValueOptions;
72-
import com.ibm.watson.assistant.v1.model.GetWorkspaceOptions;
73-
import com.ibm.watson.assistant.v1.model.Intent;
74-
import com.ibm.watson.assistant.v1.model.IntentCollection;
75-
import com.ibm.watson.assistant.v1.model.ListAllLogsOptions;
76-
import com.ibm.watson.assistant.v1.model.ListCounterexamplesOptions;
77-
import com.ibm.watson.assistant.v1.model.ListDialogNodesOptions;
78-
import com.ibm.watson.assistant.v1.model.ListEntitiesOptions;
79-
import com.ibm.watson.assistant.v1.model.ListExamplesOptions;
80-
import com.ibm.watson.assistant.v1.model.ListIntentsOptions;
81-
import com.ibm.watson.assistant.v1.model.ListLogsOptions;
82-
import com.ibm.watson.assistant.v1.model.ListMentionsOptions;
83-
import com.ibm.watson.assistant.v1.model.ListSynonymsOptions;
84-
import com.ibm.watson.assistant.v1.model.ListValuesOptions;
85-
import com.ibm.watson.assistant.v1.model.ListWorkspacesOptions;
86-
import com.ibm.watson.assistant.v1.model.LogCollection;
87-
import com.ibm.watson.assistant.v1.model.LogMessage;
88-
import com.ibm.watson.assistant.v1.model.LogMessageSource;
89-
import com.ibm.watson.assistant.v1.model.Mention;
90-
import com.ibm.watson.assistant.v1.model.MessageContextMetadata;
91-
import com.ibm.watson.assistant.v1.model.MessageInput;
92-
import com.ibm.watson.assistant.v1.model.MessageOptions;
93-
import com.ibm.watson.assistant.v1.model.MessageResponse;
94-
import com.ibm.watson.assistant.v1.model.OutputData;
95-
import com.ibm.watson.assistant.v1.model.ResponseGenericChannel;
96-
import com.ibm.watson.assistant.v1.model.RuntimeEntity;
97-
import com.ibm.watson.assistant.v1.model.RuntimeEntityAlternative;
98-
import com.ibm.watson.assistant.v1.model.RuntimeEntityInterpretation;
99-
import com.ibm.watson.assistant.v1.model.RuntimeEntityRole;
100-
import com.ibm.watson.assistant.v1.model.RuntimeIntent;
101-
import com.ibm.watson.assistant.v1.model.RuntimeResponseGenericRuntimeResponseTypeText;
102-
import com.ibm.watson.assistant.v1.model.Synonym;
103-
import com.ibm.watson.assistant.v1.model.SynonymCollection;
104-
import com.ibm.watson.assistant.v1.model.UpdateCounterexampleOptions;
105-
import com.ibm.watson.assistant.v1.model.UpdateDialogNodeOptions;
106-
import com.ibm.watson.assistant.v1.model.UpdateEntityOptions;
107-
import com.ibm.watson.assistant.v1.model.UpdateExampleOptions;
108-
import com.ibm.watson.assistant.v1.model.UpdateIntentOptions;
109-
import com.ibm.watson.assistant.v1.model.UpdateSynonymOptions;
110-
import com.ibm.watson.assistant.v1.model.UpdateValueOptions;
111-
import com.ibm.watson.assistant.v1.model.UpdateWorkspaceAsyncOptions;
112-
import com.ibm.watson.assistant.v1.model.UpdateWorkspaceOptions;
113-
import com.ibm.watson.assistant.v1.model.Value;
114-
import com.ibm.watson.assistant.v1.model.ValueCollection;
115-
import com.ibm.watson.assistant.v1.model.Webhook;
116-
import com.ibm.watson.assistant.v1.model.WebhookHeader;
117-
import com.ibm.watson.assistant.v1.model.Workspace;
118-
import com.ibm.watson.assistant.v1.model.WorkspaceCollection;
119-
import com.ibm.watson.assistant.v1.model.WorkspaceSystemSettings;
120-
import com.ibm.watson.assistant.v1.model.WorkspaceSystemSettingsDisambiguation;
121-
import com.ibm.watson.assistant.v1.model.WorkspaceSystemSettingsNlp;
122-
import com.ibm.watson.assistant.v1.model.WorkspaceSystemSettingsOffTopic;
123-
import com.ibm.watson.assistant.v1.model.WorkspaceSystemSettingsSystemEntities;
124-
import com.ibm.watson.assistant.v1.model.WorkspaceSystemSettingsTooling;
21+
import com.ibm.watson.assistant.v1.model.*;
12522
import com.ibm.watson.assistant.v1.utils.TestUtilities;
12623
import java.io.IOException;
12724
import java.io.InputStream;
@@ -160,6 +57,175 @@ public void testGetVersion() throws Throwable {
16057
assertEquals(assistantService.getVersion(), "testString");
16158
}
16259

60+
@Test
61+
public void testUpdateDialogNodeNullableWOptions() throws Throwable {
62+
// Schedule some responses.
63+
String mockResponseBody =
64+
"{\"dialog_node\": \"dialogNode\", \"description\": \"description\", \"conditions\": \"conditions\", \"parent\": \"parent\", \"previous_sibling\": \"previousSibling\", \"output\": {\"generic\": [{\"response_type\": \"search_skill\", \"query\": \"query\", \"query_type\": \"natural_language\", \"filter\": \"filter\", \"discovery_version\": \"discoveryVersion\", \"channels\": [{\"channel\": \"chat\"}]}], \"integrations\": {\"mapKey\": {\"mapKey\": \"anyValue\"}}, \"modifiers\": {\"overwrite\": false}}, \"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\": true, \"disabled\": true, \"created\": \"2019-01-01T12:00:00\", \"updated\": \"2019-01-01T12:00:00\"}";
65+
String updateDialogNodeNullablePath = "/v1/workspaces/testString/dialog_nodes/testString";
66+
67+
server.enqueue(
68+
new MockResponse()
69+
.setHeader("Content-type", "application/json")
70+
.setResponseCode(200)
71+
.setBody(mockResponseBody));
72+
73+
constructClientService();
74+
75+
// Construct an instance of the DialogNodeOutputGenericDialogNodeOutputResponseTypeSearchSkill
76+
// model
77+
DialogNodeOutputGenericDialogNodeOutputResponseTypeSearchSkill dialogNodeOutputGenericModel =
78+
new DialogNodeOutputGenericDialogNodeOutputResponseTypeSearchSkill.Builder()
79+
.responseType("search_skill")
80+
.query("testString")
81+
.queryType("natural_language")
82+
.filter("testString")
83+
.discoveryVersion("testString")
84+
.build();
85+
86+
// Construct an instance of the DialogNodeOutputModifiers model
87+
DialogNodeOutputModifiers dialogNodeOutputModifiersModel =
88+
new DialogNodeOutputModifiers.Builder().overwrite(true).build();
89+
90+
// Construct an instance of the DialogNodeOutput model
91+
DialogNodeOutput dialogNodeOutputModel =
92+
new DialogNodeOutput.Builder()
93+
.generic(
94+
new java.util.ArrayList<DialogNodeOutputGeneric>(
95+
java.util.Arrays.asList(dialogNodeOutputGenericModel)))
96+
.integrations(
97+
new java.util.HashMap<String, Map<String, Object>>() {
98+
{
99+
put(
100+
"foo",
101+
new java.util.HashMap<String, Object>() {
102+
{
103+
put("foo", "testString");
104+
}
105+
});
106+
}
107+
})
108+
.modifiers(dialogNodeOutputModifiersModel)
109+
.add("foo", "testString")
110+
.build();
111+
112+
// Construct an instance of the DialogNodeContext model
113+
DialogNodeContext dialogNodeContextModel =
114+
new DialogNodeContext.Builder()
115+
.integrations(
116+
new java.util.HashMap<String, Map<String, Object>>() {
117+
{
118+
put(
119+
"foo",
120+
new java.util.HashMap<String, Object>() {
121+
{
122+
put("foo", "testString");
123+
}
124+
});
125+
}
126+
})
127+
.add("foo", "testString")
128+
.build();
129+
130+
// Construct an instance of the DialogNodeNextStep model
131+
DialogNodeNextStep dialogNodeNextStepModel =
132+
new DialogNodeNextStep.Builder()
133+
.behavior("get_user_input")
134+
.dialogNode("testString")
135+
.selector("condition")
136+
.build();
137+
138+
// Construct an instance of the DialogNodeAction model
139+
DialogNodeAction dialogNodeActionModel =
140+
new DialogNodeAction.Builder()
141+
.name("testString")
142+
.type("client")
143+
.parameters(
144+
new java.util.HashMap<String, Object>() {
145+
{
146+
put("foo", "testString");
147+
}
148+
})
149+
.resultVariable("testString")
150+
.credentials("testString")
151+
.build();
152+
153+
// Construct an instance of the UpdateDialogNode model
154+
UpdateDialogNode updateDialogNodeModel =
155+
new UpdateDialogNode.Builder()
156+
.dialogNode("testString")
157+
.description("testString")
158+
.conditions("testString")
159+
.parent("testString")
160+
.previousSibling("testString")
161+
.output(dialogNodeOutputModel)
162+
.context(dialogNodeContextModel)
163+
.metadata(
164+
new java.util.HashMap<String, Object>() {
165+
{
166+
put("foo", "testString");
167+
}
168+
})
169+
.nextStep(dialogNodeNextStepModel)
170+
.title("testString")
171+
.type("standard")
172+
.eventName("focus")
173+
.variable("testString")
174+
.actions(
175+
new java.util.ArrayList<DialogNodeAction>(
176+
java.util.Arrays.asList(dialogNodeActionModel)))
177+
.digressIn("not_available")
178+
.digressOut("allow_returning")
179+
.digressOutSlots("not_allowed")
180+
.userLabel("testString")
181+
.disambiguationOptOut(true)
182+
.build();
183+
Map<String, Object> updateDialogNodeModelAsPatch = updateDialogNodeModel.asPatch();
184+
185+
// Construct an instance of the UpdateDialogNodeNullableOptions model
186+
UpdateDialogNodeNullableOptions updateDialogNodeNullableOptionsModel =
187+
new UpdateDialogNodeNullableOptions.Builder()
188+
.workspaceId("testString")
189+
.dialogNode("testString")
190+
.body(updateDialogNodeModelAsPatch)
191+
.includeAudit(true)
192+
.build();
193+
194+
// Invoke operation with valid options model (positive test)
195+
Response<DialogNode> response =
196+
assistantService.updateDialogNodeNullable(updateDialogNodeNullableOptionsModel).execute();
197+
assertNotNull(response);
198+
DialogNode responseObj = response.getResult();
199+
assertNotNull(responseObj);
200+
201+
// Verify the contents of the request
202+
RecordedRequest request = server.takeRequest();
203+
assertNotNull(request);
204+
assertEquals(request.getMethod(), "POST");
205+
206+
// Check query
207+
Map<String, String> query = TestUtilities.parseQueryString(request);
208+
assertNotNull(query);
209+
// Get query params
210+
assertEquals(query.get("version"), "testString");
211+
assertEquals(Boolean.valueOf(query.get("include_audit")), Boolean.valueOf(true));
212+
// Check request path
213+
String parsedPath = TestUtilities.parseReqPath(request);
214+
assertEquals(parsedPath, updateDialogNodeNullablePath);
215+
}
216+
217+
// Test the updateDialogNodeNullable operation with null options model parameter
218+
@Test(expectedExceptions = IllegalArgumentException.class)
219+
public void testUpdateDialogNodeNullableNoOptions() throws Throwable {
220+
// construct the service
221+
constructClientService();
222+
223+
server.enqueue(new MockResponse());
224+
225+
// Invoke operation with null options model (negative test)
226+
assistantService.updateDialogNodeNullable(null).execute();
227+
}
228+
163229
// Test the message operation with a valid options model parameter
164230
@Test
165231
public void testMessageWOptions() throws Throwable {

0 commit comments

Comments
 (0)