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); }
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); }
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); }