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(); }
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(); }
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(); }
public void UpdateAsync_UnableToGetConfig_ReturnsDownloadFailed() { AutoUpdate update = new AutoUpdate(MinimalGitHubWrapper, () => TestInstalledVersion); Assert.AreEqual(UpdateResult.DownloadFailed, update.UpdateAsync().Result); }