public void CallRemovePackageWillRemoveEntryFromPackageConfigWhenPackageConfigAlreadyExists() { // Arrange var fileSystem = new Mock <MockFileSystem>() { CallBase = true }; fileSystem.Setup(m => m.Root).Returns(@"c:\foo\"); var configFileSystem = new MockFileSystem(); configFileSystem.AddFile("packages.config", @"<?xml version=""1.0"" encoding=""utf-8""?> <packages> <package id=""A"" version=""2.0"" /> <package id=""B"" version=""1.0"" /> </packages>"); var repository = new SharedPackageRepository(new DefaultPackagePathResolver(fileSystem.Object), fileSystem.Object, configFileSystem); // Act repository.RemovePackage(PackageUtility.CreatePackage("B", "1.0")); // Assert Assert.True(configFileSystem.FileExists("packages.config")); Assert.Equal(@"<?xml version=""1.0"" encoding=""utf-8""?> <packages> <package id=""A"" version=""2.0"" /> </packages>", configFileSystem.ReadAllText("packages.config")); }
public void CallRemovePackageWillRemoveNuspecFile(string id, string version, string unexpectedPath) { // Arrange var fileSystem = new MockFileSystem("x:\root"); fileSystem.AddFile(unexpectedPath); var configFileSystem = new MockFileSystem(); var repository = new SharedPackageRepository(new DefaultPackagePathResolver(fileSystem), fileSystem, configFileSystem); // Act repository.RemovePackage(PackageUtility.CreatePackage(id, version)); // Assert Assert.False(fileSystem.FileExists(unexpectedPath)); }
public void CallRemovePackageWillRemoveNupkgFile(string id, string version, string unexpectedPath) { // Arrange var fileSystem = new MockFileSystem("x:\root"); fileSystem.AddFile(unexpectedPath); var configFileSystem = new MockFileSystem(); var repository = new SharedPackageRepository(new DefaultPackagePathResolver(fileSystem), fileSystem, configFileSystem); // Act repository.RemovePackage(PackageUtility.CreatePackage(id, version)); // Assert Assert.False(fileSystem.FileExists(unexpectedPath)); }
public void RemovingAllSolutionLevelPackageDeletesConfigFile() { // Arrange var fileSystem = new MockFileSystem(); var configFileSystem = new MockFileSystem(); var repository = new SharedPackageRepository(new DefaultPackagePathResolver(fileSystem), fileSystem, configFileSystem); var solutionPackage = PackageUtility.CreatePackage("SolutionLevel", tools: new[] { "Install.ps1" }); configFileSystem.AddFile("packages.config", @"<?xml version=""1.0"" encoding=""utf-8""?> <packages> <package id=""SolutionLevel"" version=""1.0"" /> </packages>"); // Act repository.RemovePackage(solutionPackage); // Assert Assert.True(configFileSystem.Deleted.Contains("packages.config")); }
public void CallRemovePackageWillRemoveTheWholePackageDirectory() { // Arrange var fileSystem = new MockFileSystem("x:\\root"); fileSystem.AddFile("A.2.0\\A.2.0.nupkg"); fileSystem.AddFile("A.2.0\\A.2.0.nuspec"); fileSystem.AddFile("A.2.0\\random"); fileSystem.AddFile("A.2.0\\content\\file.txt"); fileSystem.AddFile("A.2.0\\readme.txt"); var configFileSystem = new MockFileSystem(); var repository = new SharedPackageRepository(new DefaultPackagePathResolver(fileSystem), fileSystem, configFileSystem); // Act repository.RemovePackage(PackageUtility.CreatePackage("A", "2.0")); // Assert Assert.False(fileSystem.FileExists("A.2.0\\A.2.0.nupkg")); Assert.False(fileSystem.FileExists("A.2.0\\A.2.0.nuspec")); Assert.False(fileSystem.DirectoryExists("A.2.0")); }
public void CallRemovePackageWillDeleteNuspecAndNupkgFileBeforeDeletingTheWholePackageDirectory() { // Arrange var fileSystem = new MockFileSystemWithDeleteVerification(); fileSystem.AddFile("A.2.0\\A.2.0.nupkg"); fileSystem.AddFile("A.2.0\\A.2.0.nuspec"); fileSystem.AddFile("A.2.0\\random"); fileSystem.AddFile("A.2.0\\content\\file.txt"); fileSystem.AddFile("A.2.0\\readme.txt"); var configFileSystem = new MockFileSystem(); var repository = new SharedPackageRepository(new DefaultPackagePathResolver(fileSystem), fileSystem, configFileSystem); // Act repository.RemovePackage(PackageUtility.CreatePackage("A", "2.0")); // Assert Assert.False(fileSystem.FileExists("A.2.0\\A.2.0.nupkg")); Assert.False(fileSystem.FileExists("A.2.0\\A.2.0.nuspec")); Assert.False(fileSystem.DirectoryExists("A.2.0")); Assert.True(fileSystem.IsFileDeleted("A.2.0\\A.2.0.nupkg")); Assert.True(fileSystem.IsFileDeleted("A.2.0\\A.2.0.nuspec")); }
public void CallRemovePackageWillDeletePackageConfigWhenThereIsNoMoreEntry() { // Arrange var fileSystem = new Mock<MockFileSystem>() { CallBase = true }; fileSystem.Setup(m => m.Root).Returns(@"x:\foo\"); var configFileSystem = new MockFileSystem(); configFileSystem.AddFile("packages.config", @"<?xml version=""1.0"" encoding=""utf-8""?> <packages> <package id=""A"" version=""2.0"" /> </packages>"); var repository = new SharedPackageRepository(new DefaultPackagePathResolver(fileSystem.Object), fileSystem.Object, configFileSystem); // Act repository.RemovePackage(PackageUtility.CreatePackage("A", "2.0")); // Assert Assert.False(configFileSystem.FileExists("packages.config")); }
public void CallRemovePackageWillRemoveBothNupkgFileAndNuSpecFile(string id, string version, string nuspecPath, string nupkgPath) { // Arrange nuspecPath = PathFixUtility.FixPath(nuspecPath); nupkgPath = PathFixUtility.FixPath(nupkgPath); var fileSystem = new MockFileSystem("x:\root"); fileSystem.AddFile(nuspecPath); fileSystem.AddFile(nupkgPath); var configFileSystem = new MockFileSystem(); var repository = new SharedPackageRepository(new DefaultPackagePathResolver(fileSystem), fileSystem, configFileSystem); // Act repository.RemovePackage(PackageUtility.CreatePackage(id, version)); // Assert Assert.False(fileSystem.FileExists(nuspecPath)); Assert.False(fileSystem.FileExists(nupkgPath)); }