Example #1
0
        public void GetAssemblyReferencesReturnsCorrectFiles()
        {
            // Arrange
            var fileSystem = new MockFileSystem();

            AddPackage(fileSystem, "X", "2.0.0-alpha");

            fileSystem.AddFile(@"X.2.0.0-alpha\readme.txt");
            fileSystem.AddFile(@"X.2.0.0-alpha\content\jQuery.js");
            fileSystem.AddFile(@"X.2.0.0-alpha\lib\net45\jQuery.dll");
            fileSystem.AddFile(@"X.2.0.0-alpha\lib\net45\jQuery.resources.dll");
            fileSystem.AddFile(@"X.2.0.0-alpha\lib\net45\jQuery.dll.xml");
            fileSystem.AddFile(@"X.2.0.0-alpha\lib\sl3\nunit.exe");
            fileSystem.AddFile(@"X.2.0.0-alpha\lib\sl3\nunit.winmd");
            fileSystem.AddFile(@"X.2.0.0-alpha\tools\install.ps1");
            fileSystem.AddFile(@"X.2.0.0-alpha\tools\init.ps1");

            var package = new UnzippedPackage(fileSystem, "X.2.0.0-alpha");

            // Act
            IList <IPackageAssemblyReference> files = package.AssemblyReferences.OrderBy(p => p.Path).ToList();

            // Assert
            Assert.Equal(2, files.Count);
            Assert.Equal(@"lib\net45\jQuery.dll", files[0].Path);
            Assert.Equal(@"lib\sl3\nunit.winmd", files[1].Path);
        }
Example #2
0
        public void GetFilesReturnsCorrectFiles()
        {
            // Arrange
            var fileSystem = new MockFileSystem();

            AddPackage(fileSystem, "X", "2.0.0-alpha");

            fileSystem.AddFile(@"X.2.0.0-alpha\readme.txt");
            fileSystem.AddFile(@"X.2.0.0-alpha\content\jQuery.js");
            fileSystem.AddFile(@"X.2.0.0-alpha\lib\net45\jQuery.dll");
            fileSystem.AddFile(@"X.2.0.0-alpha\lib\sl3\nunit.exe");
            fileSystem.AddFile(@"X.2.0.0-alpha\tools\install.ps1");
            fileSystem.AddFile(@"X.2.0.0-alpha\tools\init.ps1");

            var package = new UnzippedPackage(fileSystem, "X.2.0.0-alpha");

            // Act
            IList <IPackageFile> files = package.GetFiles().OrderBy(p => p.Path).ToList();

            // Assert
            Assert.Equal(6, files.Count);
            Assert.Equal(@"content\jQuery.js", files[0].Path);
            Assert.Equal(@"lib\net45\jQuery.dll", files[1].Path);
            Assert.Equal(@"lib\sl3\nunit.exe", files[2].Path);
            Assert.Equal(@"readme.txt", files[3].Path);
            Assert.Equal(@"tools\init.ps1", files[4].Path);
            Assert.Equal(@"tools\install.ps1", files[5].Path);
        }
Example #3
0
        public Task <Stream> OpenNupkgStreamAsync(PackageInfo package)
        {
            var nuspecPath      = _pathResolver.GetManifestFilePath(package.Id, package.Version);
            var unzippedPackage = new UnzippedPackage(_fileSystem, nuspecPath);

            var nupkgPath = _pathResolver.GetPackageFilePath(package.Id, package.Version);

            _report.WriteLine(string.Format("  OPEN {0}", _fileSystem.GetFullPath(nupkgPath)));

            return(Task.FromResult(unzippedPackage.GetStream()));
        }
Example #4
0
        public void GetSupportedFrameworksUsesFrameworkReferenceToDetermineFramework()
        {
            // Arrange
            var fileSystem = new MockFileSystem();

            fileSystem.AddFile(@"X.2.0.0-alpha\X.2.0.0-alpha.nuspec", GetCompleteManifestContent());
            var package = new UnzippedPackage(fileSystem, "X.2.0.0-alpha");

            // Act
            var supportedFramework = package.GetSupportedFrameworks();

            // Assert
            Assert.Equal(new[] { new FrameworkName(".NETFramework,Version=v4.5") }, supportedFramework);
        }
