Beispiel #1
0
        public string SetStatus(bool enabled)
        {
            string errorMessage = string.Empty;

            if (_securityChecker.IsCurrentUserAdministrator())
            {
                _statusUpdater.SetAvailabilityStatus(enabled);
                _context.Redirect(_context.GetCurrentUrl());
            }
            else
            {
                errorMessage = "Only authenticated users can change the load balancing status.\n";
            }

            return(errorMessage);
        }
Beispiel #2
0
        public void Correctly_sets_availability_status_for_administrator()
        {
            MockRepository mocks = new MockRepository();
            IAdministratorSecurityChecker checker = mocks.CreateMock <IAdministratorSecurityChecker>();
            IWebContext context = mocks.CreateMock <IWebContext>();
            IAvailabilityStatusUpdater updater = mocks.CreateMock <IAvailabilityStatusUpdater>();

            using (mocks.Record())
            {
                Expect.Call(checker.IsCurrentUserAdministrator()).Return(true);
                updater.SetAvailabilityStatus(true);
                Expect.Call(context.GetCurrentUrl()).Return("http://mydomain/");
                context.Redirect("http://mydomain/");
            }

            using (mocks.Playback())
            {
                ISecureAvailabilityStatusUpdater statusUpdater = new SecureAvailabilityStatusUpdater(checker, context, updater);
                string errorMessage = statusUpdater.SetStatus(true);

                Assert.That(errorMessage, Is.Empty);
            }
        }