public void CanCompoundWellCome() { var um = (UserMessageService)_container.Get<IUserMessagingService>(); var u = new User {Login = "******", Name = "Иванов", Email = "*****@*****.**"}; new PasswordManager().MakeRequest(u,24*60); var message = um.CompoundMessage(u, "ref:wellcome", "support","test",null); Console.WriteLine(message.Body.Simplify(SimplifyOptions.SingleQuotes)); Assert.AreEqual(@"<div> <h1>Уважаемый(ая) Иванов!</h1> <p> Данным письмом мы уведомляем Вас о том, что вы зарегистрированы на ресурсе '<a href='https://super.puper.com/login.html?referer=/home.html'>Супер-Пупер</a>' под учетной записью <strong>test</strong></p> <p> Для активации вашей учетной записи и регистрации Вашего пароля просим вас перейти по ссылке <a href='https://super.puper.com/resetpwd.html?login=test&key=[KEY]'>Активация пользователя</a></p> <p> В случае, если Вы не уверены, что данная регистрация предназначается Вам, вы можете уточнить этот вопрос, послав соответствующий запрос ответным письмом </p> <p> C Уважением, адмнистрация ресурса 'Супер-Пупер' </p> </div>".Replace("[KEY]", u.ResetKey), message.Body.Simplify(SimplifyOptions.SingleQuotes)); }
public void Setup() { clientService = new ClientService( userService = new UserService( userStore = new DictionaryUserSource())); userStore[SecurityConst.ROLE_ADMIN.ToLowerInvariant()] = new User {Login = SecurityConst.ROLE_ADMIN,IsAdmin = true}.Activate(); userStore[SecurityConst.ROLE_SECURITY_ADMIN.ToLowerInvariant()] = new User {Login = SecurityConst.ROLE_SECURITY_ADMIN, Roles = new [] {SecurityConst.ROLE_SECURITY_ADMIN}}.Activate(); userStore[SecurityConst.ROLE_USER.ToLowerInvariant()] = new User {Login = SecurityConst.ROLE_USER }.Activate(); userStore["existed@groups"] = new User {Login = "******",IsGroup = true}.Activate(); minimalValidRequest = new ClientRecord {Name = "ОАО Тест",IsDemo = true}; doubleRequest = new ClientRecord {Name = "ОАО Existed",IsDemo = true}; passwordManager = new PasswordManager(); passLogon = new PasswordLogon {UserService = userService}; userStateChecker = new UserStateChecker {UserService = userService}; }
public void CanSendWellcome() { var um = (UserMessageService)_container.Get<IUserMessagingService>(); var u = new User { Login = "******", Name = "Иванов", Email = "*****@*****.**" }; new PasswordManager().MakeRequest(u, 24 * 60); um.SendWelcome(u); var q = _container.Get<IMessageQueue>(); var sender = _container.Get<IMessageSender>(); var messages = q.GetRequireSendMessages().ToArray(); foreach (var postMessage in messages) { if (postMessage.Addresses[0] == u.Email) { sender.Send(postMessage); q.MarkSent(postMessage.Id); } } }
private UpdateResult UpdateResult(IIdentity actor, IUser target, bool store, UserUpdateInfo updateinfo ) { UpdateResult res = null; Logg.Info(new {updateusr = "******", usr = actor.Name, info = updateinfo}.stringify()); if (string.IsNullOrWhiteSpace(updateinfo.Login)) { updateinfo.Login = actor.Name; } target = target ?? Users.GetUser(updateinfo.Login); var newuser = target == null; if (!updateinfo.HasDelta(target)) { return new UpdateResult {Ok = true, Message="notchanged", ResultUser = target}; } res = Checker.ValidateUpdate(actor, updateinfo, target); if (!res.Ok) { Logg.Warn( new {updateusr = "******", validation = res, usr = actor.Name, info = updateinfo}.stringify()); return res; } if (null == target) { target = new User {Login = updateinfo.Login}; } updateinfo.Apply(target); UserPolicy policy = null; if (newuser) { policy = UserPolicy.GetNewUserPolicy(updateinfo); } if (null != policy) { policy.Apply(target); } if (store) { Users.Store(target); } if (null != policy && policy.MakePassRequest && null != Messendger) { if (newuser) { Messendger.SendWelcome(target); } } Logg.Info(new {updateusr = "******", result = target, usr = actor.Name, info = updateinfo}.stringify()); Users.Clear(); Roles.Clear(); res = new UpdateResult {Ok = true, ResultUser = target}; return res; }