public void PackageAddAndRemovalOperationsAreDeferredToUnderlyingExpandedPackageRepository() { // Arrange var fileSystem = new MockFileSystem(); fileSystem.AddFile(Path.Combine("Foo", "1.0.0", "Foo.1.0.0.nupkg")); fileSystem.AddFile(Path.Combine("Foo", "1.0.0", "Foo.nuspec")); var package = GetPackage(); var repository = new LazyLocalPackageRepository(fileSystem); // Act - 1 repository.AddPackage(package); // Assert - 1 var reader = Manifest.ReadFrom(fileSystem.OpenFile(@"MyPackage\1.0.0-beta2\MyPackage.nuspec"), validateSchema: true); Assert.Equal("MyPackage", reader.Metadata.Id); Assert.Equal("1.0.0-beta2", reader.Metadata.Version); Assert.True(package.GetStream().ContentEquals( fileSystem.OpenFile(Path.Combine("MyPackage", "1.0.0-beta2", "MyPackage.1.0.0-beta2.nupkg")))); // Act - 2 repository.RemovePackage(package); // Assert - 2 var deleted = Assert.Single(fileSystem.Deleted); Assert.Equal(Path.Combine("MyPackage", "1.0.0-beta2"), deleted); }
public void PackageAddAndRemovalOperationsAreDeferredToUnderlyingLocalPackageRepository() { // Arrange var fileSystem = new MockFileSystem(); var package = GetPackage(); var repository = new LazyLocalPackageRepository(fileSystem); var expectedPackagePath = Path.Combine("MyPackage.1.0.0-beta2", "MyPackage.1.0.0-beta2.nupkg"); // Act - 1 repository.AddPackage(package); // Assert - 1 Assert.True(package.GetStream().ContentEquals(fileSystem.OpenFile(expectedPackagePath))); // Act - 2 repository.RemovePackage(package); // Assert - 2 Assert.Contains(expectedPackagePath, fileSystem.Deleted); Assert.Contains("MyPackage.1.0.0-beta2", fileSystem.Deleted); }