示例#1
0
        public async void When_RequestIsSuccessfull_Should_ReturnStatusCode200()
        {
            var client = new WebDavClient().SetWebDavDispatcher(Dispatcher.Mock());
            var response1 = await client.Copy("http://example.com/old", "http://example.com/new");
            var response2 = await client.Copy(new Uri("http://example.com/old"), new Uri("http://example.com/new"));
            var response3 = await client.Copy("http://example.com/old", "http://example.com/new", new CopyParameters());
            var response4 = await client.Copy(new Uri("http://example.com/old"), new Uri("http://example.com/new"), new CopyParameters());

            Assert.Equal(200, response1.StatusCode);
            Assert.Equal(200, response2.StatusCode);
            Assert.Equal(200, response3.StatusCode);
            Assert.Equal(200, response4.StatusCode);
        }
示例#2
0
        public async void When_RequestIsSuccessfull_Should_ReturnStatusCode200()
        {
            var client    = new WebDavClient().SetWebDavDispatcher(Dispatcher.Mock());
            var response1 = await client.Copy("http://example.com/old", "http://example.com/new");

            var response2 = await client.Copy(new Uri("http://example.com/old"), new Uri("http://example.com/new"));

            var response3 = await client.Copy("http://example.com/old", "http://example.com/new", new CopyParameters());

            var response4 = await client.Copy(new Uri("http://example.com/old"), new Uri("http://example.com/new"), new CopyParameters());

            Assert.Equal(200, response1.StatusCode);
            Assert.Equal(200, response2.StatusCode);
            Assert.Equal(200, response3.StatusCode);
            Assert.Equal(200, response4.StatusCode);
        }
示例#3
0
        public async void When_RequestIsFailed_Should_ReturnStatusCode500()
        {
            var client   = new WebDavClient().SetWebDavDispatcher(Dispatcher.MockFaulted());
            var response = await client.Copy("http://example.com/old", "http://example.com/new");

            Assert.Equal(500, response.StatusCode);
        }
示例#4
0
        public async void When_IsCalled_Should_SendCopyRequest()
        {
            var sourceUri  = new Uri("http://example.com/old");
            var dispatcher = Dispatcher.Mock();
            var client     = new WebDavClient().SetWebDavDispatcher(dispatcher);

            await client.Copy(sourceUri, new Uri("http://example.com/new"));

            await dispatcher.Received(1)
            .Send(sourceUri, WebDavMethod.Copy, Arg.Is(CheckCopyRequestParameters()), CancellationToken.None);
        }
示例#5
0
        public async void When_IsCalledWithLockToken_Should_SetIfHeader()
        {
            var sourceUri  = new Uri("http://example.com/old");
            var dispatcher = Dispatcher.Mock();
            var client     = new WebDavClient().SetWebDavDispatcher(dispatcher);

            await client.Copy(sourceUri, new Uri("http://example.com/new"), new CopyParameters { DestLockToken = "urn:uuid:e71d4fae-5dec-22d6-fea5-00a0c91e6be4" });

            await dispatcher.Received(1)
            .Send(sourceUri, WebDavMethod.Copy, Arg.Is(Predicates.CompareHeader("If", "(<urn:uuid:e71d4fae-5dec-22d6-fea5-00a0c91e6be4>)")), CancellationToken.None);
        }
示例#6
0
        public async void When_IsCalledWithDefaultParameters_Should_SendDepthHeaderEqualsInfinity()
        {
            var sourceUri  = new Uri("http://example.com/old");
            var dispatcher = Dispatcher.Mock();
            var client     = new WebDavClient().SetWebDavDispatcher(dispatcher);

            await client.Copy(sourceUri, new Uri("http://example.com/new"));

            await dispatcher.Received(1)
            .Send(sourceUri, WebDavMethod.Copy, Arg.Is(Predicates.CompareHeader("Depth", "infinity")), CancellationToken.None);
        }
