private void AddEnvironmentTokens()
        {
            _tokenReplacer.AddToken(new SingleEnvironmentToken(EnvironmentVariable.ComputerName, _environmentWrap));
            _tokenReplacer.AddToken(new SingleEnvironmentToken(EnvironmentVariable.Username, _environmentWrap));

            _tokenReplacer.AddToken(new EnvironmentToken(_environmentWrap, "Environment"));
        }
Пример #2
0
 public void InitTest()
 {
     _testTokenReplacer = new TokenReplacer();
     _testTokenReplacer.AddToken(new StringToken("Author", "Christophe"));
     _testTokenReplacer.AddToken(new NumberToken("Counter", 23));
     _testTokenReplacer.AddToken(new DateToken("DateTime", new DateTimeWrap(2012, 7, 24, 4, 36, 6)));
     _testTokenReplacer.AddToken(new ListToken("List", new[] { "filename1", "filename2" }));
     _testTokenReplacer.AddToken(new EnvironmentToken("Environment"));
 }
Пример #3
0
        public ActionResult Check(ConversionProfile profile)
        {
            var actionResult = new ActionResult();

            if (profile.Scripting.Enabled)
            {
                var tokenReplacer = new TokenReplacer();
                tokenReplacer.AddToken(new EnvironmentToken());

                string scriptFile = ComposeScriptPath(profile.Scripting.ScriptFile, tokenReplacer);
                if (string.IsNullOrEmpty(scriptFile))
                {
                    Logger.Error("Missing script file.");
                    actionResult.Add(ActionId, 100);
                }
                else if (!FileUtil.Instance.IsValidFilename(scriptFile))
                {
                    Logger.Error("The script file \"" + scriptFile + "\" contains illegal characters.");
                    actionResult.Add(ActionId, 101);
                }
                //Skip check for network path
                else if (!scriptFile.StartsWith(@"\\") && !File.Exists(scriptFile))
                {
                    Logger.Error("The script file \"" + scriptFile + "\" does not exist.");
                    actionResult.Add(ActionId, 101);
                }
            }
            return(actionResult);
        }
Пример #4
0
        public void TokenReplacer_GetTokenNames_ContainsTokenNameWithDelimiter()
        {
            var tr = new TokenReplacer();
            var t  = new StringToken("testName", "testValue");

            tr.AddToken(t);
            Assert.Contains("<" + t.GetName() + ">", tr.GetTokenNames());
        }
Пример #5
0
        public void TokenReplacer_GetTokenNames_ContainsTokenName()
        {
            var tr = new TokenReplacer();
            var t  = new StringToken("testName", "testValue");

            tr.AddToken(t);
            Assert.Contains(t.GetName(), tr.GetTokenNames(false));
        }
        public void TokenReplacer_TokenWithParameter_ReturnsPlaceholder()
        {
            const string tokenName = "MyToken";

            var tr = new TokenReplacer();

            tr.AddToken(BuildToken(tokenName));

            var str = tr.ReplaceTokens("<MyToken:Test>");

            Assert.AreEqual("Value for 'Test'", str);
        }
        public void ProcessValidJob_TokenInDirectoryGetReplaced()
        {
            var tr = new TokenReplacer();

            tr.AddToken(new StringToken("token", "sometokenvalue"));
            _job.TokenReplacer = tr;

            _profile.Ftp.Directory = "<token>";
            var validPath = "sometokenvalue";

            _ftpAction.ProcessJob(_job);

            //Check first use of corrected path
            _ftpConnectionWrap.Received().DirectoryExists(validPath);
        }
Пример #8
0
        public void InitTest()
        {
            _testTokenReplacer = new TokenReplacer();
            _testTokenReplacer.AddToken(new StringToken("Author", "Christophe"));
            _testTokenReplacer.AddToken(new StringToken("Title", "Lord of the Rings"));
            _testTokenReplacer.AddToken(new NumberToken("Counter", 23));
            _testTokenReplacer.AddToken(new DateToken("DateTime", _expectedDate.DateTimeInstance));
            _testTokenReplacer.AddToken(new ListToken("List", new[] { "filename1", "filename2" }));
            _testTokenReplacer.AddToken(new EnvironmentToken("Environment"));
            var userToken = new UserToken();

            userToken.AddKeyValuePair("TokenByUser", "User token value");
            userToken.AddKeyValuePair("TokenByUserWithEmptyValue", "");
            _testTokenReplacer.AddToken(userToken);
        }
