/// <summary> /// Shows how to asynchronously update the image in an account /// </summary> /// <param name="twitterCtx">TwitterContext</param> static void UpdateAccountImageCallback(TwitterContext twitterCtx) { twitterCtx.UpdateAccountImage( @"..\..\images\200xColor_2.png", true, response => { Console.WriteLine("User Image: " + response.Status.ToString()); }); }
/// <summary> /// Shows how to update the image in an account /// </summary> /// <param name="twitterCtx">TwitterContext</param> static void UpdateAccountImage(TwitterContext twitterCtx) { var user = twitterCtx.UpdateAccountImage(@"..\..\images\200xColor_2.png", false); Console.WriteLine("User Image: " + user.ProfileImageUrl); }
/// <summary> /// shows how to handle a TwitterQueryException with a side-effect causing a file post /// </summary> /// <param name="twitterCtx">TwitterContext</param> private static void HandleSideEffectWithFilePostExceptionDemo(TwitterContext twitterCtx) { // force the error by supplying bad credentials twitterCtx.AuthorizedClient = new UsernamePasswordAuthorization { UserName = "******", Password = "******", }; try { var user = twitterCtx.UpdateAccountImage(@"C:\Users\jmayo\Pictures\JoeTwitter.jpg"); } catch (TwitterQueryException tqe) { // log it to the console Console.WriteLine( "\nHTTP Error Code: {0}\nError: {1}\nRequest: {2}\n", tqe.HttpError, tqe.Response.Error, tqe.Response.Request); } }
/// <summary> /// Shows how to update the image in an account /// </summary> /// <param name="twitterCtx">TwitterContext</param> private static void UpdateAccountImage(TwitterContext twitterCtx) { var user = twitterCtx.UpdateAccountImage(@"C:\Users\jmayo\Pictures\Sgt Peppers\JoeTwitterBW.jpg"); Console.WriteLine("User Image: " + user.ProfileImageUrl); }
public void UpdateAccountImage_Invokes_Executor_Execute() { const string ImageFilePath = "c:\\image.jpg"; const string ExpectedName = "Twitter API"; const bool SkipStatus = true; execMock.SetupGet(exec => exec.AuthorizedClient).Returns(authMock.Object); execMock.Setup(exec => exec.PostTwitterFile( It.IsAny<string>(), It.IsAny<Dictionary<string, string>>(), It.IsAny<string>(), It.IsAny<IRequestProcessor<User>>())) .Returns(SingleUserResponse); var ctx = new TwitterContext(authMock.Object, execMock.Object, "", ""); User actual = ctx.UpdateAccountImage(ImageFilePath, SkipStatus); execMock.Verify(exec => exec.PostTwitterFile( "https://api.twitter.com/1.1/account/update_profile_image.json", It.IsAny<Dictionary<string, string>>(), It.IsAny<string>(), It.IsAny<IRequestProcessor<User>>()), Times.Once()); Assert.Equal(ExpectedName, actual.Name); }