public void GetRepositoryPathsRemovesInvalidOrNonExistantPathsAndReturnsRelativePaths() { // Arrange var fileSystem = new Mock<MockFileSystem>() { CallBase = true }; fileSystem.Setup(m => m.FileExists(@"A\packages.config")).Returns(true); fileSystem.Setup(m => m.FileExists(@"c:\foo\packages.config")).Returns(true); fileSystem.Setup(m => m.FileExists(@"..\..\packages.config")).Returns(true); fileSystem.Object.AddFile("repositories.config", @"<?xml version=""1.0"" encoding=""utf-8""?> <repositories> <repository path=""A\packages.config"" /> <repository path=""B\packages.config"" /> <repository path=""c:\foo\packages.config"" /> <repository path=""..\..\packages.config"" /> <repository path="""" /> <repository /> </repositories>"); fileSystem.Setup(m => m.Root).Returns(@"c:\foo\bar\baz\"); var repository = new SharedPackageRepository(new DefaultPackagePathResolver(fileSystem.Object), fileSystem.Object); // Act var paths = repository.GetRepositoryPaths().ToList(); // Assert Assert.Equal(2, paths.Count); Assert.Equal(@"A\packages.config", paths[0]); Assert.Equal(@"..\..\packages.config", paths[1]); Assert.Equal(@"<?xml version=""1.0"" encoding=""utf-8""?> <repositories> <repository path=""A\packages.config"" /> <repository path=""c:\foo\packages.config"" /> </repositories>", fileSystem.Object.ReadAllText("repositories.config")); }
public void GetRepositoryPathsRemovesInvalidOrNonExistantPathsAndReturnsRelativePaths() { // Arrange var fileSystem = new MockFileSystem(@"x:\foo\bar\baz"); fileSystem.AddFile(@"A\packages.config", ""); fileSystem.AddFile(@"x:\foo\packages.config", ""); fileSystem.AddFile(@"..\..\packages.config", ""); fileSystem.AddFile("repositories.config", @"<?xml version=""1.0"" encoding=""utf-8""?> <repositories> <repository path=""A\packages.config"" /> <repository path=""B\packages.config"" /> <repository path=""x:\foo\packages.config"" /> <repository path=""..\..\packages.config"" /> <repository path="""" /> <repository /> </repositories>"); var repository = new SharedPackageRepository(new DefaultPackagePathResolver(fileSystem), fileSystem, new MockFileSystem()); // Act var paths = repository.GetRepositoryPaths().ToList(); // Assert Assert.Equal(2, paths.Count); Assert.Equal(@"A\packages.config", paths[0]); Assert.Equal(@"..\..\packages.config", paths[1]); Assert.Equal(@"<?xml version=""1.0"" encoding=""utf-8""?> <repositories> <repository path=""A\packages.config"" /> <repository path=""x:\foo\packages.config"" /> </repositories>", fileSystem.ReadAllText("repositories.config")); }
public void GetRepositoryPathsRemovesInvalidOrNonExistantPathsAndReturnsRelativePaths() { // Arrange var fileSystem = new Mock <MockFileSystem>() { CallBase = true }; fileSystem.Setup(m => m.FileExists(@"A\packages.config")).Returns(true); fileSystem.Setup(m => m.FileExists(@"c:\foo\packages.config")).Returns(true); fileSystem.Setup(m => m.FileExists(@"..\..\packages.config")).Returns(true); fileSystem.Object.AddFile("repositories.config", @"<?xml version=""1.0"" encoding=""utf-8""?> <repositories> <repository path=""A\packages.config"" /> <repository path=""B\packages.config"" /> <repository path=""c:\foo\packages.config"" /> <repository path=""..\..\packages.config"" /> <repository path="""" /> <repository /> </repositories>"); fileSystem.Setup(m => m.Root).Returns(@"c:\foo\bar\baz\"); var repository = new SharedPackageRepository(new DefaultPackagePathResolver(fileSystem.Object), fileSystem.Object); // Act var paths = repository.GetRepositoryPaths().ToList(); // Assert Assert.AreEqual(2, paths.Count); Assert.AreEqual(@"A\packages.config", paths[0]); Assert.AreEqual(@"..\..\packages.config", paths[1]); Assert.AreEqual(@"<?xml version=""1.0"" encoding=""utf-8""?> <repositories> <repository path=""A\packages.config"" /> <repository path=""c:\foo\packages.config"" /> </repositories>", fileSystem.Object.ReadAllText("repositories.config")); }