Пример #9
0
        public ActionResult Check(ConversionProfile profile, Accounts accounts)
        {
            var actionResult = new ActionResult();

            if (!profile.Scripting.Enabled)
            {
                return(actionResult);
            }

            var tokenReplacer = new TokenReplacer();

            tokenReplacer.AddToken(new EnvironmentToken());

            var validName = new ValidName();

            var scriptFile = ComposeScriptPath(profile.Scripting.ScriptFile, tokenReplacer);

            if (string.IsNullOrEmpty(scriptFile))
            {
                _logger.Error("Missing script file.");
                actionResult.Add(ErrorCode.Script_NoScriptFileSpecified);
                return(actionResult);
            }

            if (!validName.IsValidFilename(scriptFile))
            {
                _logger.Error("The script file \"" + scriptFile + "\" contains illegal characters.");
                actionResult.Add(ErrorCode.Script_IllegalCharacters);
                return(actionResult);
            }

            //Skip check for network path
            if (!scriptFile.StartsWith(@"\\") && !_file.Exists(scriptFile))
            {
                _logger.Error("The script file \"" + scriptFile + "\" does not exist.");
                actionResult.Add(ErrorCode.Script_FileDoesNotExist);
                return(actionResult);
            }

            return(actionResult);
        }
Пример #10
0
        private TokenReplacer CreateTokenReplacerWithPlaceHolders()
        {
            var tr = new TokenReplacer();

            tr.AddToken(new StringToken("Author", Environment.UserName));
            tr.AddToken(new StringToken("PrintJobAuthor", Environment.UserName));
            tr.AddToken(new StringToken("ClientComputer", Environment.MachineName));
            tr.AddToken(new StringToken("ComputerName", Environment.MachineName));
            tr.AddToken(new NumberToken("Counter", 1234));
            tr.AddToken(new DateToken("DateTime", DateTime.Now));
            tr.AddToken(new StringToken("InputFilename", _translation.MyFileDocx));
            tr.AddToken(new StringToken("InputFilePath", @"C:\Temp"));
            tr.AddToken(new NumberToken("JobID", 1));
            tr.AddToken(new NumberToken("NumberOfCopies", 1));
            tr.AddToken(new NumberToken("NumberOfPages", 1));
            tr.AddToken(new ListToken("OutputFilenames",
                                      new[]
            {
                _translation.OutputFilename
                , _translation.OutputFilename2
                , _translation.OutputFilename3
            }));
            tr.AddToken(new StringToken("OutputFilePath", @"C:\Temp"));
            tr.AddToken(new StringToken("PrinterName", "PDFCreator"));
            tr.AddToken(new NumberToken("SessionID", 0));
            tr.AddToken(new StringToken("Title", _translation.TitleFromSettings));
            tr.AddToken(new StringToken("PrintJobName", _translation.TitleFromPrintJob));
            tr.AddToken(new StringToken("Username", Environment.UserName));
            tr.AddToken(new StringToken("Subject", _translation.SubjectFromSettings));
            tr.AddToken(new StringToken("Keywords", _translation.KeywordsFromSettings));
            tr.AddToken(new StringToken("DropboxHtmlLinks", "<a href=\"https://dropbox.com/link1\">File.pdf</a>"));
            tr.AddToken(new StringToken("DropboxFullLinks", "File.pdf ( https://dropbox.com/link1 )"));
            tr.AddToken(new EnvironmentToken());

            return(tr);
        }
