public void ProductSyncListAddTwoEntriesRemoveFirst() { String settingsFileName = Path.GetTempFileName(); File.Delete(settingsFileName); try { SettingsManager settingsManager = new SettingsManager(settingsFileName); StackHashContextSettings contextSettings = settingsManager.CreateNewContextSettings(); Assert.AreNotEqual(null, contextSettings.WinQualSettings.ProductsToSynchronize); settingsManager.SetProductSynchronization(0, 10, true); settingsManager.SetProductSynchronization(0, 20, true); StackHashSettings currentSettings = settingsManager.CurrentSettings; Assert.AreEqual(2, currentSettings.ContextCollection[0].WinQualSettings.ProductsToSynchronize.Count); StackHashProductSyncData productSyncData = currentSettings.ContextCollection[0].WinQualSettings.ProductsToSynchronize.FindProduct(10); Assert.AreNotEqual(null, productSyncData); Assert.AreEqual(10, productSyncData.ProductId); productSyncData = currentSettings.ContextCollection[0].WinQualSettings.ProductsToSynchronize.FindProduct(20); Assert.AreNotEqual(null, productSyncData); Assert.AreEqual(20, productSyncData.ProductId); // Check the settings are persisted. settingsManager = new SettingsManager(settingsFileName); currentSettings = settingsManager.CurrentSettings; Assert.AreEqual(2, currentSettings.ContextCollection[0].WinQualSettings.ProductsToSynchronize.Count); productSyncData = currentSettings.ContextCollection[0].WinQualSettings.ProductsToSynchronize.FindProduct(10); Assert.AreNotEqual(null, productSyncData); Assert.AreEqual(10, productSyncData.ProductId); productSyncData = currentSettings.ContextCollection[0].WinQualSettings.ProductsToSynchronize.FindProduct(20); Assert.AreNotEqual(null, productSyncData); Assert.AreEqual(20, productSyncData.ProductId); settingsManager.SetProductSynchronization(0, 10, false); currentSettings = settingsManager.CurrentSettings; Assert.AreEqual(1, currentSettings.ContextCollection[0].WinQualSettings.ProductsToSynchronize.Count); productSyncData = currentSettings.ContextCollection[0].WinQualSettings.ProductsToSynchronize.FindProduct(20); Assert.AreNotEqual(null, productSyncData); Assert.AreEqual(20, productSyncData.ProductId); // Check the settings are persisted. settingsManager = new SettingsManager(settingsFileName); currentSettings = settingsManager.CurrentSettings; Assert.AreEqual(1, currentSettings.ContextCollection[0].WinQualSettings.ProductsToSynchronize.Count); productSyncData = currentSettings.ContextCollection[0].WinQualSettings.ProductsToSynchronize.FindProduct(20); Assert.AreNotEqual(null, productSyncData); Assert.AreEqual(20, productSyncData.ProductId); } finally { if (File.Exists(settingsFileName)) { File.Delete(settingsFileName); } } }
public ControllerUnitTests() { StackHashContextSettings contextSettings = new StackHashContextSettings(); contextSettings.Id = 0; contextSettings.WinQualSettings = new WinQualSettings(TestSettings.WinQualUserName, TestSettings.WinQualPassword, "Cucku", 90, new StackHashProductSyncDataCollection(), false, 0, 1, WinQualSettings.DefaultSyncsBeforeResync, false); contextSettings.ErrorIndexSettings = new ErrorIndexSettings(); contextSettings.ErrorIndexSettings.Folder = Path.GetTempPath() + "\\StackHashIndex"; contextSettings.ErrorIndexSettings.Name = "TestController"; contextSettings.ErrorIndexSettings.Type = ErrorIndexType.Xml; m_Properties = new StackHashSettings(); m_Properties.ContextCollection = new StackHashContextCollection(); m_Properties.ContextCollection.Add(contextSettings); }
public void SaveLoadSettings() { StackHashSettings settings = new StackHashSettings(); settings.ContextCollection = new StackHashContextCollection(); settings.ProxySettings = new StackHashProxySettings(true, true, "host", 9000, "UserName", "Password", "Domain"); StackHashContextSettings context1 = new StackHashContextSettings(); context1.CabFilePurgeSchedule = new ScheduleCollection(); context1.CabFilePurgeSchedule.Add(new Schedule()); context1.CabFilePurgeSchedule[0].DaysOfWeek = DaysOfWeek.Monday; context1.CabFilePurgeSchedule[0].Period = SchedulePeriod.Hourly; context1.CabFilePurgeSchedule[0].Time = new ScheduleTime(1, 2, 3); context1.ErrorIndexSettings = new ErrorIndexSettings(); context1.ErrorIndexSettings.Folder = "C:\\test1"; context1.ErrorIndexSettings.Name = "Name1"; context1.ErrorIndexSettings.Type = ErrorIndexType.Xml; context1.Id = 1; StackHashProductSyncDataCollection productsToSync = new StackHashProductSyncDataCollection(); productsToSync.Add(new StackHashProductSyncData(23)); context1.WinQualSettings = new WinQualSettings("username", "password", "cucku", 90, productsToSync, true, 30 * 60, 1, WinQualSettings.DefaultSyncsBeforeResync, true); context1.WinQualSyncSchedule = new ScheduleCollection(); context1.WinQualSyncSchedule.Add(new Schedule()); context1.WinQualSyncSchedule[0].DaysOfWeek = DaysOfWeek.Tuesday; context1.WinQualSyncSchedule[0].Period = SchedulePeriod.Weekly; context1.WinQualSyncSchedule[0].Time = new ScheduleTime(4, 5, 6); context1.DebuggerSettings = new StackHashDebuggerSettings(); context1.DebuggerSettings.BinaryPath = new StackHashSearchPath(); context1.DebuggerSettings.BinaryPath.Add("C:\\Binary"); context1.DebuggerSettings.BinaryPath.Add("C:\\Path"); context1.DebuggerSettings.SymbolPath = new StackHashSearchPath(); context1.DebuggerSettings.SymbolPath.Add("C:\\Symbol"); context1.DebuggerSettings.SymbolPath.Add("C:\\Path2"); context1.DebuggerSettings.BinaryPath64Bit = new StackHashSearchPath(); context1.DebuggerSettings.BinaryPath64Bit.Add("C:\\Binary64"); context1.DebuggerSettings.BinaryPath64Bit.Add("C:\\Path64"); context1.DebuggerSettings.SymbolPath64Bit = new StackHashSearchPath(); context1.DebuggerSettings.SymbolPath64Bit.Add("C:\\Symbol64"); context1.DebuggerSettings.SymbolPath64Bit.Add("C:\\Path264"); context1.DebuggerSettings.DebuggerPathAndFileName = "C:\\debugger64.exe"; context1.DebuggerSettings.DebuggerPathAndFileName64Bit = "C:\\debugger64.exe"; context1.PurgeOptionsCollection = new StackHashPurgeOptionsCollection(); context1.BugTrackerSettings = new StackHashBugTrackerPlugInSettings(); context1.BugTrackerSettings.PlugInSettings = new StackHashBugTrackerPlugInCollection(); context1.BugTrackerSettings.PlugInSettings.Add(new StackHashBugTrackerPlugIn()); context1.BugTrackerSettings.PlugInSettings[0].Enabled = true; context1.BugTrackerSettings.PlugInSettings[0].Name = "TestPlugIn"; context1.BugTrackerSettings.PlugInSettings[0].Properties = new StackHashNameValueCollection(); context1.BugTrackerSettings.PlugInSettings[0].Properties.Add(new StackHashNameValuePair("Name1", "Value1")); context1.BugTrackerSettings.PlugInSettings[0].Properties.Add(new StackHashNameValuePair("Longer name with spaces", "Longer text la la la la la ")); context1.BugTrackerSettings.PlugInSettings[0].Properties.Add(new StackHashNameValuePair("$pec1al &^%$&\"£! mbols", "Hehhijugiuyhg*(&^%*&^%")); StackHashPurgeOptions purgeOptions = new StackHashPurgeOptions(); purgeOptions.Id = 22; purgeOptions.AgeToPurge = 90; purgeOptions.PurgeCabFiles = true; purgeOptions.PurgeDumpFiles = true; purgeOptions.PurgeObject = StackHashPurgeObject.PurgeFile; context1.PurgeOptionsCollection.Add(purgeOptions); settings.ContextCollection.Add(context1); // Now save the settings to an XML file. string tempFile = m_TempPath + "\\testsettings.xml"; StackHashSettings.Save(settings, tempFile); // Now load the new settings and compare them. StackHashSettings loadedSettings = StackHashSettings.Load(tempFile); Assert.AreEqual(settings.ProxySettings.UseProxy, loadedSettings.ProxySettings.UseProxy); Assert.AreEqual(settings.ProxySettings.UseProxyAuthentication, loadedSettings.ProxySettings.UseProxyAuthentication); Assert.AreEqual(settings.ProxySettings.ProxyHost, loadedSettings.ProxySettings.ProxyHost); Assert.AreEqual(settings.ProxySettings.ProxyPort, loadedSettings.ProxySettings.ProxyPort); Assert.AreEqual(settings.ProxySettings.ProxyDomain, loadedSettings.ProxySettings.ProxyDomain); Assert.AreEqual(settings.ProxySettings.ProxyUserName, loadedSettings.ProxySettings.ProxyUserName); Assert.AreEqual(settings.ProxySettings.ProxyPassword, loadedSettings.ProxySettings.ProxyPassword); Assert.AreEqual(settings.ContextCollection.Count, loadedSettings.ContextCollection.Count); for (int i = 0; i < settings.ContextCollection.Count; i++) { StackHashContextSettings contextOriginal = settings.ContextCollection[i]; StackHashContextSettings contextLoaded = loadedSettings.ContextCollection[i]; Assert.AreEqual(contextOriginal.CabFilePurgeSchedule.Count, contextLoaded.CabFilePurgeSchedule.Count); for (int j = 0; j < contextOriginal.CabFilePurgeSchedule.Count; j++) { Schedule scheduleOriginal = settings.ContextCollection[i].CabFilePurgeSchedule[0]; Schedule scheduleLoaded = loadedSettings.ContextCollection[i].CabFilePurgeSchedule[0]; Assert.AreEqual(scheduleOriginal.DaysOfWeek, scheduleLoaded.DaysOfWeek); Assert.AreEqual(scheduleOriginal.Period, scheduleLoaded.Period); Assert.AreEqual(scheduleOriginal.Time.Hour, scheduleLoaded.Time.Hour); Assert.AreEqual(scheduleOriginal.Time.Minute, scheduleLoaded.Time.Minute); Assert.AreEqual(scheduleOriginal.Time.Second, scheduleLoaded.Time.Second); } Assert.AreEqual(contextOriginal.ErrorIndexSettings.Folder, contextLoaded.ErrorIndexSettings.Folder); Assert.AreEqual(contextOriginal.ErrorIndexSettings.Name, contextLoaded.ErrorIndexSettings.Name); Assert.AreEqual(contextOriginal.ErrorIndexSettings.Type, contextLoaded.ErrorIndexSettings.Type); Assert.AreEqual(contextOriginal.Id, contextLoaded.Id); Assert.AreEqual(contextOriginal.WinQualSettings.CompanyName, contextLoaded.WinQualSettings.CompanyName); Assert.AreEqual(contextOriginal.WinQualSettings.Password, contextLoaded.WinQualSettings.Password); Assert.AreEqual(contextOriginal.WinQualSettings.UserName, contextLoaded.WinQualSettings.UserName); Assert.AreEqual(1, contextOriginal.WinQualSettings.ProductsToSynchronize.Count); Assert.AreEqual(23, contextOriginal.WinQualSettings.ProductsToSynchronize[0].ProductId); Assert.AreEqual(true, contextOriginal.WinQualSettings.EnableNewProductsAutomatically); Assert.AreEqual(contextOriginal.WinQualSyncSchedule.Count, contextLoaded.WinQualSyncSchedule.Count); for (int j = 0; j < contextOriginal.CabFilePurgeSchedule.Count; j++) { Schedule scheduleOriginal = settings.ContextCollection[i].CabFilePurgeSchedule[0]; Schedule scheduleLoaded = loadedSettings.ContextCollection[i].CabFilePurgeSchedule[0]; Assert.AreEqual(scheduleOriginal.DaysOfWeek, scheduleLoaded.DaysOfWeek); Assert.AreEqual(scheduleOriginal.Period, scheduleLoaded.Period); Assert.AreEqual(scheduleOriginal.Time.Hour, scheduleLoaded.Time.Hour); Assert.AreEqual(scheduleOriginal.Time.Minute, scheduleLoaded.Time.Minute); Assert.AreEqual(scheduleOriginal.Time.Second, scheduleLoaded.Time.Second); } Assert.AreEqual(contextOriginal.DebuggerSettings.DebuggerPathAndFileName, contextLoaded.DebuggerSettings.DebuggerPathAndFileName); Assert.AreEqual(contextOriginal.DebuggerSettings.BinaryPath[0], contextLoaded.DebuggerSettings.BinaryPath[0]); Assert.AreEqual(contextOriginal.DebuggerSettings.BinaryPath[1], contextLoaded.DebuggerSettings.BinaryPath[1]); Assert.AreEqual(contextOriginal.DebuggerSettings.SymbolPath[0], contextLoaded.DebuggerSettings.SymbolPath[0]); Assert.AreEqual(contextOriginal.DebuggerSettings.SymbolPath[1], contextLoaded.DebuggerSettings.SymbolPath[1]); Assert.AreEqual(contextOriginal.DebuggerSettings.DebuggerPathAndFileName64Bit, contextLoaded.DebuggerSettings.DebuggerPathAndFileName64Bit); Assert.AreEqual(contextOriginal.DebuggerSettings.BinaryPath64Bit[0], contextLoaded.DebuggerSettings.BinaryPath64Bit[0]); Assert.AreEqual(contextOriginal.DebuggerSettings.BinaryPath64Bit[1], contextLoaded.DebuggerSettings.BinaryPath64Bit[1]); Assert.AreEqual(contextOriginal.DebuggerSettings.SymbolPath64Bit[0], contextLoaded.DebuggerSettings.SymbolPath64Bit[0]); Assert.AreEqual(contextOriginal.DebuggerSettings.SymbolPath64Bit[1], contextLoaded.DebuggerSettings.SymbolPath64Bit[1]); Assert.AreEqual(contextOriginal.PurgeOptionsCollection.Count, contextLoaded.PurgeOptionsCollection.Count); int purgeOptionIndex = 0; foreach (StackHashPurgeOptions oldPurgeOptions in contextOriginal.PurgeOptionsCollection) { StackHashPurgeOptions loadedPurgeOptions = contextLoaded.PurgeOptionsCollection[purgeOptionIndex++]; Assert.AreEqual(oldPurgeOptions.Id, loadedPurgeOptions.Id); Assert.AreEqual(oldPurgeOptions.AgeToPurge, loadedPurgeOptions.AgeToPurge); Assert.AreEqual(oldPurgeOptions.PurgeCabFiles, loadedPurgeOptions.PurgeCabFiles); Assert.AreEqual(oldPurgeOptions.PurgeDumpFiles, loadedPurgeOptions.PurgeDumpFiles); Assert.AreEqual(oldPurgeOptions.PurgeObject, loadedPurgeOptions.PurgeObject); } if (contextOriginal.BugTrackerSettings != null) { for (int j = 0; j < contextOriginal.BugTrackerSettings.PlugInSettings.Count; j++) { StackHashBugTrackerPlugIn bugTrackerSettings = contextOriginal.BugTrackerSettings.PlugInSettings[j]; Assert.AreEqual(contextOriginal.BugTrackerSettings.PlugInSettings[j].Enabled, bugTrackerSettings.Enabled); for (int k = 0; k < bugTrackerSettings.Properties.Count; k++) { Assert.AreEqual(contextOriginal.BugTrackerSettings.PlugInSettings[j].Properties[k], bugTrackerSettings.Properties[k]); } } } } }