public InstallPackage ( IEnumerable |
||
projects | IEnumerable |
|
package | IPackage | |
operations | IEnumerable |
|
ignoreDependencies | bool | |
allowPrereleaseVersions | bool | |
logger | ILogger | |
packageOperationEventListener | IPackageOperationEventListener | |
Résultat | void |
public void InstallPackageWithOperationsExecuteAllOperations() { // Arrange var localRepository = new Mock<MockPackageRepository>() { CallBase = true }.As<ISharedPackageRepository>().Object; var sourceRepository = new MockPackageRepository(); var projectSystem = new MockProjectSystem(); var pathResolver = new DefaultPackagePathResolver(projectSystem); var projectManager = new ProjectManager(localRepository, pathResolver, new MockProjectSystem(), new MockPackageRepository()); var packageManager = new VsPackageManager(TestUtils.GetSolutionManager(), sourceRepository, projectSystem, localRepository, new Mock<IRecentPackageRepository>().Object); var package = PackageUtility.CreatePackage("foo", "1.0", new[] { "hello" }, dependencies: new PackageDependency[] { new PackageDependency("bar") }); sourceRepository.AddPackage(package); var package2 = PackageUtility.CreatePackage("bar", "2.0", new[] { "world" }); sourceRepository.AddPackage(package2); var package3 = PackageUtility.CreatePackage("awesome", "1.0", new[] { "candy" }); localRepository.AddPackage(package3); var operations = new PackageOperation[] { new PackageOperation(package, PackageAction.Install), new PackageOperation(package2, PackageAction.Install), new PackageOperation(package3, PackageAction.Uninstall) }; // Act packageManager.InstallPackage(projectManager, package, operations, ignoreDependencies: false, logger: NullLogger.Instance); // Assert Assert.IsTrue(packageManager.LocalRepository.Exists(package)); Assert.IsTrue(packageManager.LocalRepository.Exists(package2)); Assert.IsTrue(!packageManager.LocalRepository.Exists(package3)); Assert.IsTrue(projectManager.LocalRepository.Exists(package)); Assert.IsTrue(projectManager.LocalRepository.Exists(package2)); }
public void InstallPackageInstallsIntoProjectAndPackageManager() { // Arrange var localRepository = new Mock<MockPackageRepository>() { CallBase = true }.As<ISharedPackageRepository>().Object; var sourceRepository = new MockPackageRepository(); var projectSystem = new MockProjectSystem(); var pathResolver = new DefaultPackagePathResolver(projectSystem); var projectManager = new ProjectManager(localRepository, pathResolver, new MockProjectSystem(), new MockPackageRepository()); var packageManager = new VsPackageManager(TestUtils.GetSolutionManager(), sourceRepository, projectSystem, localRepository, new Mock<IRecentPackageRepository>().Object); var package = PackageUtility.CreatePackage("foo", "1.0", new[] { "hello" }); sourceRepository.AddPackage(package); // Act packageManager.InstallPackage(projectManager, "foo", new Version("1.0"), ignoreDependencies: false, logger: NullLogger.Instance); // Assert Assert.IsTrue(packageManager.LocalRepository.Exists(package)); Assert.IsTrue(projectManager.LocalRepository.Exists(package)); }
public void InstallPackageInstallsIndirectPrereleaseDependency() { // Arrange var localRepository = new Mock<MockPackageRepository>() { CallBase = true }.As<ISharedPackageRepository>().Object; var sourceRepository = new MockPackageRepository(); var projectSystem = new MockProjectSystem(); var pathResolver = new DefaultPackagePathResolver(projectSystem); var packageManager = new VsPackageManager(TestUtils.GetSolutionManager(), sourceRepository, projectSystem, localRepository, new Mock<IRecentPackageRepository>().Object, new Mock<VsPackageInstallerEvents>().Object); var package = PackageUtility.CreatePackage("foo", "1.0.0", dependencies: new[] { new PackageDependency("bar") }); sourceRepository.AddPackage(package); var versionSpec = VersionUtility.ParseVersionSpec("[0.6, 1.0)"); var package2 = PackageUtility.CreatePackage("bar", "2.0.0", dependencies: new[] { new PackageDependency("qux", versionSpec) }); sourceRepository.AddPackage(package2); var package3A = PackageUtility.CreatePackage("qux", "1.0-alpha"); var package3B = PackageUtility.CreatePackage("qux", "1.0-beta"); var package3 = PackageUtility.CreatePackage("qux", "1.0"); localRepository.AddPackage(package3); localRepository.AddPackage(package3A); localRepository.AddPackage(package3B); // Act packageManager.InstallPackage(package, ignoreDependencies: false, allowPrereleaseVersions: true); // Assert Assert.True(packageManager.LocalRepository.Exists(package)); Assert.True(packageManager.LocalRepository.Exists(package2)); Assert.True(packageManager.LocalRepository.Exists(package3B)); }
public void UpdatePackageUpdatesToTheHighestPackageIfPrereleaseFlagIsSetToTrue() { // Arrange var localRepository = new Mock<MockPackageRepository>() { CallBase = true }.As<ISharedPackageRepository>().Object; var sourceRepository = new MockPackageRepository(); var projectSystem = new MockProjectSystem(); var pathResolver = new DefaultPackagePathResolver(projectSystem); var packageManager = new VsPackageManager(TestUtils.GetSolutionManager(), sourceRepository, projectSystem, localRepository, new Mock<IRecentPackageRepository>().Object, new Mock<VsPackageInstallerEvents>().Object); var package3_10A = PackageUtility.CreatePackage("qux", "1.0-alpha"); var package3_11B = PackageUtility.CreatePackage("qux", "1.1-alpha"); var package3_10 = PackageUtility.CreatePackage("qux", "1.0"); var package3_09 = PackageUtility.CreatePackage("qux", "0.9"); localRepository.AddPackage(package3_10); localRepository.AddPackage(package3_10A); localRepository.AddPackage(package3_11B); localRepository.AddPackage(package3_09); // Act packageManager.InstallPackage(package3_09, ignoreDependencies: false, allowPrereleaseVersions: true); Assert.True(packageManager.LocalRepository.Exists(package3_09)); packageManager.UpdatePackage("qux", updateDependencies: true, allowPrereleaseVersions: true); // Assert Assert.True(packageManager.LocalRepository.Exists(package3_11B)); }
public void InstallPackageDoesNotInstallPackageWithIndirectDependencyThatIsPrerelease() { // Arrange var localRepository = new Mock<MockPackageRepository>() { CallBase = true }.As<ISharedPackageRepository>().Object; var sourceRepository = new MockPackageRepository(); var projectSystem = new MockProjectSystem(); var pathResolver = new DefaultPackagePathResolver(projectSystem); var packageManager = new VsPackageManager(TestUtils.GetSolutionManager(), sourceRepository, projectSystem, localRepository, new Mock<IRecentPackageRepository>().Object, new Mock<VsPackageInstallerEvents>().Object); var package = PackageUtility.CreatePackage("foo", "1.0.0", dependencies: new[] { new PackageDependency("bar") }); sourceRepository.AddPackage(package); var versionSpec = VersionUtility.ParseVersionSpec("[0.6, 1.0)"); var package2 = PackageUtility.CreatePackage("bar", "2.0.0", dependencies: new[] { new PackageDependency("qux", versionSpec) }); sourceRepository.AddPackage(package2); var package3A = PackageUtility.CreatePackage("qux", "1.0-alpha"); var package3B = PackageUtility.CreatePackage("qux", "1.0-beta"); var package3 = PackageUtility.CreatePackage("qux", "1.0"); sourceRepository.AddPackage(package3); sourceRepository.AddPackage(package3A); sourceRepository.AddPackage(package3B); // Act and Assert ExceptionAssert.Throws<InvalidOperationException>(() => packageManager.InstallPackage(package, ignoreDependencies: false, allowPrereleaseVersions: false), "Unable to resolve dependency 'qux (≥ 0.6 && < 1.0)'."); }