示例#1
0
        public async Task TestCommandDownloadBucketWithinvalidRemotePathIsBlockedBySanitization(string invalidPath, string pathType = null)
        {
            var bucket = Builder <FakeBucket> .CreateNew().Build();

            CancellationToken ct = default(CancellationToken);
            var command          = new DownloadBucketCommand();
            var config           = new BucketConfiguration()
            {
                RemoteRelativePathFiles   = new List <string>(),
                RemoteRelativePathFolders = new List <string>(),
                LocalPathGet       = "a",
                RemoteRelativePath = "b",
                DeleteFiles        = true,
            };

            switch (pathType)
            {
            case "folder":
                config.RemoteRelativePathFolders.Add(invalidPath);
                break;

            case "file":
            default:
                config.RemoteRelativePathFiles.Add(invalidPath);
                break;
            }
            CommandValues.GenericInfoCommandValue ret = await command.ExecuteAsync(bucket, config, ct);

            Assert.IsTrue(ret is CommandValues.GenericInfoCommandValue);
            Assert.AreEqual(ret.Uuid, "Shortname1");
            Assert.AreEqual("Download failed. Invalid remote path(s)", (ret as CommandValues.GenericInfoCommandValue).Message);
        }
示例#2
0
        public async Task TestCommandSynchronizeLocalFolderFromBucket()
        {
            var bucket = Builder <FakeBucket> .CreateNew().Build();

            CancellationToken ct = default(CancellationToken);
            var command          = new SynchronizeLocalFolderFromBucketCommand();
            var config           = new BucketConfiguration()
            {
                LocalPathGet       = "a",
                RemoteRelativePath = "b",
                DeleteFiles        = true,
            };

            CommandValues.GenericInfoCommandValue ret = await command.ExecuteAsync(bucket, config, ct);

            Assert.IsTrue(ret is CommandValues.GenericInfoCommandValue);
            Assert.AreEqual(ret.Uuid, "Shortname1");
        }
示例#3
0
        public async Task TestCommandSynchronizeLocalFolderToBucketWithInvalidRemotePathIsBlockedBySanitization()
        {
            var bucket = Builder <FakeBucket> .CreateNew().Build();

            CancellationToken ct = default(CancellationToken);
            var command          = new SynchronizeLocalFolderToBucketCommand();
            var config           = new BucketConfiguration()
            {
                LocalPathGet       = "a",
                RemoteRelativePath = "/invalid//Path",
                DeleteFiles        = true,
            };

            CommandValues.GenericInfoCommandValue ret = await command.ExecuteAsync(bucket, config, ct);

            Assert.IsTrue(ret is CommandValues.GenericInfoCommandValue);
            Assert.AreEqual(ret.Uuid, "Shortname1");
            Assert.AreEqual("Synchronization failed. Invalid remote path", (ret as CommandValues.GenericInfoCommandValue).Message);
        }
示例#4
0
        public async Task TestCommandRemoveBucketEntity()
        {
            var bucket = Builder <FakeBucket> .CreateNew().Build();

            CancellationToken ct = default(CancellationToken);
            var command          = new RemoveEntityBucketCommand();
            var config           = new BucketConfiguration()
            {
                LocalPathGet        = "a",
                RemoteRelativePaths = new List <string> {
                    "b"
                },
                DeleteFiles = true,
            };

            CommandValues.GenericInfoCommandValue ret = await command.ExecuteAsync(bucket, config, ct);

            Assert.IsTrue(ret is CommandValues.GenericInfoCommandValue);
            Assert.AreEqual(ret.Uuid, "Shortname1");
        }