private IRepositoryUpdater MakeRepositoryUpdater( IPackageUpdater packageUpdater, IPackageUpdateSelection updateSelection, List <PackageUpdateSet> updates) { var sources = Substitute.For <INuGetSourcesReader>(); var updateFinder = Substitute.For <IUpdateFinder>(); var fileRestore = Substitute.For <IFileRestoreCommand>(); var reporter = Substitute.For <IAvailableUpdatesReporter>(); updateFinder.FindPackageUpdateSets( Arg.Any <IFolder>(), Arg.Any <NuGetSources>(), Arg.Any <VersionChange>()) .Returns(updates); packageUpdater.MakeUpdatePullRequest( Arg.Any <IGitDriver>(), Arg.Any <RepositoryData>(), Arg.Any <PackageUpdateSet>(), Arg.Any <NuGetSources>(), Arg.Any <SourceControlServerSettings>()) .Returns(true); var repoUpdater = new RepositoryUpdater( sources, updateFinder, updateSelection, packageUpdater, Substitute.For <INuKeeperLogger>(), new SolutionsRestore(fileRestore), reporter); return(repoUpdater); }
private async Task <int> UpdateAllTargets(IGitDriver git, RepositoryData repository, IEnumerable <PackageUpdateSet> targetUpdates, NuGetSources sources) { var updatesDone = 0; foreach (var updateSet in targetUpdates) { var success = await _packageUpdater.MakeUpdatePullRequest(git, updateSet, sources, repository); if (success) { updatesDone++; } } return(updatesDone); }