public void TemplaterConstructorTest()
        {
            ApplicationSettings applicationSettings = new ApplicationSettings();
            WebSettings         webSettings         = new WebSettings();

            Templater <ArachnodeDAO> target = new Templater <ArachnodeDAO>(applicationSettings, webSettings);

            Assert.Inconclusive("TODO: Implement code to verify target");
        }
Esempio n. 2
0
        public void ToValueWithReplaceBracketTest()
        {
            Assert.AreEqual("[Second]", Templater.ToValue("[First]", "first", "[Second]"));
            Assert.AreEqual("  [Second]", Templater.ToValue("  [First]", "first", "[Second]"));
            Assert.AreEqual("[Second]  ", Templater.ToValue("[First]  ", "first", "[Second]"));

            Assert.AreEqual("Created [CreateDate] modified [ModifyDate]\r\nby [Login] on [Computer]",
                            Templater.ToValue("Created [CreateDate] modified [ModifyDate]\r\nby [Login] on [Computer]",
                                              "Computer", "[Computer]"));
        }
        public void GeneratesHtmlWithoutModel()
        {
            var mockModelConverter = new Mock <IModelConverter>();
            var sut = new Templater(mockModelConverter.Object);

            var result = sut.AddTemplate("<div>This is a test</div>")
                         .AddTemplate("<div>new row</div>")
                         .Build();

            result.Should().Be("<div>This is a test</div><div>new row</div>");
        }
Esempio n. 4
0
        public void TemplateRendersSuccessfully()
        {
#if !__MonoCS__
            var a = new TradeStats.PowerStats("a", 1, 1, 1, 1, 1, 1);
#endif

            var tmpl = new Templater("template.html");
            var save = new Save();
            save.Player = "MEE";
            string contents = tmpl.Render(StatsModule.Aggregate(save));
            StringAssert.Contains("MEE", contents);
        }
        private void sendMessageButton_Click(object sender, EventArgs e)
        {
            try
            {
                //Let us create a data source in this case Hastable that would
                //used to demonstrate the merging
                // Take the form variables collection as the data source.
                Hashtable dataSource = new Hashtable();
                dataSource.Add("FIRSTNAME", _tbFirstName.Text);
                dataSource.Add("LASTNAME", _tbLastName.Text);
                dataSource.Add("EMAIL", _tbEmail.Text);
                dataSource.Add("ORDER_ID", _tbOrderId.Text);
                dataSource.Add("CUSTOMER_ID", "1");
                dataSource.Add("PRODUCTS_TEXT", (string)_comboProduct.SelectedItem);

                // We create the templater object.
                ActiveUp.Net.Mail.Templater templater = new Templater(@"MailTemplate_for_datasource.xml");

                // We instanciante the Merger object by passing the templater data.
                Merger merger = new Merger();

                // We merge our DataSource and send the mail.
                merger.MergeMessage(templater.Message, dataSource, false);

                this.AddLogEntry("Sending template message.");

                string smtp = string.Empty;

                if (_cbUseSmtpFromTemplate.Checked)
                {
                    smtp = templater.SmtpServers[0].Host;
                }
                else
                {
                    smtp = smtpServerAddressTextbox.Text;
                }

                templater.Message.Send(smtp);

                this.AddLogEntry("Message sent successfully.");
            }

            catch (SmtpException ex)
            {
                this.AddLogEntry(string.Format("Smtp Error: {0}", ex.Message));
            }

            catch (Exception ex)
            {
                this.AddLogEntry(string.Format("Failed: {0}", ex.Message));
            }
        }
Esempio n. 6
0
        public void ToValueQuotedTest()
        {
            Assert.AreEqual("Please enter correct data. Kolumna 'SendDate' nie zezwala na wartości zerowe.",
                            Templater.ToValue("Please enter correct data. Kolumna 'SendDate' nie zezwala na wartości zerowe.",
                                              "index", "test"));
            Assert.AreEqual("Please enter correct data. Kolumna [Data utworzenia] nie zezwala na wartości zerowe.",
                            Templater.ToValue("Please enter correct data. Kolumna 'SendDate' nie zezwala na wartości zerowe.",
                                              "senddate", "[Data utworzenia]"));

            Assert.AreEqual("test", Templater.ToValue("'field'", "field", "test"));
            Assert.AreEqual("field'", Templater.ToValue("field'", "field", "test"));
            Assert.AreEqual("'field", Templater.ToValue("'field", "field", "test"));
        }
Esempio n. 7
0
        static void Main(string[] args)
        {
            Person[] model = new[]
            {
                new Person {
                    Name = "foo"
                },
                new Person {
                    Name = "bar"
                }
            };

            System.Console.WriteLine(Templater.Run(model));
            System.Console.ReadLine();
        }
Esempio n. 8
0
        public async Task InstallAsync()
        {
            Console.WriteLine($"Provisioning {_vm.VmName}");

            var installScript = await File.ReadAllTextAsync("Scripts\\install-rabbitmq.sh");

            installScript = Templater.Replace(installScript, new Dictionary <string, string>()
            {
                { "<Username>", _config.RmqAdminUsername },
                { "<Password>", _config.RmqAdminPassword }
            });
            _vmHelper.UploadFileText(installScript, $"/home/{_vm.Username}/install-rabbitmq.sh");

            await _vmHelper.RunCommandOverSsh("bash ~/install-rabbitmq.sh");

            Console.WriteLine($"Finished provisioning {_vm.VmName}");
        }
Esempio n. 9
0
        public async Task FederateAsync(IEnumerable <string> upstreamFqdns)
        {
            var script = await File.ReadAllTextAsync("Scripts\\federate-rabbitmq.sh");

            var fqdnList = string.Join(", ", upstreamFqdns.Select(f => $"\"amqp://*****:*****@{f}\""));

            script = Templater.Replace(script, new Dictionary <string, string>()
            {
                { "<FQDN_LIST>", fqdnList }
            });
            _vmHelper.UploadFileText(script, $"/home/{_vm.Username}/federate-rabbitmq.sh");

            Console.WriteLine($"Running federation script on {_vm.VmName}");
            await _vmHelper.RunCommandOverSsh("bash ~/federate-rabbitmq.sh");

            Console.WriteLine($"Finished running federation script on {_vm.VmName}");
        }
Esempio n. 10
0
        public void ToNamesTest()
        {
            DataTable  table   = new DataTable();
            DataColumn column1 = table.Columns.Add();

            column1.ColumnName = "first";
            column1.Caption    = "Przykład pierwszy";
            DataColumn column2 = table.Columns.Add();

            column2.ColumnName = "second";
            column2.Caption    = "Druga kolumna";

            Assert.AreEqual("-[first]-", Templater.ToNames(table.Columns, "-[first]-"));
            Assert.AreEqual("-[second]-", Templater.ToNames(table.Columns, "-[second]-"));

            Assert.AreEqual("-[first]-", Templater.ToNames(table.Columns, "-[Przykład pierwszy]-"));
            Assert.AreEqual("-[first]-", Templater.ToNames(table.Columns, "-[ Przykład pierwszy ]-"));
            Assert.AreEqual("-[first]/[second]-", Templater.ToNames(table.Columns, "-[ Przykład pierwszy ]/[Druga kolumna]-"));
            Assert.AreEqual("-[second]-", Templater.ToNames(table.Columns, "-[ Druga kolumna ]-"));
        }
        public async Task InstallAsync()
        {
            var installScript = await File.ReadAllTextAsync("Scripts\\install-appserver.sh");

            _vmHelper.UploadFileText(installScript, $"/home/{_vm.Username}/install-appserver.sh");

            var startScript = await File.ReadAllTextAsync("Scripts\\start-appserver.sh");

            _vmHelper.UploadFileText(startScript, $"/home/{_vm.Username}/start-appserver.sh");

            await _vmHelper.RunCommandOverSsh($"bash /home/{_vm.Username}/install-appserver.sh");

            // Choose a "random" hostname from the list
            // of RMQ nodes for this datacenter
            var hostname = _rmqVms
                           .OrderBy(x => Guid.NewGuid())
                           .Take(1)
                           .Select(vm => vm.IpAddress.Fqdn)
                           .Single();

            var replacementValues = new Dictionary <string, string>()
            {
                { "<RmqUserName>", _config.RmqAdminUsername },
                { "<RmqPassword>", _config.RmqAdminPassword },
                { "<RmqHostName>", hostname },
                { "<VmUserName>", _vm.Username }
            };

            var consumerConfig = await File.ReadAllTextAsync("Scripts\\consumer-config.toml");

            consumerConfig = Templater.Replace(consumerConfig, replacementValues);

            var producerConfig = await File.ReadAllTextAsync("Scripts\\producer-config.toml");

            producerConfig = Templater.Replace(producerConfig, replacementValues);

            _vmHelper.UploadFileText(consumerConfig, $"/home/{_vm.Username}/Consumer/consumer-config.toml");
            _vmHelper.UploadFileText(producerConfig, $"/home/{_vm.Username}/Producer/producer-config.toml");

            await _vmHelper.RunCommandOverSsh($"bash /home/{_vm.Username}/start-appserver.sh");
        }
