Exemplo n.º 1
0
        public void NupkgLocalPackageLoader_GetPackageMetadataFromPath_NupkgDoesNotExist()
        {
            // Arrange
            var mockFileSystem = new Mock <IFileSystem>(MockBehavior.Strict);

            // Act
            var loader = new NupkgLocalPackageLoader(mockFileSystem.Object, null);
            var returnedPackageMetadata = loader.GetPackageMetadataFromPath(null, null);

            // Assert
            Assert.IsNull(returnedPackageMetadata);
            mockFileSystem.VerifyAll();

            returnedPackageMetadata = loader.GetPackageMetadataFromPath(string.Empty, null);

            // Assert
            Assert.IsNull(returnedPackageMetadata);
            mockFileSystem.VerifyAll();

            // Arrange
            mockFileSystem.Setup(x => x.FileExists(@"d:\myfolder\sample.nupkg")).Returns(false);

            // Act
            returnedPackageMetadata = loader.GetPackageMetadataFromPath(@"d:\myfolder\sample.nupkg", null);

            // Assert
            Assert.IsNull(returnedPackageMetadata);
            mockFileSystem.VerifyAll();
        }
        public void NupkgLocalPackageLoader_GetPackages_NewOnly()
        {
            // Arrange
            var indexedPackages = new HashSet<string>();
            var sourceDirectories = new Dictionary<string, string[]> {
                { @"d:\somefolder\SomeSubFolder", new [] { @"d:\somefolder\SomeSubFolder\dpackage1.nupkg", @"d:\somefolder\SomeSubFolder\dpackage2.nupkg"} },
                { @"c:\Program Files\SomeSubFolder", new [] { @"c:\Program Files\SomeSubFolder\cpackage1.nupkg", @"c:\Program Files\SomeSubFolder\cpackage2.nupkg" } }
            };

            var mockFileSystem = new Mock<IFileSystem>(MockBehavior.Strict);
            foreach (var dirKvp in sourceDirectories)
            {
                mockFileSystem.Setup(x => x.DirectoryExists(dirKvp.Key)).Returns(true);
                mockFileSystem.Setup(x => x.DirectoryGetFiles(dirKvp.Key, "*.nupkg", SearchOption.AllDirectories)).Returns(dirKvp.Value);
            }

            mockFileSystem.Setup(x => x.FileGetLastWriteTime(@"d:\somefolder\SomeSubFolder\dpackage1.nupkg")).Returns(DateTime.Now.AddDays(1));
            mockFileSystem.Setup(x => x.FileGetLastWriteTime(@"d:\somefolder\SomeSubFolder\dpackage2.nupkg")).Returns(DateTime.Now.AddDays(-1));
            mockFileSystem.Setup(x => x.FileGetLastWriteTime(@"c:\Program Files\SomeSubFolder\cpackage1.nupkg")).Returns(DateTime.Now.AddDays(-1));
            mockFileSystem.Setup(x => x.FileGetLastWriteTime(@"c:\Program Files\SomeSubFolder\cpackage2.nupkg")).Returns(DateTime.Now.AddDays(1));

            // Act           
            var loader = new NupkgLocalPackageLoader(mockFileSystem.Object, null);
            var returnedPackages = loader.GetPackages(sourceDirectories.Keys,
                                                      indexedPackages,
                                                      newOnly: true,
                                                      lastIndexModifiedTime: DateTime.Now,
                                                      cancellationToken: CancellationToken.None).ToList();
            // Assert
            Assert.AreEqual(2, returnedPackages.Count());
            Assert.AreEqual(@"d:\somefolder\SomeSubFolder\dpackage1.nupkg", returnedPackages[0]);
            Assert.AreEqual(@"c:\Program Files\SomeSubFolder\cpackage2.nupkg", returnedPackages[1]);
            mockFileSystem.VerifyAll();
        }
Exemplo n.º 3
0
        public void NupkgLocalPackageLoader_GetPackages_AlreadyIndexed()
        {
            // Arrange
            var indexedPackages = new HashSet <string>(StringComparer.OrdinalIgnoreCase);

            indexedPackages.Add(@"c:\Program Files\SomeSubFolder\cpackage1.nupkg");
            var sourceDirectories = new Dictionary <string, string[]> {
                { @"d:\somefolder\SomeSubFolder", new [] { @"d:\somefolder\SomeSubFolder\dpackage1.nupkg", @"d:\somefolder\SomeSubFolder\dpackage2.nupkg" } },
                { @"c:\Program Files\SomeSubFolder", new [] { @"c:\Program Files\SomeSubFolder\cpackage1.nupkg", @"c:\Program Files\SomeSubFolder\cpackage2.nupkg" } }
            };

            var mockFileSystem = new Mock <IFileSystem>(MockBehavior.Strict);

            foreach (var dirKvp in sourceDirectories)
            {
                mockFileSystem.Setup(x => x.DirectoryExists(dirKvp.Key)).Returns(true);
                mockFileSystem.Setup(x => x.DirectoryGetFiles(dirKvp.Key, "*.nupkg", SearchOption.AllDirectories)).Returns(dirKvp.Value);
            }


            // Act
            var loader           = new NupkgLocalPackageLoader(mockFileSystem.Object, null);
            var returnedPackages = loader.GetPackages(sourceDirectories.Keys,
                                                      indexedPackages,
                                                      newOnly: false,
                                                      lastIndexModifiedTime: DateTime.Now,
                                                      cancellationToken: CancellationToken.None);

            // Assert
            Assert.AreEqual(3, returnedPackages.Count());
            mockFileSystem.VerifyAll();
        }
