/// <summary> /// Helper for setup responce. /// </summary> protected ISetup <IHttpNetworkAdapter, Task <string> > SetupAdapterSendResponse(params HttpStatusCode[] statusCodes) { var index = 0; var setup = _adapter .Setup(a => a.SendAsync( It.IsAny <string>(), "POST", It.IsAny <IDictionary <string, string> >(), It.IsAny <string>(), It.IsAny <CancellationToken>())); setup.Returns(() => { var statusCode = statusCodes[index < statusCodes.Length ? index++ : statusCodes.Length - 1]; return(statusCode == HttpStatusCode.OK ? TaskExtension.GetCompletedTask("") : TaskExtension.GetFaultedTask <string>(new HttpIngestionException("") { StatusCode = (int)statusCode })); }); return(setup); }