public void OldVersionOfPackageUninstalled() { var oldPackage = new MockPackage(); var package = new MockPackage { Version = new SemanticVersion("2.0") }; var mockRepository = new MockPackageRepository(); mockRepository.AddPackage(oldPackage); var mockPackageMan = MockGenerator.CreateMockPackageManager(mockRepository, mockRepository); mockPackageMan.Setup(packMan => packMan.UninstallPackage(oldPackage, It.IsAny <bool>(), It.IsAny <bool>())) .Verifiable(); var mockProjectMan = MockGenerator.CreateMockProjectManager(mockRepository, mockRepository); Dependencies.NuGetPackageManagerFactory = MockGenerator.CreatePackageManagerFactory(mockPackageMan.Object); Dependencies.NuGetProjectManagerFactory = MockGenerator.CreateProjectManagerFactory(mockProjectMan.Object); // act WebNuGetProject project = new WebNuGetProject(new string[] { }, @"C:\DummyPath", null, MockGenerator.CreateWebProjectSystemFactory()); var warnings = project.UpdatePackage(package); // assert mockPackageMan.Verify(); }
public void InstallNewPackageToPackageManagerBeforeProjectManager() { var package = new MockPackage(); var mockRepository = new MockPackageRepository(); mockRepository.AddPackage(package); bool calledPackageManager = false; bool calledProjectManagerAfterPackageManager = false; var mockPackageMan = MockGenerator.CreateMockPackageManager(mockRepository, mockRepository); mockPackageMan.Setup(packMan => packMan.InstallPackage(package, It.IsAny <bool>(), It.IsAny <bool>())) .Callback(() => calledPackageManager = true); var mockProjectMan = MockGenerator.CreateMockProjectManager(mockRepository, mockRepository); mockProjectMan.Setup(projMan => projMan.UpdatePackageReference(package.Id, package.Version, It.IsAny <bool>(), It.IsAny <bool>())) .Callback(() => calledProjectManagerAfterPackageManager = calledPackageManager); Dependencies.NuGetPackageManagerFactory = MockGenerator.CreatePackageManagerFactory(mockPackageMan.Object); Dependencies.NuGetProjectManagerFactory = MockGenerator.CreateProjectManagerFactory(mockProjectMan.Object); // act WebNuGetProject project = new WebNuGetProject(new string[] {}, @"C:\DummyPath", null, MockGenerator.CreateWebProjectSystemFactory()); var warnings = project.UpdatePackage(package); // assert Assert.True(calledProjectManagerAfterPackageManager); }
public void PackageAvailableFromLocal_UpdateSucceeds() { // arrange var targetPackage = new MockPackage() { Version = new SemanticVersion("2.0") }; var mockLocalRepository = new MockPackageRepository(); var mockRemoteRepository = new MockPackageRepository(); mockLocalRepository.AddPackage(new MockPackage()); mockLocalRepository.AddPackage(targetPackage); var mockPackageManager = MockGenerator.CreateMockPackageManager(mockRemoteRepository, mockLocalRepository); var mockProjectManager = MockGenerator.CreateMockProjectManager(mockRemoteRepository, mockLocalRepository); mockProjectManager.Setup(pm => pm.UpdatePackageReference(targetPackage.Id, targetPackage.Version, It.IsAny <bool>(), It.IsAny <bool>())).Verifiable(); Dependencies.NuGetPackageManagerFactory = MockGenerator.CreatePackageManagerFactory(mockPackageManager.Object); Dependencies.NuGetProjectManagerFactory = MockGenerator.CreateProjectManagerFactory(mockProjectManager.Object); Dependencies.NuGetProjectSystemFactory = MockGenerator.CreateProjectSystemFactory(); // act NuGetCore core = new NuGetCore(); var warnings = core.UpdatePackage(@"C:\DummyPath", MockPackage.DefaultId, "http://dummyFeed", "2.0"); // assert mockProjectManager.Verify(); }
public void UninstallOldPackageFails_HandleGracefully() { var oldPackage = new MockPackage(); var package = new MockPackage { Version = new SemanticVersion("2.0") }; var mockRepository = new MockPackageRepository(); mockRepository.AddPackage(oldPackage); var mockPackageMan = MockGenerator.CreateMockPackageManager(mockRepository, mockRepository); mockPackageMan.Setup(packMan => packMan.UninstallPackage(oldPackage, It.IsAny <bool>(), It.IsAny <bool>())) .Throws(new InvalidOperationException("Dummy message")); mockPackageMan.SetupProperty(packMan => packMan.Logger, new TestEasy.NuGet.WebNuGetProject.ErrorLogger()); var mockProjectMan = MockGenerator.CreateMockProjectManager(mockRepository, mockRepository); Dependencies.NuGetPackageManagerFactory = MockGenerator.CreatePackageManagerFactory(mockPackageMan.Object); Dependencies.NuGetProjectManagerFactory = MockGenerator.CreateProjectManagerFactory(mockProjectMan.Object); // act WebNuGetProject project = new WebNuGetProject(new string[] { }, @"C:\DummyPath", null, MockGenerator.CreateWebProjectSystemFactory()); var warnings = project.UpdatePackage(package); // assert Assert.Contains("Package MockPackage.1.0 could not be uninstalled: Dummy message", warnings); }
public void DontSpecifyVersion_UpdatesToLatestPackage() { var latestPackage = new MockPackage { Version = new SemanticVersion("3.0") }; var mockLocalRepository = new MockPackageRepository(); var mockRemoteRepository = new MockPackageRepository(); mockLocalRepository.AddPackage(new MockPackage()); mockRemoteRepository.AddPackage(new MockPackage { Version = new SemanticVersion("2.0") }); mockRemoteRepository.AddPackage(latestPackage); var mockPackageManager = MockGenerator.CreateMockPackageManager(mockRemoteRepository, mockLocalRepository); var mockProjectManager = MockGenerator.CreateMockProjectManager(mockRemoteRepository, mockLocalRepository); mockProjectManager.Setup(pm => pm.UpdatePackageReference(latestPackage.Id, latestPackage.Version, It.IsAny <bool>(), It.IsAny <bool>())).Verifiable(); Dependencies.NuGetPackageManagerFactory = MockGenerator.CreatePackageManagerFactory(mockPackageManager.Object); Dependencies.NuGetProjectManagerFactory = MockGenerator.CreateProjectManagerFactory(mockProjectManager.Object); Dependencies.NuGetProjectSystemFactory = MockGenerator.CreateProjectSystemFactory(); // act NuGetCore core = new NuGetCore(); var warnings = core.UpdatePackage(@"C:\DummyPath", MockPackage.DefaultId, "http://dummyFeed", null); // assert mockProjectManager.Verify(); }