public void Can_Initialize_WindowsServiceRescuers_Test()
        {
            var connectedServices = new List<string>();

            var shell = new Mock<IWindowsServiceShell>();
            shell.Setup(p => p.ConnectToService(It.IsAny<string>())).Returns(true).Callback((string serviceName) => {  connectedServices.Add(serviceName); });

            var builder  = new ContainerBuilder();

            builder.RegisterModule<RescuerManagementModule>();
            builder.RegisterInstance(shell.Object).As<IWindowsServiceShell>();

            using(var scope = builder.Build().BeginLifetimeScope())
            {
                var factory = new RescuerControllerFactory(scope);
                var controller = factory.Create();

                Assert.AreEqual(0, connectedServices.Count, "there shoudn't be any connected services before test started");

                controller.IntializeRescuers(new[] {"r1", "r2", "r3"});

                Assert.AreEqual("r1", connectedServices[0], "invalid first service name, where shell should try to connect");
                Assert.AreEqual("r2", connectedServices[1], "invalid second service name, where shell should try to connect");
                Assert.AreEqual("r3", connectedServices[2], "invalid third service name, where shell should try to connect");
                
            }
        }
Exemple #2
0
        public RescuerService()
        {
            InitializeComponent();            
            _logger = LogManager.GetCurrentClassLogger();
            _controllerFactory = new RescuerControllerFactory();

            _tokenSource = new CancellationTokenSource();
        }
        public void Can_Create_Controller_With_WindowsService_RescuerType_Test()
        {
            using (var controllerFactory = new RescuerControllerFactory(RescuerType.WindowsServiceRescuer))
            {
                var controller = controllerFactory.Create();

                Assert.IsNotNull(controller);
            }
        }        
        public void Can_Create_Controller_With_Default_RescuerType_Test()
        {
            using (var controllerFactory = new RescuerControllerFactory())
            {
                var controller = controllerFactory.Create();

                Assert.IsNotNull(controller);                
            }
        }
        public void Can_Handle_Empty_ServiceNames_Test()
        {
            var shell = new Mock<IWindowsServiceShell>();
            shell.Setup(p => p.ConnectToService(It.IsAny<string>())).Returns(true);

            var builder = new ContainerBuilder();

            builder.RegisterModule<RescuerManagementModule>();
            builder.RegisterInstance(shell.Object).As<IWindowsServiceShell>();

            using (var scope = builder.Build().BeginLifetimeScope())
            {
                var factory = new RescuerControllerFactory(scope);
                var controller = factory.Create();

                Assert.Throws<ArgumentException>(() => controller.IntializeRescuers(new []{"ttt", "", "aaa"}));
            }
        }