public void EnsurePostMessage_uses_retry_strategy()
        {
            const string sid       = "sid";
            var          message   = new Message(sid, "body");
            var          v2Message = new V2Message("id", "1477297302", "type", sid, "body", 0);

            _apiExecutorMock.Setup(apiExecutor => apiExecutor.Execute(It.IsAny <Func <string, string, string, V2MessageSubmission, V2Message> >(), sid, "sessionToken", "keyManagerToken", It.IsAny <V2MessageSubmission>())).Returns(v2Message);
            _messagesApi.PostMessage(message);
            _apiExecutorMock.Verify(obj => obj.Execute(It.IsAny <Func <string, string, string, V2MessageSubmission, V2Message> >(), sid, "sessionToken", "keyManagerToken", It.IsAny <V2MessageSubmission>()));
        }
        public void EnsurePostMessage_uses_retry_strategy()
        {
            const string sid       = "sid";
            var          message   = new Message(sid, "body");
            var          v2Message = new V2Message()
            {
                Id = "id", Timestamp = "1477297302", StreamId = sid, Message = "body", FromUserId = 0
            };

            _apiExecutorMock.Setup(apiExecutor => apiExecutor.Execute(It.IsAny <Func <string, string, string, V2MessageSubmission, CancellationToken, Task <V2Message> > >(), sid, "sessionToken", "keyManagerToken", It.IsAny <V2MessageSubmission>(), default(CancellationToken))).Returns(v2Message);
            _messagesApi.PostMessage(message);
            _apiExecutorMock.Verify(obj => obj.Execute(It.IsAny <Func <string, string, string, V2MessageSubmission, CancellationToken, Task <V2Message> > >(), sid, "sessionToken", "keyManagerToken", It.IsAny <V2MessageSubmission>(), default(CancellationToken)));
        }