Ejemplo n.º 1
0
        public void RegisterManagementProcessors_RegistersManagementProcessor_WhenEntityHasDeliveryQueue()
        {
            IEntity testEntity = Substitute.For <IEntity>();

            testEntity.Name.Returns("zb");
            testEntity.DeliveryQueue.Returns(new DeliveryQueue());
            var testEntities = new List <(string Address, IEntity entity)> {
                ("zb", testEntity)
            };
            IEntityLookup fakeEntityLookup = Substitute.For <IEntityLookup>();

            fakeEntityLookup.GetEnumerator().Returns(testEntities.GetEnumerator());
            ILoggerProvider fakeLoggerProvider = Substitute.For <ILoggerProvider>();
            IContainerHost  fakeHost           = Substitute.For <IContainerHost>();

            fakeHost.RegisterManagementProcessors(fakeEntityLookup, fakeLoggerProvider);

            fakeHost.ShouldSatisfyAllConditions(
                () => fakeHost
                .Received(1)
                .RegisterRequestProcessor("zb/$management", Arg.Any <ManagementRequestProcessor>()),
                () => fakeLoggerProvider
                .Received(1)
                .CreateLogger(nameof(ManagementRequestProcessor))
                );
        }
Ejemplo n.º 2
0
 internal static void RegisterManagementProcessors(this IContainerHost host, IEntityLookup entityLookup, ILoggerProvider loggerProvider)
 {
     foreach ((string Address, IEntity Entity)item in entityLookup)
     {
         if (item.Entity.DeliveryQueue != null)
         {
             host.RegisterRequestProcessor(item.Address + "/$management", new ManagementRequestProcessor(loggerProvider));
         }
     }
 }
Ejemplo n.º 3
0
        public void RegisterManagementProcessors_DoesNotRegisterManagementProcessor_WhenEntityDoesNotHaveDeliveryQueue()
        {
            IEntity testEntity = Substitute.For <IEntity>();

            testEntity.Name.Returns("a");
            testEntity.DeliveryQueue.Returns((DeliveryQueue)null);
            var testEntities = new List <(string Address, IEntity entity)> {
                ("a", testEntity)
            };
            IEntityLookup fakeEntityLookup = Substitute.For <IEntityLookup>();

            fakeEntityLookup.GetEnumerator().Returns(testEntities.GetEnumerator());
            ILoggerProvider fakeLoggerProvider = Substitute.For <ILoggerProvider>();
            IContainerHost  fakeHost           = Substitute.For <IContainerHost>();

            fakeHost.RegisterManagementProcessors(fakeEntityLookup, fakeLoggerProvider);

            fakeHost.DidNotReceive()
            .RegisterRequestProcessor(
                Arg.Any <string>(),
                Arg.Any <ManagementRequestProcessor>()
                );
        }