Пример #11
0
        private static TokenReplacer CreateTokenReplacerWithPlaceHolders()
        {
            var tr = new TokenReplacer();

            if (!TranslationHelper.Instance.IsInitialized)
            {
                return(tr);
            }

            tr.AddToken(new StringToken("Author", Environment.UserName));
            tr.AddToken(new StringToken("PrintJobAuthor", Environment.UserName));
            tr.AddToken(new StringToken("ClientComputer", Environment.MachineName));
            tr.AddToken(new StringToken("ComputerName", Environment.MachineName));
            tr.AddToken(new NumberToken("Counter", 1234));
            tr.AddToken(new DateToken("DateTime", new DateTimeWrap().Now));
            tr.AddToken(new StringToken("InputFilename",
                                        TranslationHelper.Instance.TranslatorInstance.GetTranslation("TokenPlaceHolders", "MyFileDocx",
                                                                                                     "MyFile.docx")));
            tr.AddToken(new StringToken("InputFilePath", @"C:\Temp"));
            tr.AddToken(new NumberToken("JobID", 1));
            tr.AddToken(new NumberToken("NumberOfCopies", 1));
            tr.AddToken(new NumberToken("NumberOfPages", 1));
            tr.AddToken(new ListToken("OutputFilenames",
                                      new[]
            {
                TranslationHelper.Instance.TranslatorInstance.GetTranslation("TokenPlaceHolders", "OutputFilename",
                                                                             "OutputFilename.jpg"),
                TranslationHelper.Instance.TranslatorInstance.GetTranslation("TokenPlaceHolders", "OutputFilename2",
                                                                             "OutputFilename2.jpg"),
                TranslationHelper.Instance.TranslatorInstance.GetTranslation("TokenPlaceHolders", "OutputFilename3",
                                                                             "OutputFilename3.jpg")
            }));
            tr.AddToken(new StringToken("OutputFilePath", @"C:\Temp"));
            tr.AddToken(new StringToken("PrinterName", "clawPDF"));
            tr.AddToken(new NumberToken("SessionID", 0));
            tr.AddToken(new StringToken("Title",
                                        TranslationHelper.Instance.TranslatorInstance.GetTranslation("TokenPlaceHolders", "TitleFromSettings",
                                                                                                     "Title from Settings")));
            tr.AddToken(new StringToken("PrintJobName",
                                        TranslationHelper.Instance.TranslatorInstance.GetTranslation("TokenPlaceHolders", "TitleFromPrintJob",
                                                                                                     "Title from Printjob")));
            tr.AddToken(new StringToken("Username", Environment.UserName));
            tr.AddToken(new EnvironmentToken());

            return(tr);
        }
Пример #12
0
        private TokenReplacer CreateTokenReplacerWithPlaceHolders()
        {
            var tr = new TokenReplacer();

            tr.AddToken(new StringToken("Author", Environment.UserName));
            tr.AddToken(new StringToken("PrintJobAuthor", Environment.UserName));
            tr.AddToken(new StringToken("ClientComputer", Environment.MachineName));
            tr.AddToken(new StringToken("ComputerName", Environment.MachineName));
            tr.AddToken(new NumberToken("Counter", 1234));
            tr.AddToken(new DateToken("DateTime", DateTime.Now));
            tr.AddToken(new StringToken("InputFilename", _translator.GetTranslation("TokenPlaceHolders", "MyFileDocx")));
            tr.AddToken(new StringToken("InputFilePath", @"C:\Temp"));
            tr.AddToken(new NumberToken("JobID", 1));
            tr.AddToken(new NumberToken("NumberOfCopies", 1));
            tr.AddToken(new NumberToken("NumberOfPages", 1));
            tr.AddToken(new ListToken("OutputFilenames",
                                      new[]
            {
                _translator.GetTranslation("TokenPlaceHolders", "OutputFilename")
                , _translator.GetTranslation("TokenPlaceHolders", "OutputFilename2")
                , _translator.GetTranslation("TokenPlaceHolders", "OutputFilename3")
            }));
            tr.AddToken(new StringToken("OutputFilePath", @"C:\Temp"));
            tr.AddToken(new StringToken("PrinterName", "PDFCreator"));
            tr.AddToken(new NumberToken("SessionID", 0));
            tr.AddToken(new StringToken("Title", _translator.GetTranslation("TokenPlaceHolders", "TitleFromSettings")));
            tr.AddToken(new StringToken("PrintJobName", _translator.GetTranslation("TokenPlaceHolders", "TitleFromPrintJob")));
            tr.AddToken(new StringToken("Username", Environment.UserName));
            tr.AddToken(new StringToken("Subject", _translator.GetTranslation("TokenPlaceHolders", "SubjectFromSettings")));
            tr.AddToken(new StringToken("Keywords", _translator.GetTranslation("TokenPlaceHolders", "KeywordsFromSettings")));
            tr.AddToken(new ListToken("DropboxHtmlLinks",
                                      new[]
            {
                _translator.GetTranslation("TokenPlaceHolders", "DropboxHtmlLink")
                , _translator.GetTranslation("TokenPlaceHolders", "DropboxHtmlLink2")
                , _translator.GetTranslation("TokenPlaceHolders", "DropboxHtmlLink3")
            }));

            tr.AddToken(new ListToken("DropboxFullLinks",
                                      new[]
            {
                _translator.GetTranslation("TokenPlaceHolders", "DropboxFullLink")
                , _translator.GetTranslation("TokenPlaceHolders", "DropboxFullLink2")
                , _translator.GetTranslation("TokenPlaceHolders", "DropboxFullLink3")
            }));
            tr.AddToken(new EnvironmentToken());

            return(tr);
        }