public static async Task <string> SubmitAndReceive(PiwikAnalytics analytics, string url, int statusCode = 200) { var tokenSource = new CancellationTokenSource(); var receivedData = PiwikMocker.Receive(url, tokenSource.Token, statusCode); var dispatched = await analytics.Dispatch(); if (dispatched) { return(await receivedData); } tokenSource.Cancel(); return(""); }
public async Task TestConnectionErrorWhileDispatching() { analytics.TrackPage("Main"); await analytics.Dispatch(); Assert.That(analytics.UnsentActions, Is.EqualTo(1)); var receivedData = PiwikMocker.Receive(url); Thread.Sleep(100); // delay before dispaching to make sure the mocked server has opend the port await analytics.Dispatch(); await receivedData; Assert.That(analytics.UnsentActions, Is.EqualTo(0)); }