public async void Can_Retrieve_Member_Profile_Field_Field_Selector_From_LinkedIN() { const string consumerKey = "TODO_CONSUMER_KEY_HERE"; const string consumerSecret = "TODO_CONSUMER_SECRET_HERE"; const string accessToken = "TODO_ACCES_TOKEN_HERE"; const string accessSecret = "TODO_ACCES_SECRET_HERE"; // arrange var client = new RestClient { BaseUrl = "http://api.linkedin.com/v1", Authenticator = OAuth1Authenticator.ForProtectedResource(consumerKey, consumerSecret, accessToken, accessSecret) }; var request = new RestRequest("people/~:(id,first-name,last-name)"); // act var response = await client.ExecuteAsync(request); var deserializer = new RestRT.Deserializers.JsonDeserializer(); var result = (LinkedINMemberProfile)deserializer.Deserialize(response, typeof(LinkedINMemberProfile)); // assert Assert.IsNotNull(response); Assert.AreEqual((int)HttpStatusCode.OK, response.StatusCode); Assert.IsNotNull(result); Assert.IsNotNull(result.Id); Assert.IsNotNull(result.FirstName); Assert.IsNotNull(result.LastName); }
public async Task Handles_Different_Root_Element_On_Error() { const string baseUrl = "http://localhost:8080/"; using (HttpServer server = new HttpServer(8080, request => ResponseHandler(request.Path))) { var client = new RestClient(baseUrl); var request = new RestRequest("error.json.txt"); var response = await client.ExecuteAsync(request); var deserializer = new RestRT.Deserializers.JsonDeserializer(); deserializer.RootElement = "Success"; if (response.StatusCode == (int)HttpStatusCode.BadRequest) { deserializer.RootElement = "Error"; } var result = (Response)deserializer.Deserialize(response, typeof(Response)); Assert.AreEqual((int)HttpStatusCode.BadRequest, response.StatusCode); Assert.AreEqual("Not found!", result.Message); } }
public async Task Handles_Default_Root_Element_On_No_Error() { const string baseUrl = "http://localhost:8080/"; using (HttpServer server = new HttpServer(8080, request => ResponseHandler(request.Path)) ) { var client = new RestClient(baseUrl); var request = new RestRequest("success.json.txt"); var response = await client.ExecuteAsync(request); var deserializer = new RestRT.Deserializers.JsonDeserializer(); deserializer.RootElement = "Success"; if (response.StatusCode == (int)HttpStatusCode.NotFound) { deserializer.RootElement = "Error"; } var result = (Response)deserializer.Deserialize(response, typeof(Response)); Assert.AreEqual((int)HttpStatusCode.OK, response.StatusCode); Assert.AreEqual("Works!", result.Message); } }
//[Fact] public async void Can_Authenticate_Netflix_With_OAuth() { WwwFormUrlDecoder decoder; const string consumerKey = ""; const string consumerSecret = ""; var baseUrl = "http://api.netflix.com"; var client = new RestClient(baseUrl); client.Authenticator = OAuth1Authenticator.ForRequestToken(consumerKey, consumerSecret); var request = new RestRequest("oauth/request_token"); var response = await client.ExecuteAsync(request); Assert.IsNotNull(response); Assert.AreEqual((int)HttpStatusCode.OK, response.StatusCode); decoder = new WwwFormUrlDecoder(response.Content); var oauth_token = decoder.GetFirstValueByName("oauth_token"); var oauth_token_secret = decoder.GetFirstValueByName("oauth_token_secret"); var applicationName = decoder.GetFirstValueByName("application_name"); //var qs = HttpUtility.ParseQueryString(response.Content); //var oauth_token = qs["oauth_token"]; //var oauth_token_secret = qs["oauth_token_secret"]; //var applicationName = qs["application_name"]; Assert.IsNotNull(oauth_token); Assert.IsNotNull(oauth_token_secret); Assert.IsNotNull(applicationName); var baseSslUrl = "https://api-user.netflix.com"; var sslClient = new RestClient(baseSslUrl); request = new RestRequest("oauth/login"); request.AddParameter("oauth_token", oauth_token); request.AddParameter("oauth_consumer_key", consumerKey); request.AddParameter("application_name", applicationName); var url = sslClient.BuildUri(request).ToString(); //Process.Start(url); request = new RestRequest("oauth/access_token"); // <-- Breakpoint here, login to netflix client.Authenticator = OAuth1Authenticator.ForAccessToken( consumerKey, consumerSecret, oauth_token, oauth_token_secret ); response = await client.ExecuteAsync(request); Assert.IsNotNull(response); Assert.AreEqual((int)HttpStatusCode.OK, response.StatusCode); decoder = new WwwFormUrlDecoder(response.Content); oauth_token = decoder.GetFirstValueByName("oauth_token"); oauth_token_secret = decoder.GetFirstValueByName("oauth_token_secret"); var user_id = decoder.GetFirstValueByName("user_id"); //qs = HttpUtility.ParseQueryString(response.Content); //oauth_token = qs["oauth_token"]; //oauth_token_secret = qs["oauth_token_secret"]; //var user_id = qs["user_id"]; Assert.IsNotNull(oauth_token); Assert.IsNotNull(oauth_token_secret); Assert.IsNotNull(user_id); client.Authenticator = OAuth1Authenticator.ForProtectedResource(consumerKey, consumerSecret, oauth_token, oauth_token_secret); request = new RestRequest("users/{user_id}/queues/disc"); request.AddUrlSegment("user_id", user_id); request.AddParameter("max_results", "2"); var queueResponse = await client.ExecuteAsync(request); // var deserializer = new RestRT.Deserializers.JsonDeserializer(); var result = (Queue)deserializer.Deserialize(response, typeof(Queue)); Assert.IsNotNull(queueResponse); Assert.AreEqual((int)HttpStatusCode.OK, queueResponse.StatusCode); Assert.IsNotNull(result); Assert.AreEqual(2, result.Items.Count); }
public async void Can_Retrieve_Member_Profile_Field_Field_Selector_From_LinkedIN() { const string consumerKey = "TODO_CONSUMER_KEY_HERE"; const string consumerSecret = "TODO_CONSUMER_SECRET_HERE"; const string accessToken = "TODO_ACCES_TOKEN_HERE"; const string accessSecret = "TODO_ACCES_SECRET_HERE"; // arrange var client = new RestClient { BaseUrl = "http://api.linkedin.com/v1", Authenticator = OAuth1Authenticator.ForProtectedResource( consumerKey, consumerSecret, accessToken, accessSecret ) }; var request = new RestRequest( "people/~:(id,first-name,last-name)" ); // act var response = await client.ExecuteAsync(request); var deserializer = new RestRT.Deserializers.JsonDeserializer(); var result = (LinkedINMemberProfile)deserializer.Deserialize(response, typeof(LinkedINMemberProfile)); // assert Assert.IsNotNull( response ); Assert.AreEqual( (int)HttpStatusCode.OK, response.StatusCode ); Assert.IsNotNull( result ); Assert.IsNotNull( result.Id ); Assert.IsNotNull( result.FirstName ); Assert.IsNotNull( result.LastName ); }
//[Fact] public async void Can_Authenticate_Netflix_With_OAuth() { WwwFormUrlDecoder decoder; const string consumerKey = ""; const string consumerSecret = ""; var baseUrl = "http://api.netflix.com"; var client = new RestClient(baseUrl); client.Authenticator = OAuth1Authenticator.ForRequestToken(consumerKey, consumerSecret); var request = new RestRequest("oauth/request_token"); var response = await client.ExecuteAsync(request); Assert.IsNotNull(response); Assert.AreEqual( (int)HttpStatusCode.OK, response.StatusCode); decoder = new WwwFormUrlDecoder(response.Content); var oauth_token = decoder.GetFirstValueByName("oauth_token"); var oauth_token_secret = decoder.GetFirstValueByName("oauth_token_secret"); var applicationName = decoder.GetFirstValueByName("application_name"); //var qs = HttpUtility.ParseQueryString(response.Content); //var oauth_token = qs["oauth_token"]; //var oauth_token_secret = qs["oauth_token_secret"]; //var applicationName = qs["application_name"]; Assert.IsNotNull(oauth_token); Assert.IsNotNull(oauth_token_secret); Assert.IsNotNull(applicationName); var baseSslUrl = "https://api-user.netflix.com"; var sslClient = new RestClient(baseSslUrl); request = new RestRequest("oauth/login"); request.AddParameter("oauth_token", oauth_token); request.AddParameter("oauth_consumer_key", consumerKey); request.AddParameter("application_name", applicationName); var url = sslClient.BuildUri(request).ToString(); //Process.Start(url); request = new RestRequest("oauth/access_token"); // <-- Breakpoint here, login to netflix client.Authenticator = OAuth1Authenticator.ForAccessToken( consumerKey, consumerSecret, oauth_token, oauth_token_secret ); response = await client.ExecuteAsync(request); Assert.IsNotNull(response); Assert.AreEqual( (int)HttpStatusCode.OK, response.StatusCode); decoder = new WwwFormUrlDecoder(response.Content); oauth_token = decoder.GetFirstValueByName("oauth_token"); oauth_token_secret = decoder.GetFirstValueByName("oauth_token_secret"); var user_id = decoder.GetFirstValueByName("user_id"); //qs = HttpUtility.ParseQueryString(response.Content); //oauth_token = qs["oauth_token"]; //oauth_token_secret = qs["oauth_token_secret"]; //var user_id = qs["user_id"]; Assert.IsNotNull(oauth_token); Assert.IsNotNull(oauth_token_secret); Assert.IsNotNull(user_id); client.Authenticator = OAuth1Authenticator.ForProtectedResource(consumerKey, consumerSecret, oauth_token, oauth_token_secret); request = new RestRequest("users/{user_id}/queues/disc"); request.AddUrlSegment("user_id", user_id); request.AddParameter("max_results", "2"); var queueResponse = await client.ExecuteAsync(request); // var deserializer = new RestRT.Deserializers.JsonDeserializer(); var result = (Queue)deserializer.Deserialize(response, typeof(Queue)); Assert.IsNotNull(queueResponse); Assert.AreEqual( (int)HttpStatusCode.OK, queueResponse.StatusCode); Assert.IsNotNull(result); Assert.AreEqual(2, result.Items.Count); }