-
Notifications
You must be signed in to change notification settings - Fork 1.1k
/
Copy pathGivenThatWeWantToIgnoreObsoleteDotNetCliToolPackages.cs
51 lines (40 loc) · 2.22 KB
/
GivenThatWeWantToIgnoreObsoleteDotNetCliToolPackages.cs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
// Licensed to the .NET Foundation under one or more agreements.
// The .NET Foundation licenses this file to you under the MIT license.
#nullable disable
namespace Microsoft.NET.Restore.Tests
{
public class GivenThatWeWantToIgnoreObsoleteDotNetCliToolPackages : SdkTest
{
public GivenThatWeWantToIgnoreObsoleteDotNetCliToolPackages(ITestOutputHelper log) : base(log)
{
}
[Fact]
public void It_issues_warning_and_skips_restore_for_obsolete_DotNetCliToolReference()
{
const string obsoletePackageId = "Banana.CommandLineTool";
TestProject toolProject = new()
{
Name = "ObsoleteCliToolRefRestoreProject",
TargetFrameworks = "netstandard2.0",
};
toolProject.DotNetCliToolReferences.Add(new TestPackageReference(obsoletePackageId, "99.99.99", null));
TestAsset toolProjectInstance = _testAssetsManager.CreateTestProject(toolProject, identifier: toolProject.Name)
.WithProjectChanges(project =>
{
XNamespace ns = project.Root.Name.Namespace;
var itemGroup = new XElement(ns + "ItemGroup");
project.Root.Add(itemGroup);
itemGroup.Add(new XElement(ns + "BundledDotNetCliToolReference",
new XAttribute("Include", obsoletePackageId)));
});
NuGetConfigWriter.Write(toolProjectInstance.TestRoot);
RestoreCommand restoreCommand = toolProjectInstance.GetRestoreCommand(Log, toolProject.Name);
restoreCommand.Execute("/v:n").Should()
.Pass()
.And
.HaveStdOutContaining($"warning NETSDK1059: The tool '{obsoletePackageId}' is now included in the .NET SDK. Information on resolving this warning is available at (https://aka.ms/dotnetclitools-in-box).");
string toolAssetsFilePath = Path.Combine(TestContext.Current.NuGetCachePath, ".tools", toolProject.Name.ToLowerInvariant(), "99.99.99", toolProject.TargetFrameworks, "project.assets.json");
Assert.False(File.Exists(toolAssetsFilePath), "Tool assets path should not have been generated");
}
}
}