Last active
August 29, 2015 14:23
-
-
Save BryanWilhite/1baba5e63d57c608da83 to your computer and use it in GitHub Desktop.
ShouldGetNuGetPackageFile() uses DefaultPackagePathResolver from NuGet.Core
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/// <summary> | |
/// Test context extensions: should get nu get package file. | |
/// </summary> | |
/// <param name="context">The context.</param> | |
/// <param name="packageMeta">The package meta.</param> | |
/// <param name="sourceControlRoot">The source control root.</param> | |
/// <param name="searchPattern">The search pattern.</param> | |
public static string ShouldGetNuGetPackageFile(this TestContext context, IEnumerable<string> packageMeta, string sourceControlRoot, string searchPattern) | |
{ | |
Assert.IsNotNull(packageMeta, "The expected package metadata is not here."); | |
context.ShouldFindFolder(sourceControlRoot); | |
Assert.IsFalse(string.IsNullOrEmpty(searchPattern), "The expected package-file search pattern is not here."); | |
var nugetRoot = Path.Combine(sourceControlRoot, "packages"); | |
context.ShouldFindFolder(nugetRoot); | |
var meta = packageMeta.ToArray(); | |
Assert.AreEqual(2, meta.Length, "The expected number of package meta items are not here."); | |
var resolver = new DefaultPackagePathResolver(nugetRoot); | |
var packageDirectory = resolver.GetPackageDirectory(meta[0], new SemanticVersion(meta[1])); | |
var searchRoot = Path.Combine(nugetRoot, packageDirectory); | |
searchPattern = string.Format(searchPattern, meta[0]); | |
var path = Directory.GetFiles(searchRoot, searchPattern, SearchOption.AllDirectories).FirstOrDefault(); | |
context.ShouldFindFile(path); | |
return path; | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment