public async Task QueryDelayBuildAction_ShouldNotRestoreOnBuild_ProjectUpToDateMark() { var lockService = Mock.Of <INuGetLockService>(); var settings = Mock.Of <ISettings>(); var restoreWorker = Mock.Of <ISolutionRestoreWorker>(); var buildManager = Mock.Of <IVsSolutionBuildManager3>(); var buildAction = (uint)VSSOLNBUILDUPDATEFLAGS.SBF_OPERATION_BUILD + (uint)VSSOLNBUILDUPDATEFLAGS3.SBF_FLAGS_UPTODATE_CHECK; Mock.Get(settings) .Setup(x => x.GetValue("packageRestore", "automatic", false)) .Returns(bool.TrueString); using (var handler = new SolutionRestoreBuildHandler(lockService, settings, restoreWorker, buildManager)) { await _jtf.SwitchToMainThreadAsync(); var result = await handler.RestoreAsync(buildAction, CancellationToken.None); Assert.True(result); } Mock.Get(restoreWorker) .Verify(x => x.ScheduleRestoreAsync(It.IsAny <SolutionRestoreRequest>(), It.IsAny <CancellationToken>()), Times.Never); }
public async Task QueryDelayBuildAction_ShouldNotRestoreOnBuild_NoOps() { var settings = Mock.Of <ISettings>(); var restoreWorker = Mock.Of <ISolutionRestoreWorker>(); var buildManager = Mock.Of <IVsSolutionBuildManager3>(); var restoreChecker = Mock.Of <ISolutionRestoreChecker>(); var buildAction = (uint)VSSOLNBUILDUPDATEFLAGS.SBF_OPERATION_BUILD; Mock.Get(settings) .Setup(x => x.GetSection("packageRestore")) .Returns(() => new VirtualSettingSection("packageRestore", new AddItem("automatic", bool.FalseString))); using (var handler = new SolutionRestoreBuildHandler(settings, restoreWorker, buildManager, restoreChecker)) { await _jtf.SwitchToMainThreadAsync(); var result = await handler.RestoreAsync(buildAction, CancellationToken.None); Assert.True(result); } Mock.Get(restoreWorker) .Verify(x => x.ScheduleRestoreAsync(It.IsAny <SolutionRestoreRequest>(), It.IsAny <CancellationToken>()), Times.Never); }
public async Task QueryDelayBuildAction_ShouldRestoreOnBuild() { var lockService = Mock.Of <INuGetLockService>(); var settings = Mock.Of <ISettings>(); var restoreWorker = Mock.Of <ISolutionRestoreWorker>(); var buildManager = Mock.Of <IVsSolutionBuildManager3>(); var buildAction = (uint)VSSOLNBUILDUPDATEFLAGS.SBF_OPERATION_BUILD; Mock.Get(settings) .Setup(x => x.GetValue("packageRestore", "automatic", false)) .Returns(bool.TrueString); Mock.Get(restoreWorker) .SetupGet(x => x.JoinableTaskFactory) .Returns(_jtf); Mock.Get(restoreWorker) .Setup(x => x.RestoreAsync(It.IsAny <SolutionRestoreRequest>(), It.IsAny <CancellationToken>())) .ReturnsAsync(true); using (var handler = new SolutionRestoreBuildHandler(lockService, settings, restoreWorker, buildManager)) { await _jtf.SwitchToMainThreadAsync(); var result = await handler.RestoreAsync(buildAction, CancellationToken.None); Assert.True(result); } Mock.Get(restoreWorker) .Verify(x => x.RestoreAsync(It.IsAny <SolutionRestoreRequest>(), It.IsAny <CancellationToken>()), Times.Once); }
public async Task QueryDelayBuildAction_CleanBuild() { var settings = Mock.Of <ISettings>(); var restoreWorker = Mock.Of <ISolutionRestoreWorker>(); var buildManager = Mock.Of <IVsSolutionBuildManager3>(); var restoreChecker = Mock.Of <ISolutionRestoreChecker>(); var buildAction = (uint)VSSOLNBUILDUPDATEFLAGS.SBF_OPERATION_CLEAN; using (var handler = new SolutionRestoreBuildHandler(settings, restoreWorker, buildManager, restoreChecker)) { await _jtf.SwitchToMainThreadAsync(); var result = await handler.RestoreAsync(buildAction, CancellationToken.None); Assert.True(result); } Mock.Get(restoreWorker) .Verify(x => x.CleanCacheAsync(), Times.Once); Mock.Get(restoreChecker) .Verify(x => x.CleanCache(), Times.Once); Mock.Get(restoreWorker) .Verify(x => x.ScheduleRestoreAsync(It.IsAny <SolutionRestoreRequest>(), It.IsAny <CancellationToken>()), Times.Never); }