public void ProcessResults_ForWebhooks_HandlesSingleResult() { var accActReqProc = new AccountActivityRequestProcessor <AccountActivity> { BaseUrl = "https://api.twitter.com/1.1/", Type = AccountActivityType.Webhooks }; List <AccountActivity> accActs = accActReqProc.ProcessResults(WebhooksResponse); Assert.IsNotNull(accActs?.SingleOrDefault()); AccountActivity accAct = accActs.First(); Assert.IsNotNull(accAct); WebhooksValue webhooksVal = accAct.WebhooksValue; Assert.IsNotNull(webhooksVal); Webhook[] webhooks = webhooksVal.Webhooks; Assert.IsNotNull(webhooks); Assert.AreEqual(1, webhooks.Length); Webhook webhook = webhooks.First(); Assert.IsNotNull(webhook); Assert.AreEqual("920835776169910272", webhook.ID); Assert.AreEqual("https://accountactivitydemo.azurewebsites.net/api/accountactivity", webhook.Url); Assert.IsTrue(webhook.Valid); Assert.AreEqual("2017-10-19 02:15:32 +0000", webhook.CreatedTimestamp); }
public void BuildUrl_WithNullParamDictionary_Throws() { var accActReqProc = new AccountActivityRequestProcessor <AccountActivity> { BaseUrl = "https://api.twitter.com/1.1/" }; ArgumentException ex = L2TAssert.Throws <ArgumentException>(() => accActReqProc.BuildUrl(null)); Assert.AreEqual("Type", ex.ParamName); }
public void BuildUrl_WithMissingType_Throws() { var accActReqProc = new AccountActivityRequestProcessor <AccountActivity> { BaseUrl = "https://api.twitter.com/1.1/" }; var parameters = new Dictionary <string, string>(); ArgumentException ex = L2TAssert.Throws <ArgumentException>(() => accActReqProc.BuildUrl(parameters)); Assert.AreEqual("Type", ex.ParamName); }
public void ProcessResults_WithWebhooksQuery_ReplacesInputParams() { var accActReqProc = new AccountActivityRequestProcessor <AccountActivity> { BaseUrl = "https://api.twitter.com/1.1/", Type = AccountActivityType.Webhooks }; List <AccountActivity> accActList = accActReqProc.ProcessResults(WebhooksResponse); AccountActivity accAct = accActList.First(); Assert.AreEqual(AccountActivityType.Webhooks, accAct.Type); }
public void BuildUrl_ForSubscriptionsWithoutWebhookID_Throws() { var accActReqProc = new AccountActivityRequestProcessor <AccountActivity> { BaseUrl = "https://api.twitter.com/1.1/" }; var parameters = new Dictionary <string, string> { { "Type", ((int)AccountActivityType.Subscriptions).ToString(CultureInfo.InvariantCulture) }, //{ "WebhookID", "478805447" }, }; ArgumentNullException ex = L2TAssert.Throws <ArgumentNullException>(() => accActReqProc.BuildUrl(parameters)); Assert.AreEqual("WebhookID", ex.ParamName); }
public void BuildUrl_WithWebhooksType_ConstructsUrl() { var accActReqProc = new AccountActivityRequestProcessor <AccountActivity> { BaseUrl = "https://api.twitter.com/1.1/" }; const string Expected = "https://api.twitter.com/1.1/account_activity/webhooks.json"; var parameters = new Dictionary <string, string> { { "Type", ((int)AccountActivityType.Webhooks).ToString(CultureInfo.InvariantCulture) } }; Request req = accActReqProc.BuildUrl(parameters); Assert.AreEqual(Expected, req.FullUrl); }
public void ProcessResults_WithSubscriptionsQuery_ReplacesInputParams() { const ulong WebhookID = 4; var accActReqProc = new AccountActivityRequestProcessor <AccountActivity> { BaseUrl = "https://api.twitter.com/1.1/", Type = AccountActivityType.Subscriptions, WebhookID = WebhookID }; List <AccountActivity> accActs = accActReqProc.ProcessResults(""); AccountActivity accAct = accActs.First(); Assert.AreEqual(WebhookID, accAct.WebhookID); }
public void GetParameters_Returns_Parameters() { var accActReqProc = new AccountActivityRequestProcessor <AccountActivity>(); Expression <Func <AccountActivity, bool> > expression = dm => dm.Type == AccountActivityType.Subscriptions && dm.WebhookID == 1; var lambdaExpression = expression as LambdaExpression; Dictionary <string, string> queryParams = accActReqProc.GetParameters(lambdaExpression); Assert.IsTrue( queryParams.Contains( new KeyValuePair <string, string>("Type", ((int)AccountActivityType.Subscriptions).ToString(CultureInfo.InvariantCulture)))); Assert.IsTrue( queryParams.Contains( new KeyValuePair <string, string>("WebhookID", "1"))); }
public void ProcessResults_ForSubscriptions_HandlesResult() { var accActReqProc = new AccountActivityRequestProcessor <AccountActivity> { BaseUrl = "https://api.twitter.com/1.1/", Type = AccountActivityType.Subscriptions, WebhookID = 1 }; List <AccountActivity> accActs = accActReqProc.ProcessResults(""); AccountActivity accAct = accActs?.SingleOrDefault(); Assert.IsNotNull(accAct); SubscriptionValue subsVal = accAct.SubscriptionValue; Assert.IsNotNull(subsVal); Assert.IsTrue(subsVal.IsSubscribed); }
public void AccountActivityRequestProcessor_Works_With_Actions() { var accActReqProc = new AccountActivityRequestProcessor <AccountActivity>(); Assert.IsInstanceOfType(accActReqProc, typeof(IRequestProcessorWithAction <AccountActivity>)); }