public async void AddPkg_ConditionalAddWithUserInputFramework_Success(string packageFrameworks, string projectFrameworks, string userInputFrameworks) { // Arrange using (var pathContext = new SimpleTestPathContext()) { var projectA = XPlatTestUtils.CreateProject(projectName, pathContext, "net46; netcoreapp1.0"); var packageX = XPlatTestUtils.CreatePackage(frameworkString: packageFrameworks); // Generate Package await SimpleTestPackageUtility.CreateFolderFeedV3( pathContext.PackageSource, PackageSaveMode.Defaultv3, packageX); var packageArgs = XPlatTestUtils.GetPackageReferenceArgs(packageX.Id, packageX.Version, projectA, frameworks: userInputFrameworks); var commandRunner = new AddPackageReferenceCommandRunner(); var commonFramework = XPlatTestUtils.GetCommonFramework(packageFrameworks, projectFrameworks, userInputFrameworks); // Act var result = commandRunner.ExecuteCommand(packageArgs, MsBuild) .Result; var projectXmlRoot = XPlatTestUtils.LoadCSProj(projectA.ProjectPath).Root; var itemGroup = XPlatTestUtils.GetItemGroupForFramework(projectXmlRoot, commonFramework); // Assert Assert.Equal(0, result); Assert.NotNull(itemGroup); Assert.True(XPlatTestUtils.ValidateReference(itemGroup, packageX.Id, packageX.Version)); } }
public async void RemovePkg_ConditionalRemove_Success(string packageframework) { // Arrange using (var pathContext = new SimpleTestPathContext()) { // Generate Package var packageX = XPlatTestUtils.CreatePackage(frameworkString: packageframework); await SimpleTestPackageUtility.CreateFolderFeedV3( pathContext.PackageSource, PackageSaveMode.Defaultv3, packageX); var projectA = XPlatTestUtils.CreateProject(ProjectName, pathContext, packageX, "net46; netcoreapp1.0", packageframework); // Verify that the package reference exists before removing. var projectXmlRoot = XPlatTestUtils.LoadCSProj(projectA.ProjectPath).Root; var itemGroup = XPlatTestUtils.GetItemGroupForFramework(projectXmlRoot, packageframework); Assert.NotNull(itemGroup); Assert.True(XPlatTestUtils.ValidateReference(itemGroup, packageX.Id, "1.0.0")); var packageArgs = XPlatTestUtils.GetPackageReferenceArgs(packageX.Id, projectA); var commandRunner = new RemovePackageReferenceCommandRunner(); // Act var result = commandRunner.ExecuteCommand(packageArgs, MsBuild).Result; projectXmlRoot = XPlatTestUtils.LoadCSProj(projectA.ProjectPath).Root; // Assert Assert.Equal(0, result); Assert.True(XPlatTestUtils.ValidateNoReference(projectXmlRoot, packageX.Id)); } }
public async void AddPkg_ConditionalAddTwoPackages_Success(string packageFrameworks, string projectFrameworks, string userInputFrameworks) { // Arrange using (var pathContext = new SimpleTestPathContext()) { var projectA = XPlatTestUtils.CreateProject(ProjectName, pathContext, projectFrameworks); var packageX = XPlatTestUtils.CreatePackage("PkgX", frameworkString: packageFrameworks); var packageY = XPlatTestUtils.CreatePackage("PkgY", frameworkString: packageFrameworks); // Generate Package await SimpleTestPackageUtility.CreateFolderFeedV3Async( pathContext.PackageSource, PackageSaveMode.Defaultv3, packageX); await SimpleTestPackageUtility.CreateFolderFeedV3Async( pathContext.PackageSource, PackageSaveMode.Defaultv3, packageY); var packageArgs = XPlatTestUtils.GetPackageReferenceArgs(packageX.Id, packageX.Version, projectA, frameworks: userInputFrameworks); var commandRunner = new AddPackageReferenceCommandRunner(); var msBuild = MsBuild; var commonFramework = XPlatTestUtils.GetCommonFramework(packageFrameworks, projectFrameworks, userInputFrameworks); // Act var result = commandRunner.ExecuteCommand(packageArgs, msBuild) .Result; var projectXmlRoot = XPlatTestUtils.LoadCSProj(projectA.ProjectPath).Root; packageArgs = XPlatTestUtils.GetPackageReferenceArgs(packageY.Id, packageY.Version, projectA); // Act result = commandRunner.ExecuteCommand(packageArgs, msBuild) .Result; projectXmlRoot = XPlatTestUtils.LoadCSProj(projectA.ProjectPath).Root; var itemGroup = XPlatTestUtils.GetItemGroupForFramework(projectXmlRoot, commonFramework); // Assert Assert.Equal(0, result); Assert.True(XPlatTestUtils.ValidateTwoReferences(projectXmlRoot, packageX, packageY)); } }
public async void AddPkg_ConditionalAddWithoutVersion_Success(string packageFrameworks, string projectFrameworks, string userInputFrameworks) { // Arrange using (var pathContext = new SimpleTestPathContext()) { var projectA = XPlatTestUtils.CreateProject(projectName, pathContext, projectFrameworks); var packageX = XPlatTestUtils.CreatePackage(frameworkString: packageFrameworks); // Generate Package await SimpleTestPackageUtility.CreateFolderFeedV3( pathContext.PackageSource, PackageSaveMode.Defaultv3, packageX); // Since user is not inputing a version, it is converted to a "*" in the command var packageArgs = XPlatTestUtils.GetPackageReferenceArgs(packageX.Id, "*", projectA, frameworks: userInputFrameworks, noVersion: true); var commandRunner = new AddPackageReferenceCommandRunner(); var commonFramework = XPlatTestUtils.GetCommonFramework(packageFrameworks, projectFrameworks, userInputFrameworks); // Act var result = commandRunner.ExecuteCommand(packageArgs, MsBuild) .Result; var projectXmlRoot = XPlatTestUtils.LoadCSProj(projectA.ProjectPath).Root; var itemGroup = XPlatTestUtils.GetItemGroupForFramework(projectXmlRoot, commonFramework); // Assert Assert.Equal(0, result); Assert.NotNull(itemGroup); // Since user did not specify a version, the package reference will contain the resolved version Assert.True(XPlatTestUtils.ValidateReference(itemGroup, packageX.Id, "1.0.0")); } }