public void AddPackagePreservesProjectConfigFile() { // Arrange var repository = new Mock <MockPackageRepository>() { CallBase = true }.As <ISharedPackageRepository>(); var packageA = PackageUtility.CreatePackage("A"); repository.Object.AddPackage(packageA); var fileSystem = new MockFileSystem(); fileSystem.AddFile("packages.cool.config", @"<?xml version=""1.0"" encoding=""utf-8""?> <packages> <package id=""A"" version=""1.0"" /> </packages>"); var referenceRepository = new PackageReferenceRepository(fileSystem, projectName: "cool", sourceRepository: repository.Object); var packageB = PackageUtility.CreatePackage("B", "2.0-alpha"); // Act referenceRepository.AddPackage(packageB); // Assert Assert.False(fileSystem.FileExists("packages.config")); Assert.True(fileSystem.FileExists("packages.cool.config")); string content = fileSystem.ReadAllText("packages.cool.config"); AssertConfig(@"<?xml version=""1.0"" encoding=""utf-8""?> <packages> <package id=""A"" version=""1.0"" /> <package id=""B"" version=""2.0-alpha"" /> </packages>", content); }
public void RemovingAndAddingPackageReferenceWithSameIdPreservesConstraint() { // Arrange var sharedRepository = new Mock <ISharedPackageRepository>(); var fileSystem = new MockFileSystem(); fileSystem.AddFile("packages.config", @"<?xml version=""1.0"" encoding=""utf-8""?> <packages> <package id=""A"" version=""1.0"" allowedVersions=""[1.0, 5.0)"" /> </packages>"); var referenceRepository = new PackageReferenceRepository(fileSystem, sharedRepository.Object); var A10 = PackageUtility.CreatePackage("A"); var A20 = PackageUtility.CreatePackage("A", "2.0"); // Act referenceRepository.RemovePackage(A10); referenceRepository.AddPackage(A20); // Assert Assert.True(fileSystem.FileExists("packages.config")); AssertConfig(@"<?xml version=""1.0"" encoding=""utf-8""?> <packages> <package id=""A"" version=""2.0"" allowedVersions=""[1.0, 5.0)"" /> </packages>", fileSystem.ReadAllText("packages.config")); }
public void RemovingAndAddingPackageReferenceWithSameIdPreservesDevelopmentFlag() { // Arrange var sharedRepository = new Mock <ISharedPackageRepository>(); var fileSystem = new MockFileSystem(); fileSystem.AddFile("packages.config", @"<?xml version=""1.0"" encoding=""utf-8""?> <packages> <package id=""A"" version=""1.0"" developmentDependency=""false"" /> </packages>"); var referenceRepository = new PackageReferenceRepository(fileSystem, projectName: null, sourceRepository: sharedRepository.Object); var A10 = PackageUtility.CreatePackage("A"); var A20 = PackageUtility.CreatePackage("A", "2.0"); // Act referenceRepository.RemovePackage(A10); referenceRepository.AddPackage(A20); // Assert Assert.True(fileSystem.FileExists("packages.config")); AssertConfig(@"<?xml version=""1.0"" encoding=""utf-8""?> <packages> <package id=""A"" version=""2.0"" developmentDependency=""false"" /> </packages>", fileSystem.ReadAllText("packages.config")); }
public void RegisterIfNecessaryRegistersWithSharedRepositoryIfRepositoryContainsPackages() { // Arrange var sharedRepository = new Mock<MockPackageRepository>().As<ISharedPackageRepository>(); string path = null; sharedRepository.Setup(m => m.RegisterRepository(It.IsAny<string>())) .Callback<string>(p => path = p); var fileSystem = new MockFileSystem(); IPackage package = PackageUtility.CreatePackage("A"); sharedRepository.Object.AddPackage(package); // Act var referenceRepository = new PackageReferenceRepository(fileSystem, sharedRepository.Object); referenceRepository.AddPackage(package); referenceRepository.RegisterIfNecessary(); // Assert Assert.Equal(@"C:\MockFileSystem\packages.config", path); }
public void RegisterIfNecessaryRegistersWithSharedRepositoryIfRepositoryContainsPackages() { // Arrange var sharedRepository = new Mock <MockPackageRepository>().As <ISharedPackageRepository>(); string path = null; sharedRepository.Setup(m => m.RegisterRepository(It.IsAny <string>())) .Callback <string>(p => path = p); var fileSystem = new MockFileSystem(); IPackage package = PackageUtility.CreatePackage("A"); sharedRepository.Object.AddPackage(package); // Act var referenceRepository = new PackageReferenceRepository(fileSystem, projectName: null, sourceRepository: sharedRepository.Object); referenceRepository.AddPackage(package); referenceRepository.RegisterIfNecessary(); // Assert Assert.Equal(@"C:\MockFileSystem\packages.config", path); }
public void AddPackageAddsEntryToPackagesConfig() { // Arrange var sharedRepository = new Mock<ISharedPackageRepository>(); string path = null; sharedRepository.Setup(m => m.RegisterRepository(It.IsAny<string>())) .Callback<string>(p => path = p); var fileSystem = new MockFileSystem(); var referenceRepository = new PackageReferenceRepository(fileSystem, sharedRepository.Object); var package = PackageUtility.CreatePackage("A"); // Act referenceRepository.AddPackage(package); // Assert Assert.Equal(@"C:\MockFileSystem\packages.config", path); Assert.True(fileSystem.FileExists("packages.config")); Assert.Equal(@"<?xml version=""1.0"" encoding=""utf-8""?> <packages> <package id=""A"" version=""1.0"" /> </packages>", fileSystem.ReadAllText("packages.config")); }
public void AddPackageDoesNotAddEntryToPackagesConfigIfExists() { // Arrange var sharedRepository = new Mock<ISharedPackageRepository>(); var fileSystem = new MockFileSystem(); fileSystem.AddFile("packages.config", @"<?xml version=""1.0"" encoding=""utf-8""?> <packages> <package id=""A"" version=""1.0"" /> </packages>"); var referenceRepository = new PackageReferenceRepository(fileSystem, sharedRepository.Object); var package = PackageUtility.CreatePackage("A"); // Act referenceRepository.AddPackage(package); // Assert Assert.IsTrue(fileSystem.FileExists("packages.config")); Assert.AreEqual(@"<?xml version=""1.0"" encoding=""utf-8""?> <packages> <package id=""A"" version=""1.0"" /> </packages>", fileSystem.ReadAllText("packages.config")); }
public void AddPackageAddsEntryToPackagesConfig() { // Arrange var sharedRepository = new Mock <ISharedPackageRepository>(); string path = null; sharedRepository.Setup(m => m.RegisterRepository(It.IsAny <string>())) .Callback <string>(p => path = p); var fileSystem = new MockFileSystem(); var referenceRepository = new PackageReferenceRepository(fileSystem, projectName: null, sourceRepository: sharedRepository.Object); var package = PackageUtility.CreatePackage("A"); // Act referenceRepository.AddPackage(package); // Assert Assert.Equal(@"C:\MockFileSystem\packages.config", path); Assert.True(fileSystem.FileExists("packages.config")); AssertConfig(@"<?xml version=""1.0"" encoding=""utf-8""?> <packages> <package id=""A"" version=""1.0"" /> </packages>", fileSystem.ReadAllText("packages.config")); }
public void AddPackageDoesNotAddEntryToPackagesConfigIfExists() { // Arrange var sharedRepository = new Mock <ISharedPackageRepository>(); var fileSystem = new MockFileSystem(); fileSystem.AddFile("packages.config", @"<?xml version=""1.0"" encoding=""utf-8""?> <packages> <package id=""A"" version=""1.0"" /> </packages>"); var referenceRepository = new PackageReferenceRepository(fileSystem, projectName: null, sourceRepository: sharedRepository.Object); var package = PackageUtility.CreatePackage("A"); // Act referenceRepository.AddPackage(package); // Assert Assert.True(fileSystem.FileExists("packages.config")); AssertConfig(@"<?xml version=""1.0"" encoding=""utf-8""?> <packages> <package id=""A"" version=""1.0"" /> </packages>", fileSystem.ReadAllText("packages.config")); }
public void AddPackageAddsEntryToPackagesConfigWithDevelopmentDependency() { // Arrange var sharedRepository = new Mock <ISharedPackageRepository>(); string path = null; sharedRepository.Setup(m => m.RegisterRepository(It.IsAny <string>())) .Callback <string>(p => path = p); var fileSystem = new MockFileSystem(); var referenceRepository = new PackageReferenceRepository(fileSystem, projectName: null, sourceRepository: sharedRepository.Object); //var package = PackageUtility.CreatePackage("A"); // Act referenceRepository.AddPackage("A", new SemanticVersion("1.0"), true, new FrameworkName("Silverlight, Version=2.0")); // Assert Assert.Equal(@"C:\MockFileSystem\packages.config", path); Assert.True(fileSystem.FileExists("packages.config")); AssertConfig(@"<?xml version=""1.0"" encoding=""utf-8""?> <packages> <package id=""A"" version=""1.0"" targetFramework=""sl20"" developmentDependency=""true""/> </packages>", fileSystem.ReadAllText("packages.config")); }
public void RemovingAndAddingPackageReferenceWithSameIdPreservesConstraint() { // Arrange var sharedRepository = new Mock<ISharedPackageRepository>(); var fileSystem = new MockFileSystem(); fileSystem.AddFile("packages.config", @"<?xml version=""1.0"" encoding=""utf-8""?> <packages> <package id=""A"" version=""1.0"" allowedVersions=""[1.0, 5.0)"" /> </packages>"); var referenceRepository = new PackageReferenceRepository(fileSystem, sharedRepository.Object); var A10 = PackageUtility.CreatePackage("A"); var A20 = PackageUtility.CreatePackage("A", "2.0"); // Act referenceRepository.RemovePackage(A10); referenceRepository.AddPackage(A20); // Assert Assert.True(fileSystem.FileExists("packages.config")); Assert.Equal(@"<?xml version=""1.0"" encoding=""utf-8""?> <packages> <package id=""A"" version=""2.0"" allowedVersions=""[1.0, 5.0)"" /> </packages>", fileSystem.ReadAllText("packages.config")); }
public void AddPackagePreservesProjectConfigFile() { // Arrange var repository = new Mock<MockPackageRepository>() { CallBase = true }.As<ISharedPackageRepository>(); var packageA = PackageUtility.CreatePackage("A"); repository.Object.AddPackage(packageA); var fileSystem = new MockFileSystem(); fileSystem.AddFile("packages.cool.config", @"<?xml version=""1.0"" encoding=""utf-8""?> <packages> <package id=""A"" version=""1.0"" /> </packages>"); var referenceRepository = new PackageReferenceRepository(fileSystem, projectName: "cool", sourceRepository: repository.Object); var packageB = PackageUtility.CreatePackage("B", "2.0-alpha"); // Act referenceRepository.AddPackage(packageB); // Assert Assert.False(fileSystem.FileExists("packages.config")); Assert.True(fileSystem.FileExists("packages.cool.config")); string content = fileSystem.ReadAllText("packages.cool.config"); AssertConfig(@"<?xml version=""1.0"" encoding=""utf-8""?> <packages> <package id=""A"" version=""1.0"" /> <package id=""B"" version=""2.0-alpha"" /> </packages>", content); }
public void AddPackageAddsEntryToPackagesConfigWithTargetFramework() { // Arrange var sharedRepository = new Mock<ISharedPackageRepository>(); string path = null; sharedRepository.Setup(m => m.RegisterRepository(It.IsAny<string>())) .Callback<string>(p => path = p); var fileSystem = new MockFileSystem(); var referenceRepository = new PackageReferenceRepository(fileSystem, projectName: null, sourceRepository: sharedRepository.Object); //var package = PackageUtility.CreatePackage("A"); // Act referenceRepository.AddPackage("A", new SemanticVersion("1.0"), false, new FrameworkName("Silverlight, Version=2.0")); // Assert Assert.Equal(@"C:\MockFileSystem\packages.config", path); Assert.True(fileSystem.FileExists("packages.config")); AssertConfig(@"<?xml version=""1.0"" encoding=""utf-8""?> <packages> <package id=""A"" version=""1.0"" targetFramework=""sl20"" /> </packages>", fileSystem.ReadAllText("packages.config")); }
public void RemovingAndAddingPackageReferenceWithSameIdPreservesDevelopmentFlag() { // Arrange var sharedRepository = new Mock<ISharedPackageRepository>(); var fileSystem = new MockFileSystem(); fileSystem.AddFile("packages.config", @"<?xml version=""1.0"" encoding=""utf-8""?> <packages> <package id=""A"" version=""1.0"" developmentDependency=""false"" /> </packages>"); var referenceRepository = new PackageReferenceRepository(fileSystem, projectName: null, sourceRepository: sharedRepository.Object); var A10 = PackageUtility.CreatePackage("A"); var A20 = PackageUtility.CreatePackage("A", "2.0"); // Act referenceRepository.RemovePackage(A10); referenceRepository.AddPackage(A20); // Assert Assert.True(fileSystem.FileExists("packages.config")); AssertConfig(@"<?xml version=""1.0"" encoding=""utf-8""?> <packages> <package id=""A"" version=""2.0"" developmentDependency=""false"" /> </packages>", fileSystem.ReadAllText("packages.config")); }