Esempio n. 12
0
        //[InlineData("crasher.docx")]
        public void CompileErrors(string name)
        {
            DirectoryInfo sourceDir    = new DirectoryInfo("../../../../test/templates/");
            FileInfo      templateDocx = new FileInfo(Path.Combine(sourceDir.FullName, name));
            DirectoryInfo destDir      = new DirectoryInfo("../../../../test/history/dot-net-results");
            FileInfo      outputDocx   = new FileInfo(Path.Combine(destDir.FullName, name));
            string        templateName = outputDocx.FullName;

            templateDocx.CopyTo(templateName, true);
            var extractResult = OpenDocx.FieldExtractor.ExtractFields(templateName);

            Assert.True(File.Exists(extractResult.ExtractedFields));
            Assert.True(File.Exists(extractResult.TempTemplate));

            var templater = new Templater();
            // warning... the file 'templateName + "obj.fields.json"' must have been created by node.js external to this test. (hack/race)
            var compileResult = templater.CompileTemplate(templateName, extractResult.TempTemplate, templateName + "obj.fields.json");

            Assert.True(compileResult.HasErrors);
            Assert.True(File.Exists(compileResult.DocxGenTemplate));
        }
Esempio n. 13
0
        static void Main(string[] args)
        {
            const string htmlBodyTemplate = "thankyou_html.spark";
            const string textBodyTemplate = "thankyou_text.spark";
            var templateFolder = Path.Combine(GetLocalDirectory(), "Templates");
            var mailDropDirectory = Path.Combine(GetLocalDirectory(), "MailDrop");
            if (!Directory.Exists(mailDropDirectory)) Directory.CreateDirectory(mailDropDirectory);
            var smtp = new SmtpMailSender(mailDropDirectory);
            var templater = new Templater(templateFolder);

            var mailCount = 0;

            foreach (var order in Database.RetrieveOrders()) {
                var htmlBody = templater.Populate(htmlBodyTemplate, order);
                var textBody = templater.Populate(textBodyTemplate, order);
                smtp.SendMail("*****@*****.**", order.CustomerEmail, "Your Order from SparkStore", textBody, htmlBody);
                mailCount++;
            }
            Console.WriteLine("Generated {0} e-mails in drop folder {1}", mailCount, mailDropDirectory);
            Console.WriteLine("Press any key to exit...");
            Console.ReadKey(false);
        }
        private void sendMessageButton_Click(object sender, EventArgs e)
        {
            this.AddLogEntry("Creating templater.");

            // We create the templater objet.
            try
            {
                ActiveUp.Net.Mail.Templater templater = new Templater(@"MailFormat.xml");

                this.AddLogEntry("Sending template message.");

                string smtp = string.Empty;

                if (_cbUseSmtpFromTemplate.Checked)
                {
                    smtp = templater.SmtpServers[0].Host;
                }
                else
                {
                    smtp = smtpServerAddressTextbox.Text;
                }

                templater.Message.Send(smtp);

                this.AddLogEntry("Message sent successfully.");
            }

            catch (SmtpException ex)
            {
                this.AddLogEntry(string.Format("Smtp Error: {0}", ex.Message));
            }

            catch (Exception ex)
            {
                this.AddLogEntry(string.Format("Failed: {0}", ex.Message));
            }
        }
Esempio n. 15
0
        public void AllTests()
        {
            var configuration = new ConfigurationBuilder()
                                .AddJsonFile("appsettings.json")
                                .SetBasePath(PathExtensions.CurrentDirectoryWithoutDevelopmentRelativeSubpath)
                                .Build()
                                .EnableTemplate();

            var finder = Templater.GetConfigurationTemplateKeyFinder();

            Assert.NotEmpty(finder.AllNames);

            foreach (var section in configuration.GetChildren())
            {
                // 支持键引用
                var result = finder.Format(section.Key, out var replaced);
                if (replaced)
                {
                    Assert.NotEqual(section.Key, result);
                }
                else
                {
                    Assert.Equal(section.Key, result);
                }

                // 支持值引用
                result = finder.Format(section.Value, out replaced);
                if (replaced)
                {
                    Assert.NotEqual(section.Value, result);
                }
                else
                {
                    Assert.Equal(section.Value, result);
                }
            }
        }