Example #5
0
        public void GetStreamReturnsCorrectContent()
        {
            // Arrange
            var fileSystem = new MockFileSystem();

            AddPackage(fileSystem, "A", "1.0.0");

            var package = new UnzippedPackage(fileSystem, "A.1.0.0");

            // Act
            Stream stream = package.GetStream();

            // Assert
            Assert.NotNull(stream);
            string content = stream.ReadToEnd();

            Assert.Equal("aaa", content);
        }
Example #6
0
        public void GetFilesDoesNotIncludeManifestFile()
        {
            // Arrange
            var fileSystem = new MockFileSystem();

            AddPackage(fileSystem, "X", "2.0.0-alpha");

            fileSystem.AddFile(@"X.2.0.0-alpha\readme.txt");
            fileSystem.AddFile(@"X.2.0.0-alpha\y.nuspec");

            var package = new UnzippedPackage(fileSystem, "X.2.0.0-alpha");

            // Act
            IList <IPackageFile> files = package.GetFiles().OrderBy(p => p.Path).ToList();

            // Assert
            Assert.Equal(1, files.Count);
            Assert.Equal(@"readme.txt", files[0].Path);
        }
Example #7
0
        public void EnsureManifestIsParsedCorrectly()
        {
            // Arrange
            var fileSystem = new MockFileSystem();

            fileSystem.AddFile("Jumpo.1.0.0.nupkg");
            fileSystem.CreateDirectory("Jumpo.1.0.0");
            fileSystem.AddFile("Jumpo.1.0.0\\Jumpo.1.0.0.nuspec", GetCompleteManifestContent());

            // Act
            var package = new UnzippedPackage(fileSystem, "Jumpo.1.0.0");

            // Assert
            Assert.Equal("Jumpo", package.Id);
            Assert.Equal(new SemanticVersion("1.0.0"), package.Version);
            Assert.Equal(1, package.Authors.Count());
            Assert.Equal("dotnetjunky", package.Authors.ElementAt(0));
            Assert.Equal(1, package.Owners.Count());
            Assert.Equal("Outercurve", package.Owners.ElementAt(0));
            Assert.Equal("http://www.nuget.com/license", package.LicenseUrl.ToString());
            Assert.Equal("http://www.nuget.com/", package.ProjectUrl.ToString());
            Assert.Equal("http://www.outercurve.com/", package.IconUrl.ToString());
            Assert.Equal(1, package.DependencySets.Count());
            Assert.Equal("bing", package.DependencySets.ElementAt(0).Dependencies.ElementAt(0).Id);
            Assert.Equal(new SemanticVersion("1.0-RC"), package.DependencySets.ElementAt(0).Dependencies.ElementAt(0).VersionSpec.MinVersion);
            Assert.True(package.DependencySets.ElementAt(0).Dependencies.ElementAt(0).VersionSpec.IsMinInclusive);
            Assert.Equal(null, package.DependencySets.ElementAt(0).Dependencies.ElementAt(0).VersionSpec.MaxVersion);
            Assert.False(package.DependencySets.ElementAt(0).Dependencies.ElementAt(0).VersionSpec.IsMaxInclusive);
            Assert.Equal("Jumpo Jet", package.Title);
            Assert.True(package.RequireLicenseAcceptance);
            Assert.Equal("My package description.", package.Description);
            Assert.Equal("This is jumpo package.", package.Summary);
            Assert.Equal("New jumpo.", package.ReleaseNotes);
            Assert.Equal("ar-EG", package.Language);
            Assert.Equal(" haha void ", package.Tags);
            Assert.Equal(1, package.FrameworkAssemblies.Count());
            Assert.Equal("System", package.FrameworkAssemblies.ElementAt(0).AssemblyName);
            Assert.Equal(1, package.FrameworkAssemblies.ElementAt(0).SupportedFrameworks.Count());
            Assert.Equal(
                new FrameworkName(".NETFramework", new Version("4.5")),
                package.FrameworkAssemblies.ElementAt(0).SupportedFrameworks.ElementAt(0));
        }
        public void EnsureManifestIsParsedCorrectly()
        {
            // Arrange
            var fileSystem = new MockFileSystem();
            fileSystem.AddFile("Jumpo.1.0.0.nupkg");
            fileSystem.CreateDirectory("Jumpo.1.0.0");
            fileSystem.AddFile("Jumpo.1.0.0\\Jumpo.1.0.0.nuspec", GetCompleteManifestContent());

            // Act
            var package = new UnzippedPackage(fileSystem, "Jumpo.1.0.0");

            // Assert
            Assert.Equal("Jumpo", package.Id);
            Assert.Equal(new SemanticVersion("1.0.0"), package.Version);
            Assert.Equal(1, package.Authors.Count());
            Assert.Equal("dotnetjunky", package.Authors.ElementAt(0));
            Assert.Equal(1, package.Owners.Count());
            Assert.Equal("Outercurve", package.Owners.ElementAt(0));
            Assert.Equal("http://www.nuget.com/license", package.LicenseUrl.ToString());
            Assert.Equal("http://www.nuget.com/", package.ProjectUrl.ToString());
            Assert.Equal("http://www.outercurve.com/", package.IconUrl.ToString());
            Assert.Equal(1, package.DependencySets.Count());
            Assert.Equal("bing", package.DependencySets.ElementAt(0).Dependencies.ElementAt(0).Id);
            Assert.Equal(new SemanticVersion("1.0-RC"), package.DependencySets.ElementAt(0).Dependencies.ElementAt(0).VersionSpec.MinVersion);
            Assert.True(package.DependencySets.ElementAt(0).Dependencies.ElementAt(0).VersionSpec.IsMinInclusive);
            Assert.Equal(null, package.DependencySets.ElementAt(0).Dependencies.ElementAt(0).VersionSpec.MaxVersion);
            Assert.False(package.DependencySets.ElementAt(0).Dependencies.ElementAt(0).VersionSpec.IsMaxInclusive);
            Assert.Equal("Jumpo Jet", package.Title);
            Assert.True(package.RequireLicenseAcceptance);
            Assert.Equal("My package description.", package.Description);
            Assert.Equal("This is jumpo package.", package.Summary);
            Assert.Equal("New jumpo.", package.ReleaseNotes);
            Assert.Equal("ar-EG", package.Language);
            Assert.Equal(" haha void ", package.Tags);
            Assert.Equal(1, package.FrameworkAssemblies.Count());
            Assert.Equal("System", package.FrameworkAssemblies.ElementAt(0).AssemblyName);
            Assert.Equal(1, package.FrameworkAssemblies.ElementAt(0).SupportedFrameworks.Count());
            Assert.Equal(
                new FrameworkName(".NETFramework", new Version("4.5")), 
                package.FrameworkAssemblies.ElementAt(0).SupportedFrameworks.ElementAt(0));
        }
        public void GetStreamReturnsCorrectContentWhenNupkgFileIsNestedInsidePackageFolder()
        {
            // Arrange
            var fileSystem = new MockFileSystem();

            fileSystem.CreateDirectory("A.1.0.0");
            fileSystem.AddFile("A.1.0.0\\A.1.0.0.nupkg", "aaa");
            fileSystem.AddFile(
                "A.1.0.0\\A.1.0.0.nuspec",
                CreatePackageManifestContent("A", "1.0.0"));

            var package = new UnzippedPackage(fileSystem, "A.1.0.0");

            // Act
            Stream stream = package.GetStream();

            // Assert
            Assert.NotNull(stream);
            string content = stream.ReadToEnd();

            Assert.Equal("aaa", content);
        }
