Ejemplo n.º 1
0
 public void MessagesMadeFromSetContainKeyGivenToConstructor(string key)
 {
     Chatbase.FBUserMessageSet set = new Chatbase.FBUserMessageSet(key);
     Chatbase.FBUserMessage    msg = set.NewMessage();
     Assert.Equal(msg.api_key, key);
     set.Add(msg);
     Assert.Equal(set.GetMessages().Count, 1);
 }
Ejemplo n.º 2
0
 public void SettingMessageContentSetsOnInstance(string mc)
 {
     Chatbase.FBUserMessage msg = new Chatbase.FBUserMessage();
     Chatbase.FBUserMessage ret = msg.SetMessageContent(mc);
     Assert.Equal(msg.message.text, mc);
     // Assert that we are chain-able
     Assert.Equal(ret, msg);
 }
Ejemplo n.º 3
0
        public FBAgentMessage ConsumeUserMessage(FBUserMessage msg)
        {
            intent  = msg.intent;
            version = msg.version;
            this.SetRecipientID(msg.recipient.id);
            this.SetMessageContent(msg.message.text);
            this.SetMessageID(msg.message.mid);

            return(this);
        }
Ejemplo n.º 4
0
        public void SettingOnInstanceAllowsSettingCBFields(string intent, string version, bool nh, bool fb)
        {
            Chatbase.FBUserMessage msg = new Chatbase.FBUserMessage
            {
                intent      = intent,
                version     = version,
                not_handled = nh,
                feedback    = fb
            };
            FBChatbaseFields cbFields = msg.SetChatbaseFields().GetChatbaseFields();

            Assert.Equal(cbFields.intent, intent);
            Assert.Equal(cbFields.version, version);
            Assert.Equal(cbFields.not_handled, nh);
            Assert.Equal(cbFields.feedback, fb);
        }
Ejemplo n.º 5
0
 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);
 }
Ejemplo n.º 6
0
        public void SendingValidFBUserMessageSetReturnsSuccess(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.FBUserMessageSet set = new Chatbase.FBUserMessageSet(key);
                Chatbase.FBUserMessage    msg = set.NewMessage();

                msg.SetSenderID(senderID).SetRecipientID(recID)
                .SetMessageID(msgID).SetMessageContent(cnt);
                msg.api_key = key;
                msg.intent  = intent;
                set.Add(msg);
                var resp = _client.Send(set).Result;
                Assert.Equal(resp.StatusCode, HttpStatusCode.OK);
            }
        }
Ejemplo n.º 7
0
        public async Task <HttpResponseMessage> Send(FBUserMessage msg)
        {
            MemoryStream stream            = new MemoryStream();
            DataContractJsonSerializer ser = new DataContractJsonSerializer(
                typeof(FBUserMessage),
                new Type[]
            {
                typeof(SenderID),
                typeof(RecipientID),
                typeof(FBMessageContent),
                typeof(FBChatbaseFields)
            }
                );

            ser.WriteObject(stream, msg);
            stream.Position = 0;
            StreamReader sr   = new StreamReader(stream);
            string       json = sr.ReadToEnd();
            string       url  = String.Format(Client.SingularFBUserMessageEndpoint,
                                              msg.api_key, msg.intent, msg.not_handled, msg.feedback, msg.version);
            StringContent content = new StringContent(json, Encoding.UTF8, Client.ContentType);

            return(await client.PostAsync(url, content));
        }
Ejemplo n.º 8
0
 public void Add(FBUserMessage msg)
 {
     messages.Add(msg);
 }
Ejemplo n.º 9
0
 public void GivingKeyToConstructorSetsOnInstance(string key)
 {
     Chatbase.FBUserMessage msg = new Chatbase.FBUserMessage(key);
     Assert.Equal(msg.api_key, key);
 }
Ejemplo n.º 10
0
 public void MessageHasFeedbackAndNotHandledAsFalse()
 {
     Chatbase.FBUserMessage msg = new Chatbase.FBUserMessage();
     Assert.False(msg.not_handled);
     Assert.False(msg.feedback);
 }