Esempio n. 1
0
 public void ErrorOnPublish(Exception ex, MediatorListenerDescription listener)
 {
     if (_sourceLogger?.IsErrorEnabled() == true)
     {
         _sourceLogger.Error(ex, SR.Client_RaiseExWhenEachListener(listener.Key, listener.ListenerType.Name, listener.MediateType));
     }
 }
Esempio n. 2
0
 internal void TracePublishToListener(MediatorListenerDescription listener)
 {
     if (_sourceLogger?.IsTraceEnabled() == true)
     {
         _sourceLogger.Trace(SR.Client_PublishToEachListeners(listener.Key, listener.ListenerType.Name, listener.MediateType));
     }
 }
    public void Create_引数の型にIRequestを実装している場合はMediateTypeがRequestのMediatorListenerが返される()
    {
        var listeners = MediatorListenerDescription.Create(typeof(RequestPang));

        listeners.Should().HaveCount(1);
        listeners.Select(l => l.MediateType)
        .All(m => m == MediateType.Request).Should().BeTrue();
    }
    public void Create_引数の型にINotificationを実装している場合はMediateTypeがNotificationのMediatorListenerが返される()
    {
        var listeners = MediatorListenerDescription.Create(typeof(Pang));

        listeners.Should().HaveCount(1);
        listeners.Select(l => l.MediateType)
        .All(m => m == MediateType.Notification).Should().BeTrue();
    }
    public void Create_引数の型にIRequestTを実装したクローズドでAsEventListenerが付加されている場合はMediatorListenerが返される()
    {
        var listeners = MediatorListenerDescription.Create(typeof(RequestTPang));

        listeners.Should().HaveCount(1);
        var listener = listeners.First();

        listener.Key.Should().Be("pang.requestT");
        listener.ListenerType.Should().Be(typeof(RequestTPang));
    }
Esempio n. 6
0
    public void TraceStartPublishToListeners_Traceがtrueの場合は出力される()
    {
        var source = new TestServiceLikeLogger();

        source.TraceEnabled = true;
        new ServiceLikeLoggerWrapper(source).TraceStartPublishToListeners("test",
                                                                          MediatorListenerDescription.Create(typeof(Pang)));

        source.TraceMessages.Should().HaveCount(1);
    }
Esempio n. 7
0
    public void TraceStartPublishToListeners_Traceがfalseの場合は出力されない()
    {
        var source = new TestServiceLikeLogger();

        source.TraceEnabled = false;
        new ServiceLikeLoggerWrapper(source).TraceStartPublishToListeners("test",
                                                                          MediatorListenerDescription.Create(typeof(Pang)));

        source.TraceMessages.Should().BeEmpty();
    }
Esempio n. 8
0
    public void ErrorOnPublish_Errorがtrueの場合は出力される()
    {
        var source = new TestServiceLikeLogger();

        source.ErrorEnabled = true;
        new ServiceLikeLoggerWrapper(source).ErrorOnPublish(new Exception(),
                                                            MediatorListenerDescription.Create(typeof(Pang)).First());

        source.ErrorMessages.Should().HaveCount(1);
    }
    public void Create_引数の型に複数のAsEventListenerが付加されている場合は複数のEventが返される()
    {
        var listeners = MediatorListenerDescription.Create(typeof(MultiPang));

        listeners.Should().HaveCount(2);
        var listenerList = listeners.OrderBy(r => r.Key).ToList();

        listenerList[0].Key.Should().Be("pang.1");
        listenerList[0].ListenerType.Should().Be(typeof(MultiPang));
        listenerList[1].Key.Should().Be("pang.2");
        listenerList[1].ListenerType.Should().Be(typeof(MultiPang));
    }
    public void Create_引数の型にAsEventListenerが付加されていない場合例外が発行される()
    {
        Action act = () => MediatorListenerDescription.Create(typeof(OnlyPang));

        act.Should().Throw <ArgumentException>();
    }
    public void Create_引数の型がINotificationを継承していない場合例外が発行される()
    {
        Action act = () => MediatorListenerDescription.Create(typeof(PlainPang));

        act.Should().Throw <ArgumentException>();
    }
Esempio n. 12
0
 public void ErrorOnPublish_元のロガーが無い時は出力されない()
 {
     new ServiceLikeLoggerWrapper(null).ErrorOnPublish(new Exception(),
                                                       MediatorListenerDescription.Create(typeof(Pang)).First());
 }
    public void Create_引数の型のGenericがオープンしてたら例外が発行される()
    {
        Action act = () => MediatorListenerDescription.Create(typeof(OpenGenericPang <>));

        act.Should().Throw <ArgumentException>();
    }
    public void Create_引数がnullの場合は例外が発行される()
    {
        Action act = () => MediatorListenerDescription.Create(null);

        act.Should().Throw <ArgumentNullException>();
    }
Esempio n. 15
0
 public void TraceStartPublishToListeners_元のロガーが無い時は出力されない()
 {
     new ServiceLikeLoggerWrapper(null).TraceStartPublishToListeners("test",
                                                                     MediatorListenerDescription.Create(typeof(Pang)));
 }
    public void Create_引数の型が実装型じゃない場合例外が発行される()
    {
        Action act = () => MediatorListenerDescription.Create(typeof(AbstractPang));

        act.Should().Throw <ArgumentException>();
    }
Esempio n. 17
0
 private Task FireEvent(MediatorListenerDescription description, ServiceLikeMediator serviceLikeMediator,
                        object eventData)
 => description.MediateType == MediateType.Notification
         ? serviceLikeMediator.Publish(eventData)
         : serviceLikeMediator.Send(eventData);
Esempio n. 18
0
 public void TracePublishToListener_元のロガーが無い時は出力されない()
 {
     new ServiceLikeLoggerWrapper(null).TracePublishToListener(
         MediatorListenerDescription.Create(typeof(Pang)).First());
 }