public void CanSaveAndLoadSessionStateKeys() { m_Manager.Initialize(m_Settings); m_Manager.GlobalProfileVariables.Clear(); var customIps = new Dictionary <string, string>() { { m_Manager.GetPrivateIpAddressKey(0), "111.1.1.1" }, { m_Manager.GetPrivateIpAddressKey(1), "222.2.2.2" }, { m_Manager.GetPrivateIpAddressKey(2), "333.3.3.3" }, }; foreach (KeyValuePair <string, string> pair in customIps) { m_Manager.GlobalProfileVariables.Add(pair.Key, pair.Value); } m_Manager.SaveSessionStateKeys(); m_Manager.GlobalProfileVariables.Clear(); m_Manager.LoadSessionStateKeys(); Assert.AreEqual(customIps.Count, m_Manager.GlobalProfileVariables.Count); foreach (KeyValuePair <string, string> pair in customIps) { Assert.IsTrue(m_Manager.GlobalProfileVariables.ContainsKey(pair.Key)); Assert.AreEqual(pair.Value, m_Manager.GlobalProfileVariables[pair.Key]); } HostingServicesManager.EraseSessionStateKeys(); }
public void BatchModeShould_StartAllServices() { m_Manager.Initialize(m_Settings); var svc = m_Manager.AddHostingService(typeof(TestHostingService), "test"); Assert.IsFalse(svc.IsHostingServiceRunning); HostingServicesManager.BatchMode(m_Settings); Assert.IsTrue(svc.IsHostingServiceRunning); }
public void OnEnableShould_UnregisterProfileStringEvalFuncForManager() { m_Manager.Initialize(m_Settings); m_Manager.OnEnable(); Assert.IsTrue(ProfileStringEvalDelegateIsRegistered(m_Settings, m_Manager)); m_Manager.OnDisable(); Assert.IsFalse(ProfileStringEvalDelegateIsRegistered(m_Settings, m_Manager)); HostingServicesManager.EraseSessionStateKeys(); }
public void Setup() { m_Manager = new HostingServicesManager(); m_Settings = AddressableAssetSettings.Create(k_TestConfigFolder, k_TestConfigName, false, false); m_Settings.HostingServicesManager = m_Manager; var group = m_Settings.CreateGroup("testGroup", false, false, false, null); group.AddSchema <BundledAssetGroupSchema>(); m_Settings.groups.Add(group); }
static void Deserialize(HostingServicesManager m, SerializedData data) { FieldInfo infosField = typeof(HostingServicesManager).GetField("m_HostingServiceInfos", BindingFlags.NonPublic | BindingFlags.Instance); Assert.NotNull(infosField); FieldInfo typeRefField = typeof(HostingServicesManager).GetField("m_RegisteredServiceTypeRefs", BindingFlags.NonPublic | BindingFlags.Instance); Assert.NotNull(typeRefField); infosField.SetValue(m, data.Infos); typeRefField.SetValue(m, data.TypeRefs); }
public void OnDisableShould_DeRegisterForSettingsModificationEvents() { var len = m_Settings.OnModification.GetInvocationList().Length; m_Manager.Initialize(m_Settings); m_Manager.OnEnable(); m_Manager.OnEnable(); m_Manager.OnEnable(); Assert.Greater(m_Settings.OnModification.GetInvocationList().Length, len); m_Manager.OnDisable(); Assert.AreEqual(len, m_Settings.OnModification.GetInvocationList().Length); HostingServicesManager.EraseSessionStateKeys(); }
public void OnDisableShould_DeRegisterProfileStringEvalFuncsForServices() { m_Manager.Initialize(m_Settings); var svc = m_Manager.AddHostingService(typeof(TestHostingService), "test") as TestHostingService; Assert.IsNotNull(svc); m_Manager.Initialize(m_Settings); m_Manager.OnEnable(); Assert.IsTrue(ProfileStringEvalDelegateIsRegistered(m_Settings, svc)); m_Manager.OnDisable(); Assert.IsFalse(ProfileStringEvalDelegateIsRegistered(m_Settings, svc)); HostingServicesManager.EraseSessionStateKeys(); }
IHostingService GetManagedService(out AddressableAssetSettings settings) { var m = new HostingServicesManager(); settings = AddressableAssetSettings.Create(k_TestConfigFolder, k_TestConfigName, false, false); settings.HostingServicesManager = m; var group = settings.CreateGroup("testGroup", false, false, false, null); group.AddSchema <BundledAssetGroupSchema>(); settings.groups.Add(group); m.Initialize(settings); return(m.AddHostingService(m_Service.GetType(), "test")); }
public void OnDisableShould_RegisterNullLoggerForServices() { m_Manager.Initialize(m_Settings); var svc = m_Manager.AddHostingService(typeof(TestHostingService), "test") as TestHostingService; Assert.IsNotNull(svc); m_Manager.Initialize(m_Settings); m_Manager.OnEnable(); Assert.IsNotNull(svc.Logger); m_Manager.OnDisable(); Assert.IsNull(svc.Logger); HostingServicesManager.EraseSessionStateKeys(); }
static SerializedData Serialize(HostingServicesManager m) { FieldInfo infosField = typeof(HostingServicesManager).GetField("m_HostingServiceInfos", BindingFlags.NonPublic | BindingFlags.Instance); Assert.NotNull(infosField); FieldInfo typeRefField = typeof(HostingServicesManager).GetField("m_RegisteredServiceTypeRefs", BindingFlags.NonPublic | BindingFlags.Instance); Assert.NotNull(typeRefField); return(new SerializedData() { Infos = (List <HostingServicesManager.HostingServiceInfo>)infosField.GetValue(m), TypeRefs = (List <string>)typeRefField.GetValue(m) }); }
public void CanEraseSessionStateKeys() { m_Manager.Initialize(m_Settings); m_Manager.GlobalProfileVariables.Clear(); m_Manager.GlobalProfileVariables.Add(m_Manager.GetPrivateIpAddressKey(0), "111.1.1.1"); m_Manager.GlobalProfileVariables.Add(m_Manager.GetPrivateIpAddressKey(1), "222.2.2.2"); m_Manager.GlobalProfileVariables.Add(m_Manager.GetPrivateIpAddressKey(2), "333.3.3.3"); m_Manager.SaveSessionStateKeys(); HostingServicesManager.EraseSessionStateKeys(); Assert.AreEqual(string.Empty, SessionState.GetString(HostingServicesManager.GetSessionStateKey(0), string.Empty)); Assert.AreEqual(string.Empty, SessionState.GetString(HostingServicesManager.GetSessionStateKey(1), string.Empty)); Assert.AreEqual(string.Empty, SessionState.GetString(HostingServicesManager.GetSessionStateKey(2), string.Empty)); }
public void OnEnableShould_LoadSessionStateKeys_IfExitingEditMode_AndConditionsAreMet(bool serviceEnabled, bool usingPackedPlayMode) { string ipAddressKey = m_Manager.GetPrivateIpAddressKey(); string ipAddressVal = "123.1.2.3"; m_Manager.Initialize(m_Settings); bool exitingExitMode = m_Manager.exitingEditMode; m_Manager.exitingEditMode = true; var svc = m_Manager.AddHostingService(typeof(TestHostingService), "test"); if (serviceEnabled) { svc.StartHostingService(); } int activePlayerDataBuilderIndex = m_Settings.ActivePlayModeDataBuilderIndex; if (usingPackedPlayMode) { m_Settings.DataBuilders.Add(ScriptableObject.CreateInstance <BuildScriptPackedPlayMode>()); m_Settings.ActivePlayModeDataBuilderIndex = m_Settings.DataBuilders.Count - 1; } m_Manager.GlobalProfileVariables.Clear(); m_Manager.GlobalProfileVariables.Add(ipAddressKey, ipAddressVal); m_Manager.SaveSessionStateKeys(); m_Manager.GlobalProfileVariables.Clear(); m_Manager.OnEnable(); Assert.AreEqual(1, m_Manager.GlobalProfileVariables.Count); Assert.IsTrue(m_Manager.GlobalProfileVariables.ContainsKey(ipAddressKey)); Assert.AreEqual(ipAddressVal, m_Manager.GlobalProfileVariables[ipAddressKey]); if (serviceEnabled) { svc.StopHostingService(); } m_Settings.ActivePlayModeDataBuilderIndex = activePlayerDataBuilderIndex; if (usingPackedPlayMode) { m_Settings.DataBuilders.RemoveAt(m_Settings.DataBuilders.Count - 1); } m_Manager.exitingEditMode = exitingExitMode; HostingServicesManager.EraseSessionStateKeys(); }
public void OnDisableShould_StopAllServices() { m_Manager.Initialize(m_Settings); for (int i = 0; i < 3; i++) { var svc = m_Manager.AddHostingService(typeof(HttpHostingService), $"test_{i}") as HttpHostingService; Assert.IsNotNull(svc); svc.StartHostingService(); Assert.IsTrue(svc.IsHostingServiceRunning); } m_Manager.OnDisable(); foreach (var svc in m_Manager.HostingServices) { Assert.IsFalse(svc.IsHostingServiceRunning); } HostingServicesManager.EraseSessionStateKeys(); }
public HostingServicesListTreeView(TreeViewState treeViewState, HostingServicesManager manager, HostingServicesWindow window, MultiColumnHeader header) : base(treeViewState, header) { m_Manager = manager; m_Window = window; m_Names = new List <string>(); if (m_Window.ServiceIndex == -1) { m_Window.ServiceIndex = 0; } Reload(); if (m_Window.ServiceIndex >= 0) { SetSelection(new List <int> { m_Window.ServiceIndex }); } }
public void OnDisableShould_SaveSessionStateKeys() { string ipAddressKey = m_Manager.GetPrivateIpAddressKey(0); string ipAddressVal = "123.1.2.3"; m_Manager.Initialize(m_Settings); m_Manager.GlobalProfileVariables.Clear(); m_Manager.GlobalProfileVariables.Add(ipAddressKey, ipAddressVal); m_Manager.OnDisable(); m_Manager.GlobalProfileVariables.Clear(); m_Manager.LoadSessionStateKeys(); Assert.AreEqual(1, m_Manager.GlobalProfileVariables.Count); Assert.IsTrue(m_Manager.GlobalProfileVariables.ContainsKey(ipAddressKey)); Assert.AreEqual(ipAddressVal, m_Manager.GlobalProfileVariables[ipAddressKey]); HostingServicesManager.EraseSessionStateKeys(); }
public void LoadSessionStateKeys_ExcludesMissingKeys() { string ipAddressKey = m_Manager.GetPrivateIpAddressKey(1); m_Manager.Initialize(m_Settings); m_Manager.GlobalProfileVariables.Clear(); m_Manager.GlobalProfileVariables.Add(m_Manager.GetPrivateIpAddressKey(0), "111.1.1.1"); m_Manager.GlobalProfileVariables.Add(ipAddressKey, "222.2.2.2"); m_Manager.GlobalProfileVariables.Add(m_Manager.GetPrivateIpAddressKey(2), "333.3.3.3"); m_Manager.SaveSessionStateKeys(); m_Manager.GlobalProfileVariables.Clear(); SessionState.EraseString(HostingServicesManager.GetSessionStateKey(1)); m_Manager.LoadSessionStateKeys(); Assert.AreEqual(2, m_Manager.GlobalProfileVariables.Count); Assert.IsFalse(m_Manager.GlobalProfileVariables.ContainsKey(ipAddressKey)); HostingServicesManager.EraseSessionStateKeys(); }
public void OnDomainReload_HttpServicePortShouldntChange() { m_Manager.Initialize(m_Settings); var svc = m_Manager.AddHostingService(typeof(HttpHostingService), "test") as HttpHostingService; Assert.IsNotNull(svc); svc.WasEnabled = true; m_Manager.OnEnable(); var expectedPort = svc.HostingServicePort; Assert.IsTrue(svc.IsHostingServiceRunning); for (int i = 1; i <= 5; i++) { m_Manager.OnDisable(); Assert.IsFalse(svc.IsHostingServiceRunning, $"Service '{svc.DescriptiveName}' was still running after manager.OnDisable() (iteration {i}"); m_Manager.OnEnable(); Assert.IsTrue(svc.IsHostingServiceRunning, $"Service '{svc.DescriptiveName}' not running after manager.OnEnable() (iteration {i}"); } Assert.AreEqual(expectedPort, svc.HostingServicePort); HostingServicesManager.EraseSessionStateKeys(); }
public void OnAfterDeserializeShould_RestoreHostingServicesInstancesIfStillAlive() { m_Manager.Initialize(m_Settings); var svc = m_Manager.AddHostingService(typeof(TestHostingService), "test"); Assert.IsTrue(m_Manager.HostingServices.Contains(svc)); var generator = new ObjectIDGenerator(); var id = generator.GetId(svc, out bool firstTime); Assert.IsTrue(firstTime); m_Manager.OnBeforeSerialize(); var serializedData = Serialize(m_Manager); svc = null; m_Manager = null; m_Settings.HostingServicesManager = null; var newManager = new HostingServicesManager(); m_Settings.HostingServicesManager = newManager; newManager.Initialize(m_Settings); Deserialize(newManager, serializedData); newManager.OnAfterDeserialize(); Assert.IsNotEmpty(newManager.HostingServices); svc = newManager.HostingServices.FirstOrDefault(); Assert.NotNull(svc); var id2 = generator.GetId(svc, out firstTime); Assert.IsFalse(firstTime); Assert.AreEqual(id, id2); m_Manager = newManager; }
static bool ProfileStringEvalDelegateIsRegistered(AddressableAssetSettings s, HostingServicesManager m) { var del = new AddressableAssetProfileSettings.ProfileStringEvaluationDelegate(m.EvaluateGlobalProfileVariableKey); var list = s.profileSettings.onProfileStringEvaluation.GetInvocationList(); return(list.Contains(del)); }
public void BatchModeShould_InitializeManagerWithDefaultSettings() { Assert.IsFalse(m_Manager.IsInitialized); HostingServicesManager.BatchMode(m_Settings); Assert.IsTrue(m_Manager.IsInitialized); }
public void OneTimeSetUp() { // calling EditorSceneManager.NewScene from other tests will call HostingServicesManager.OnDisable and save the keys HostingServicesManager.EraseSessionStateKeys(); }