Exemplo n.º 4
0
        public void NupkgLocalPackageLoader_GetPackageMetadataFromPath_ShouldNotInclude()
        {
            // Arrange
            var mock = new MockGenerator()
                       .MockOpenExistingPackage()
                       .MockPackageId();

            // Act
            var loader = new NupkgLocalPackageLoader(mock.FileSystem.Object, mock.NugetHelper.Object);
            var returnedPackageMetadata = loader.GetPackageMetadataFromPath(mock.NupkgFile, (p) => { return(false); });

            // Assert
            Assert.IsNull(returnedPackageMetadata);
            mock.VerifyAll();
        }
Exemplo n.º 5
0
        public void NupkgLocalPackageLoader_GetPackageMetadataFromPath_LibToolsAndContent()
        {
            // Arrange
            var mock = new MockGenerator()
                       .MockOpenExistingPackage()
                       .MockToolsAndContentDlls();

            PackageMetadata expectedPackageMetadata = mock.GetExpectedPackageMetadata();

            // Act
            var loader = new NupkgLocalPackageLoader(mock.FileSystem.Object, mock.NugetHelper.Object);
            var returnedPackageMetadata = loader.GetPackageMetadataFromPath(mock.NupkgFile, null);

            // Assert
            Assert.IsTrue(expectedPackageMetadata.Equals(returnedPackageMetadata));
            mock.VerifyAll();
        }
Exemplo n.º 6
0
        public void NupkgLocalPackageLoader_DiscoverPackages_NupkgNotFound()
        {
            // Arrange
            var mock = new MockGenerator()
                       .MockGetPackages()
                       .MockNupkgNotFound();

            // Act
            var loader = new NupkgLocalPackageLoader(mock.FileSystem.Object, mock.NugetHelper.Object);
            var returnedPackageMetadata = loader.DiscoverPackages(new[] { mock.SourceDirectory },
                                                                  new HashSet <string>(),
                                                                  newOnly: false,
                                                                  lastIndexModifiedTime: DateTime.Now,
                                                                  cancellationToken: CancellationToken.None,
                                                                  shouldIncludeFunc: null);

            // Assert
            Assert.IsFalse(returnedPackageMetadata.Any());
            mock.VerifyAll();
        }
Exemplo n.º 7
0
        public void NupkgLocalPackageLoader_GetPackages_NoSourceDirsExist()
        {
            // Arrange
            var indexedPackages   = new HashSet <string>();
            var sourceDirectories = new List <string>();
            var mockFileSystem    = new Mock <IFileSystem>(MockBehavior.Strict);

            // Act
            var loader           = new NupkgLocalPackageLoader(mockFileSystem.Object, null);
            var returnedPackages = loader.GetPackages(sourceDirectories,
                                                      indexedPackages,
                                                      newOnly: false,
                                                      lastIndexModifiedTime: DateTime.Now,
                                                      cancellationToken: CancellationToken.None);

            // Assert
            Assert.IsFalse(returnedPackages.Any());
            mockFileSystem.VerifyAll();

            // Arrange
            sourceDirectories = new List <string> {
                @"d:\somefolder\SomeSubFolder",
                @"c:\Program Files\SomeSubFolder"
            };
            foreach (var dir in sourceDirectories)
            {
                mockFileSystem.Setup(x => x.DirectoryExists(dir)).Returns(false);
            }

            // Act
            returnedPackages = loader.GetPackages(sourceDirectories,
                                                  indexedPackages,
                                                  newOnly: false,
                                                  lastIndexModifiedTime: DateTime.Now,
                                                  cancellationToken: CancellationToken.None);

            // Assert
            Assert.IsFalse(returnedPackages.Any());
            mockFileSystem.VerifyAll();
        }
        public void NupkgLocalPackageLoader_GetPackages_NoSourceDirsExist()
        {
            // Arrange
            var indexedPackages = new HashSet<string>();
            var sourceDirectories = new List<string>();
            var mockFileSystem = new Mock<IFileSystem>(MockBehavior.Strict);

            // Act           
            var loader = new NupkgLocalPackageLoader(mockFileSystem.Object, null);
            var returnedPackages = loader.GetPackages(sourceDirectories,
                                                      indexedPackages,
                                                      newOnly: false,
                                                      lastIndexModifiedTime: DateTime.Now,
                                                      cancellationToken: CancellationToken.None);
            // Assert
            Assert.IsFalse(returnedPackages.Any());
            mockFileSystem.VerifyAll();

            // Arrange 
            sourceDirectories = new List<string> {
                @"d:\somefolder\SomeSubFolder",
                @"c:\Program Files\SomeSubFolder"
            };
            foreach (var dir in sourceDirectories)
            {
                mockFileSystem.Setup(x => x.DirectoryExists(dir)).Returns(false);
            }

            // Act
            returnedPackages = loader.GetPackages(sourceDirectories,
                                                      indexedPackages,
                                                      newOnly: false,
                                                      lastIndexModifiedTime: DateTime.Now,
                                                      cancellationToken: CancellationToken.None);

            // Assert
            Assert.IsFalse(returnedPackages.Any());
            mockFileSystem.VerifyAll();
        }
