示例#1
0
        public static IDisposable GenerateRandomMessagesAtRandomIntervalsFromOneBus(IMessagePersister persister)
        {
            var source = SolaceBusMock("SOLACE.MESSAGEBUS.ONE", 10, 100);

            var subscription = source.Subscribe(x => ProcessMessages(x, persister));

            return(subscription);
        }
示例#2
0
 private static void ProcessMessages(Message message, IMessagePersister persister)
 {
     Console.WriteLine(message.Name);
     //log persistance
     logger.Info(String.Format("{0}{1}", "Message persisted", message.Name));
     serilog.Information("Persisting {@Message}", message);
     persister.Persist(message);
 }
示例#3
0
 private static void ProcessMessages(Message message, IMessagePersister persister)
 {
     Console.WriteLine(message.Name);
     //log it
     logger.InfoFormat("Message persisted: {0}", message.Name);
     logger.DebugFormat("Debug Message persisted: {0}", message.Timestamp);
     seriLogger.Information("Message persisted", message.Name);
     seriLogger.Information("Message persisted {@Message}", message);
     persister.Persist(message);
 }
        private static IMessageWriter ConfigureStubsAndMocksForAsyncLog(out IMessagePersister persister,
                                                                        string testString,
                                                                        DateTime logTimeStamp,
                                                                        IDateFactory dateFactory,
                                                                        out IMessageWriterFactory mockMessageWriterFactory,
                                                                        int expecteNumberOfTimesCreateToCall)
        {
            mockMessageWriterFactory = MockRepository.GenerateMock <IMessageWriterFactory>();
            IMessageWriter  mockWriter         = MockRepository.GenerateMock <IMessageWriter>();
            IMessageFactory stubMessageFactory = MockRepository.GenerateStub <IMessageFactory>();
            IMessage        stubMessage        = MockRepository.GenerateStub <IMessage>();

            stubMessage.Stub(x => x.FormatMessage()).Return(testString);
            stubMessage.Timestamp = logTimeStamp;
            stubMessageFactory.Stub(x => x.GetMessage(Arg <string> .Is.Anything, Arg <DateTime> .Is.Anything))
            .Return(stubMessage);
            mockMessageWriterFactory.Expect(x => x.Create()).Return(mockWriter).Repeat.Times(expecteNumberOfTimesCreateToCall);
            persister = new AsyncMessagePersister(mockMessageWriterFactory, stubMessageFactory, dateFactory);
            return(mockWriter);
        }
示例#5
0
        public static void GenerateRandomMessagesAtRandomIntervalsFromSeveralBusesHighLoad(IMessagePersister persister, out IDisposable subscription1, out IDisposable subscription2, out IDisposable subscription3)
        {
            var source1 = SolaceBusMock("SOLACE.MESSAGEBUS.ONE.SLOW", 30, 500);
            var source2 = SolaceBusMock("SOLACE.MESSAGEBUS.ONE.HIGH", 100, 10);
            var source3 = SolaceBusMock("SOLACE.MESSAGEBUS.ONE.MEDIUM", 79, 30);

            subscription1 = source1.Subscribe(x => ProcessMessages(x, persister));
            subscription2 = source2.Subscribe(x => ProcessMessages(x, persister));
            subscription3 = source3.Subscribe(x => ProcessMessages(x, persister));
        }