示例#1
0
        public async Task SubFeed_InitTwoFeedsDestroyOneVerifyFirst()
        {
            using (var target = new TestFolder())
                using (var cache = new LocalCache())
                    using (var cache2 = new LocalCache())
                    {
                        var log          = new TestLogger();
                        var settings     = new LocalSettings();
                        var feedSettings = new FeedSettings();
                        var rootFeedA    = UriUtility.CreateUri(target.Root, "feedA");
                        var rootFeedB    = UriUtility.CreateUri(target.Root, "feedB");
                        var fileSystem   = new PhysicalFileSystem(cache, rootFeedA, rootFeedA, feedSubPath: "feedA");
                        var fileSystem2  = new PhysicalFileSystem(cache2, rootFeedB, rootFeedB, feedSubPath: "feedB");

                        // Init feeds
                        var success = await InitCommand.InitAsync(settings, fileSystem, feedSettings, log, CancellationToken.None);

                        success &= await InitCommand.InitAsync(settings, fileSystem2, feedSettings, log, CancellationToken.None);

                        // Destroy feed 2
                        success &= await DestroyCommand.Destroy(settings, fileSystem2, log, CancellationToken.None);

                        // Validate feed 1
                        success &= await ValidateCommand.Validate(settings, fileSystem, log, CancellationToken.None);

                        success.Should().BeTrue();
                        target.RootDirectory.GetFiles().Should().BeEmpty();
                        target.RootDirectory.GetDirectories().Select(e => e.Name).ShouldBeEquivalentTo(new[] { "feedA" });
                    }
        }