protected void Given() { UpliftManagerExposer.ClearAllInstances(); pwd = Directory.GetCurrentDirectory(); Helper.InitializeRunDirectory(); try { Directory.SetCurrentDirectory(Helper.testRunDirectoryName); // Upfile Setup upfile_path = Helper.GetLocalFilePath("..", "TestData", "PackageUpdating", "Upfile.xml"); try { UpfileExposer.SetInstance(UpfileExposer.LoadTestXml(upfile_path)); } catch (FileNotFoundException) { Console.WriteLine("Make sure you are running the test from UpliftTesting/TestResults. The Upfile.xml uses the current path to register the repositories."); } upfile = Upfile.Instance(); manager = UpliftManager.Instance(); upfile.Dependencies[0].Version = "1.0.0"; manager.InstallDependencies(); upfile.Dependencies[0].Version = "1.0.1"; } finally { Directory.SetCurrentDirectory(pwd); } }
public void FromXmlWhenAbsentTest() { try { Directory.CreateDirectory(temp_dir); Directory.SetCurrentDirectory(temp_dir); string repo_path = Path.Combine(temp_dir, Path.GetRandomFileName()); Directory.CreateDirectory(repo_path); Upfile dummy = new Upfile() { Configuration = new Configuration() { RepositoryPath = new PathConfiguration() { Location = repo_path } }, Dependencies = new DependencyDefinition[0], Repositories = new Repository[0], UnityVersion = "foo" }; UpfileExposer.SetInstance(dummy); Upbring.InitializeInstance(); CollectionAssert.IsEmpty(Upbring.Instance().InstalledPackage); } finally { Directory.SetCurrentDirectory(pwd); Directory.Delete(temp_dir, true); } }
public void WhenUpfileModifiedNoSkip() { // Upfile Setup upfile_path = Helper.GetLocalFilePath(new string[] { "..", "TestData", "CustomizedFileLocation", "Upfile_Modified_NoSkip.xml" }); try { UpfileExposer.SetInstance(UpfileExposer.LoadTestXml(upfile_path)); } catch (FileNotFoundException) { Console.WriteLine("Make sure you are running the test from UpliftTesting/TestResults. The Upfile.xml uses the current path to register the repositories."); Assert.IsTrue(false, "The test could not run correctly. See console message."); } upfile = Upfile.Instance(); manager.InstallDependencies(); // Directories existence Assert.IsTrue(Directory.Exists("UPackages"), "Directory UPackages does not exist"); Assert.IsTrue(Directory.Exists("UPackages/package_c~1.3.5"), "Package directory does not exist under UPackages"); Assert.IsTrue(Directory.Exists("UPackages/package_c~1.3.5/Media"), "Media directory does not exist under UPackages/package_c~1.3.5"); Assert.IsTrue(Directory.Exists("UPackages/package_c~1.3.5/Example"), "Example directory does not exist under UPackages/package_c~1.3.5"); Assert.IsTrue(Directory.Exists("UPackages/package_c~1.3.5/Example/Adv"), "Example advanced directory does not exist under UPackages/package_c~1.3.5"); Assert.IsTrue(Directory.Exists("Assets"), "Directory Assets does not exist"); Assert.IsTrue(Directory.Exists("Assets/UPackages"), "Directory UPackages under Assets does not exist"); Assert.IsTrue(Directory.Exists("Assets/UPackages/package_c~1.3.5"), "Package directory does not exist under Assets/UPackages"); Assert.IsTrue(Directory.Exists("Assets/Media"), "Media directory does not exist under Assets"); Assert.IsTrue(Directory.Exists("Assets/Media/package_c~1.3.5"), "Package directory does not exist under Assets/Media"); Assert.IsTrue(Directory.Exists("Examples"), "Examples directory does not exist"); Assert.IsTrue(Directory.Exists("Examples/package_c~1.3.5"), "Package directory does not exist under Examples"); Assert.IsTrue(Directory.Exists("Examples/package_c~1.3.5/Adv"), "Advanced directory does not exist under Examples/package_c~1.3.5"); // Files under Assets Assert.IsTrue(File.Exists("Assets/UPackages/package_c~1.3.5/C1.cs"), "File C1 did not get copied to Assets/UPackages/package_c~1.3.5"); Assert.IsTrue(File.Exists("Assets/UPackages/package_c~1.3.5/C2.cs"), "File C2 did not get copied to Assets/UPackages/package_c~1.3.5"); Assert.IsTrue(File.Exists("Assets/Media/package_c~1.3.5/M1.txt"), "File M1 did not get copied to Assets/Media/package_c~1.3.5"); Assert.IsTrue(File.Exists("Assets/Media/package_c~1.3.5/M2.txt"), "File M2 did not get copied to Assets/Media/package_c~1.3.5"); Assert.IsTrue(File.Exists("Examples/package_c~1.3.5/E1.txt"), "File E1 did not get copied to Examples/package_c~1.3.5"); Assert.IsTrue(File.Exists("Examples/package_c~1.3.5/E2.txt"), "File E2 did not get copied to Examples/package_c~1.3.5"); Assert.IsTrue(File.Exists("Examples/package_c~1.3.5/Adv/E3.txt"), "File E2 did not get copied to Examples/package_c~1.3.5/Adv"); // Files under UPackages Assert.IsTrue(File.Exists("UPackages/package_c~1.3.5/C1.cs"), "File C1 did not get copied to UPackages/package_c~1.3.5"); Assert.IsTrue(File.Exists("UPackages/package_c~1.3.5/C2.cs"), "File C2 did not get copied to UPackages/package_c~1.3.5"); Assert.IsTrue(File.Exists("UPackages/package_c~1.3.5/Media/M1.txt"), "File M1 did not get copied to UPackages/package_c~1.3.5/Media"); Assert.IsTrue(File.Exists("UPackages/package_c~1.3.5/Media/M2.txt"), "File M2 did not get copied to UPackages/package_c~1.3.5/Media"); Assert.IsTrue(File.Exists("UPackages/package_c~1.3.5/Example/E1.txt"), "File E1 did not get copied to UPackages/package_c~1.3.5/Example"); Assert.IsTrue(File.Exists("UPackages/package_c~1.3.5/Example/E2.txt"), "File E2 did not get copied to UPackages/package_c~1.3.5/Example"); Assert.IsTrue(File.Exists("UPackages/package_c~1.3.5/Example/Adv/E3.txt"), "File E2 did not get copied to UPackages/package_c~1.3.5/Example/Adv"); }
public void SaveFileTest() { try { Directory.CreateDirectory(temp_dir); Directory.SetCurrentDirectory(temp_dir); string repo_path = Path.Combine(temp_dir, Path.GetRandomFileName()); Directory.CreateDirectory(repo_path); Upfile dummy = new Upfile() { Configuration = new Configuration() { RepositoryPath = new PathConfiguration() { Location = repo_path } }, Dependencies = new DependencyDefinition[0], Repositories = new Repository[0], UnityVersion = "foo" }; UpfileExposer.SetInstance(dummy); InstalledPackage package_A = new InstalledPackage() { Name = "packageA", Install = new InstallSpec[0], Version = "0.0.0" }; Upbring test = new Upbring() { InstalledPackage = new InstalledPackage[] { package_A } }; test.SaveFile(); XmlSerializer serializer = new XmlSerializer(typeof(Upbring)); Upbring parsed; using (FileStream fs = new FileStream(Path.Combine(repo_path, "Upbring.xml"), FileMode.Open)) { parsed = serializer.Deserialize(fs) as Upbring; } Assert.That(parsed.InstalledPackage.Any(p => p.Name == test.InstalledPackage[0].Name && p.Version == test.InstalledPackage[0].Version )); } finally { Directory.SetCurrentDirectory(pwd); Directory.Delete(temp_dir, true); } }
public void RemoveFileTest() { try { Directory.CreateDirectory(temp_dir); Directory.SetCurrentDirectory(temp_dir); string repo_path = Path.Combine(temp_dir, Path.GetRandomFileName()); Directory.CreateDirectory(repo_path); Upfile dummy = new Upfile() { Configuration = new Configuration() { RepositoryPath = new PathConfiguration() { Location = repo_path } }, Dependencies = new DependencyDefinition[0], Repositories = new Repository[0], UnityVersion = "foo" }; UpfileExposer.SetInstance(dummy); string upbring_path = Path.Combine(repo_path, "Upbring.xml"); File.Create(upbring_path).Dispose(); Upbring.RemoveFile(); Assert.IsFalse(File.Exists(upbring_path)); } finally { Directory.SetCurrentDirectory(pwd); Directory.Delete(temp_dir, true); } }
protected void Given() { UpliftManagerExposer.ClearAllInstances(); pwd = Directory.GetCurrentDirectory(); Helper.InitializeRunDirectory(); try { Directory.SetCurrentDirectory(Helper.testRunDirectoryName); // Upfile Setup for filler package upfile_path = Helper.GetLocalFilePath("..", "TestData", "PackageNuking", "Init_Upfile.xml"); try { UpfileExposer.SetInstance(UpfileExposer.LoadTestXml(upfile_path)); } catch (FileNotFoundException) { Console.WriteLine("Make sure you are running the test from UpliftTesting/TestResults. The Upfile.xml uses the current path to register the repositories."); Assert.Fail("The test could not run correctly. See console message."); } UpfileExposer.TestingInstance(); manager = UpliftManager.Instance(); // Creating original state Directory.CreateDirectory("Assets"); Directory.CreateDirectory("Assets/Media"); File.Create("Assets/scriptA.cs").Dispose(); File.Create("Assets/scriptB.cs").Dispose(); File.Create("Assets/Media/mediaA.txt").Dispose(); File.Create("Assets/Media/mediaB.txt").Dispose(); // Install Filler Package manager.InstallDependencies(); // Save the snapshot original_snapshot = GetSnapshot(); // Proper Upfile Setup UpliftManagerExposer.ClearAllInstances(); UpfileExposer.ClearInstance(); upfile_path = Helper.GetLocalFilePath("..", "TestData", "PackageNuking", "Upfile.xml"); try { UpfileExposer.SetInstance(UpfileExposer.LoadTestXml(upfile_path)); } catch (FileNotFoundException) { Console.WriteLine("Make sure you are running the test from UpliftTesting/TestResults. The Upfile.xml uses the current path to register the repositories."); Assert.IsTrue(false, "The test could not run correctly. See console message."); } Upfile.Instance(); manager = UpliftManager.Instance(); } finally { Directory.SetCurrentDirectory(pwd); } }
public void WhenInstalling() { upfile_path = Helper.GetLocalFilePath("..", "TestData", "BasicPackageInstallation", "Upfile.xml"); try { UpfileExposer.SetInstance(UpfileExposer.LoadTestXml(upfile_path)); } catch (FileNotFoundException) { UnityEngine.Debug.LogError("The Upfile.xml uses the current path to register the repositories."); } Upfile.Instance(); manager = UpliftManager.Instance(); manager.InstallDependencies(); // Directories existence Assert.IsTrue(Directory.Exists("UPackages"), "Directory UPackages does not exist"); Assert.IsTrue(Directory.Exists("UPackages/package_a~1.0.0"), "Package directory does not exist under UPackages"); Assert.IsTrue(Directory.Exists("Assets"), "Directory Assets does not exist"); Assert.IsTrue(Directory.Exists("Assets/UPackages"), "Directory UPackages under Assets does not exist"); Assert.IsTrue(Directory.Exists("Assets/UPackages/package_a~1.0.0"), "Package directory does not exist under Assets/UPackages"); // Files under Assets/UPackages Assert.IsTrue(File.Exists("Assets/UPackages/package_a~1.0.0/A1.cs"), "File A1 did not get copied to Assets/UPackages/package_a~1.0.0"); Assert.IsTrue(File.Exists("Assets/UPackages/package_a~1.0.0/A2.cs"), "File A2 did not get copied to Assets/UPackages/package_a~1.0.0"); Assert.IsTrue(File.Exists("Assets/UPackages/package_a~1.0.0/A3.cs"), "File A3 did not get copied to Assets/UPackages/package_a~1.0.0"); Assert.IsTrue(File.Exists("Assets/UPackages/package_a~1.0.0/Upset.xml"), "Upset file did not get copied to Assets/UPackages/package_a~1.0.0"); // Files under UPackages Assert.IsTrue(File.Exists("UPackages/Upbring.xml"), "Upbring file has not been created"); Assert.IsTrue(File.Exists("UPackages/package_a~1.0.0/A1.cs"), "File A1 did not get copied to UPackages/package_a~1.0.0"); Assert.IsTrue(File.Exists("UPackages/package_a~1.0.0/A2.cs"), "File A2 did not get copied to UPackages/package_a~1.0.0"); Assert.IsTrue(File.Exists("UPackages/package_a~1.0.0/A3.cs"), "File A3 did not get copied to UPackages/package_a~1.0.0"); Assert.IsTrue(File.Exists("UPackages/package_a~1.0.0/Upset.xml"), "Upset file did not get copied to UPackages/package_a~1.0.0"); // Upbring validity Upbring upbring = Upbring.Instance(); Assert.IsNotEmpty(upbring.InstalledPackage, "Upbring file did not registered the installation"); Assert.That(upbring.InstalledPackage.Any(p => p.Name == "package_a" && p.Version == "1.0.0" ), "Upbring did not register an installation with the proper package Name and Version"); Assert.IsNotEmpty(upbring.InstalledPackage[0].Install, "Upbring file did not register file dependencies"); Assert.That(upbring.InstalledPackage[0].Install.Any(i => i is InstallSpecPath && (i as InstallSpecPath).Path == "UPackages/package_a~1.0.0" && i.Type == InstallSpecType.Root ), "Root installation did not get registered"); Assert.That(upbring.InstalledPackage[0].Install.Any(i => i is InstallSpecPath && (i as InstallSpecPath).Path == "Assets/UPackages/package_a~1.0.0/A1.cs" && i.Type == InstallSpecType.Base ), "Base installation of A1.cs did not get registered"); Assert.That(upbring.InstalledPackage[0].Install.Any(i => i is InstallSpecPath && (i as InstallSpecPath).Path == "Assets/UPackages/package_a~1.0.0/A2.cs" && i.Type == InstallSpecType.Base ), "Base installation of A2.cs did not get registered"); Assert.That(upbring.InstalledPackage[0].Install.Any(i => i is InstallSpecPath && (i as InstallSpecPath).Path == "Assets/UPackages/package_a~1.0.0/A3.cs" && i.Type == InstallSpecType.Base ), "Base installation of A3.cs did not get registered"); Assert.That(upbring.InstalledPackage[0].Install.Any(i => i is InstallSpecPath && (i as InstallSpecPath).Path == "Assets/UPackages/package_a~1.0.0/Upset.xml" && i.Type == InstallSpecType.Base ), "Base installation of Upset.xml did not get registered"); }