public void CanSearch() { if (ignoreelastic) Assert.Ignore("no elastic search"); var mq = _container.Get<IMessageQueue>(); for (var i = 0; i < 10; i++) { var message = new PostMessage { Id = "M" + i, Addresses = new[] { "*****@*****.**" }, From = "support", Body = "<h1>Привет</h1>" }; if (i%2 == 0) { message.Tags = new Dictionary<string, object> { {"be","cool"} }; } mq.PushMessage(message); } var search = mq.SearchMessages(@"{ ""query"": { ""query_string"": { ""query"": ""cool"" } } }").ToArray(); Assert.AreEqual(5,search.Length); search = mq.SearchMessages("cool").ToArray(); Assert.AreEqual(5,search.Length); }
public PostMessage CompoundMessage(IUser target, string template, string @from, string subject, IScope scope) { var workingtemplate = ResolveTemplate(template); scope = scope ?? new Scope(); scope.Set("user", target); scope.Set("resource", AppInfo); var resultmessage = workingtemplate.Interpolate(scope); subject = (subject ?? "").Interpolate(scope); var email = target.Email; var pm = new PostMessage { Addresses = new[] {email}, From = @from, CanUseDefault = true, Subject = subject, Body = resultmessage.ToString(), Tags = new Dictionary<string, object>() }; foreach (var pair in scope) { if (pair.Key == "user") { pm.Tags["user"] = target.Login; } else { pm.Tags[pair.Key] = pair.Value; } } return pm; }
public PostMessage CompoundMessage(IUser target, string template, string @from, string subject, IScope scope) { var workingtemplate = ResolveTemplate(template); scope = scope ?? new Scope(); scope.Set("user", target); scope.Set("resource", AppInfo); var resultmessage = workingtemplate.Interpolate(scope); subject = (subject ?? "").Interpolate(scope); var email = target.Email; var pm = new PostMessage { Addresses = new[] { email }, From = @from, CanUseDefault = true, Subject = subject, Body = resultmessage.ToString(), Tags = new Dictionary <string, object>() }; foreach (var pair in scope) { if (pair.Key == "user") { pm.Tags["user"] = target.Login; } else { pm.Tags[pair.Key] = pair.Value; } } return(pm); }
public void CanSendMail() { var smtpsender = new SmtpMessageSender(); var conf = new BxlParser().Parse(File.ReadAllText(EnvironmentInfo.ResolvePath("@repos@/zrepos/mail.bxls")),options:BxlParserOptions.ExtractSingle); smtpsender.InitializeFromXml(conf); var message = new PostMessage(); message.From = "ivan"; message.Addresses = new[] {"*****@*****.**"}; message.Body = "<h1>Привет!</h1>"; smtpsender.Send(message); }
public void CanMarkSent() { if (ignoreelastic) Assert.Ignore("no elastic search"); var mq = _container.Get<IMessageQueue>(); var message = new PostMessage { Addresses = new[] { "*****@*****.**" }, From = "support", Body = "<h1>Привет</h1>" }; message = mq.PushMessage(message); mq.MarkSent(message.Id); var message2 = mq.GetMessage(message.Id); Assert.True(message2.WasSent); Assert.Greater(1,(DateTime.Now.ToUniversalTime()-message2.SentTime.ToUniversalTime()).TotalMinutes); }
public void CanStoreAndGet() { if(ignoreelastic)Assert.Ignore("no elastic search"); var mq = _container.Get<IMessageQueue>(); var message = new PostMessage { Addresses = new[] {"*****@*****.**"}, From = "support", Body = "<h1>Привет</h1>" }; message = mq.PushMessage(message); Assert.Less(10,message.Id.Length); Assert.Less(1990,message.CreateTime.Year); Assert.Less(1990,message.StartTime.Year); var message2 = mq.GetMessage(message.Id); Console.WriteLine(message2.stringify()); Console.WriteLine(message.stringify()); Assert.AreEqual(message.stringify(),message2.stringify()); }
public void CanDetectNotSent() { if (ignoreelastic) Assert.Ignore("no elastic search"); var mq = _container.Get<IMessageQueue>(); for (var i = 0; i < 10; i++) { var message = new PostMessage { Id = "M"+i, Addresses = new[] { "*****@*****.**" }, From = "support", Body = "<h1>Привет</h1>" }; if (i > 4) { message.StartTime = DateTime.Now.AddDays(1).ToUniversalTime(); } if (i == 2) { message.WasSent = true; message.SentTime = DateTime.Now.ToUniversalTime(); } mq.PushMessage(message); } var needsend = mq.GetRequireSendMessages().ToArray(); Assert.AreEqual(4,needsend.Length); Assert.AreEqual("M0,M1,M3,M4",string.Join(",",needsend.Select(_=>_.Id).OrderBy(_=>_))); }