public void AppPackageFolder_Transit() { DeleteAll(); using (var folder = new AppPackageFolder(this, tempFolder)) { AppRef appRef; AppPackageInfo[] infoArr; AppPackageInfo info; string path; int size; byte[] md5; Assert.AreEqual(0, folder.GetPackages().Length); appRef = new AppRef("appref://MyApps/Test1.zip?version=1.2.3.4"); path = folder.BeginTransit(appRef); CreatePackageAt(path, appRef); Assert.AreEqual(0, folder.GetPackages().Length); folder.Scan(); infoArr = folder.GetPackages(); Assert.AreEqual(0, folder.GetPackages().Length); folder.EndTransit(path, true); infoArr = folder.GetPackages(); Assert.AreEqual(1, infoArr.Length); info = FindFile(infoArr, "myapps.test1-0001.0002.0003.0004.zip"); Assert.IsNotNull(infoArr); Assert.AreEqual("myapps.test1-0001.0002.0003.0004.zip", info.FileName); Assert.AreEqual(tempFolder + "\\myapps.test1-0001.0002.0003.0004.zip", info.FullPath); Assert.AreEqual(new AppRef("appref://MyApps/Test1.zip?version=1.2.3.4"), info.AppRef); GetFileInfo(info.FileName, out size, out md5); Assert.AreEqual(size, info.Size); CollectionAssert.AreEqual(md5, info.MD5); // Try to overwrite an existing package appRef = new AppRef("appref://MyApps/Test1.zip?version=1.2.3.4"); path = folder.BeginTransit(appRef); CreatePackageAt(path, appRef); folder.EndTransit(path, true); // Try cancelling a commit appRef = new AppRef("appref://MyApps/Test2.zip?version=5.6.7.8"); path = folder.BeginTransit(appRef); CreatePackageAt(path, appRef); folder.EndTransit(path, false); Assert.IsFalse(File.Exists(path)); Assert.IsNull(FindFile(folder.GetPackages(), "myapps.test2-0005.0006.0007.0008.zip")); folder.Scan(); Assert.IsNull(FindFile(folder.GetPackages(), "myapps.test2-0005.0006.0007.0008.zip")); } }
public void AppPackageFolder_Detect_Add() { DeleteAll(); using (var folder = new AppPackageFolder(this, tempFolder)) { AppPackageInfo[] infoArr; AppPackageInfo info; int size; byte[] md5; folder.Scan(); Assert.AreEqual(0, folder.GetPackages().Length); CreatePackage(new AppRef("appref://MyApps/Test1.zip?version=1.2.3.4")); Thread.Sleep(changeDetectTime); infoArr = folder.GetPackages(); Assert.AreEqual(1, infoArr.Length); info = FindFile(infoArr, "myapps.test1-0001.0002.0003.0004.zip"); Assert.IsNotNull(info); Assert.AreEqual("myapps.test1-0001.0002.0003.0004.zip", info.FileName); Assert.AreEqual(tempFolder + "\\myapps.test1-0001.0002.0003.0004.zip", info.FullPath); Assert.AreEqual(new AppRef("appref://MyApps/Test1.zip?version=1.2.3.4"), info.AppRef); GetFileInfo(info.FileName, out size, out md5); Assert.AreEqual(size, info.Size); CollectionAssert.AreEqual(md5, info.MD5); CreatePackage(new AppRef("appref://MyApps/Test2.zip?version=5.6.7.8")); Thread.Sleep(changeDetectTime); infoArr = folder.GetPackages(); Assert.AreEqual(2, infoArr.Length); info = FindFile(infoArr, "myapps.test1-0001.0002.0003.0004.zip"); Assert.IsNotNull(info); Assert.AreEqual("myapps.test1-0001.0002.0003.0004.zip", info.FileName); Assert.AreEqual(tempFolder + "\\myapps.test1-0001.0002.0003.0004.zip", info.FullPath); Assert.AreEqual(new AppRef("appref://MyApps/Test1.zip?version=1.2.3.4"), info.AppRef); GetFileInfo(info.FileName, out size, out md5); Assert.AreEqual(size, info.Size); CollectionAssert.AreEqual(md5, info.MD5); info = FindFile(infoArr, "myapps.test2-0005.0006.0007.0008.zip"); Assert.IsNotNull(info); Assert.AreEqual("myapps.test2-0005.0006.0007.0008.zip", info.FileName); Assert.AreEqual(tempFolder + "\\myapps.test2-0005.0006.0007.0008.zip", info.FullPath); Assert.AreEqual(new AppRef("appref://MyApps/Test2.zip?version=5.6.7.8"), info.AppRef); GetFileInfo(info.FileName, out size, out md5); Assert.AreEqual(size, info.Size); CollectionAssert.AreEqual(md5, info.MD5); } }
public void AppPackageFolder_Scan_Empty() { DeleteAll(); using (var folder = new AppPackageFolder(this, tempFolder)) { Assert.AreEqual(0, folder.GetPackages().Length); folder.Scan(); Assert.AreEqual(0, folder.GetPackages().Length); } }
/// <summary> /// Scans the package folder for changes. /// </summary> public void Scan() { using (TimedLock.Lock(syncLock)) packageFolder.Scan(); }