public async Task <HttpResponseMessage> Send(FBAgentMessage msg) { msg.SetChatbaseFields(); MemoryStream stream = new MemoryStream(); DataContractJsonSerializer ser = new DataContractJsonSerializer( typeof(FBAgentMessage), new Type[] { typeof(SenderID), typeof(RecipientID), typeof(FBMessageContent), typeof(FBChatbaseFields), typeof(FBAgentMessageRequestBody), typeof(FBAgentMessageResponseBody) } ); ser.WriteObject(stream, msg); stream.Position = 0; StreamReader sr = new StreamReader(stream); string json = sr.ReadToEnd(); string url = String.Format(Client.SingularFBAgentMessageEndpoint, msg.api_key, msg.version); StringContent content = new StringContent(json, Encoding.UTF8, Client.ContentType); return(await client.PostAsync(url, content)); }
public void MessagesMadeFromSetContainKeyGivenToConstructor(string key) { Chatbase.FBAgentMessageSet set = new Chatbase.FBAgentMessageSet(key); Chatbase.FBAgentMessage msg = set.NewMessage(); Assert.Equal(msg.api_key, key); set.Add(msg); Assert.Equal(set.GetMessages().Count, 1); }
public void SettingMessageIdSetsOnInstance(string mID) { Chatbase.FBAgentMessage msg = new Chatbase.FBAgentMessage(); Chatbase.FBAgentMessage ret = msg.SetMessageID(mID); Assert.Equal(msg.response_body.message_id, mID); // Assert that we are chain-able Assert.Equal(ret, msg); }
public void SettingRequiredPassesValidation(string key) { Chatbase.FBAgentMessage msg = new Chatbase.FBAgentMessage { api_key = key }; Assert.True(msg.RequiredFieldsSet()); }
public void SettingMessageContentSetsOnInstance(string mc) { Chatbase.FBAgentMessage msg = new Chatbase.FBAgentMessage(); Chatbase.FBAgentMessage ret = msg.SetMessageContent(mc); Assert.Equal(msg.request_body.message.text, mc); // Assert that we are chain-able Assert.Equal(ret, msg); }
public void SettingRecipientSetsOnInstance(string recID) { Chatbase.FBAgentMessage msg = new Chatbase.FBAgentMessage(); Chatbase.FBAgentMessage ret = msg.SetRecipientID(recID); Assert.Equal(msg.request_body.recipient.id, recID); Assert.Equal(msg.response_body.recipient_id, recID); // Assert that we are chain-able Assert.Equal(ret, msg); }
public void SettingOnInstanceAllowsSettingCBFields(string intent, string version) { Chatbase.FBAgentMessage msg = new Chatbase.FBAgentMessage { intent = intent, version = version }; FBChatbaseFields cbFields = msg.SetChatbaseFields().GetChatbaseFields(); Assert.Equal(cbFields.intent, intent); Assert.Equal(cbFields.version, version); }
public void ConsumingFBUserMessageSetsOnInstance(string intent, string version, string rid, string msgTxt, string mid) { Chatbase.FBUserMessage userMsg = new Chatbase.FBUserMessage { intent = intent, version = version }; userMsg.SetMessageID(mid).SetRecipientID(rid) .SetMessageContent(msgTxt); Chatbase.FBAgentMessage msg = new Chatbase.FBAgentMessage(); Chatbase.FBAgentMessage ret = msg.ConsumeUserMessage(userMsg); Assert.Equal(msg.intent, intent); Assert.Equal(msg.version, version); Assert.Equal(msg.request_body.recipient.id, rid); Assert.Equal(msg.response_body.recipient_id, rid); Assert.Equal(msg.response_body.message_id, mid); Assert.Equal(msg.request_body.message.text, msgTxt); // Assert that we are chain-able Assert.Equal(ret, msg); }
public void SendingValidFBAgentMessageSetReturnsSuccess(string intent, string ver, string senderID, string recID, string msgID, string cnt) { string key = Environment.GetEnvironmentVariable("CB_TEST_API_KEY"); if (String.IsNullOrEmpty(key)) { ChatbaseClientUnitTests.PrintNoAPIKeyWarning(); } else { Chatbase.FBAgentMessageSet set = new Chatbase.FBAgentMessageSet(key); Chatbase.FBAgentMessage msg = set.NewMessage(); msg.SetRecipientID(recID).SetMessageID(msgID).SetMessageContent(cnt); msg.intent = intent; msg.version = ver; set.Add(msg); var resp = _client.Send(set).Result; Assert.Equal(resp.StatusCode, HttpStatusCode.OK); } }
public void Add(FBAgentMessage msg) { messages.Add(msg); }
public void GivingKeyToConstructorSetsOnInstance(string key) { Chatbase.FBAgentMessage msg = new Chatbase.FBAgentMessage(key); Assert.Equal(msg.api_key, key); }