Esempio n. 1
0
        public void UpdateOptionAsync_InstallerDownloadTimeGreaterZero()
        {
            Mock <IGitHubWrapper> githubMock = BuildGitHubWrapper(configInfo: CurrentUpgradeDataForDefaultOptionalUpgradeForInsider);

            githubMock.Setup(x => x.TryGetSpecificAsset(It.IsAny <Uri>(), It.IsAny <Stream>()))
            .Callback <Uri, Stream>((Uri, stream) =>
            {
                Thread.Sleep(1);
            })
            .Returns(true);

            AutoUpdate update = new AutoUpdate(githubMock.Object, () => TestInstalledVersion);

            // ensure that the timespans are 0 before calling UpdateAsync
            TimeSpan?installerDownloadTime = update.GetInstallerDownloadTime();

            Assert.IsTrue(installerDownloadTime.HasValue);
            Assert.AreEqual(TimeSpan.Zero, installerDownloadTime.Value);
            TimeSpan?installerVerificationTime = update.GetInstallerVerificationTime();

            Assert.IsTrue(installerVerificationTime.HasValue);
            Assert.AreEqual(TimeSpan.Zero, installerVerificationTime.Value);

            update.UpdateAsync().Wait();

            // Ensure the timespans are > 0 after calling UpdateAsync
            installerDownloadTime = update.GetInstallerDownloadTime();
            Assert.IsTrue(installerDownloadTime.HasValue);
            Assert.AreNotEqual(TimeSpan.Zero, installerDownloadTime.Value);
            installerVerificationTime = update.GetInstallerVerificationTime();
            Assert.IsTrue(installerVerificationTime.HasValue);
            Assert.AreNotEqual(TimeSpan.Zero, installerVerificationTime.Value);
            githubMock.VerifyAll();
        }
Esempio n. 2
0
        public void UpdateAsync_ConfigShowsNoUpgrade_ReturnsNoUpgradeAvailable()
        {
            Mock <IChannelInfoProvider> providerMock = BuildChannelInfoProvider(DefaultReleaseChannel, NoUpgradeChannelInfo);
            AutoUpdate update = BuildAutoUpdate(channelProvider: providerMock.Object);

            Assert.AreEqual(UpdateResult.NoUpdateAvailable, update.UpdateAsync().Result);
            providerMock.VerifyAll();
        }
Esempio n. 3
0
        public void UpdateAsync_UpdateTimeIsNotZero()
        {
            Mock <IChannelInfoProvider> providerMock = BuildChannelInfoProvider(DefaultReleaseChannel, NoUpgradeChannelInfo);
            AutoUpdate update = BuildAutoUpdate(channelProvider: providerMock.Object);

            // ensure that the UpdateTime is 0 before calling UpdateAsync
            TimeSpan?updateTime = update.GetUpdateTime();

            Assert.IsTrue(updateTime.HasValue);
            Assert.AreEqual(TimeSpan.Zero, updateTime.Value);

            update.UpdateAsync().Wait();

            // ensure that the UpdateTime is not 0 after calling UpdateAsync
            updateTime = update.GetUpdateTime();
            Assert.IsTrue(updateTime.HasValue);
            Assert.AreNotEqual(TimeSpan.Zero, updateTime.Value);
            providerMock.VerifyAll();
        }
Esempio n. 4
0
        public void UpdateAsync_UnableToGetConfig_ReturnsDownloadFailed()
        {
            AutoUpdate update = new AutoUpdate(MinimalGitHubWrapper, () => TestInstalledVersion);

            Assert.AreEqual(UpdateResult.DownloadFailed, update.UpdateAsync().Result);
        }