Esempio n. 16
0
        public void PerformActionTest()
        {
            ApplicationSettings applicationSettings = new ApplicationSettings();
            WebSettings         webSettings         = new WebSettings();

            ArachnodeDAO arachnodeDAO = new ArachnodeDAO(applicationSettings.ConnectionString, applicationSettings, webSettings, true, true);

            Crawler <ArachnodeDAO> crawler = new Crawler <ArachnodeDAO>(applicationSettings, webSettings, CrawlMode.BreadthFirstByPriority, false);

            CrawlRequest <ArachnodeDAO> crawlRequest = new CrawlRequest <ArachnodeDAO>(new Discovery <ArachnodeDAO>("http://trycatchfail.com/blog/post/2008/11/12/Deep-web-crawling-with-NET-Getting-Started.aspx"), 1, UriClassificationType.Host, UriClassificationType.Host, 1, RenderType.None, RenderType.None);

            Crawl <ArachnodeDAO> crawl = new Crawl <ArachnodeDAO>(applicationSettings, webSettings, crawler, crawler.ActionManager, crawler.ConsoleManager, crawler.CookieManager, crawler.CrawlRequestManager, crawler.DataTypeManager, crawler.DiscoveryManager, crawler.EncodingManager, crawler.HtmlManager, crawler.PolitenessManager, crawler.ProxyManager, crawler.RuleManager, true);

            applicationSettings.MaximumNumberOfCrawlThreads = 0;

            UserDefinedFunctions.ConnectionString = "Data Source=.;Initial Catalog=arachnode.net;Integrated Security=True;Connection Timeout=3600;";
            crawler.Engine.Start();

            crawl.BeginCrawl(crawlRequest, false, false, false);

            Templater <ArachnodeDAO> target = new Templater <ArachnodeDAO>(applicationSettings, webSettings);

            target.PerformAction(crawlRequest, arachnodeDAO);
        }
Esempio n. 17
0
 public void ToValueWithDoubleFormatText()
 {
     Assert.AreEqual("-2010,15-", Templater.ToValue("-[double]-", "double", 2010.15));
     Assert.AreEqual("-002010,150-", Templater.ToValue("-[Double:000000.000]-", "Double", 2010.15));
 }
Esempio n. 18
0
 public void ToValueWithIntFormatText()
 {
     Assert.AreEqual("-2010-", Templater.ToValue("-[Int]-", "int", 2010));
     Assert.AreEqual("-002010-", Templater.ToValue("-[Int:000000]-", "Int", 2010));
 }
Esempio n. 19
0
 public void ToValueBadBracketsTest()
 {
     Assert.AreEqual("-fIeld] ala-", Templater.ToValue("-fIeld] [ fIeld ]-", "fieLd", "ala"));
     Assert.AreEqual("-[fIeld [ fIeld ]-", Templater.ToValue("-[fIeld [ fIeld ]-", "fieLd", "ala"));
 }
Esempio n. 20
0
 public void ToValueRecursionTest()
 {
     Assert.AreEqual("-[ [ field ] fIeld] ala-",
                     Templater.ToValue("-[ [ field ] fIeld] [ fIeld ]-", "fieLd", "ala"));
 }
Esempio n. 21
0
 public void ToValueTrimTest()
 {
     Assert.AreEqual("-ala ala-", Templater.ToValue("-[ fIeld] [ fIeld ]-", "fieLd", "ala"));
     Assert.AreEqual("-ala ala-", Templater.ToValue("-[ fIeld] [ fIeld ]-", "fieLd", "ala"));
     Assert.AreEqual("-ala ala-", Templater.ToValue("-[ fIeld] [ fIeld ]-", "fieLd", "ala"));
 }
Esempio n. 22
0
 public void ToValueMoreTimesTest()
 {
     Assert.AreEqual("ala ala", Templater.ToValue("[fIeld] [fIeld]", "fieLd", "ala"));
     Assert.AreEqual("-ala ala", Templater.ToValue("-[fIeld] [fIeld]", "fieLd", "ala"));
     Assert.AreEqual("ala ala-", Templater.ToValue("[fIeld] [fIeld]-", "fieLd", "ala"));
 }
Esempio n. 23
0
 public void ToValueDifferentPlacesTest()
 {
     Assert.AreEqual("ala-", Templater.ToValue("[field]-", "field", "ala"));
     Assert.AreEqual("-ala", Templater.ToValue("-[Field]", "field", "ala"));
     Assert.AreEqual("ala", Templater.ToValue("[fIeld]", "fieLd", "ala"));
 }
Esempio n. 24
0
 public void ToValueLetterCaseTest()
 {
     Assert.AreEqual("-ala-", Templater.ToValue("-[field]-", "field", "ala"));
     Assert.AreEqual("-ala-", Templater.ToValue("-[Field]-", "field", "ala"));
     Assert.AreEqual("-ala-", Templater.ToValue("-[fIeld]-", "fieLd", "ala"));
 }
Esempio n. 25
0
 public Program(InstallationManager installationManager, DocumentationManager documentationManager, Templater templater, Context context)
 {
     this.documentationManager = documentationManager;
     this.templater = templater;
     this.context = context;
     this.installationManager = installationManager;
 }