public void DataWithVersion4_UpgradeToVersion5_SetsVersionTo5()
        {
            var data = Data.CreateDataStorage();

            data.SetValue(SettingsUpgrader.VersionSettingPath, "4");
            var upgrader = new SettingsUpgrader(data);

            upgrader.Upgrade(5);

            Assert.AreEqual("5", data.GetValue(SettingsUpgrader.VersionSettingPath));
        }
Exemple #2
0
        public void Version0_UpgradeVersion1_AddedTitleTemplateWithDefaultValue()
        {
            Data data = Data.CreateDataStorage();

            data.SetValue(@"ConversionProfiles\numClasses", "2");
            var upgrader = new SettingsUpgrader(data);

            upgrader.Upgrade(1);

            Assert.AreEqual("<PrintJobName>", data.GetValue(@"ConversionProfiles\0\TitleTemplate"));
            Assert.AreEqual("<PrintJobName>", data.GetValue(@"ConversionProfiles\1\TitleTemplate"));
        }
Exemple #3
0
        public void Version0WithDefaultFormatPropertyInProfiles_UpgradeToVersion1_DefaultFormatSettingIsRemovedAfterRename()
        {
            Data data = Data.CreateDataStorage();

            data.SetValue(@"ConversionProfiles\numClasses", "2");
            data.SetValue(@"ConversionProfiles\0\DefaultFormat", "Pdf");
            data.SetValue(@"ConversionProfiles\1\DefaultFormat", "Png");
            var upgrader = new SettingsUpgrader(data);

            upgrader.Upgrade(1);

            Assert.AreEqual("", data.GetValue(@"ConversionProfiles\0\DefaultFormat"));
        }
Exemple #4
0
        public void Version1_UpgradeVersion2_LastUsedProfilGuidRenamedToLastUsedProfilEGuid()
        {
            Data data = Data.CreateDataStorage();

            data.SetValue(SettingsUpgrader.VersionSettingPath, "1");
            data.SetValue(@"ApplicationSettings\LastUsedProfilGuid", "SomeTestGuid");

            var upgrader = new SettingsUpgrader(data);

            upgrader.Upgrade(2);

            Assert.AreEqual("SomeTestGuid", data.GetValue(@"ApplicationSettings\LastUsedProfileGuid"));
        }
Exemple #5
0
        public void Version3_UpgradeVersion4_TiffColorBlackWhiteIsNamedBlackWhiteG4Fax()
        {
            Data data = Data.CreateDataStorage();

            data.SetValue(SettingsUpgrader.VersionSettingPath, "3");
            data.SetValue(@"ConversionProfiles\numClasses", "1");
            data.SetValue(@"ConversionProfiles\0\TiffSettings\Color", "BlackWhite");

            var upgrader = new SettingsUpgrader(data);

            upgrader.Upgrade(4);

            Assert.AreEqual("BlackWhiteG4Fax", data.GetValue(@"ConversionProfiles\0\TiffSettings\Color"));
        }
Exemple #6
0
        public void Version0_UpgradeToIncrediblyHighVersion_RenamesToOutputFormat()
        {
            Data data = Data.CreateDataStorage();

            data.SetValue(@"ConversionProfiles\numClasses", "2");
            data.SetValue(@"ConversionProfiles\0\DefaultFormat", "Pdf");
            data.SetValue(@"ConversionProfiles\1\DefaultFormat", "Png");
            var upgrader = new SettingsUpgrader(data);

            upgrader.Upgrade(1);

            Assert.AreEqual("Pdf", data.GetValue(@"ConversionProfiles\0\OutputFormat"));
            Assert.AreEqual("Png", data.GetValue(@"ConversionProfiles\1\OutputFormat"));
        }
        public void Test_RemoveOldDefaultFormat()
        {
            var data = Data.CreateDataStorage();

            data.SetValue(@"ConversionProfiles\numClasses", "2");
            data.SetValue(@"ConversionProfiles\0\DefaultFormat", "Pdf");
            data.SetValue(@"ConversionProfiles\1\DefaultFormat", "Png");
            var upgrader = new SettingsUpgrader(data);

            upgrader.Upgrade(1);

            Assert.AreEqual("", data.GetValue(@"ConversionProfiles\0\DefaultFormat"));
            Assert.AreEqual("", data.GetValue(@"ConversionProfiles\1\DefaultFormat"));
        }
        public void WithAutoSaveDisAbled_DoesNotExtractTargetDirectory()
        {
            var data = CreateV6Storage();

            data.SetValue(@"ConversionProfiles\numClasses", "1");
            data.SetValue(@"ConversionProfiles\0\AutoSave\Enabled", "False");
            data.SetValue(@"ConversionProfiles\0\AutoSave\TargetDirectory", "abc");

            var upgrader = new SettingsUpgrader(data);

            upgrader.Upgrade(7);

            var settings = CreateSettings(data);

            Assert.AreEqual("", settings.ConversionProfiles[0].TargetDirectory);
        }
