예제 #1
0
        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);
        }
예제 #2
0
        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);
        }