示例#1
0
        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);
                }
            }
        }
示例#2
0
        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);
        }
示例#3
0
        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]);
                        }
                    }
                }
            }
        }