Exemple #9
0
        public void Version0_UpgradeToIncrediblyHighVersion_RenamesEncryptionLevels()
        {
            Data data = Data.CreateDataStorage();

            data.SetValue(@"ConversionProfiles\numClasses", "3");
            data.SetValue(@"ConversionProfiles\0\PdfSettings\Security\EncryptionLevel", "Low40Bit");
            data.SetValue(@"ConversionProfiles\1\PdfSettings\Security\EncryptionLevel", "Medium128Bit");
            data.SetValue(@"ConversionProfiles\2\PdfSettings\Security\EncryptionLevel", "High128BitAes");
            var upgrader = new SettingsUpgrader(data);

            upgrader.Upgrade(1);

            Assert.AreEqual("Rc40Bit", data.GetValue(@"ConversionProfiles\0\PdfSettings\Security\EncryptionLevel"), "Did not rename Rc40Bit Encryption");
            Assert.AreEqual("Rc128Bit", data.GetValue(@"ConversionProfiles\1\PdfSettings\Security\EncryptionLevel"), "Did not rename Rc128Bit Encryption");
            Assert.AreEqual("Aes128Bit", data.GetValue(@"ConversionProfiles\2\PdfSettings\Security\EncryptionLevel"), "Did not rename Aes128Bit Encryption");
        }
Exemple #10
0
        public void Version2_UpgradeVersion3_PdfAisNamedPdfA2b()
        {
            Data data = Data.CreateDataStorage();

            data.SetValue(SettingsUpgrader.VersionSettingPath, "2");
            data.SetValue(@"ConversionProfiles\numClasses", "2");
            data.SetValue(@"ConversionProfiles\0\OutputFormat", "PdfA");
            data.SetValue(@"ConversionProfiles\1\OutputFormat", "PdfA");

            var upgrader = new SettingsUpgrader(data);

            upgrader.Upgrade(3);

            Assert.AreEqual("PdfA2B", data.GetValue(@"ConversionProfiles\0\OutputFormat"));
            Assert.AreEqual("PdfA2B", data.GetValue(@"ConversionProfiles\1\OutputFormat"));
        }
        public void Test_MoveAddCoverToSectionInCoverPage()
        {
            var data = Data.CreateDataStorage();

            data.SetValue(SettingsUpgrader.VersionSettingPath, "1");
            data.SetValue(@"ConversionProfiles\numClasses", "2");
            data.SetValue(@"ConversionProfiles\0\CoverPage\AddBackground", "true");
            data.SetValue(@"ConversionProfiles\1\CoverPage\AddBackground", "true");

            var upgrader = new SettingsUpgrader(data);

            upgrader.Upgrade(2);

            Assert.AreEqual("true", data.GetValue(@"ConversionProfiles\0\BackgroundPage\OnCover"), "1");
            Assert.AreEqual("true", data.GetValue(@"ConversionProfiles\1\BackgroundPage\OnCover"), "2");
        }
