コード例 #1
0
        public void SendVoiceMessageCollection_RestClientReturnsNull_ReturnsNull()
        {
            // Arrange
            VoiceMessage           message  = new VoiceMessage("recipients", "body", "accountReference");
            VoiceMessageCollection messages = new VoiceMessageCollection(message);

            string serialisedMessage = "serialisedMessage";

            RestResource resource = new MessageDispatcherResource(serialisedMessage, false);

            RestResponse response = null;

            mockSerialiser
            .Setup(s => s.Serialise(messages))
            .Returns(serialisedMessage);

            mockRestClient
            .Setup(rc => rc.Post(resource))
            .Returns(response);

            // Act
            MessagingResult actualResult = service.SendMessages(messages);

            // Assert
            Assert.IsNull(actualResult);
        }
コード例 #2
0
        private MessagingResult SendMessages <TMessages>(TMessages messages)
        {
            var requestXml = Serialiser.Serialise(messages);

            RestResource resource = new MessageDispatcherResource(requestXml, EnsureMessageIdsInResult);

            return(MakeRequest <MessagingResult>(HttpMethod.POST, resource));
        }
コード例 #3
0
        public override bool Equals(object obj)
        {
            MessageDispatcherResource other = obj as MessageDispatcherResource;

            if (other == null)
            {
                return(false);
            }

            return(base.Equals(obj));
        }
コード例 #4
0
        public void DefaultConstructor_WithoutMessageIdsInResult()
        {
            // Arrange
            string content = "content";
            bool   ensureMessageIdsInResult = false;

            // Act
            RestResource resource = new MessageDispatcherResource(content, ensureMessageIdsInResult);

            // Assert
            Assert.AreEqual(content, resource.Content);
            Assert.AreEqual("messagedispatcher", resource.ResourcePath);
        }
コード例 #5
0
        public void DefaultConstructor_WithMessageIdsInResult()
        {
            // Arrange
            var content = "content";
            var ensureMessageIdsInResult = true;

            // Act
            RestResource resource = new MessageDispatcherResource(content, ensureMessageIdsInResult);

            // Assert
            Assert.AreEqual(content, resource.Content);
            Assert.AreEqual("messagedispatcher?returnmessageheaders=true", resource.ResourcePath);
        }
コード例 #6
0
        public void SendScheduledMessages_WithVoiceMessage_ReturnsBatchIdResult()
        {
            // Arrange
            DateTime timestamp = DateTime.UtcNow;

            VoiceMessage           message  = new VoiceMessage("recipients", "body", "accountReference");
            VoiceMessageCollection messages = new VoiceMessageCollection(message)
            {
                SendAt = timestamp
            };

            string serialisedMessage = "serialisedMessage";

            RestResource resource = new MessageDispatcherResource(serialisedMessage, false);

            RestResponse response = new RestResponse()
            {
                StatusCode = HttpStatusCode.OK,
                Content    = "serialisedResponse"
            };

            MessagingResult expectedResult = new MessagingResult()
            {
                BatchId    = Guid.NewGuid(),
                MessageIds = new List <ResourceLink>()
            };

            mockSerialiser
            .Setup(s => s.Serialise(messages))
            .Returns(serialisedMessage);

            mockRestClient
            .Setup(rc => rc.Post(resource))
            .Returns(response);

            mockSerialiser
            .Setup(s => s.Deserialise <MessagingResult>(response.Content))
            .Returns(expectedResult);

            // Act
            MessagingResult actualResult = service.SendScheduledMessages(messages, timestamp);

            // Assert
            Assert.IsNotNull(actualResult);
            Assert.AreEqual(expectedResult.BatchId, actualResult.BatchId);
            Assert.AreEqual(0, actualResult.MessageIds.Count());
        }
コード例 #7
0
        public void SendMessage_WithSmsMessage_ReturnsBatchIdResult()
        {
            // Arrange
            var message  = new SmsMessage("recipients", "body", "accountReference");
            var messages = new SmsMessageCollection(message);

            var serialisedMessage = "serialisedMessage";

            RestResource resource = new MessageDispatcherResource(serialisedMessage, false);

            var response = new RestResponse
            {
                StatusCode = HttpStatusCode.OK,
                Content    = "serialisedResponse"
            };

            var expectedResult = new MessagingResult
            {
                BatchId    = Guid.NewGuid(),
                MessageIds = new List <ResourceLink>()
            };

            mockSerialiser
            .Setup(s => s.Serialise(messages))
            .Returns(serialisedMessage);

            mockRestClient
            .Setup(rc => rc.Post(resource))
            .Returns(response);

            mockSerialiser
            .Setup(s => s.Deserialise <MessagingResult>(response.Content))
            .Returns(expectedResult);

            // Act
            var actualResult = service.SendMessage(message);

            // Assert
            Assert.IsNotNull(actualResult);
            Assert.AreEqual(expectedResult.BatchId, actualResult.BatchId);
            Assert.AreEqual(0, actualResult.MessageIds.Count());
        }