Beispiel #1
0
        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());
        }
Beispiel #3
0
        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());
        }
Beispiel #5
0
        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());
        }
Beispiel #6
0
        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());
        }
Beispiel #8
0
        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());
        }
Beispiel #10
0
        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());
        }
Beispiel #11
0
        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());
        }
Beispiel #12
0
        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);
        }