Exemple #12
0
        public void Version1_UpgradeVersion2_MovedBackgroundOnAttachment()
        {
            Data data = Data.CreateDataStorage();

            data.SetValue(SettingsUpgrader.VersionSettingPath, "1");
            data.SetValue(@"ConversionProfiles\numClasses", "2");
            data.SetValue(@"ConversionProfiles\0\AttachmentPage\AddBackground", "true");
            data.SetValue(@"ConversionProfiles\1\AttachmentPage\AddBackground", "true");

            var upgrader = new SettingsUpgrader(data);

            upgrader.Upgrade(2);

            Assert.AreEqual("true", data.GetValue(@"ConversionProfiles\0\BackgroundPage\OnAttachment"));
            Assert.AreEqual("true", data.GetValue(@"ConversionProfiles\1\BackgroundPage\OnAttachment"));
        }
        public void WithInteractive_ExtractsDefaultFolder()
        {
            var expectedDirectory = "abc";
            var data = CreateV6Storage();

            data.SetValue(@"ConversionProfiles\numClasses", "1");
            data.SetValue(@"ConversionProfiles\0\AutoSave\Enabled", "False");
            data.SetValue(@"ConversionProfiles\0\SaveDialog\Folder", expectedDirectory);

            var upgrader = new SettingsUpgrader(data);

            upgrader.Upgrade(7);

            var settings = CreateSettings(data);

            Assert.AreEqual(expectedDirectory, settings.ConversionProfiles[0].TargetDirectory);
        }
        public void TitleReplacement_StartWithEmptyReplace_RemainsUnchanged()
        {
            var data = CreateV6Storage();

            data.SetValue(@"ApplicationSettings\TitleReplacement\numClasses", "1");
            data.SetValue(@"ApplicationSettings\TitleReplacement\0\ReplacementType", "Start");
            data.SetValue(@"ApplicationSettings\TitleReplacement\0\Search", "123");
            data.SetValue(@"ApplicationSettings\TitleReplacement\0\Replace", "");

            var upgrader = new SettingsUpgrader(data);

            upgrader.Upgrade(7);

            var settings = CreateSettings(data);

            Assert.IsNotEmpty(settings.ApplicationSettings.TitleReplacement);
            Assert.AreEqual(ReplacementType.Start, settings.ApplicationSettings.TitleReplacement.First().ReplacementType);
            Assert.AreEqual("123", settings.ApplicationSettings.TitleReplacement.First().Search);
        }
Exemple #15
0
        private void UpgradeFromPreviousVersion()
        {
            try
            {
                // This works for both ClickOnce and non-ClickOnce applications, whereas
                // ApplicationDeployment.CurrentDeployment.DataDirectory only works for ClickOnce applications
                DirectoryInfo currentSettingsDir = new FileInfo(ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.PerUserRoamingAndLocal).FilePath).Directory;

                if (currentSettingsDir == null)
                {
                    throw new Exception("Failed to determine the location of the settings file.");
                }

                if (!currentSettingsDir.Exists)
                {
                    currentSettingsDir.Create();
                }

                // LINQ to Objects for .NET 2.0 courtesy of LINQBridge (linqbridge.googlecode.com)
                var previousSettings = (from dir in currentSettingsDir.Parent.GetDirectories()
                                        let dirVer = new { Dir = dir, Ver = new Version(dir.Name) }
                                        where dirVer.Ver < CurrentVersion
                                        orderby dirVer.Ver descending
                                        select dirVer).FirstOrDefault();

                if (previousSettings == null)
                {
                    return;
                }

                XmlElement userSettings = ReadUserSettings(previousSettings.Dir.GetFiles("user.config").Single().FullName);
                userSettings = SettingsUpgrader.Upgrade(userSettings, previousSettings.Ver);
                WriteUserSettings(userSettings, currentSettingsDir.FullName + @"\user.config", true);

                Reload();
            }
            catch (Exception ex)
            {
                MessageBoxes.Alert(MessageBoxIcon.Error, "There was an error upgrading the the user settings from the previous version. The user settings will be reset.\n\n" + ex.Message);
                Default.Reset();
            }
        }
        public void TitleReplacement_StartWithReplace_ConvertsToRegExWithEscapedChars()
        {
            var data = CreateV6Storage();

            data.SetValue(@"ApplicationSettings\TitleReplacement\numClasses", "1");
            data.SetValue(@"ApplicationSettings\TitleReplacement\0\ReplacementType", "Start");
            data.SetValue(@"ApplicationSettings\TitleReplacement\0\Search", "123");
            data.SetValue(@"ApplicationSettings\TitleReplacement\0\Replace", "x.y*z");

            var upgrader = new SettingsUpgrader(data);

            upgrader.Upgrade(7);

            var settings = CreateSettings(data);

            Assert.IsNotEmpty(settings.ApplicationSettings.TitleReplacement);
            Assert.AreEqual(ReplacementType.RegEx, settings.ApplicationSettings.TitleReplacement.First().ReplacementType);
            Assert.AreEqual("123", settings.ApplicationSettings.TitleReplacement.First().Search);
            Assert.AreEqual(@"x\.y\*z", settings.ApplicationSettings.TitleReplacement.First().Replace);
        }
        public void WithTwoTimeServers_ExtractsBothTimeserverAccount()
        {
            var firstAccount = new TimeServerAccount
            {
                IsSecured = true,
                UserName  = "******",
                Password  = "******",
                Url       = "http://mytimeserver1.local",
            };
            var secondAccount = new TimeServerAccount
            {
                IsSecured = true,
                UserName  = "******",
                Password  = "******",
                Url       = "http://mytimeserver2.local",
            };

            var data = CreateV6Storage();

            data.SetValue(@"ConversionProfiles\numClasses", "2");
            StoreTimeServerAccount(data, 0, firstAccount);
            StoreTimeServerAccount(data, 1, secondAccount);

            var upgrader = new SettingsUpgrader(data);

            upgrader.Upgrade(7);

            var settings = CreateSettings(data);
            var expectedNumberofProfiles = NumDefaultServers + 2;

            Assert.AreEqual(expectedNumberofProfiles, settings.ApplicationSettings.Accounts.TimeServerAccounts.Count);
            Assert.IsNotNull(settings.ConversionProfiles[0].PdfSettings.Signature.TimeServerAccountId);
            Assert.IsNotEmpty(settings.ConversionProfiles[0].PdfSettings.Signature.TimeServerAccountId);

            Assert.IsNotNull(settings.ConversionProfiles[1].PdfSettings.Signature.TimeServerAccountId);
            Assert.IsNotEmpty(settings.ConversionProfiles[1].PdfSettings.Signature.TimeServerAccountId);

            AssertTimeServersAreEqual(firstAccount, settings.ApplicationSettings.Accounts.TimeServerAccounts.First(a => a.Url == firstAccount.Url));
            AssertTimeServersAreEqual(secondAccount, settings.ApplicationSettings.Accounts.TimeServerAccounts.First(a => a.Url == secondAccount.Url));
        }
