public void TestRegistryManagerController() { Assert.AreEqual(1, RegistryManagerController.AllWrappedRegistries.Count); var u = new Uri(Path.GetFullPath(Path.Combine(TestData.PATH, "registry2/registry.xml"))); Assert.AreEqual(ResponseCode.REGISTRY_ADDED, RegistryManagerController.AddRegistry(u)); Assert.AreEqual(2, RegistryManagerController.AllWrappedRegistries.Count); // Cannot add same uri. Assert.AreEqual(ResponseCode.REGISTRY_ALREADY_PRESENT, RegistryManagerController.AddRegistry(u)); // loading the database again should still be in same state RegistryManagerController.LoadRegistryDatabase(); Assert.AreEqual(2, RegistryManagerController.AllWrappedRegistries.Count); Assert.AreEqual(ResponseCode.REGISTRY_REMOVED, RegistryManagerController.RemoveRegistry(u)); // Can't remove it a second time it won't be there. Assert.AreEqual(ResponseCode.REGISTRY_NOT_FOUND, RegistryManagerController.RemoveRegistry(u)); }
public void TestPluginManagerController() { RegistryManagerController.LoadRegistryDatabase(); Assert.AreEqual(1, RegistryManagerController.AllWrappedRegistries.Count); RegistryWrapper r = RegistryManagerController.AllWrappedRegistries[0]; var u = new Uri(Path.GetFullPath(Path.Combine( TestData.PATH, "registry/com.google.unity.example/package-manifest.xml"))); mockFetcher.AddResponse(u.AbsoluteUri, File.ReadAllText(u.AbsolutePath), ResponseCode.FETCH_COMPLETE); u = new Uri(Path.GetFullPath(Path.Combine( TestData.PATH, "registry/com.google.unity.example/gpm-example-plugin/1.0.0.0/description.xml"))); mockFetcher.AddResponse(u.AbsoluteUri, File.ReadAllText(u.AbsolutePath), ResponseCode.FETCH_COMPLETE); // Test ChangeRegistryUriIntoModuleUri. var regU = new Uri(TestableConstants.DefaultRegistryLocation); var modName = "apples-oranges"; var metaLoc = PluginManagerController.ChangeRegistryUriIntoModuleUri(regU, modName); Assert.IsTrue(metaLoc.AbsoluteUri.Contains(modName)); Assert.IsTrue(metaLoc.AbsoluteUri.Contains(Constants.MANIFEST_FILE_NAME)); // Test GetPluginForRegistry. var plugins = PluginManagerController.GetPluginsForRegistry(r, true); Assert.AreEqual(1, plugins.Count); var packagedPlugin = plugins[0]; Assert.NotNull(packagedPlugin); Assert.AreEqual(r.Model, packagedPlugin.ParentRegistry); // Test GenerateDescriptionUri. var d = PluginManagerController.GenerateDescriptionUri(metaLoc, packagedPlugin.MetaData); Assert.IsTrue(d.AbsoluteUri.Contains(packagedPlugin.MetaData.artifactId)); Assert.IsTrue(d.AbsoluteUri.Contains(packagedPlugin.MetaData.versioning.release)); Assert.IsTrue(d.AbsoluteUri.Contains(Constants.DESCRIPTION_FILE_NAME)); plugins = PluginManagerController.GetPluginsForRegistry(null); Assert.AreEqual(0, plugins.Count); // Test Refresh. PluginManagerController.Refresh(r); plugins = PluginManagerController.GetPluginsForRegistry(r); Assert.AreEqual(1, plugins.Count); packagedPlugin = plugins[0]; Assert.NotNull(packagedPlugin); Assert.AreEqual(r.Model, packagedPlugin.ParentRegistry); }
public void SetUp() { _context = new SettingsContext(_options); _centralRegistryRepository = new CentralRegistryRepository(_context); _registryManagerController = new RegistryManagerController(new RegistryManagerService(_centralRegistryRepository)); _centralRegistry = Builder <CentralRegistry> .CreateNew() .With(x => x.Url = "http://52.178.24.227:8026") .Build(); _centralRegistry.AuthToken = _authToken; }
/// <summary> /// Update override method called by Unity editor. The update cycle looks /// for any action events that were generated in the OnGUI method by the /// user and takes action on those events. /// </summary> void Update() { if (registryDataDirty) { LoggingController.Log("plugin data marked dirty - refreshing..."); registryDataDirty = false; RegistryManagerController.RefreshRegistryCache(); EditorUtility.SetDirty(this); } while (installRegistry.Count > 0) { var regUriStr = installRegistry.Pop(); try { ResponseCode rc = RegistryManagerController.AddRegistry(new Uri(regUriStr)); if (ResponseCode.REGISTRY_ADDED == rc) { registryDataDirty = true; } else if (ResponseCode.REGISTRY_ALREADY_PRESENT == rc) { EditorUtility.DisplayDialog("Registry Already Present", "The registry was NOT added since it" + "is already known.", "Ok"); } else { EditorUtility.DisplayDialog("Registry Location Not Valid", string.Format( "The registry cannot be added. An " + "error has occured using the provided " + "location.\n\n{0}", rc), "Ok"); } } catch (Exception e) { // failure - bad data EditorUtility.DisplayDialog("Registry Location Processing Error", string.Format("A processing exception was " + "generated while trying to add {0}." + "\n\n{1}", regUriStr, e), "Ok"); } } while (uninstallRegistry.Count > 0) { var regUriStr = uninstallRegistry.Pop(); if (EditorUtility.DisplayDialog("Confirm Delete Registry", "Are you sure you want to delete the registry?", "Yes Delete It!", "Cancel")) { ResponseCode rc = RegistryManagerController .RemoveRegistry(new Uri(regUriStr)); registryDataDirty = true; if (ResponseCode.REGISTRY_NOT_FOUND == rc) { EditorUtility.DisplayDialog("Registry Not Found!", "There was a problem while trying to " + "remove the registry. It was not " + "found when we tried to remove it." , "Ok"); } } } }