示例#7
0
        public async void When_IsCalledWithOverwriteOff_Should_SendOverwriteHeaderEqualsF()
        {
            var sourceUri  = new Uri("http://example.com/old");
            var dispatcher = Dispatcher.Mock();
            var client     = new WebDavClient().SetWebDavDispatcher(dispatcher);

            await client.Copy(sourceUri, new Uri("http://example.com/new"), new CopyParameters { Overwrite = false });

            await dispatcher.Received(1)
            .Send(sourceUri, WebDavMethod.Copy, Arg.Is(Predicates.CompareHeader("Overwrite", "F")), CancellationToken.None);
        }
示例#8
0
        public async void When_IsCalledWithDefaultParameters_Should_SendDepthHeaderEqualsInfinity()
        {
            var sourceUri = new Uri("http://example.com/old");
            var dispatcher = Dispatcher.Mock();
            var client = new WebDavClient().SetWebDavDispatcher(dispatcher);

            await dispatcher.DidNotReceiveWithAnyArgs().Send(sourceUri, Arg.Any<HttpMethod>(), new RequestParameters(), CancellationToken.None);
            await client.Copy(sourceUri, new Uri("http://example.com/new"));
            await dispatcher.Received(1)
                .Send(sourceUri, WebDavMethod.Copy, Arg.Is(Predicates.CompareHeader("Depth", "infinity")), CancellationToken.None);
        }
示例#9
0
        public async void When_IsCalled_Should_SendCopyRequest()
        {
            var sourceUri = new Uri("http://example.com/old");
            var dispatcher = Dispatcher.Mock();
            var client = new WebDavClient().SetWebDavDispatcher(dispatcher);

            await dispatcher.DidNotReceiveWithAnyArgs().Send(sourceUri, Arg.Any<HttpMethod>(), new RequestParameters(), CancellationToken.None);
            await client.Copy(sourceUri, new Uri("http://example.com/new"));
            await dispatcher.Received(1)
                .Send(sourceUri, WebDavMethod.Copy, Arg.Is(CheckCopyRequestParameters()), CancellationToken.None);
        }
示例#10
0
        public async void When_IsCalledWithCancellationToken_Should_SendRequestWithIt()
        {
            var cts        = new CancellationTokenSource();
            var dispatcher = Dispatcher.Mock();
            var client     = new WebDavClient().SetWebDavDispatcher(dispatcher);

            await client.Copy("http://example.com/old", "http://example.com/new", new CopyParameters { CancellationToken = cts.Token });

            await dispatcher.Received(1)
            .Send(Arg.Any <Uri>(), WebDavMethod.Copy, Arg.Is(CheckCopyRequestParameters()), cts.Token);
        }
示例#11
0
        public async void When_IsCalled_Should_SendDestinationHeader()
        {
            var sourceUri  = new Uri("http://example.com/old");
            var dispatcher = Dispatcher.Mock();
            var client     = new WebDavClient().SetWebDavDispatcher(dispatcher);

            await client.Copy(sourceUri, new Uri("http://example.com/new"));

            await dispatcher.Received(1)
            .Send(sourceUri, WebDavMethod.Copy, Arg.Is(Predicates.CompareHeader("Destination", "http://example.com/new")), CancellationToken.None);
        }
示例#12
0
        public async void When_IsAppliedToResourceOnly_Should_SendDepthHeaderEqualsZero()
        {
            var sourceUri  = new Uri("http://example.com/old");
            var dispatcher = Dispatcher.Mock();
            var client     = new WebDavClient().SetWebDavDispatcher(dispatcher);

            await client.Copy(sourceUri, new Uri("http://example.com/new"), new CopyParameters { ApplyTo = ApplyTo.Copy.ResourceOnly });

            await dispatcher.Received(1)
            .Send(sourceUri, WebDavMethod.Copy, Arg.Is(Predicates.CompareHeader("Depth", "0")), CancellationToken.None);
        }
