public async Task _05_CheckAndInstallUpdates_Beta() { try { VersionTuple initialVersions = this.GetVersionsFromExtractedAppFile(Apps.PackageNames.AutomaticTestsClientAppV1, SharedTestHelpers.GetMethodName(), out FileInfo appFile); this.LaunchTestsAppAndGetResult <UpdateCheckResult>(appFile, Actions.HandleUpdatesWithBeta, Apps.Keys.AutomaticTestsClient, waitForExit: false); await this.PerformManualUpdate("AutomaticTestsClient", "3."); VersionTuple newVersions = this.GetVersionsFromFile(appFile); Log($"New versions: {newVersions.ToLog()}"); this.AssertVersionAreCorrect(newVersions, initialVersions, appFile, "3."); //now just assert that the update check result is empty next time Log("Checking update info is false"); UpdateCheckResult result = this.LaunchTestsAppAndGetResult <UpdateCheckResult>(appFile, Actions.CheckAndInstallUpdates, Apps.Keys.AutomaticTestsClient, waitForExit: true); this.AssertNoNonBetaUpdatesToInstall(result, false); } catch (Exception ex) { this.CleanupAndLog(ex); throw; } }
public async Task _03_CheckAndInstallUpdates_NonBeta() { try { VersionTuple initialVersions = this.GetVersionsFromExtractedAppFile(Apps.PackageNames.AutomaticTestsClientAppV1, SharedTestHelpers.GetMethodName(), out FileInfo appFile); var installationResult = this.LaunchTestsAppAndGetResult <UpdateInstallationResult>(appFile, Actions.CheckAndInstallUpdates, Apps.Keys.AutomaticTestsClient, waitForExit: false); if (installationResult?.Exception != null) { throw installationResult.Exception; } Window updater = await WindowHelpers.WaitForWindowAsync(x => x.Contains("AutomaticTestsClient Updater"), TimeSpan.FromMinutes(1)).ConfigureAwait(false); this.CheckProperUpdateVersionDownloadedInUpdater(updater, "2."); WindowHelpers.ClickButtonByText(updater, "Install now!"); Log("Clicked Install now!"); Window doneMsg = await WindowHelpers.WaitForMessageBoxAsync(updater, "Update complete", TimeSpan.FromMinutes(1)).ConfigureAwait(false); WindowHelpers.ClickButtonByText(doneMsg, "Yes"); Log("Clicked yes"); VersionTuple newVersions = this.GetVersionsFromApp(appFile); Log($"New versions: {newVersions.ToLog()}"); this.AssertVersionAreCorrect(newVersions, initialVersions, appFile, "2."); //now just assert that the update check result is empty next time Log("Checking update info is false"); UpdateCheckResult result = this.LaunchTestsAppAndGetResult <UpdateCheckResult>(appFile, Actions.CheckAndInstallUpdates, Apps.Keys.AutomaticTestsClient, waitForExit: true); this.AssertNoNonBetaUpdatesToInstall(result, true); } catch (Exception ex) { this.CleanupAndLog(ex); throw; } }