public Task Handle(IssueOrderEvent theEvent) { var order = theEvent.DataContract; TheLogger.LogInformation($"OrderId={order.Id} ShipAddres={order.ShipAddress}"); return(Task.CompletedTask); }
private void Subscribe <TService>(QuSpecAttribute quSpec, IEnumerable <TService> svcs, Func <string, IBasicProperties, IEnumerable <TService>, Task> processEvent) where TService : class { ListeningChannel.QueueDeclare(quSpec.Queue, quSpec.Durable, quSpec.Exclusive, quSpec.AutoDelete, null); var consumer = new AsyncEventingBasicConsumer(ListeningChannel); //consumer.Received += ConsumerReceived; consumer.Received += async(sender, e) => { //e.BasicProperties.ReplyTo; //var eventName = e.RoutingKey; var msgText = Encoding.UTF8.GetString(e.Body); try { await processEvent(msgText, e.BasicProperties, svcs).ConfigureAwait(false); } catch (Exception err) { if (TheLogger != null) { TheLogger.LogError(err.Message); } throw; } }; ListeningChannel.BasicConsume(quSpec.Queue, true, consumer); }
public void WhenGettingListOfCelebrantsNextWeek_AndWeHaveOnlyOneBirthDay_ThenWeGetOnlyOnePerson() { // arrange var repo = The.Repo().InMemory().Please(); var mailing = The.Mailing().StoreIn(repo).With(TheLogger.Stub()).Please(); var homer = The.Person("Homer") .WithEmail("*****@*****.**") .Born(23.FebraryOf(1970)); mailing.AddRecipient(homer); var marge = The.Person("Marge") .WithEmail("*****@*****.**") .Born(8.MarchOf(1973)); mailing.AddRecipient(marge); var bart = The.Person("Bart") .WithEmail("*****@*****.**") .Born(19.MarchOf(1989)); mailing.AddRecipient(bart); // act var result = mailing.GetNextWeekCelebrants(20.FebraryOf(2017)); // assert Assert.AreEqual(new Person[] { homer }, result); }
/// <summary> /// Logs an exception as an info message /// </summary> public void Info(Exception ex, string messageFormatString, params object[] formatStringParameters) { string fullMessage = String.Format("A business logic error occured: {0} ({1}). {2}. At: {3}" , ex.Message, ex.Message.GetType().Name , FormattedString(messageFormatString, formatStringParameters) , ex.StackTrace); TheLogger.Info(CallingMethodName + " " + fullMessage); }
public SaveResult SaveChanges(JObject saveBundle) { var context = new UsersContext(); var username = User.Identity.Name; var user = context.UserProfiles.SingleOrDefault(u => u.UserName == username); TheLogger.Write(string.Format("User {0} saved changes.", username), TraceEventType.Information); return(_repository.SaveChanges(saveBundle)); }
public Task <bool> Handle(IssueOrderCmd request, CancellationToken cancellationToken) { TheLogger.LogInformation($"IssueOrderCmdHandler OrderId={request.DataContract.Id}"); var issueOrderEvent = new IssueOrderEvent() { DataContract = request.DataContract }; TheEventBus.PublishEvent(issueOrderEvent); return(Task.FromResult(true)); }
public void WhenGettingListOfPersons_AndListIsEmpty_ThenLoggerWritesThatNoPersonFound() { var mockLogger = TheLogger.Mock(); var repo = The.Repo().InMacFileSystem().Empty().With(mockLogger.Object).Please(); var mailing = The.Mailing().StoreIn(repo).With(mockLogger.Object).Please(); // act mailing.GetNextWeekCelebrants(1.JanuaryOf(1980)); mockLogger.Verify(x => x.Write("found 0 person(s)")); }
public Task <Order> Handle(QueryOrderCmd request, CancellationToken cancellationToken) { string orderId = request.DataContract; TheLogger.LogInformation($"IssueOrderCmdHandler OrderId={orderId}"); var order = new Order() { Id = orderId, CustomerId = "R3234566777", ShipAddress = "台北市信義路四段11號" }; return(Task.FromResult(order)); }
public void WhenAddingNewPerson_LoggerWritesHisNameAndBirthDayOnce() { var mockLogger = TheLogger.Mock(); var mailing = The.Mailing().StoreInMemory().With(mockLogger.Object).Please(); var homer = The.Person("Homer") .WithEmail("*****@*****.**") .Born(23.FebraryOf(1970)); // act mailing.AddRecipient(homer); mockLogger.Verify(x => x.Write("added Person: Homer 23.02.1970"), Times.Once()); }
protected void Application_Start() { AreaRegistration.RegisterAllAreas(); WebApiConfig.Register(GlobalConfiguration.Configuration); FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters); RouteConfig.RegisterRoutes(RouteTable.Routes); BundleConfig.RegisterBundles(BundleTable.Bundles); AuthConfig.RegisterAuth(); // Initialize SimpleMembership var smi = new InitializeSimpleMembershipAttribute.SimpleMembershipInitializer(); TheLogger.Write("Application start"); }
public void WhenTwoBirthDaysNextWeek_AndWeGetTwoLetters_ThenSecondHasAllAddressesExceptCelebrator() { var repo = The.Repo() .InMemory() .With(TheLogger.Stub()) .Please(); var mailing = The.Mailing() .StoreIn(repo) .With(TheLogger.Stub()) .AddSimpsons() .Please(); var forNextWeek = mailing.CreateBirthDayMessagesForNextWeek(2.MarchOf(2017)); Assert.True(The.MessageList(forNextWeek).Number(2).ContainEmailsAllExcept("*****@*****.**")); }
public void WhenGettingListOfPersons_AndThereIsOnePerson_ThenLoggerWritesHisEmailNameAndBirthday() { var mockLogger = TheLogger.Mock(); var repo = The.Repo() .InMacFileSystem() .HasFile("/path/to/personfile.txt") .InIt(new[] { "*****@*****.**", "Homer", "1970/01/01" }) .With(mockLogger.Object) .Please(); var mailing = The.Mailing().StoreIn(repo).With(mockLogger.Object).Please(); mailing.GetNextWeekCelebrants(1.JanuaryOf(1980)); mockLogger.Verify(x => x.Write("found Person - email: [email protected] name: Homer birthday: 1970/01/01")); }
public void WhenAddingSameRecipientTwice_ThanThrowsExceptionAlreadyExists() { // arrange var homer = The.Person("Homer") .WithEmail("*****@*****.**") .Born(23.FebraryOf(1970)); var repo = The.Repo().InMemory().Please(); var mailing = The.Mailing() .StoreIn(repo) .With(TheLogger.Stub()).Please(); mailing.AddRecipient(homer); // act & assert Assert.Throws <AlreadyExistsException>(() => mailing.AddRecipient(homer)); }
public void WhenOneBirthdayNextWeek_ThenWeGetMailMessageWithoutThatPersonInAddressList() { var repo = The.Repo() .InMemory() .With(TheLogger.Stub()) .Please(); var mailing = The.Mailing() .StoreIn(repo) .With(TheLogger.Stub()) .AddSimpsons() .Please(); // act var forNextWeek = mailing.CreateBirthDayMessagesForNextWeek(4.MarchOf(2017)); Assert.True(The.MessageList(forNextWeek).First().NotContainInAddress("*****@*****.**")); }
public void WhenGettingNextWeekCelebrants_ThenLoggerOnceWritesThatThereIsTwoPersons() { var mockLogger = TheLogger.Mock(); var mailing = The.Mailing().StoreInMemory().With(mockLogger.Object).Please(); var homer = The.Person("Homer") .WithEmail("*****@*****.**") .Born(1.FebraryOf(1970)); var marge = The.Person("Marge") .WithEmail("*****@*****.**") .Born(31.DecemberOf(1970)); mailing.AddRecipient(homer); mailing.AddRecipient(marge); mailing.GetNextWeekCelebrants(30.DecemberOf(2017)); mockLogger.Verify(x => x.Write("found 2 person(s)"), Times.Once()); }
public void WhenTwoBirthDaysNextWeek_AndWeSendTwoLetters_ThenEmailSenderCalledTwice() { var logger = TheLogger.Stub(); var repo = The.Repo() .InMemory() .With(logger) .Please(); var Email = The.Sender().Email(); var mailing = The.Mailing() .StoreIn(repo) .With(logger) .AddSimpsons() .SendBy(Email.Please()) .Please(); //act mailing.GetMessagesAndSend(2.MarchOf(2017)); // assert Email.SentTimes(2); }
public void WhenAddingNewPerson_AndListIsEmpty_ThenLoggerWritesFileName() { var mockLogger = TheLogger.Mock(); var repo = The.Repo() .InMacFileSystem() .Empty() .Write(new string[0]) .ToFile("/some/path.txt") .With(mockLogger.Object) .Please(); var mailing = The.Mailing().StoreIn(repo).With(mockLogger.Object).Please(); var homer = The.Person("Homer") .WithEmail("*****@*****.**") .Born(1.FebraryOf(1970)); // act mailing.AddRecipient(homer); // assert mockLogger.Verify(x => x.Write("filename: /some/path.txt")); }
public void Log(LogLevel level, Exception ex, string messageFormatString, params object[] formatStringParameters) { switch (level) { case LogLevel.Debug: { TheLogger.Debug(CallingMethodName + " " + FormattedString(messageFormatString, formatStringParameters) + ex.ToFullException() , ex); break; } case LogLevel.Info: { TheLogger.Info(CallingMethodName + " " + FormattedString(messageFormatString, formatStringParameters) + ex.ToFullException(), ex); break; } case LogLevel.Warn: { TheLogger.Warn(CallingMethodName + " " + FormattedString(messageFormatString, formatStringParameters) + ex.ToFullException(), ex); break; } case LogLevel.Error: Error(ex, messageFormatString, formatStringParameters); break; case LogLevel.Fatal: Fatal(ex, messageFormatString, formatStringParameters); break; default: throw new InvalidOperationException("Unknown LogLevel"); } }
public void Error(string messageFormatString, params object[] formatStringParameters) { TheLogger.Error(CallingMethodName + ": " + FormattedString(messageFormatString, formatStringParameters)); }
public void Info(string messageFormatString, params object[] formatStringParameters) { TheLogger.Info(FormattedString(messageFormatString, formatStringParameters)); }
public void Fatal(Exception ex, string messageFormatString, params object[] formatStringParameters) { TheLogger.Fatal(CallingMethodName + ": " + FormattedString(messageFormatString, formatStringParameters), ex); }