using System; using NUnit.Framework; using OpenTap.Package; using System.Collections.Generic; using System.IO; using System.Linq; using System.Threading; namespace OpenTap.Image.Tests { public class Cache { [Test] public void DownloadToCache() { ImageSpecifier specifier = MockRepository.CreateSpecifier(); specifier.Packages = new List() { new PackageSpecifier("Demonstration", VersionSpecifier.Parse("9.0.5+3cab80c8")) }; try { PackageCacheHelper.ClearCache(); var image = specifier.Resolve(CancellationToken.None); image.Cache(); Assert.IsTrue(Directory.EnumerateFiles(PackageCacheHelper.PackageCacheDirectory).Any(s => s.Contains("Demonstration"))); Assert.IsTrue(Directory.EnumerateFiles(PackageCacheHelper.PackageCacheDirectory).Any(s => s.Contains("OpenTAP"))); } finally { PackageCacheHelper.ClearCache(); } } [Test] public void TestImageIds() { var opentap = new PackageDef() { Name = "OpenTAP", Version = SemanticVersion.Parse("1.2.3"), Architecture = CpuArchitecture.AnyCPU, OS = "Windows" }; var spec1 = new ImageIdentifier(new PackageDef[] { opentap }, Array.Empty()); var id1 = spec1.Id; opentap.Version = SemanticVersion.Parse("4.5.6"); var spec2 = new ImageIdentifier(new PackageDef[] { opentap }, Array.Empty()); var id2 = spec2.Id; Assert.AreNotEqual(id1, id2); } } }