public async Task StartAuthorizationAsyncBeforeConsumerSecretEndpointInitialization() { var consumer = new OAuth1Consumer(); consumer.ConsumerKey = TestUtilities.ConsumerKey; consumer.TemporaryCredentialsEndpoint = TestUtilities.TemporaryCredentialsEndpoint; try { await consumer.StartAuthorizationAsync("oob"); Assert.Fail("Expected exception not thrown."); } catch (InvalidOperationException) { } }
public async Task StartAuthorizationAsyncOob() { this.MockHandler = async req => { Assert.AreEqual(TestUtilities.TemporaryCredentialsEndpoint, req.RequestUri); Assert.AreEqual(HttpMethod.Post, req.Method); var oauthArgs = TestUtilities.ParseAuthorizationHeader(req.Headers.Authorization.Parameter); Assert.AreEqual("oob", oauthArgs["oauth_callback"]); Assert.AreEqual(TestUtilities.ConsumerKey, oauthArgs["oauth_consumer_key"]); Assert.IsTrue(string.IsNullOrEmpty(oauthArgs["oauth_token"])); Assert.IsFalse(string.IsNullOrEmpty(oauthArgs["oauth_signature_method"])); Assert.IsFalse(string.IsNullOrEmpty(oauthArgs["oauth_timestamp"])); Assert.IsFalse(string.IsNullOrEmpty(oauthArgs["oauth_nonce"])); Assert.AreEqual("1.0", oauthArgs["oauth_version"]); string requestContent = await req.Content.ReadAsStringAsync(); Assert.AreEqual(string.Empty, requestContent); return(new HttpResponseMessage { Content = new FormUrlEncodedContent( new Dictionary <string, string> { { "oauth_callback_confirmed", "true" }, { "oauth_token", TestUtilities.TempCredToken }, { "oauth_token_secret", TestUtilities.TempCredTokenSecret }, }), }); }; var consumer = new OAuth1Consumer(); consumer.HttpMessageHandler = this.MockMessageHandler; consumer.ConsumerKey = TestUtilities.ConsumerKey; consumer.ConsumerSecret = TestUtilities.ConsumerSecret; consumer.TemporaryCredentialsEndpoint = TestUtilities.TemporaryCredentialsEndpoint; consumer.AuthorizationEndpoint = TestUtilities.AuthorizationEndpoint; var authUri = await consumer.StartAuthorizationAsync("oob"); Assert.AreEqual(TestUtilities.AuthorizationEndpoint.AbsoluteUri + "?oauth_token=" + Uri.EscapeDataString(TestUtilities.TempCredToken), authUri.AbsoluteUri); }