private void RuntimeHost_ReconfigurationRequested(ReconfigurationEventArgs args)
        {
            logger.Info($"Accepted request for reconfiguration with '{args.ConfigurationPath}'.");
            sessionContext.ReconfigurationFilePath = args.ConfigurationPath;

            StartSession();
        }
예제 #2
0
        private void RuntimeHost_ReconfigurationRequested(ReconfigurationEventArgs args)
        {
            if (Session.Settings.Security.AllowReconfiguration)
            {
                logger.Info($"Accepted request for reconfiguration with '{args.ConfigurationPath}'.");
                sessionContext.ReconfigurationFilePath = args.ConfigurationPath;

                StartSession();
            }
            else
            {
                logger.Info($"Denied request for reconfiguration with '{args.ConfigurationPath}'!");
                sessionContext.ClientProxy.InformReconfigurationDenied(args.ConfigurationPath);
            }
        }
예제 #3
0
        public void Communication_MustInformUserAboutDeniedReconfiguration()
        {
            var args = new ReconfigurationEventArgs
            {
                ConfigurationPath = @"C:\Some\File\Path.seb"
            };

            sut.TryStart();
            clientHost.Raise(c => c.ReconfigurationDenied += null, args);

            messageBox.Verify(m => m.Show(
                                  It.IsAny <TextKey>(),
                                  It.IsAny <TextKey>(),
                                  It.IsAny <MessageBoxAction>(),
                                  It.IsAny <MessageBoxIcon>(),
                                  It.IsAny <IWindow>()), Times.Once);
        }
예제 #4
0
        private void RuntimeHost_ReconfigurationRequested(ReconfigurationEventArgs args)
        {
            var mode = Session.Settings.ConfigurationMode;

            if (mode == ConfigurationMode.ConfigureClient)
            {
                logger.Info($"Accepted request for reconfiguration with '{args.ConfigurationPath}'.");
                sessionContext.ReconfigurationFilePath = args.ConfigurationPath;

                StartSession();
            }
            else
            {
                logger.Info($"Denied request for reconfiguration with '{args.ConfigurationPath}' due to '{mode}' mode!");
                sessionContext.ClientProxy.InformReconfigurationDenied(args.ConfigurationPath);
            }
        }
        public void Communication_MustInformClientAboutDeniedReconfiguration()
        {
            var args = new ReconfigurationEventArgs {
                ConfigurationPath = "C:\\Some\\File\\Path.seb"
            };

            StartSession();
            currentSettings.ConfigurationMode = ConfigurationMode.Exam;
            bootstrapSequence.Reset();
            sessionSequence.Reset();

            runtimeHost.Raise(r => r.ReconfigurationRequested += null, args);

            bootstrapSequence.VerifyNoOtherCalls();
            clientProxy.Verify(c => c.InformReconfigurationDenied(It.Is <string>(s => s == args.ConfigurationPath)), Times.Once);
            sessionSequence.VerifyNoOtherCalls();

            Assert.AreNotEqual(sessionContext.ReconfigurationFilePath, args.ConfigurationPath);
        }
        public void Communication_MustStartNewSessionUponRequest()
        {
            var args = new ReconfigurationEventArgs {
                ConfigurationPath = "C:\\Some\\File\\Path.seb"
            };

            StartSession();
            bootstrapSequence.Reset();
            sessionSequence.Reset();
            sessionSequence.Setup(s => s.TryRepeat()).Returns(OperationResult.Success);

            runtimeHost.Raise(r => r.ReconfigurationRequested += null, args);

            bootstrapSequence.VerifyNoOtherCalls();
            sessionSequence.Verify(s => s.TryPerform(), Times.Never);
            sessionSequence.Verify(s => s.TryRepeat(), Times.Once);
            sessionSequence.Verify(s => s.TryRevert(), Times.Never);

            Assert.AreEqual(sessionContext.ReconfigurationFilePath, args.ConfigurationPath);
        }
예제 #7
0
 private void ClientHost_ReconfigurationDenied(ReconfigurationEventArgs args)
 {
     logger.Info($"The reconfiguration request for '{args.ConfigurationPath}' was denied by the runtime!");
     messageBox.Show(TextKey.MessageBox_ReconfigurationDenied, TextKey.MessageBox_ReconfigurationDeniedTitle, parent: splashScreen);
     splashScreen.Hide();
 }