public static DownloadStrategy GetEffectiveDownloadStrategy(DownloadArguments dlArgs, bool preferNuget, bool forceNuget) { var gitHubDownloadStrategy = new GitHubDownloadStrategy(new WebRequestProxy(), new FileSystemProxy()).AsCached(dlArgs.IgnoreCache); var nugetDownloadStrategy = new NugetDownloadStrategy(new WebRequestProxy(), new FileSystemProxy(), dlArgs.Folder, dlArgs.NugetSource).AsCached(dlArgs.IgnoreCache); DownloadStrategy effectiveStrategy; if (forceNuget) { effectiveStrategy = nugetDownloadStrategy; nugetDownloadStrategy.FallbackStrategy = null; } else if (preferNuget) { effectiveStrategy = nugetDownloadStrategy; nugetDownloadStrategy.FallbackStrategy = gitHubDownloadStrategy; } else { effectiveStrategy = gitHubDownloadStrategy; gitHubDownloadStrategy.FallbackStrategy = nugetDownloadStrategy; } return effectiveStrategy.AsTemporarilyIgnored(dlArgs.MaxFileAgeInMinutes, dlArgs.Target); }
public static IDownloadStrategy GetEffectiveDownloadStrategy(DownloadArguments dlArgs, bool preferNuget, bool forceNuget) { var gitHubDownloadStrategy = new GitHubDownloadStrategy(new WebRequestProxy(), new FileProxy()).AsCached(dlArgs.IgnoreCache); var nugetDownloadStrategy = new NugetDownloadStrategy(new WebRequestProxy(), new DirectoryProxy(), new FileProxy(), dlArgs.Folder, dlArgs.NugetSource).AsCached(dlArgs.IgnoreCache); IDownloadStrategy effectiveStrategy; if (forceNuget) { effectiveStrategy = nugetDownloadStrategy; nugetDownloadStrategy.FallbackStrategy = null; } else if (preferNuget) { effectiveStrategy = nugetDownloadStrategy; nugetDownloadStrategy.FallbackStrategy = gitHubDownloadStrategy; } else { effectiveStrategy = gitHubDownloadStrategy; gitHubDownloadStrategy.FallbackStrategy = nugetDownloadStrategy; } return effectiveStrategy; }
private void CreateSystemUnderTestWithNugetFolder() { mockDirProxy.Setup(x => x.Exists("anyNugetFolder")).Returns(true); mockWebRequestProxy = null; //set to null, to ensure no test uses it sut = new NugetDownloadStrategy(null, mockDirProxy.Object, mockFileProxy.Object, "folder", "anyNugetFolder"); }
public void CreateSystemUnderTestWithDefaultApi() { sut = new NugetDownloadStrategy(mockWebRequestProxy.Object, mockDirProxy.Object, mockFileProxy.Object, "folder", null); }