示例#13
0
        private static async Task TestWebDav()
        {
            using (var webDavClient = new WebDavClient(new WebDavClientParams {
                BaseAddress = new Uri("http://mywebdav:88/")
            }))
            {
                await webDavClient.Copy("1.txt", "_2.txt");

                await webDavClient.Move("http://mywebdav:88/_2.txt", "2.txt");

                await webDavClient.Mkcol("http://mywebdav:88/mydir");

                await webDavClient.PutFile("http://mywebdav:88/mydir/test.txt", File.OpenRead("test.txt"), "text/plain");

                await webDavClient.Move("mydir/test.txt", "http://mywebdav:88/mydir/test_ren.txt");

                await webDavClient.Copy("http://mywebdav:88/mydir/", "http://mywebdav:88/mydir1/");

                await webDavClient.Copy("http://mywebdav:88/mydir/", "http://mywebdav:88/mydir2/", new CopyParameters { ApplyTo = ApplyTo.Copy.ResourceOnly });

                using (var response = await webDavClient.GetRawFile("http://mywebdav:88/mydir/test_ren.txt"))
                    using (var reader = new StreamReader(response.Stream))
                    {
                        var fileOutput = await reader.ReadToEndAsync();

                        Console.WriteLine(fileOutput);
                    }

                await TestPropfind(webDavClient);

                await TestSearch(webDavClient);

                await TestLock(webDavClient);

                await TestPropatch(webDavClient);

                await webDavClient.Delete("http://mywebdav:88/mydir");
            }
        }
示例#14
0
        JsonResult IDriver.Paste(string source, string dest, IEnumerable <string> targets, bool isCut, IList <int> dublicateIndexes = null)
        {
            ReplaceResponse response      = new ReplaceResponse();
            string          destDecrypted = this.DecodeTarget(this.GetCorectTarget(dest));
            DirInfo         destInfo      = client.GetInfo(destDecrypted);
            int             ind           = 0;

            foreach (string target in targets)
            {
                WebDavRoot lroot           = this.GetRoot(dest);
                string     targetDecrypted = this.DecodeTarget(this.GetCorectTarget(target));
                DirInfo    targetInfo      = client.GetInfo(targetDecrypted);
                if (targetInfo == null)
                {
                    throw new ElFinderFileNotExists();
                }
                if (isCut)
                {
                    response.Removed.Add(this.GetCorectTarget(target));
                    client.Move(targetDecrypted, destDecrypted + targetInfo.DisplayName);
                    targetInfo = client.GetInfo(destInfo.RelPath + targetInfo.DisplayName);
                    response.Added.Add(DTOBase.Create(targetInfo, destInfo, lroot));
                }
                else
                {
                    string destinationFileName = dublicateIndexes != null && dublicateIndexes.Contains(ind)
                        ? GetCorrectDestinationFileName(destInfo.RelPath + targetInfo.DisplayName)
                        : destInfo.RelPath + targetInfo.DisplayName;

                    client.Copy(targetDecrypted, destinationFileName);
                    targetInfo = client.GetInfo(destinationFileName);
                    DirInfo parent = this.GetParent(targetInfo);
                    response.Added.Add(DTOBase.Create(targetInfo, parent, lroot));
                }
                ind++;
            }

            return(Json(response));
        }
示例#15
0
        public async void When_IsCalledWithDefaultParameters_Should_SendOverwriteHeaderEqualsT()
        {
            var sourceUri  = new Uri("http://example.com/old");
            var dispatcher = Dispatcher.Mock();
            var client     = new WebDavClient().SetWebDavDispatcher(dispatcher);

            await dispatcher.DidNotReceiveWithAnyArgs().Send(sourceUri, Arg.Any <HttpMethod>(), new RequestParameters(), CancellationToken.None);

            await client.Copy(sourceUri, new Uri("http://example.com/new"));

            await dispatcher.Received(1)
            .Send(sourceUri, WebDavMethod.Copy, Arg.Is(Predicates.CompareHeader("Overwrite", "T")), CancellationToken.None);
        }
示例#16
0
        public async void When_IsAppliedToResourceAndAncestors_Should_SendDepthHeaderEqualsInfinity()
        {
            var sourceUri  = new Uri("http://example.com/old");
            var dispatcher = Dispatcher.Mock();
            var client     = new WebDavClient().SetWebDavDispatcher(dispatcher);

            await dispatcher.DidNotReceiveWithAnyArgs().Send(sourceUri, Arg.Any <HttpMethod>(), new RequestParameters(), CancellationToken.None);

            await client.Copy(sourceUri, new Uri("http://example.com/new"), new CopyParameters { ApplyTo = ApplyTo.Copy.ResourceAndAncestors });

            await dispatcher.Received(1)
            .Send(sourceUri, WebDavMethod.Copy, Arg.Is(Predicates.CompareHeader("Depth", "infinity")), CancellationToken.None);
        }
