コード例 #1
0
        public void UpgradeIfNecessary_FullOldConfig_OldConfigMigrated()
        {
            var reportingSettings = new ReportingSettings
            {
                FirstLaunchDate            = DateTime.Now.AddYears(-1),
                HaveShowRegistrationDialog = false,
                Launches = 100,
                OkToPingBasicUsageData = true,
                PreviousLaunchDate     = DateTime.Now.AddDays(-1),
                PreviousVersion        = "Version 1.0.0"
            };

            XDocument oldConfigXml = CreateOldConfig(reportingSettings, true, "keyboards", "username", "password");
            var       appSettings  = new TestFwApplicationSettings {
                ConfigXml = oldConfigXml
            };

            appSettings.UpgradeIfNecessary();
            Assert.That(appSettings.Reporting.Launches, Is.EqualTo(reportingSettings.Launches));
            Assert.That(appSettings.Reporting.FirstLaunchDate, Is.EqualTo(reportingSettings.FirstLaunchDate));
            Assert.That(appSettings.Reporting.PreviousVersion, Is.EqualTo(reportingSettings.PreviousVersion));
            Assert.That(appSettings.LocalKeyboards, Is.EqualTo("keyboards"));
            Assert.That(appSettings.WebonaryUser, Is.EqualTo("username"));
            Assert.That(appSettings.WebonaryPass, Is.EqualTo("password"));
            // check if the old config sections were removed
            Assert.That(appSettings.ConfigXml.Root?.Element("configSections")?.Elements("sectionGroup")
                        .First(e => (string)e.Attribute("name") == "userSettings").HasElements, Is.False);
            Assert.That(appSettings.ConfigXml.Root?.Element("userSettings")?.HasElements, Is.False);
        }
コード例 #2
0
        public void UpgradeIfNecessary_OldConfigReportingMissing_OldConfigMigrated()
        {
            XDocument oldConfigXml = CreateOldConfig(null, true, "keyboards", "username", "password");
            var       appSettings  = new TestFwApplicationSettings {
                ConfigXml = oldConfigXml
            };

            appSettings.UpgradeIfNecessary();
            Assert.That(appSettings.Reporting, Is.Null);
            Assert.That(appSettings.LocalKeyboards, Is.EqualTo("keyboards"));
            Assert.That(appSettings.WebonaryUser, Is.EqualTo("username"));
            Assert.That(appSettings.WebonaryPass, Is.EqualTo("password"));
            // check if the old config sections were removed
            Assert.That(appSettings.ConfigXml.Root?.Element("configSections")?.Elements("sectionGroup")
                        .First(e => (string)e.Attribute("name") == "userSettings").HasElements, Is.False);
            Assert.That(appSettings.ConfigXml.Root?.Element("userSettings")?.HasElements, Is.False);
        }
コード例 #3
0
        public void UpgradeIfNecessary_EmptyOldConfig_NothingMigrated()
        {
            var oldConfigXml = new XDocument(new XDeclaration("1.0", "utf-8", "yes"),
                                             new XElement("configuration",
                                                          new XElement("configSections",
                                                                       new XElement("sectionGroup", new XAttribute("name", "userSettings"))),
                                                          new XElement("userSettings")));
            var appSettings = new TestFwApplicationSettings {
                ConfigXml = oldConfigXml
            };

            appSettings.UpgradeIfNecessary();
            Assert.That(appSettings.Reporting, Is.Null);
            Assert.That(appSettings.LocalKeyboards, Is.Null);
            Assert.That(appSettings.WebonaryUser, Is.Null);
            Assert.That(appSettings.WebonaryPass, Is.Null);
        }