Example #1
0
        public void BatchActionFactoryTest_getProvider(BatchUrlManagerCommand command)
        {
            //Arrange
            var sharpBatchTrakingFactory = new Mock <ISharpBatchTrackingFactory>(MockBehavior.Strict);

            sharpBatchTrakingFactory.Setup((s) => s.getTrakingProvider())
            .Returns(new TrackingMemory())
            .Verifiable();

            var modelSerializer = new Mock <IModelSerializer>(MockBehavior.Strict);

            IPropertyInvoker        propertyInvoker         = new DefaultPropertyInvoker();
            MethodActivator         methodActivator         = new MethodActivator();
            IBatchInvoker           batchInvoker            = new DefaultBatchInvoker(propertyInvoker, methodActivator, sharpBatchTrakingFactory.Object, modelSerializer.Object);
            IBatchInvokerProvider   batchInvokerProvider    = new DefaultBatchInvokerProvider(batchInvoker, sharpBatchTrakingFactory.Object);
            ApplicationBatchManager applicationBatchManager = new ApplicationBatchManager();
            BatchActionProvider     batchActionProvider     = new BatchActionProvider(applicationBatchManager, batchInvokerProvider);

            SystemActionProvider systemActionProvider = new SystemActionProvider(sharpBatchTrakingFactory.Object, modelSerializer.Object);
            IBatchActionFactory  batchActionFactory   = new BatchActionFactory(batchActionProvider, systemActionProvider);

            var batchUrlManager = new Mock <IBatchUrlManager>(MockBehavior.Strict);

            batchUrlManager.Setup((s) => s.RequestCommand)
            .Returns(command)
            .Verifiable();


            //Act
            var actionProvider = batchActionFactory.getProvider(batchUrlManager.Object);


            //Assert
            if (command == BatchUrlManagerCommand.Exec)
            {
                Assert.Same(batchActionProvider, actionProvider);
            }
            else
            {
                Assert.Same(systemActionProvider, actionProvider);
            }
            batchUrlManager.Verify();
            sharpBatchTrakingFactory.Verify();
        }
        private static IApplicationBatchManager getBatchAction(IServiceCollection service)
        {
            var hostingService = (IHostingEnvironment)service.FirstOrDefault(t => t.ServiceType == typeof(IHostingEnvironment))?.ImplementationInstance;
            var manager        = (IApplicationBatchManager)service.FirstOrDefault(t => t.ServiceType == typeof(IApplicationBatchManager))?.ImplementationInstance;

            if (manager == null)
            {
                manager = new ApplicationBatchManager();
            }

            var batchDescriptors = BatchActionDiscovery.discoveryBatchDescription(hostingService.ApplicationName);

            foreach (var item in batchDescriptors)
            {
                manager.BatchActions.Add(item);
            }

            return(manager);
        }
Example #3
0
        private ApplicationBatchManager createApplicationBatchManager()
        {
            var batchManager = new ApplicationBatchManager();

            new ApplicationBatchManager();
            batchManager.BatchActions.Add(new BatchActionDescriptor()
            {
                BatchName  = "Batch1",
                ActionName = "Action1"
            });
            batchManager.BatchActions.Add(new BatchActionDescriptor()
            {
                BatchName  = "Batch1",
                ActionName = "Action2"
            });
            batchManager.BatchActions.Add(new BatchActionDescriptor()
            {
                BatchName  = "Batch2",
                ActionName = "Action1"
            });

            return(batchManager);
        }