public void GetNupkgPath_WithCancellationToken_Throws() { var obj = new PackagesConfigContentHashProvider(It.IsAny <FolderNuGetProject>()); Assert.Throws <OperationCanceledException>(() => { obj.GetContentHash(It.IsAny <PackageIdentity>(), new CancellationToken(canceled: true)); }); }
public static PackagesLockFile FromPackagesConfigFile( string pcFile, NuGetFramework projectTfm, string packagesFolderPath, CancellationToken token) { if (pcFile == null) { throw new ArgumentNullException(nameof(pcFile)); } if (!File.Exists(pcFile)) { throw new FileNotFoundException(string.Format(Strings.Error_FileDoesNotExist, pcFile), pcFile); } if (projectTfm == null) { throw new ArgumentNullException(nameof(projectTfm)); } if (packagesFolderPath == null) { throw new ArgumentNullException(nameof(packagesFolderPath)); } if (!Directory.Exists(packagesFolderPath)) { throw new DirectoryNotFoundException(string.Format(Strings.Error_DirectoryDoesNotExist, packagesFolderPath)); } var lockFile = new PackagesLockFile(); var target = new PackagesLockFileTarget(); lockFile.Targets.Add(target); target.TargetFramework = projectTfm; using (var stream = File.OpenRead(pcFile)) { var contentHashUtil = new PackagesConfigContentHashProvider(new FolderNuGetProject(packagesFolderPath)); var reader = new PackagesConfigReader(stream); foreach (var package in reader.GetPackages(allowDuplicatePackageIds: true)) { var dependency = new LockFileDependency { Id = package.PackageIdentity.Id, ContentHash = contentHashUtil.GetContentHash(package.PackageIdentity, token), RequestedVersion = new VersionRange(package.PackageIdentity.Version, includeMinVersion: true, package.PackageIdentity.Version, includeMaxVersion: true), ResolvedVersion = package.PackageIdentity.Version, Type = PackageDependencyType.Direct }; target.Dependencies.Add(dependency); } } return(lockFile); }