コード例 #1
0
        public async Task ItFindsPackageWhenMultipleFeedsAreSpecified()
        {
            var packages = new[]
            {
                new TaskItem("Newtonsoft.Json", new Hashtable {
                    ["Version"] = "9.0.1", ["Source"] = $"{AppContext.BaseDirectory};https://api.nuget.org/v3/index.json"
                }),
            };

            var task = new DownloadNuGetPackages
            {
                Packages          = packages,
                DestinationFolder = AppContext.BaseDirectory,
                BuildEngine       = new MockEngine(_output),
                TimeoutSeconds    = 120,
            };
            var expectedPath = Path.Combine(AppContext.BaseDirectory, "newtonsoft.json.9.0.1.nupkg").Replace('\\', '/');

            if (File.Exists(expectedPath))
            {
                File.Delete(expectedPath);
            }

            Assert.False(File.Exists(expectedPath), "The file should not exist yet");
            Assert.True(await task.ExecuteAsync(), "Task should pass");
            var file = Assert.Single(task.Files);

            Assert.Equal(expectedPath, file.ItemSpec.Replace('\\', '/'));
            Assert.True(File.Exists(expectedPath), "The file should exist");
        }
コード例 #2
0
        public async Task ItFailsForPackagesThatDoNotExist()
        {
            var packages = new[]
            {
                new TaskItem("SomePackage", new Hashtable {
                    ["Version"] = "1.0.0", ["Source"] = AppContext.BaseDirectory
                }),
            };

            var engine = new MockEngine(_output)
            {
                ContinueOnError = true
            };
            var task = new DownloadNuGetPackages
            {
                Packages          = packages,
                DestinationFolder = AppContext.BaseDirectory,
                BuildEngine       = engine,
                TimeoutSeconds    = 120,
            };

            Assert.False(await task.ExecuteAsync(), "Task should fail");
            Assert.NotEmpty(engine.Errors);
            Assert.Contains(engine.Errors, m => m.Message.Contains("SomePackage 1.0.0 is not available"));
        }