示例#17
0
文件: Form1.cs 项目: sejin777/test11
 private void button1_Click(object sender, EventArgs e)
 {
     client.Copy("1.txt", "_2.txt");
 }
示例#18
0
        public async void When_IsAppliedToResourceOnly_Should_SendDepthHeaderEqualsZero()
        {
            var sourceUri = new Uri("http://example.com/old");
            var dispatcher = Dispatcher.Mock();
            var client = new WebDavClient().SetWebDavDispatcher(dispatcher);

            await dispatcher.DidNotReceiveWithAnyArgs().Send(sourceUri, Arg.Any<HttpMethod>(), new RequestParameters(), CancellationToken.None);
            await client.Copy(sourceUri, new Uri("http://example.com/new"), new CopyParameters { ApplyTo = ApplyTo.Copy.ResourceOnly });
            await dispatcher.Received(1)
                .Send(sourceUri, WebDavMethod.Copy, Arg.Is(Predicates.CompareHeader("Depth", "0")), CancellationToken.None);
        }
示例#19
0
        public async void When_IsCalledWithLockToken_Should_SetIfHeader()
        {
            var sourceUri = new Uri("http://example.com/old");
            var dispatcher = Dispatcher.Mock();
            var client = new WebDavClient().SetWebDavDispatcher(dispatcher);

            await dispatcher.DidNotReceiveWithAnyArgs().Send(sourceUri, Arg.Any<HttpMethod>(), new RequestParameters(), CancellationToken.None);
            await client.Copy(sourceUri, new Uri("http://example.com/new"), new CopyParameters { DestLockToken = "urn:uuid:e71d4fae-5dec-22d6-fea5-00a0c91e6be4" });
            await dispatcher.Received(1)
                .Send(sourceUri, WebDavMethod.Copy, Arg.Is(Predicates.CompareHeader("If", "(<urn:uuid:e71d4fae-5dec-22d6-fea5-00a0c91e6be4>)")), CancellationToken.None);
        }
示例#20
0
 public async void When_RequestIsFailed_Should_ReturnStatusCode500()
 {
     var client = new WebDavClient().SetWebDavDispatcher(Dispatcher.MockFaulted());
     var response = await client.Copy("http://example.com/old", "http://example.com/new");
     Assert.Equal(500, response.StatusCode);
 }
示例#21
0
        public async void When_IsCalledWithOverwriteOff_Should_SendOverwriteHeaderEqualsF()
        {
            var sourceUri = new Uri("http://example.com/old");
            var dispatcher = Dispatcher.Mock();
            var client = new WebDavClient().SetWebDavDispatcher(dispatcher);

            await dispatcher.DidNotReceiveWithAnyArgs().Send(sourceUri, Arg.Any<HttpMethod>(), new RequestParameters(), CancellationToken.None);
            await client.Copy(sourceUri, new Uri("http://example.com/new"), new CopyParameters { Overwrite = false });
            await dispatcher.Received(1)
                .Send(sourceUri, WebDavMethod.Copy, Arg.Is(Predicates.CompareHeader("Overwrite", "F")), CancellationToken.None);
        }
示例#22
0
        public async void When_IsCalledWithCancellationToken_Should_SendRequestWithIt()
        {
            var cts = new CancellationTokenSource();
            var dispatcher = Dispatcher.Mock();
            var client = new WebDavClient().SetWebDavDispatcher(dispatcher);

            await client.Copy("http://example.com/old", "http://example.com/new", new CopyParameters { CancellationToken = cts.Token });
            await dispatcher.Received(1)
                .Send(Arg.Any<Uri>(), WebDavMethod.Copy, Arg.Is(CheckCopyRequestParameters()), cts.Token);
        }