/// <summary> /// Initializes a new instance of the <see cref="OAuthAccessTokenSettings"/> class. /// </summary> /// <param name="oAuthRequestTokenSettings">The settings used to generate the request token.</param> /// <param name="oAuthRequestToken">The request token object returned by <see cref="OAuthTokenHelper.GenerateRequestTokenAsync" />.</param> public OAuthAccessTokenSettings( OAuthRequestTokenSettings oAuthRequestTokenSettings, OAuthRequestToken oAuthRequestToken) { Url = oAuthRequestTokenSettings.Url; ConsumerKey = oAuthRequestTokenSettings.ConsumerKey; ConsumerSecret = oAuthRequestTokenSettings.ConsumerSecret; SignatureMethod = oAuthRequestTokenSettings.SignatureMethod; OAuthRequestToken = oAuthRequestToken.OAuthToken; OAuthTokenSecret = oAuthRequestToken.OAuthTokenSecret; AccessTokenUrl = DefaultAccessTokenUrl; }
public async Task CanGenerateRequestAndAccessTokens() { // Arrange var oAuthTokenSettings = new OAuthRequestTokenSettings( JiraProvider.HOST, JiraProvider.OAUTHCONSUMERKEY, JiraProvider.OAUTHCONSUMERSECRET); // Generate request token var oAuthRequestToken = await OAuthTokenHelper.GenerateRequestTokenAsync(oAuthTokenSettings); // Verify request token exists UniTestAssert.NotNull(oAuthRequestToken); // Attempt to get an access token before it has been authorized. var oAuthAccessTokenSettings = new OAuthAccessTokenSettings(oAuthTokenSettings, oAuthRequestToken); var accessToken = await OAuthTokenHelper.ObtainAccessTokenAsync(oAuthAccessTokenSettings, CancellationToken.None); // Verify no access token is granted. UniTestAssert.Null(accessToken); // Login to Jira var page = new HtmlPage(new Uri(JiraProvider.HOST)); page.Navigate("/login.jsp"); var elements = page.RootElement.ChildElements; elements.Find("username").SetText(JiraProvider.USERNAME); elements.Find("password").SetText(JiraProvider.PASSWORD); elements.Find("submit").Click(); // Authorize token page.Navigate(oAuthRequestToken.AuthorizeUri); page.RootElement.ChildElements.Find("approve").Click(); // Re-Attempt to get an access token accessToken = await OAuthTokenHelper.ObtainAccessTokenAsync(oAuthAccessTokenSettings, CancellationToken.None); // Verify access token exists. UniTestAssert.NotNull(accessToken); }