public void GetUpdatedPackages_OnePackageUpdatedAndNewerButNotLatestPackageIsInstalledWhilstCheckingForUpdates_UpdateIsAvailableForPackage() { CreateUpdatedPackagesInSolution(); taskFactory.RunTasksSynchronously = false; FakePackageManagementProject project = AddProjectToSolution(); project.AddPackageReference("MyPackage", "1.0"); var installedPackage = FakePackage.CreatePackageWithVersion("MyPackage", "1.2"); AddUpdatedPackageToAggregateSourceRepository("MyPackage", "1.8"); updatedPackagesInSolution.CheckForUpdates(); var task = taskFactory.FakeTasksCreated [0] as FakeTask <CheckForUpdatesTask>; task.ExecuteTaskButNotContinueWith(); project.PackageReferences.Clear(); project.AddPackageReference("MyPackage", "1.2"); packageManagementEvents.OnParentPackageInstalled(installedPackage, project); task.ExecuteContinueWith(); UpdatedPackagesInProject updatedPackages = updatedPackagesInSolution.GetUpdatedPackages(project.Project); Assert.AreEqual(1, updatedPackages.GetPackages().Count()); Assert.AreEqual("MyPackage", updatedPackages.GetPackages().First().Id); Assert.AreEqual("1.8", updatedPackages.GetPackages().First().Version.ToString()); }
public void CheckForUpdates_ProjectHasPreReleasePackageWhichHasUpdatedStablePackage_OneStableUpdateFound() { CreateUpdatedPackagesInSolution(); FakePackageManagementProject project = AddProjectToSolution(); project.AddPackageReference("MyPackage", "1.0.1-alpha"); AddUpdatedPackageToAggregateSourceRepository("MyPackage", "1.0.1"); updatedPackagesInSolution.CheckForUpdates(); UpdatedPackagesInProject updatedPackages = updatedPackagesInSolution.GetUpdatedPackages(project.Project); Assert.AreEqual(1, updatedPackages.GetPackages().Count()); Assert.AreEqual("MyPackage", updatedPackages.GetPackages().First().Id); Assert.AreEqual("1.0.1", updatedPackages.GetPackages().First().Version.ToString()); }
public void GetUpdatedPackages_UpdatingThreeOldAndroidPackagesInstallsOneAndUpdatesOneAndRemovesOneWithOneInstall_NoUpdatesRemain() { CreateUpdatedPackagesInSolution(); FakePackageManagementProject project = AddProjectToSolution(); project.AddPackageReference("Xamarin.Android.Support.v13", "20.0.0.4"); project.AddPackageReference("Xamarin.Android.Support.v4", "20.0.0.4"); project.AddPackageReference("Xamarin.Android.Support.v7.AppCompat", "20.0.0.2"); AddUpdatedPackageToAggregateSourceRepository("Xamarin.Android.Support.v13", "23.1.1.0"); AddUpdatedPackageToAggregateSourceRepository("Xamarin.Android.Support.v4", "23.1.1.0"); AddUpdatedPackageToAggregateSourceRepository("Xamarin.Android.Support.v7.AppCompat", "23.1.1.0"); updatedPackagesInSolution.CheckForUpdates(); int originalUpdatesAvailable = updatedPackagesInSolution .GetUpdatedPackages(project.Project) .GetPackages() .Count(); var task = taskFactory.FakeTasksCreated [0] as FakeTask <CheckForUpdatesTask>; task.ExecuteTaskButNotContinueWith(); project.PackageReferences.Clear(); project.AddPackageReference("Xamarin.Android.Support.v4", "23.1.1.0"); project.AddPackageReference("Xamarin.Android.Support.v7.AppCompat", "23.1.1.0"); var installedPackage = FakePackage.CreatePackageWithVersion("Xamarin.Android.Support.v4", "23.1.1.0"); packageManagementEvents.OnParentPackageInstalled(installedPackage, project); task.ExecuteContinueWith(); UpdatedPackagesInProject updatedPackages = updatedPackagesInSolution.GetUpdatedPackages(project.Project); Assert.AreEqual(3, originalUpdatesAvailable); Assert.AreEqual(0, updatedPackages.GetPackages().Count()); }
public void CheckForUpdates_ProjectHasStableAndPreReleasePackagesBothWithUpdatese_TwoUpdatesFound() { CreateUpdatedPackagesInSolution(); FakePackageManagementProject project = AddProjectToSolution(); project.AddPackageReference("MyPackage", "1.0.1-alpha"); project.AddPackageReference("AnotherPackage", "1.0"); AddUpdatedPackageToAggregateSourceRepository("MyPackage", "1.0.1-beta"); AddUpdatedPackageToAggregateSourceRepository("AnotherPackage", "1.1"); updatedPackagesInSolution.CheckForUpdates(); UpdatedPackagesInProject updatedPackages = updatedPackagesInSolution.GetUpdatedPackages(project.Project); Assert.AreEqual(2, updatedPackages.GetPackages().Count()); Assert.AreEqual("AnotherPackage", updatedPackages.GetPackages().First().Id); Assert.AreEqual("1.1", updatedPackages.GetPackages().First().Version.ToString()); Assert.AreEqual("MyPackage", updatedPackages.GetPackages().Last().Id); Assert.AreEqual("1.0.1-beta", updatedPackages.GetPackages().Last().Version.ToString()); }
public void GetUpdatedPackages_OnePackageHasUpdatesAndNewerVersionButNotLatestIsInstalled_UpdatesStillShowAsAvailable() { CreateUpdatedPackagesInSolution(); FakePackageManagementProject project = AddProjectToSolution(); project.AddPackageReference("MyPackage", "1.0"); var newerPackage = new FakePackage("MyPackage", "1.1"); FakePackage updatedPackage = AddUpdatedPackageToAggregateSourceRepository("MyPackage", "1.9"); updatedPackagesInSolution.CheckForUpdates(); project.PackageReferences.Clear(); project.AddPackageReference("MyPackage", "1.1"); packageManagementEvents.OnParentPackageInstalled(newerPackage, project); UpdatedPackagesInProject updatedPackages = updatedPackagesInSolution.GetUpdatedPackages(project.Project); Assert.AreEqual(1, updatedPackages.GetPackages().Count()); Assert.AreEqual("MyPackage", updatedPackages.GetPackages().First().Id); Assert.AreEqual("1.9", updatedPackages.GetPackages().First().Version.ToString()); }
public void GetUpdatedPackages_TwoPackagesInstalledOneUpdatedAndUpdatesAvailableForBoth_OneUpdateAvailable() { CreateUpdatedPackagesInSolution(); FakePackageManagementProject project = AddProjectToSolution(); project.AddPackageReference("One", "1.0"); project.AddPackageReference("Two", "1.0"); FakePackage updatedPackage = AddUpdatedPackageToAggregateSourceRepository("One", "1.1"); AddUpdatedPackageToAggregateSourceRepository("Two", "1.1"); updatedPackagesInSolution.CheckForUpdates(); project.PackageReferences.Clear(); project.AddPackageReference("One", "1.1"); project.AddPackageReference("Two", "1.0"); packageManagementEvents.OnParentPackageInstalled(updatedPackage, project); UpdatedPackagesInProject updatedPackages = updatedPackagesInSolution.GetUpdatedPackages(project.Project); Assert.AreEqual(1, updatedPackages.GetPackages().Count()); Assert.AreEqual("Two", updatedPackages.GetPackages().FirstOrDefault().Id); }
public void CheckForUpdates_ProjectHasStablePackageWhichHasUpdatedPrereleasePackage_NoUpdatesFound() { CreateUpdatedPackagesInSolution(); FakePackageManagementProject project = AddProjectToSolution(); project.AddPackageReference("MyPackage", "1.0.1"); AddUpdatedPackageToAggregateSourceRepository("MyPackage", "1.1.0-alpha"); updatedPackagesInSolution.CheckForUpdates(); UpdatedPackagesInProject updatedPackages = updatedPackagesInSolution.GetUpdatedPackages(project.Project); Assert.AreEqual(0, updatedPackages.GetPackages().Count()); }
public void CheckForUpdates_NoPackagesUpdated_DoesNotReturnNullUpdatedPackagesForProject() { CreateUpdatedPackagesInSolution(); FakePackageManagementProject project = AddProjectToSolution(); project.AddPackageReference("MyPackage", "1.0"); updatedPackagesInSolution.CheckForUpdates(); UpdatedPackagesInProject updatedPackages = updatedPackagesInSolution.GetUpdatedPackages(project.Project); Assert.AreEqual(project.Project, updatedPackages.Project); Assert.IsNotNull(updatedPackages.Project); Assert.AreEqual(0, updatedPackages.GetPackages().Count()); }
public void GetUpdatedPackages_OnePackageUpdatedAndPackageUpdateIsInstalled_NoUpdatesAvailable() { CreateUpdatedPackagesInSolution(); FakePackageManagementProject project = AddProjectToSolution(); project.AddPackageReference("MyPackage", "1.0"); FakePackage updatedPackage = AddUpdatedPackageToAggregateSourceRepository("MyPackage", "1.1"); updatedPackagesInSolution.CheckForUpdates(); packageManagementEvents.OnParentPackageInstalled(updatedPackage, project); UpdatedPackagesInProject updatedPackages = updatedPackagesInSolution.GetUpdatedPackages(project.Project); Assert.AreEqual(0, updatedPackages.GetPackages().Count()); }
public void CheckForUpdates_OnePackageUpdated_OneUpdatedPackageFoundForProject() { CreateUpdatedPackagesInSolution(); FakePackageManagementProject project = AddProjectToSolution(); project.AddPackageReference("MyPackage", "1.0"); FakePackage updatedPackage = AddUpdatedPackageToAggregateSourceRepository("MyPackage", "1.1"); var expectedPackages = new FakePackage [] { updatedPackage }; updatedPackagesInSolution.CheckForUpdates(); UpdatedPackagesInProject updatedPackages = updatedPackagesInSolution.GetUpdatedPackages(project.Project); Assert.AreEqual(project.Project, updatedPackages.Project); Assert.IsNotNull(updatedPackages.Project); CollectionAssert.AreEqual(expectedPackages, updatedPackages.GetPackages()); }
public void Clear_OnePackageUpdatedButEverythingCleared_NoUpdatedPackagesFoundForProject() { CreateUpdatedPackagesInSolution(); FakePackageManagementProject project = AddProjectToSolution(); project.AddPackageReference("MyPackage", "1.0"); AddUpdatedPackageToAggregateSourceRepository("MyPackage", "1.1"); updatedPackagesInSolution.CheckForUpdates(); updatedPackagesInSolution.Clear(); UpdatedPackagesInProject updatedPackages = updatedPackagesInSolution.GetUpdatedPackages(project.Project); Assert.AreEqual(project.Project, updatedPackages.Project); Assert.IsNotNull(updatedPackages.Project); Assert.AreEqual(0, updatedPackages.GetPackages().Count()); }
public void GetUpdatedPackages_OnePackageUpdatedSameUnderlyingDotNetProjectButDifferentProxy_OneUpdatedPackageFoundForProject() { CreateUpdatedPackagesInSolution(); FakePackageManagementProject project = AddProjectToSolution(); project.AddPackageReference("MyPackage", "1.0"); FakePackage updatedPackage = AddUpdatedPackageToAggregateSourceRepository("MyPackage", "1.1"); var expectedPackages = new FakePackage [] { updatedPackage }; var newProject = new FakeDotNetProject(); project.FakeDotNetProject.EqualsAction = p => { return(p == newProject); }; updatedPackagesInSolution.CheckForUpdates(); UpdatedPackagesInProject updatedPackages = updatedPackagesInSolution.GetUpdatedPackages(newProject); Assert.IsNotNull(updatedPackages.Project); CollectionAssert.AreEqual(expectedPackages, updatedPackages.GetPackages()); Assert.AreNotEqual(newProject, updatedPackages.Project); }