Adding a map of asp tools packages that tells which versions we need to migrate and to what. Any package in that list, will also have its version updated.
This commit is contained in:
parent
5a621b53e2
commit
b16c9018b6
6 changed files with 333 additions and 66 deletions
|
|
@ -0,0 +1,58 @@
|
|||
// Copyright (c) .NET Foundation and contributors. All rights reserved.
|
||||
// Licensed under the MIT license. See LICENSE file in the project root for full license information.
|
||||
|
||||
using Microsoft.Build.Construction;
|
||||
using Microsoft.DotNet.Tools.Test.Utilities;
|
||||
using System.Linq;
|
||||
using FluentAssertions;
|
||||
using Microsoft.DotNet.ProjectJsonMigration.Rules;
|
||||
using System;
|
||||
|
||||
namespace Microsoft.DotNet.ProjectJsonMigration.Tests
|
||||
{
|
||||
public class PackageDependenciesTestBase : TestBase
|
||||
{
|
||||
protected void EmitsPackageReferences(ProjectRootElement mockProj, params Tuple<string, string, string>[] packageSpecs)
|
||||
{
|
||||
foreach (var packageSpec in packageSpecs)
|
||||
{
|
||||
var packageName = packageSpec.Item1;
|
||||
var packageVersion = packageSpec.Item2;
|
||||
var packageTFM = packageSpec.Item3;
|
||||
|
||||
var items = mockProj.Items
|
||||
.Where(i => i.ItemType == "PackageReference")
|
||||
.Where(i => string.IsNullOrEmpty(packageTFM) || i.ConditionChain().Any(c => c.Contains(packageTFM)))
|
||||
.Where(i => i.Include == packageName)
|
||||
.Where(i => i.GetMetadataWithName("Version").Value == packageVersion);
|
||||
|
||||
items.Should().HaveCount(1);
|
||||
}
|
||||
}
|
||||
|
||||
protected void EmitsToolReferences(ProjectRootElement mockProj, params Tuple<string, string>[] toolSpecs)
|
||||
{
|
||||
foreach (var toolSpec in toolSpecs)
|
||||
{
|
||||
var packageName = toolSpec.Item1;
|
||||
var packageVersion = toolSpec.Item2;
|
||||
|
||||
var items = mockProj.Items
|
||||
.Where(i => i.ItemType == "DotNetCliToolReference")
|
||||
.Where(i => i.Include == packageName)
|
||||
.Where(i => i.GetMetadataWithName("Version").Value == packageVersion);
|
||||
|
||||
items.Should().HaveCount(1);
|
||||
}
|
||||
}
|
||||
|
||||
protected ProjectRootElement RunPackageDependenciesRuleOnPj(string s, string testDirectory = null)
|
||||
{
|
||||
testDirectory = testDirectory ?? Temp.CreateDirectory().Path;
|
||||
return TemporaryProjectFileRuleRunner.RunRules(new IMigrationRule[]
|
||||
{
|
||||
new MigratePackageDependenciesAndToolsRule()
|
||||
}, s, testDirectory);
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in a new issue