private async Task RunZipDeployAsyncTest(string publishUrl, string siteName, HttpStatusCode responseStatusCode, Action <Mock <IHttpClient>, bool> verifyStep) { Mock <IHttpClient> client = new Mock <IHttpClient>(); //constructing HttpRequestMessage to get HttpRequestHeaders as HttpRequestHeaders contains no public constructors HttpRequestMessage requestMessage = new HttpRequestMessage(); client.Setup(x => x.DefaultRequestHeaders).Returns(requestMessage.Headers); client.Setup(c => c.PostAsync(It.IsAny <Uri>(), It.IsAny <StreamContent>())).Returns((Uri uri, StreamContent streamContent) => { byte[] plainAuthBytes = Encoding.ASCII.GetBytes("username:password"); string base64AuthParam = Convert.ToBase64String(plainAuthBytes); Assert.Equal(base64AuthParam, client.Object.DefaultRequestHeaders.Authorization.Parameter); Assert.Equal("Basic", client.Object.DefaultRequestHeaders.Authorization.Scheme); return(Task.FromResult(new HttpResponseMessage(responseStatusCode))); }); Func <Uri, StreamContent, Task <HttpResponseMessage> > runPostAsync = (uri, streamContent) => { return(Task.FromResult(new HttpResponseMessage(HttpStatusCode.OK))); }; ZipDeployTask zipDeployer = new ZipDeployTask(); bool result = await zipDeployer.ZipDeployAsync(TestZippedPublishContentsPath, "username", "password", publishUrl, siteName, client.Object, false); verifyStep(client, result); }
public async Task ExecuteZipDeploy_InvalidZipFilePath() { Mock <IHttpClient> client = new Mock <IHttpClient>(); ZipDeployTask zipDeployer = new ZipDeployTask(); bool result = await zipDeployer.ZipDeployAsync(string.Empty, "username", "password", "publishUrl", null, client.Object, false); client.Verify(c => c.PostAsync(It.IsAny <Uri>(), It.IsAny <StreamContent>()), Times.Never); Assert.False(result); }