Exemplo n.º 9
0
        public void NupkgLocalPackageLoader_DiscoverPackages_ValidPackage()
        {
            // Arrange
            var mock = new MockGenerator()
                       .MockGetPackages()
                       .MockOpenExistingPackage()
                       .MockPackageInfo()
                       .MockLibDllInTheSameFolderAsNupkg();

            PackageMetadata expectedPackageMetadata = mock.GetExpectedPackageMetadata();

            // Act
            var loader = new NupkgLocalPackageLoader(mock.FileSystem.Object, mock.NugetHelper.Object);
            var returnedPackageMetadata = loader.DiscoverPackages(new[] { mock.SourceDirectory },
                                                                  new HashSet <string>(),
                                                                  newOnly: false,
                                                                  lastIndexModifiedTime: DateTime.Now,
                                                                  cancellationToken: CancellationToken.None,
                                                                  shouldIncludeFunc: null);

            // Assert
            Assert.IsTrue(expectedPackageMetadata.Equals(returnedPackageMetadata.First()));
            mock.VerifyAll();
        }
Exemplo n.º 10
0
        public void NupkgLocalPackageLoader_GetPackages_NewOnly()
        {
            // Arrange
            var indexedPackages   = new HashSet <string>();
            var sourceDirectories = new Dictionary <string, string[]> {
                { @"d:\somefolder\SomeSubFolder", new [] { @"d:\somefolder\SomeSubFolder\dpackage1.nuspec", @"d:\somefolder\SomeSubFolder\dpackage2.nuspec" } },
                { @"c:\Program Files\SomeSubFolder", new [] { @"c:\Program Files\SomeSubFolder\cpackage1.nuspec", @"c:\Program Files\SomeSubFolder\cpackage2.nuspec" } }
            };

            var mockFileSystem = new Mock <IFileSystem>(MockBehavior.Strict);

            foreach (var dirKvp in sourceDirectories)
            {
                mockFileSystem.Setup(x => x.DirectoryExists(dirKvp.Key)).Returns(true);
                mockFileSystem.Setup(x => x.DirectoryGetFiles(dirKvp.Key, "*.nuspec", SearchOption.AllDirectories)).Returns(dirKvp.Value);
            }

            mockFileSystem.Setup(x => x.FileGetLastWriteTime(@"d:\somefolder\SomeSubFolder\dpackage1.nuspec")).Returns(DateTime.Now.AddDays(1));
            mockFileSystem.Setup(x => x.FileGetLastWriteTime(@"d:\somefolder\SomeSubFolder\dpackage2.nuspec")).Returns(DateTime.Now.AddDays(-1));
            mockFileSystem.Setup(x => x.FileGetLastWriteTime(@"c:\Program Files\SomeSubFolder\cpackage1.nuspec")).Returns(DateTime.Now.AddDays(-1));
            mockFileSystem.Setup(x => x.FileGetLastWriteTime(@"c:\Program Files\SomeSubFolder\cpackage2.nuspec")).Returns(DateTime.Now.AddDays(1));

            // Act
            var loader           = new NupkgLocalPackageLoader(mockFileSystem.Object, null);
            var returnedPackages = loader.GetPackages(sourceDirectories.Keys,
                                                      indexedPackages,
                                                      newOnly: true,
                                                      lastIndexModifiedTime: DateTime.Now,
                                                      cancellationToken: CancellationToken.None).ToList();

            // Assert
            Assert.AreEqual(2, returnedPackages.Count());
            Assert.AreEqual(@"d:\somefolder\SomeSubFolder\dpackage1.nuspec", returnedPackages[0]);
            Assert.AreEqual(@"c:\Program Files\SomeSubFolder\cpackage2.nuspec", returnedPackages[1]);
            mockFileSystem.VerifyAll();
        }
        public void NupkgLocalPackageLoader_DiscoverPackages_NupkgNotFound()
        {
            // Arrange 
            var mock = new MockGenerator()
                           .MockGetPackages()
                           .MockNupkgNotFound();

            // Act
            var loader = new NupkgLocalPackageLoader(mock.FileSystem.Object, mock.NugetHelper.Object);
            var returnedPackageMetadata = loader.DiscoverPackages(new[] { mock.SourceDirectory },
                                                                 new HashSet<string>(),
                                                                 newOnly: false,
                                                                 lastIndexModifiedTime: DateTime.Now,
                                                                 cancellationToken: CancellationToken.None,
                                                                 shouldIncludeFunc: null);

            // Assert
            Assert.IsFalse(returnedPackageMetadata.Any());
            mock.VerifyAll();
        }
        public void NupkgLocalPackageLoader_DiscoverPackages_ValidPackage()
        {
            // Arrange 
            var mock = new MockGenerator()
                           .MockGetPackages()
                           .MockOpenExistingPackage()
                           .MockPackageInfo()
                           .MockLibDllInTheSameFolderAsNupkg();

            PackageMetadata expectedPackageMetadata = mock.GetExpectedPackageMetadata();

            // Act
            var loader = new NupkgLocalPackageLoader(mock.FileSystem.Object, mock.NugetHelper.Object);
            var returnedPackageMetadata = loader.DiscoverPackages(new[] { mock.SourceDirectory },
                                                                 new HashSet<string>(),
                                                                 newOnly: false,
                                                                 lastIndexModifiedTime: DateTime.Now,
                                                                 cancellationToken: CancellationToken.None,
                                                                 shouldIncludeFunc: null);

            // Assert
            Assert.IsTrue(expectedPackageMetadata.Equals(returnedPackageMetadata.First()));
            mock.VerifyAll();
        }
        public void NupkgLocalPackageLoader_GetPackageMetadataFromPath_LibExplicitReferences()
        {
            // Arrange 
            var mock = new MockGenerator()
                           .MockOpenExistingPackage()
                           .MockPackageInfo()
                           .MockLibExplicitReferencesDll();

            PackageMetadata expectedPackageMetadata = mock.GetExpectedPackageMetadata();

            // Act
            var loader = new NupkgLocalPackageLoader(mock.FileSystem.Object, mock.NugetHelper.Object);
            var returnedPackageMetadata = loader.GetPackageMetadataFromPath(mock.NupkgFile, null);

            // Assert
            Assert.IsTrue(expectedPackageMetadata.Equals(returnedPackageMetadata));
            mock.VerifyAll();
        }
        public void NupkgLocalPackageLoader_GetPackageMetadataFromPath_ShouldNotInclude()
        {
            // Arrange
            var mock = new MockGenerator()
                        .MockOpenExistingPackage()
                        .MockPackageId();

            // Act           
            var loader = new NupkgLocalPackageLoader(mock.FileSystem.Object, mock.NugetHelper.Object);         
            var returnedPackageMetadata = loader.GetPackageMetadataFromPath(mock.NupkgFile, (p) => { return false; } );

            // Assert
            Assert.IsNull(returnedPackageMetadata);
            mock.VerifyAll();
        }
        public void NupkgLocalPackageLoader_GetPackageMetadataFromPath_NupkgDoesNotExist()
        {
            // Arrange
            var mockFileSystem = new Mock<IFileSystem>(MockBehavior.Strict);

            // Act           
            var loader = new NupkgLocalPackageLoader(mockFileSystem.Object, null);
            var returnedPackageMetadata = loader.GetPackageMetadataFromPath(null, null);

            // Assert
            Assert.IsNull(returnedPackageMetadata);
            mockFileSystem.VerifyAll();

            returnedPackageMetadata = loader.GetPackageMetadataFromPath(string.Empty, null);

            // Assert
            Assert.IsNull(returnedPackageMetadata);
            mockFileSystem.VerifyAll();

            // Arrange
            mockFileSystem.Setup(x => x.FileExists(@"d:\myfolder\sample.nupkg")).Returns(false);

            // Act           
            returnedPackageMetadata = loader.GetPackageMetadataFromPath(@"d:\myfolder\sample.nupkg", null);

            // Assert
            Assert.IsNull(returnedPackageMetadata);
            mockFileSystem.VerifyAll();
        }