Example #1
0
        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));
        }
Example #2
0
 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);
 }
Example #9
0
        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);
            }
        }
Example #10
0
 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);
 }