public void AllowInstallingPackageWithToolsFolderDoNotThrow() { // Arrange var projectManager = new Mock <IProjectManager>(); projectManager.Setup(p => p.AddPackageReference("A", new SemanticVersion("1.0"), false, false)).Verifiable(); var webProjectManager = new WebProjectManager(projectManager.Object, @"x:\") { DoNotAddBindingRedirects = true }; var packageFile1 = new Mock <IPackageFile>(); packageFile1.Setup(p => p.Path).Returns("tools\\install.ps1"); var packageFile2 = new Mock <IPackageFile>(); packageFile2.Setup(p => p.Path).Returns("content\\A.txt"); var package = new Mock <IPackage>(); package.Setup(p => p.Id).Returns("A"); package.Setup(p => p.Version).Returns(new SemanticVersion("1.0")); package.Setup(p => p.GetFiles()).Returns(new[] { packageFile1.Object, packageFile2.Object }); // Act webProjectManager.InstallPackage(package.Object, appDomain: null); // Assert projectManager.Verify(); }
public void GetRemotePackagesTest() { // Arrange var siteRoot = "x:\\"; var localRepository = new MockPackageRepository(); var sourceRepository = new MockServiceBasePackageRepository(); var projectSystem = new WebProjectSystem(siteRoot); var pathResolver = new DefaultPackagePathResolver(projectSystem); var projectManager = new ProjectManager(sourceRepository, pathResolver, projectSystem, localRepository); var net40 = new FrameworkName(".NETFramework", new Version("4.0.0.0")); var net45 = new FrameworkName(".NETFramework", new Version("4.5.0.0")); IPackage packageA = PackageFactory.Create("A", new Version("1.0"), null, new FrameworkName[] { net40 }); IPackage packageB = PackageFactory.Create("B", new Version("1.0"), null, new FrameworkName[] { net45 }); IPackage packageC = PackageFactory.Create("C", new Version("1.0")); sourceRepository.AddPackage(packageA); sourceRepository.AddPackage(packageB); sourceRepository.AddPackage(packageC); // NOTE THAT target framework used by WebProjectManager would be .NETFramework, Version=4.0.0.0 var webProjectManager = new WebProjectManager(projectManager, siteRoot); // Act var packages = webProjectManager.GetRemotePackages(null, false).ToList(); // Assert Assert.Equal(2, packages.Count); Assert.Equal(packageA, packages[0]); Assert.Equal(packageC, packages[1]); }
public static List <IPackage> GetInstalledPackagesLatestList(WebProjectManager projectManager, bool filterTags) { var installedPackages = GetInstalledPackages(projectManager, filterTags); var packagesList = installedPackages.GroupBy(x => x.Id); return(packagesList.Select(pack => pack.Single(y => y.Version == pack.Max(x => x.Version))).ToList()); }
public void GetRemotePackagesTest() { // Arrange var siteRoot = "x:\\"; var localRepository = new MockPackageRepository(); var sourceRepository = new MockServiceBasePackageRepository(); var projectSystem = new WebProjectSystem(siteRoot); var pathResolver = new DefaultPackagePathResolver(projectSystem); var projectManager = new ProjectManager(sourceRepository, pathResolver, projectSystem, localRepository); var net40 = new FrameworkName(".NETFramework", new Version("4.0.0.0")); var net45 = new FrameworkName(".NETFramework", new Version("4.5.0.0")); IPackage packageA = PackageFactory.Create("A", new Version("1.0"), null, new FrameworkName[]{ net40 }); IPackage packageB = PackageFactory.Create("B", new Version("1.0"), null, new FrameworkName[]{ net45 }); IPackage packageC = PackageFactory.Create("C", new Version("1.0")); sourceRepository.AddPackage(packageA); sourceRepository.AddPackage(packageB); sourceRepository.AddPackage(packageC); // NOTE THAT target framework used by WebProjectManager would be .NETFramework, Version=4.0.0.0 var webProjectManager = new WebProjectManager(projectManager, siteRoot); // Act var packages = webProjectManager.GetRemotePackages(null, false).ToList(); // Assert Assert.Equal(2, packages.Count); Assert.Equal(packageA, packages[0]); Assert.Equal(packageC, packages[1]); }
private IPackage GetInstalledPackage(WebProjectManager projectManager, string packageId) { var installed = projectManager.GetInstalledPackages(packageId).Where(p => p.Id == packageId); var installedPackages = installed.ToList(); return(installedPackages.FirstOrDefault()); }
public void GetLocalRepositoryReturnsPackagesFolderUnderAppData() { // Arrange var siteRoot = "my-site"; // Act var repositoryFolder = WebProjectManager.GetWebRepositoryDirectory(siteRoot); Assert.Equal(@"my-site\App_Data\packages", repositoryFolder); }
private IPackage GetInstalledPackage(WebProjectManager projectManager, string packageId) { IPackage package = projectManager.GetInstalledPackages(true).Where(d => d.Id == packageId).FirstOrDefault(); if (package == null) { throw new InvalidOperationException(string.Format("The package for package ID '{0}' is not installed in this website. Copy the package into the App_Data/packages folder.", packageId)); } return(package); }
public void GetPackagesReturnsAllItemsWhenNoSearchTermIsIncluded() { // Arrange var repository = GetRepository(); // Act var result = WebProjectManager.GetPackages(repository, String.Empty); // Assert Assert.Equal(3, result.Count()); }
private static IPackage GetInstalledPackage(WebProjectManager projectManager, string packageId) { var package = (from p in projectManager.GetInstalledPackages(packageId) where p.Id == packageId select p).ToList<IPackage>().FirstOrDefault<IPackage>(); if (package == null) { throw new InvalidOperationException(string.Format("The package for package ID '{0}' is not installed in this website. Copy the package into the App_Data/packages folder.", packageId)); } return package; }
private static IPackage GetInstalledPackage(WebProjectManager projectManager, string packageId) { var package = (from p in projectManager.GetInstalledPackages(packageId) where p.Id == packageId select p).ToList <IPackage>().FirstOrDefault <IPackage>(); if (package == null) { throw new InvalidOperationException(string.Format("The package for package ID '{0}' is not installed in this website. Copy the package into the App_Data/packages folder.", packageId)); } return(package); }
public void GetPackagesReturnsItemsContainingSomeSearchToken() { // Arrange var repository = GetRepository(); // Act var result = WebProjectManager.GetPackages(repository, "testing .NET"); var package = result.SingleOrDefault(); // Assert Assert.NotNull(package); Assert.Equal("A", package.Id); }
public void GetPackagesWithLicenseReturnsEmptyResultForPackageThatDoesNotRequireLicenses() { // Arrange var remoteRepository = GetRepository(); var localRepository = new Mock <IPackageRepository>().Object; // Act var package = remoteRepository.GetPackages().Find("A").SingleOrDefault(); var result = WebProjectManager.GetPackagesRequiringLicenseAcceptance(package, localRepository, remoteRepository); // Assert Assert.False(result.Any()); }
public void GetPackagesWithLicenseReturnsAllDependenciesWithRequiresAcceptance() { // Arrange var remoteRepository = GetRepository(); var localRepository = new Mock <IPackageRepository>().Object; // Act var package = remoteRepository.GetPackages().Find("C").SingleOrDefault(); var result = WebProjectManager.GetPackagesRequiringLicenseAcceptance(package, localRepository, remoteRepository); // Assert Assert.Equal(2, result.Count()); Assert.True(result.Any(c => c.Id == "C")); Assert.True(result.Any(c => c.Id == "B")); }
private IEnumerable <IPackage> GetInstalledPackages(WebProjectManager projectManager) { var packages = projectManager.GetInstalledPackages(true); return(packages); }
/// <summary> /// /// </summary> /// <param name="projectManager"></param> /// <param name="packageId"></param> /// <returns></returns> private IPackage GetInstalledPackage(WebProjectManager projectManager, string packageId) { var installed = projectManager.GetInstalledPackages(packageId).Where(p => p.Id == packageId); var installedPackages = installed.ToList(); var package = installedPackages.FirstOrDefault(); if (package == null) { throw new InvalidOperationException(String.Format("The package for package ID '{0}' is not installed in this website. Copy the package into the App_Data/packages folder.", packageId)); } return package; }
public static List <IPackage> GetInstalledPackages(WebProjectManager projectManager, bool filterTags) { var packages = projectManager.GetInstalledPackages(filterTags).ToList(); return(packages); }
public static List <IPackage> GetAvailablePackages(WebProjectManager projectManager) { var packages = projectManager.GetRemotePackages().ToList(); return(packages); }
public static List <IPackage> GetAvailablePackagesLatestList(WebProjectManager projectManager) { var availablePackages = GetAvailablePackages(projectManager); return(availablePackages.GroupBy(x => x.Id).Select(pack => pack.Single(y => y.Version == pack.Max(x => x.Version))).ToList()); }