public async void AddPkg_UnconditionalAddWithNoRestore_Success(string packageFrameworks, string projectFrameworks, string userInputVersion) { // 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); var packageArgs = XPlatTestUtils.GetPackageReferenceArgs(packageX.Id, userInputVersion, projectA, noRestore: true); var commandRunner = new AddPackageReferenceCommandRunner(); // Act var result = commandRunner.ExecuteCommand(packageArgs, MsBuild) .Result; var projectXmlRoot = XPlatTestUtils.LoadCSProj(projectA.ProjectPath).Root; // If noRestore is set, then we do not perform compatibility check. // The added package reference will be unconditional var itemGroup = XPlatTestUtils.GetItemGroupForAllFrameworks(projectXmlRoot); // Assert Assert.Equal(0, result); Assert.NotNull(itemGroup); Assert.True(XPlatTestUtils.ValidateReference(itemGroup, packageX.Id, userInputVersion)); } }
public async void RemovePkg_UnconditionalRemove_Success() { // Arrange using (var pathContext = new SimpleTestPathContext()) { // Generate Package var packageX = XPlatTestUtils.CreatePackage(); await SimpleTestPackageUtility.CreateFolderFeedV3( pathContext.PackageSource, PackageSaveMode.Defaultv3, packageX); var projectA = XPlatTestUtils.CreateProject(ProjectName, pathContext, packageX, "net46"); // Verify that the package reference exists before removing. var projectXmlRoot = XPlatTestUtils.LoadCSProj(projectA.ProjectPath).Root; var itemGroup = XPlatTestUtils.GetItemGroupForAllFrameworks(projectXmlRoot); 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_UnconditionalAdd_Success(string userInputVersion) { // Arrange using (var pathContext = new SimpleTestPathContext()) { var projectA = XPlatTestUtils.CreateProject(projectName, pathContext, "net46"); var packageX = XPlatTestUtils.CreatePackage(); // Generate Package await SimpleTestPackageUtility.CreateFolderFeedV3( pathContext.PackageSource, PackageSaveMode.Defaultv3, packageX); var packageArgs = XPlatTestUtils.GetPackageReferenceArgs(packageX.Id, userInputVersion, projectA); var commandRunner = new AddPackageReferenceCommandRunner(); // Act var result = commandRunner.ExecuteCommand(packageArgs, MsBuild).Result; var projectXmlRoot = XPlatTestUtils.LoadCSProj(projectA.ProjectPath).Root; var itemGroup = XPlatTestUtils.GetItemGroupForAllFrameworks(projectXmlRoot); // Assert Assert.Equal(0, result); Assert.NotNull(itemGroup); Assert.True(XPlatTestUtils.ValidateReference(itemGroup, packageX.Id, userInputVersion)); } }
public async void AddPkg_UnconditionalAddWithDotnetCliToolAndNoRestore_Success(string packageFrameworks, string projectFrameworks, string userInputVersion) { // Arrange using (var pathContext = new SimpleTestPathContext()) { // Generate DotNetCliToolReference Package var packageDotnetCliToolX = XPlatTestUtils.CreatePackage(packageId: "PackageDotnetCliToolX", packageType: PackageType.DotnetCliTool); await SimpleTestPackageUtility.CreateFolderFeedV3( pathContext.PackageSource, PackageSaveMode.Defaultv3, packageDotnetCliToolX); // Generate test package var packageY = XPlatTestUtils.CreatePackage(packageId: "PackageY"); await SimpleTestPackageUtility.CreateFolderFeedV3( pathContext.PackageSource, PackageSaveMode.Defaultv3, packageY); var projectA = XPlatTestUtils.CreateProject(projectName, pathContext, "net46"); projectA.DotnetCLIToolReferences.Add(packageDotnetCliToolX); projectA.Save(); // Verify that the package reference exists before removing. var projectXmlRoot = XPlatTestUtils.LoadCSProj(projectA.ProjectPath).Root; var itemGroup = XPlatTestUtils.GetItemGroupForAllFrameworks(projectXmlRoot, packageType: PackageType.DotnetCliTool); Assert.NotNull(itemGroup); Assert.True(XPlatTestUtils.ValidateReference(itemGroup, packageDotnetCliToolX.Id, "1.0.0", PackageType.DotnetCliTool)); var packageArgs = XPlatTestUtils.GetPackageReferenceArgs(packageY.Id, userInputVersion, projectA, noRestore: true); var commandRunner = new AddPackageReferenceCommandRunner(); // Act var result = commandRunner.ExecuteCommand(packageArgs, MsBuild).Result; projectXmlRoot = XPlatTestUtils.LoadCSProj(projectA.ProjectPath).Root; itemGroup = XPlatTestUtils.GetItemGroupForAllFrameworks(projectXmlRoot); // Assert Assert.Equal(0, result); Assert.NotNull(itemGroup); Assert.True(XPlatTestUtils.ValidateReference(itemGroup, packageY.Id, userInputVersion)); } }
public async void AddPkg_UnconditionalAddWithPackageDirectory_Success() { // Arrange using (var tempGlobalPackagesDirectory = TestDirectory.Create()) using (var pathContext = new SimpleTestPathContext()) { var projectA = XPlatTestUtils.CreateProject(projectName, pathContext, "net46"); var packageX = XPlatTestUtils.CreatePackage(); // Generate Package await SimpleTestPackageUtility.CreateFolderFeedV3( pathContext.PackageSource, PackageSaveMode.Defaultv3, packageX); var packageArgs = XPlatTestUtils.GetPackageReferenceArgs(packageX.Id, packageX.Version, projectA, packageDirectory: tempGlobalPackagesDirectory.Path); var commandRunner = new AddPackageReferenceCommandRunner(); // Act var result = commandRunner.ExecuteCommand(packageArgs, MsBuild) .Result; var projectXmlRoot = XPlatTestUtils.LoadCSProj(projectA.ProjectPath).Root; var itemGroup = XPlatTestUtils.GetItemGroupForAllFrameworks(projectXmlRoot); // Assert Assert.Equal(0, result); Assert.NotNull(itemGroup); Assert.True(XPlatTestUtils.ValidateReference(itemGroup, packageX.Id, packageX.Version)); // Since user provided packge directory, assert if package is present Assert.True(XPlatTestUtils.ValidatePackageDownload(tempGlobalPackagesDirectory.Path, packageX)); } }