public void ProcessIDResultsTest() { var rawReqProc = new RawRequestProcessor <Raw>(); List <Raw> result = rawReqProc.ProcessResults(QueryResponse); Assert.Equal(QueryResponse, result.First().Result); }
public void BuildUrl_Requires_NonNull_QueryString() { var rawReqProc = new RawRequestProcessor<Raw> { BaseUrl = "https://api.twitter.com/1.1/" }; var parameters = new Dictionary<string, string> { //{"QueryString", "statuses/public_timeline.json"}, }; var ex = Assert.Throws<ArgumentNullException>(() => rawReqProc.BuildUrl(parameters)); Assert.Equal("QueryString", ex.ParamName); }
public void BuildUrl_Requires_NonBlank_QueryString() { var rawReqProc = new RawRequestProcessor<Raw> { BaseUrl = "https://api.twitter.com/1.1/" }; var parameters = new Dictionary<string, string> { {"QueryString", " "}, }; var ex = L2TAssert.Throws<ArgumentException>(() => rawReqProc.BuildUrl(parameters)); Assert.AreEqual("QueryString", ex.ParamName); }
public void BuildUrl_Returns_Full_Url() { var rawReqProc = new RawRequestProcessor<Raw> { BaseUrl = "https://api.twitter.com/1.1/" }; var parameters = new Dictionary<string, string> { {"QueryString", "statuses/public_timeline.json"}, }; string expected = "https://api.twitter.com/1.1/statuses/public_timeline.json"; Request req = rawReqProc.BuildUrl(parameters); Assert.AreEqual(expected, req.FullUrl); }
public void BuildUrl_Requires_NonNull_QueryString() { var rawReqProc = new RawRequestProcessor <Raw> { BaseUrl = "https://api.twitter.com/1.1/" }; var parameters = new Dictionary <string, string> { //{"QueryString", "statuses/public_timeline.json"}, }; var ex = L2TAssert.Throws <ArgumentNullException>(() => rawReqProc.BuildUrl(parameters)); Assert.AreEqual("QueryString", ex.ParamName); }
public void GetParameters_Returns_Parameters() { var rawReqProc = new RawRequestProcessor <Raw>(); Expression <Func <Raw, bool> > expression = raw => raw.QueryString == "/statuses/public_timeline.json"; var lambdaExpression = expression as LambdaExpression; var queryParams = rawReqProc.GetParameters(lambdaExpression); Assert.True( queryParams.Contains( new KeyValuePair <string, string>("QueryString", "/statuses/public_timeline.json"))); }
public void BuildUrl_WithBlankQueryString_Throws() { var rawReqProc = new RawRequestProcessor <Raw> { BaseUrl = "https://api.twitter.com/1.1/" }; var parameters = new Dictionary <string, string> { { nameof(Raw.QueryString), " " }, }; var ex = L2TAssert.Throws <ArgumentException>(() => rawReqProc.BuildUrl(parameters)); Assert.AreEqual("QueryString", ex.ParamName); }
public void BuildUrl_Requires_NonBlank_QueryString() { var rawReqProc = new RawRequestProcessor <Raw> { BaseUrl = "https://api.twitter.com/1.1/" }; var parameters = new Dictionary <string, string> { { "QueryString", " " }, }; var ex = Assert.Throws <ArgumentException>(() => rawReqProc.BuildUrl(parameters)); Assert.Equal("QueryString", ex.ParamName); }
public void GetParameters_Returns_Parameters() { var rawReqProc = new RawRequestProcessor<Raw>(); Expression<Func<Raw, bool>> expression = raw => raw.QueryString == "/statuses/public_timeline.json"; var lambdaExpression = expression as LambdaExpression; var queryParams = rawReqProc.GetParameters(lambdaExpression); Assert.IsTrue( queryParams.Contains( new KeyValuePair<string, string>("QueryString", "/statuses/public_timeline.json"))); }
public void BuildUrl_Returns_Full_Url() { var rawReqProc = new RawRequestProcessor <Raw> { BaseUrl = "https://api.twitter.com/1.1/" }; var parameters = new Dictionary <string, string> { { "QueryString", "statuses/public_timeline.json" }, }; string expected = "https://api.twitter.com/1.1/statuses/public_timeline.json"; Request req = rawReqProc.BuildUrl(parameters); Assert.Equal(expected, req.FullUrl); }
public void BuildUrl_Resolves_Extra_Slash_Between_BaseUrl_And_QueryString() { string baseUrlWithTrailingSlash = "https://api.twitter.com/1.1/"; string queryStringWithPrecedingSlash = "/statuses/public_timeline.json"; var rawReqProc = new RawRequestProcessor<Raw> { BaseUrl = baseUrlWithTrailingSlash }; var parameters = new Dictionary<string, string> { {"QueryString", queryStringWithPrecedingSlash}, }; string expected = "https://api.twitter.com/1.1/statuses/public_timeline.json"; Request req = rawReqProc.BuildUrl(parameters); Assert.AreEqual(expected, req.FullUrl); }
/// <summary> /// Lets you perform a query by specifying the raw URL and parameters yourself. /// Useful for when Twitter changes or adds new features before they are added to LINQ to Twitter. /// </summary> /// <param name="queryString">The segments that follow the base URL. i.e. "statuses/public_timeline.json" for a public status query</param> /// <param name="parameters">Querystring parameters that will be appended to the URL</param> /// <param name="callback">Async Callback used in Silverlight queries</param> /// <returns></returns> public static string ExecuteRaw(this TwitterContext ctx, string queryString, Dictionary<string, string> parameters, Action<TwitterAsyncResponse<string>> callback) { string rawUrl = ctx.BaseUrl.TrimEnd('/') + "/" + queryString.TrimStart('/'); var reqProc = new RawRequestProcessor<Raw>(); ITwitterExecute exec = ctx.TwitterExecutor; exec.AsyncCallback = callback; var results = exec.PostToTwitter( rawUrl, parameters, response => reqProc.ProcessActionResult(response, HttpMethod.POST)); return results; }
public void BuildUrl_Resolves_Extra_Slash_Between_BaseUrl_And_QueryString() { string baseUrlWithTrailingSlash = "https://api.twitter.com/1.1/"; string queryStringWithPrecedingSlash = "/statuses/public_timeline.json"; var rawReqProc = new RawRequestProcessor <Raw> { BaseUrl = baseUrlWithTrailingSlash }; var parameters = new Dictionary <string, string> { { "QueryString", queryStringWithPrecedingSlash }, }; string expected = "https://api.twitter.com/1.1/statuses/public_timeline.json"; Request req = rawReqProc.BuildUrl(parameters); Assert.Equal(expected, req.FullUrl); }
public void BuildUrl_WithExtraSlashBetweenBaseUrlAndQueryString_StillWorks() { string baseUrlWithTrailingSlash = "https://api.twitter.com/1.1/"; string queryStringWithPrecedingSlash = "/statuses/public_timeline.json"; var rawReqProc = new RawRequestProcessor <Raw> { BaseUrl = baseUrlWithTrailingSlash }; var parameters = new Dictionary <string, string> { { nameof(Raw.QueryString), queryStringWithPrecedingSlash }, }; string expected = "https://api.twitter.com/1.1/statuses/public_timeline.json"; Request req = rawReqProc.BuildUrl(parameters); Assert.AreEqual(expected, req.FullUrl); }
public void RawRequestProcessor_Works_With_Actions() { var rawReqProc = new RawRequestProcessor<Raw>(); Assert.IsAssignableFrom<IRequestProcessorWithAction<Raw>>(rawReqProc); }
public void RawRequestProcessor_WorksWithActions() { var rawReqProc = new RawRequestProcessor <Raw>(); Assert.IsInstanceOfType(rawReqProc, typeof(IRequestProcessorWithAction <Raw>)); }
public void ProcessIDResultsTest() { var rawReqProc = new RawRequestProcessor<Raw>(); List<Raw> result = rawReqProc.ProcessResults(QueryResponse); Assert.AreEqual(QueryResponse, result.First().Response); }
public void RawRequestProcessor_Works_With_Actions() { var rawReqProc = new RawRequestProcessor<Raw>(); Assert.IsInstanceOfType(rawReqProc, typeof(IRequestProcessorWithAction<Raw>)); }
public void RawRequestProcessor_Works_With_Actions() { var rawReqProc = new RawRequestProcessor <Raw>(); Assert.IsAssignableFrom <IRequestProcessorWithAction <Raw> >(rawReqProc); }