Exemple #18
0
        public void WithFtp_ExtractsFtpAccount()
        {
            var account = new FtpAccount
            {
                UserName = "******",
                Password = "******",
                Server   = "ftp.local"
            };
            var data = CreateV6Storage();

            StoreFtpAccount(data, 0, account);

            var upgrader = new SettingsUpgrader(data);

            upgrader.Upgrade(7);

            var settings = CreateSettings(data);

            Assert.IsNotEmpty(settings.ApplicationSettings.Accounts.FtpAccounts);
            Assert.IsNotNullOrEmpty(settings.ConversionProfiles[0].Ftp.AccountId);
            AssertFtpAccountsAreEqual(account, settings.ApplicationSettings.Accounts.FtpAccounts[0]);
        }
Exemple #19
0
        public void Version2_UpgradeVersion3_OutputformatExceptPdfAreUnchanged()
        {
            Data data = Data.CreateDataStorage();

            data.SetValue(SettingsUpgrader.VersionSettingPath, "2");
            data.SetValue(@"ConversionProfiles\numClasses", "5");
            data.SetValue(@"ConversionProfiles\0\OutputFormat", "Pdf");
            data.SetValue(@"ConversionProfiles\1\OutputFormat", "PdfX");
            data.SetValue(@"ConversionProfiles\2\OutputFormat", "Jpeg");
            data.SetValue(@"ConversionProfiles\3\OutputFormat", "Png");
            data.SetValue(@"ConversionProfiles\4\OutputFormat", "Tif");

            var upgrader = new SettingsUpgrader(data);

            upgrader.Upgrade(3);

            Assert.AreEqual("Pdf", data.GetValue(@"ConversionProfiles\0\OutputFormat"));
            Assert.AreEqual("PdfX", data.GetValue(@"ConversionProfiles\1\OutputFormat"));
            Assert.AreEqual("Jpeg", data.GetValue(@"ConversionProfiles\2\OutputFormat"));
            Assert.AreEqual("Png", data.GetValue(@"ConversionProfiles\3\OutputFormat"));
            Assert.AreEqual("Tif", data.GetValue(@"ConversionProfiles\4\OutputFormat"));
        }
        public void Test_MoveEMailSmtpSectionToEmailSmtpSettings()
        {
            var data = Data.CreateDataStorage();

            data.SetValue(SettingsUpgrader.VersionSettingPath, "5");

            data.SetValue(@"ConversionProfiles\numClasses", "2");

            data.SetValue(@"ConversionProfiles\0\EmailSmtp\Address", "Address");
            data.SetValue(@"ConversionProfiles\0\EmailSmtp\AddSignature", "False");
            data.SetValue(@"ConversionProfiles\0\EmailSmtp\Content", "Content");
            data.SetValue(@"ConversionProfiles\0\EmailSmtp\Enabled", "True");
            data.SetValue(@"ConversionProfiles\0\EmailSmtp\Password", "Password");
            data.SetValue(@"ConversionProfiles\0\EmailSmtp\Port", "1");
            data.SetValue(@"ConversionProfiles\0\EmailSmtp\Recipients", "Recipients");
            data.SetValue(@"ConversionProfiles\0\EmailSmtp\SameTextAsClientMail", "SameTextAsClientMail");
            data.SetValue(@"ConversionProfiles\0\EmailSmtp\Server", "Server");
            data.SetValue(@"ConversionProfiles\0\EmailSmtp\Ssl", "True");
            data.SetValue(@"ConversionProfiles\0\EmailSmtp\Subject", "Subject");
            data.SetValue(@"ConversionProfiles\0\EmailSmtp\UserName", "UserName");

            var upgrader = new SettingsUpgrader(data);

            upgrader.Upgrade(6);

            Assert.AreEqual("Address", data.GetValue(@"ConversionProfiles\0\EmailSmtpSettings\Address"));
            Assert.AreEqual("False", data.GetValue(@"ConversionProfiles\0\EmailSmtpSettings\AddSignature"));
            Assert.AreEqual("Content", data.GetValue(@"ConversionProfiles\0\EmailSmtpSettings\Content"));
            Assert.AreEqual("True", data.GetValue(@"ConversionProfiles\0\EmailSmtpSettings\Enabled"));
            Assert.AreEqual("Password", data.GetValue(@"ConversionProfiles\0\EmailSmtpSettings\Password"));
            Assert.AreEqual("1", data.GetValue(@"ConversionProfiles\0\EmailSmtpSettings\Port"));
            Assert.AreEqual("Recipients", data.GetValue(@"ConversionProfiles\0\EmailSmtpSettings\Recipients"));
            Assert.AreEqual("SameTextAsClientMail", data.GetValue(@"ConversionProfiles\0\EmailSmtpSettings\SameTextAsClientMail"));
            Assert.AreEqual("Server", data.GetValue(@"ConversionProfiles\0\EmailSmtpSettings\Server"));
            Assert.AreEqual("True", data.GetValue(@"ConversionProfiles\0\EmailSmtpSettings\Ssl"));
            Assert.AreEqual("Subject", data.GetValue(@"ConversionProfiles\0\EmailSmtpSettings\Subject"));
            Assert.AreEqual("UserName", data.GetValue(@"ConversionProfiles\0\EmailSmtpSettings\UserName"));
        }
        public void Test_MoveEMailClientSectionToEmailClientSettings()
        {
            var data = Data.CreateDataStorage();

            data.SetValue(SettingsUpgrader.VersionSettingPath, "5");

            data.SetValue(@"ConversionProfiles\numClasses", "2");

            data.SetValue(@"ConversionProfiles\0\EmailClient\AddSignature", "True");
            data.SetValue(@"ConversionProfiles\0\EmailClient\Content", "Content");
            data.SetValue(@"ConversionProfiles\0\EmailClient\Enabled", "True");
            data.SetValue(@"ConversionProfiles\0\EmailClient\Recipients", "Recipients");
            data.SetValue(@"ConversionProfiles\0\EmailClient\Subject", "Subject");

            var upgrader = new SettingsUpgrader(data);

            upgrader.Upgrade(6);

            Assert.AreEqual("True", data.GetValue(@"ConversionProfiles\0\EmailClientSettings\AddSignature"));
            Assert.AreEqual("Content", data.GetValue(@"ConversionProfiles\0\EmailClientSettings\Content"));
            Assert.AreEqual("True", data.GetValue(@"ConversionProfiles\0\EmailClientSettings\Enabled"));
            Assert.AreEqual("Recipients", data.GetValue(@"ConversionProfiles\0\EmailClientSettings\Recipients"));
            Assert.AreEqual("Subject", data.GetValue(@"ConversionProfiles\0\EmailClientSettings\Subject"));
        }
Exemple #22
0
        public void DataWithVersion4_UpgradeRequiredToVersion5_ReturnsTrue()
        {
            var upgrader = new SettingsUpgrader(_dataV3);

            Assert.IsTrue(upgrader.RequiresUpgrade(5));
        }