public override IEnumerator RunTest() { LogSystem.InstallDefaultReactors(); VcapCredentials vcapCredentials = new VcapCredentials(); fsData data = null; string result = null; string credentialsFilepath = "../sdk-credentials/credentials.json"; // Load credentials file if it exists. If it doesn't exist, don't run the tests. if (File.Exists(credentialsFilepath)) { result = File.ReadAllText(credentialsFilepath); } else { yield break; } // Add in a parent object because Unity does not like to deserialize root level collection types. result = Utility.AddTopLevelObjectToJson(result, "VCAP_SERVICES"); // Convert json to fsResult fsResult r = fsJsonParser.Parse(result, out data); if (!r.Succeeded) { throw new WatsonException(r.FormattedMessages); } // Convert fsResult to VcapCredentials object obj = vcapCredentials; r = _serializer.TryDeserialize(data, obj.GetType(), ref obj); if (!r.Succeeded) { throw new WatsonException(r.FormattedMessages); } // Set credentials from imported credntials Credential credential = vcapCredentials.GetCredentialByname("assistant-sdk")[0].Credentials; // Create credential and instantiate service TokenOptions tokenOptions = new TokenOptions() { IamApiKey = credential.IamApikey, }; _assistantId = credential.AssistantId.ToString(); // Create credential and instantiate service Credentials credentials = new Credentials(tokenOptions, _url); // Wait for tokendata while (!credentials.HasIamTokenData()) { yield return(null); } _service = new Assistant(credentials); _service.VersionDate = _assistantVersionDate; Log.Debug("TestAssistantV2.RunTest()", "Attempting to CreateSession"); _service.CreateSession(OnCreateSession, OnFail, _assistantId); while (!_createSessionTested) { yield return(null); } Log.Debug("TestAssistantV2.RunTest()", "Attempting to Message"); _service.Message(OnMessage0, OnFail, _assistantId, _sessionId); while (!_messageTested0) { yield return(null); } Log.Debug("TestAssistantV2.RunTest()", "Are you open on Christmas?"); MessageRequest messageRequest1 = new MessageRequest() { Input = new MessageInput() { Text = "Are you open on Christmas?" } }; _service.Message(OnMessage1, OnFail, _assistantId, _sessionId, messageRequest1); while (!_messageTested1) { yield return(null); } Log.Debug("TestAssistantV2.RunTest()", "What are your hours?"); MessageRequest messageRequest2 = new MessageRequest() { Input = new MessageInput() { Text = "What are your hours?" } }; _service.Message(OnMessage2, OnFail, _assistantId, _sessionId, messageRequest2); while (!_messageTested2) { yield return(null); } Log.Debug("TestAssistantV2.RunTest()", "I'd like to make an appointment for 12pm."); MessageRequest messageRequest3 = new MessageRequest() { Input = new MessageInput() { Text = "I'd like to make an appointment for 12pm." } }; _service.Message(OnMessage3, OnFail, _assistantId, _sessionId, messageRequest3); while (!_messageTested3) { yield return(null); } Log.Debug("TestAssistantV2.RunTest()", "On Friday please."); MessageRequest messageRequest4 = new MessageRequest() { Input = new MessageInput() { Text = "On Friday please." } }; _service.Message(OnMessage4, OnFail, _assistantId, _sessionId, messageRequest4); while (!_messageTested4) { yield return(null); } Log.Debug("TestAssistantV2.RunTest()", "Attempting to delete session"); _service.DeleteSession(OnDeleteSession, OnFail, _assistantId, _sessionId); while (!_deleteSessionTested) { yield return(null); } }
public override IEnumerator RunTest() { LogSystem.InstallDefaultReactors(); VcapCredentials vcapCredentials = new VcapCredentials(); fsData data = null; string result = null; string credentialsFilepath = "../sdk-credentials/credentials.json"; // Load credentials file if it exists. If it doesn't exist, don't run the tests. if (File.Exists(credentialsFilepath)) { result = File.ReadAllText(credentialsFilepath); } else { yield break; } // Add in a parent object because Unity does not like to deserialize root level collection types. result = Utility.AddTopLevelObjectToJson(result, "VCAP_SERVICES"); // Convert json to fsResult fsResult r = fsJsonParser.Parse(result, out data); if (!r.Succeeded) { throw new WatsonException(r.FormattedMessages); } // Convert fsResult to VcapCredentials object obj = vcapCredentials; r = _serializer.TryDeserialize(data, obj.GetType(), ref obj); if (!r.Succeeded) { throw new WatsonException(r.FormattedMessages); } // Set credentials from imported credntials Credential credential = vcapCredentials.GetCredentialByname("assistant-sdk")[0].Credentials; _username = credential.Username.ToString(); _password = credential.Password.ToString(); _url = credential.Url.ToString(); _assistantId = credential.AssistantId.ToString(); // Create credential and instantiate service Credentials credentials = new Credentials(_username, _password, _url); _service = new Assistant(credentials); _service.VersionDate = _assistantVersionDate; Log.Debug("TestAssistantV2.RunTest()", "Attempting to CreateSession"); _service.CreateSession(OnCreateSession, OnFail, _assistantId); while (!_createSessionTested) { yield return(null); } Log.Debug("TestAssistantV2.RunTest()", "Attempting to Message"); _service.Message(OnMessage, OnFail, _assistantId, _sessionId); while (!_messageTested) { yield return(null); } Log.Debug("TestAssistantV2.RunTest()", "Attempting to DeleteSession"); _service.DeleteSession(OnDeleteSession, OnFail, _assistantId, _sessionId); while (!_deleteSessionTested) { yield return(null); } }