Example #10
0
        public void GetSupportedFrameworksUsesFilesToDetermineFramework()
        {
            // Arrange
            var fileSystem = new MockFileSystem();

            fileSystem.AddFile(@"X.2.0.0-alpha\readme.txt");
            fileSystem.AddFile(@"X.2.0.0-alpha\content\jQuery.js");
            fileSystem.AddFile(@"X.2.0.0-alpha\lib\net45\jQuery.dll");
            fileSystem.AddFile(@"X.2.0.0-alpha\lib\net45\jQuery.resources.dll");
            fileSystem.AddFile(@"X.2.0.0-alpha\lib\net45\jQuery.dll.xml");
            fileSystem.AddFile(@"X.2.0.0-alpha\lib\sl3\nunit.exe");
            fileSystem.AddFile(@"X.2.0.0-alpha\lib\sl3\nunit.winmd");
            fileSystem.AddFile(@"X.2.0.0-alpha\tools\install.ps1");
            fileSystem.AddFile(@"X.2.0.0-alpha\tools\init.ps1");

            AddPackage(fileSystem, "X", "2.0.0-alpha");
            var package = new UnzippedPackage(fileSystem, "X.2.0.0-alpha");

            // Act
            var supportedFramework = package.GetSupportedFrameworks();

            // Assert
            Assert.Equal(new[] { new FrameworkName(".NETFramework,Version=v4.5"), new FrameworkName("Silverlight,Version=v3.0") }, supportedFramework);
        }
        public void GetStreamReturnsCorrectContent()
        {
            // Arrange
            var fileSystem = new MockFileSystem();
            AddPackage(fileSystem, "A", "1.0.0");

            var package = new UnzippedPackage(fileSystem, "A.1.0.0");

            // Act
            Stream stream = package.GetStream();

            // Assert
            Assert.NotNull(stream);
            string content = stream.ReadToEnd();
            Assert.Equal("aaa", content);
        }
        public void GetSupportedFrameworksUsesFrameworkReferenceToDetermineFramework()
        {
            // Arrange
            var fileSystem = new MockFileSystem();
            fileSystem.AddFile(@"X.2.0.0-alpha\X.2.0.0-alpha.nuspec", GetCompleteManifestContent());
            var package = new UnzippedPackage(fileSystem, "X.2.0.0-alpha");

            // Act
            var supportedFramework = package.GetSupportedFrameworks();

            // Assert
            Assert.Equal(new[] { new FrameworkName(".NETFramework,Version=v4.5") }, supportedFramework);
        }
        public void GetSupportedFrameworksUsesFilesToDetermineFramework()
        {
            // Arrange
            var fileSystem = new MockFileSystem();
            fileSystem.AddFile(@"X.2.0.0-alpha\readme.txt");
            fileSystem.AddFile(@"X.2.0.0-alpha\content\jQuery.js");
            fileSystem.AddFile(@"X.2.0.0-alpha\lib\net45\jQuery.dll");
            fileSystem.AddFile(@"X.2.0.0-alpha\lib\net45\jQuery.resources.dll");
            fileSystem.AddFile(@"X.2.0.0-alpha\lib\net45\jQuery.dll.xml");
            fileSystem.AddFile(@"X.2.0.0-alpha\lib\sl3\nunit.exe");
            fileSystem.AddFile(@"X.2.0.0-alpha\lib\sl3\nunit.winmd");
            fileSystem.AddFile(@"X.2.0.0-alpha\tools\install.ps1");
            fileSystem.AddFile(@"X.2.0.0-alpha\tools\init.ps1");

            AddPackage(fileSystem, "X", "2.0.0-alpha");
            var package = new UnzippedPackage(fileSystem, "X.2.0.0-alpha");

            // Act
            var supportedFramework = package.GetSupportedFrameworks();

            // Assert
            Assert.Equal(new[] { new FrameworkName(".NETFramework,Version=v4.5"), new FrameworkName("Silverlight,Version=v3.0") }, supportedFramework);
        }
        public void GetAssemblyReferencesReturnsCorrectFiles()
        {
            // Arrange
            var fileSystem = new MockFileSystem();
            AddPackage(fileSystem, "X", "2.0.0-alpha");

            fileSystem.AddFile(@"X.2.0.0-alpha\readme.txt");
            fileSystem.AddFile(@"X.2.0.0-alpha\content\jQuery.js");
            fileSystem.AddFile(@"X.2.0.0-alpha\lib\net45\jQuery.dll");
            fileSystem.AddFile(@"X.2.0.0-alpha\lib\net45\jQuery.resources.dll");
            fileSystem.AddFile(@"X.2.0.0-alpha\lib\net45\jQuery.dll.xml");
            fileSystem.AddFile(@"X.2.0.0-alpha\lib\sl3\nunit.exe");
            fileSystem.AddFile(@"X.2.0.0-alpha\lib\sl3\nunit.winmd");
            fileSystem.AddFile(@"X.2.0.0-alpha\tools\install.ps1");
            fileSystem.AddFile(@"X.2.0.0-alpha\tools\init.ps1");

            var package = new UnzippedPackage(fileSystem, "X.2.0.0-alpha");

            // Act
            IList<IPackageAssemblyReference> files = package.AssemblyReferences.OrderBy(p => p.Path).ToList();

            // Assert
            Assert.Equal(2, files.Count);
            Assert.Equal(@"lib\net45\jQuery.dll", files[0].Path);
            Assert.Equal(@"lib\sl3\nunit.winmd", files[1].Path);
        }
        public void GetFilesReturnsCorrectFiles()
        {
            // Arrange
            var fileSystem = new MockFileSystem();
            AddPackage(fileSystem, "X", "2.0.0-alpha");

            fileSystem.AddFile(@"X.2.0.0-alpha\readme.txt");
            fileSystem.AddFile(@"X.2.0.0-alpha\content\jQuery.js");
            fileSystem.AddFile(@"X.2.0.0-alpha\lib\net45\jQuery.dll");
            fileSystem.AddFile(@"X.2.0.0-alpha\lib\sl3\nunit.exe");
            fileSystem.AddFile(@"X.2.0.0-alpha\tools\install.ps1");
            fileSystem.AddFile(@"X.2.0.0-alpha\tools\init.ps1");

            var package = new UnzippedPackage(fileSystem, "X.2.0.0-alpha");

            // Act
            IList<IPackageFile> files = package.GetFiles().OrderBy(p => p.Path).ToList();

            // Assert
            Assert.Equal(6, files.Count);
            Assert.Equal(@"content\jQuery.js", files[0].Path);
            Assert.Equal(@"lib\net45\jQuery.dll", files[1].Path);
            Assert.Equal(@"lib\sl3\nunit.exe", files[2].Path);
            Assert.Equal(@"readme.txt", files[3].Path);
            Assert.Equal(@"tools\init.ps1", files[4].Path);
            Assert.Equal(@"tools\install.ps1", files[5].Path);
        }
