public Task <ITwitterResult <ITweetDTO> > PublishTweetAsync(IPublishTweetParameters parameters, ITwitterRequest request)
        {
            var query = _tweetQueryGenerator.GetPublishTweetQuery(parameters, request.ExecutionContext.TweetMode);

            request.Query.Url        = query;
            request.Query.HttpMethod = HttpMethod.POST;
            return(_twitterAccessor.ExecuteRequestAsync <ITweetDTO>(request));
        }
Example #2
0
        public string PublishTweet(ITweetDTO tweetToPublish)
        {
            _uploadQueryExecutor.UploadTweetMediasBeforePublish(tweetToPublish);

            string query = _tweetQueryGenerator.GetPublishTweetQuery(tweetToPublish);

            return(_twitterAccessor.ExecuteJsonPOSTQuery(query));
        }
        public string PublishTweet(string text, IPublishTweetOptionalParameters optionalParameters = null)
        {
            // The exceptions have to be raised before the QueryGenerator as
            // We do not want to wait for the media to be uploaded to throw the
            // Exception. And The logic of uploading the media should live in
            // the TweetController

            var publishParameter = new PublishTweetParameters(text, optionalParameters);

            _tweetQueryValidator.ThrowIfTweetCannotBePublished(publishParameter);
            _tweetController.UploadMedias(publishParameter);

            var query = _tweetQueryGenerator.GetPublishTweetQuery(publishParameter);

            return(_twitterAccessor.ExecuteJsonPOSTQuery(query));
        }
Example #4
0
        public async Task PublishTweet_ReturnsFavoritedTweetsAsync()
        {
            // Arrange
            var queryExecutor = CreateUserQueryExecutor();
            var expectedQuery = TestHelper.GenerateString();

            var parameters     = new PublishTweetParameters("hello");
            var request        = A.Fake <ITwitterRequest>();
            var expectedResult = A.Fake <ITwitterResult <ITweetDTO> >();

            A.CallTo(() => _fakeTweetQueryGenerator.GetPublishTweetQuery(parameters, It.IsAny <TweetMode?>())).Returns(expectedQuery);
            A.CallTo(() => _fakeTwitterAccessor.ExecuteRequestAsync <ITweetDTO>(request)).Returns(expectedResult);

            // Act
            var result = await queryExecutor.PublishTweetAsync(parameters, request);

            // Assert
            Assert.Equal(result, expectedResult);
            Assert.Equal(request.Query.Url, expectedQuery);
            Assert.Equal(HttpMethod.POST, request.Query.HttpMethod);
        }
Example #5
0
        // Publish Tweet

        public ITweetDTO PublishTweet(IPublishTweetParameters publishParameters)
        {
            string query = _tweetQueryGenerator.GetPublishTweetQuery(publishParameters);

            return(_twitterAccessor.ExecutePOSTQuery <ITweetDTO>(query));
        }
        public string PublishTweet(ITweetDTO tweetToPublish)
        {
            string query = _tweetQueryGenerator.GetPublishTweetQuery(tweetToPublish);

            return(_twitterAccessor.ExecuteJsonPOSTQuery(query));
        }
        // Publish Tweet
        public ITweetDTO PublishTweet(ITweetDTO tweetToPublish)
        {
            string query = _tweetQueryGenerator.GetPublishTweetQuery(tweetToPublish);

            return(_twitterAccessor.ExecutePOSTMultipartQuery <ITweetDTO>(query, tweetToPublish.MediasToPublish));
        }