public void CanRefreshAccessToken()
        {
            //setup with real user;
            UserInformation user = this.membershipService.RetrieveUserInformation(this.emailAddress);
            this.providerMock.Setup(i => i.GoogleClientId).Returns(this.membershipService.GoogleClientId);
            this.providerMock.Setup(s => s.GoogleClientSecret).Returns(this.membershipService.GoogleClientSecret);

            // test;
            var action = new RefreshAccessTokenAction(user, this.providerMock.Object);
            action.Execute();

            // assert/verify;
            this.WriteValidationContextRuleResults(action.ValidationContext);
            Assert.IsNotNullOrEmpty(action.AccessToken);
        }
 /// <summary>
 ///     Refreshes the access token.
 /// </summary>
 /// <param name="user">The user.</param>
 /// <returns></returns>
 public override string RefreshAccessToken(UserInformation user)
 {
     string accessToken = string.Empty;
     RefreshAccessTokenAction action = new RefreshAccessTokenAction(user, this);
     action.Execute();
     if (action.Result == ActionResult.Success)
     {
         accessToken = action.AccessToken;
     }
     return accessToken;
 }