Example #16
0
        public void GetFilesDoesNotIncludeManifestFile()
        {
            // Arrange
            var fileSystem = new MockFileSystem();
            AddPackage(fileSystem, "X", "2.0.0-alpha");

            fileSystem.AddFile(@"X.2.0.0-alpha\readme.txt");
            fileSystem.AddFile(@"X.2.0.0-alpha\y.nuspec");

            var package = new UnzippedPackage(fileSystem, "X.2.0.0-alpha");

            // Act
            IList<IPackageFile> files = package.GetFiles().OrderBy(p => p.Path).ToList();

            // Assert
            Assert.Equal(1, files.Count);
            Assert.Equal(@"readme.txt", files[0].Path);
        }
Example #17
0
        public void GetStreamReturnsCorrectContentWhenNupkgFileIsNestedInsidePackageFolder()
        {
            // Arrange
            var fileSystem = new MockFileSystem();
            fileSystem.CreateDirectory("A.1.0.0");
            fileSystem.AddFile("A.1.0.0\\A.1.0.0.nupkg", "aaa");
            fileSystem.AddFile(
                "A.1.0.0\\A.1.0.0.nuspec",
                CreatePackageManifestContent("A", "1.0.0"));

            var package = new UnzippedPackage(fileSystem, "A.1.0.0");

            // Act
            Stream stream = package.GetStream();

            // Assert
            Assert.NotNull(stream);
            string content = stream.ReadToEnd();
            Assert.Equal("aaa", content);
        }