protected void btnIngresar_Click(object sender, EventArgs e)
    {
        try
        {
            lblMessageError.Text = "";
            SessionController sessionController = new SessionController();
            SessionInfoModel  session           = new SessionInfoModel();
            SessionContent    content           = new SessionContent {
                CardCode = Request.Form["CardCode"], Password = Request.Form["Password"]
            };

            session = sessionController.SignIn(content);

            if (session != null)
            {
                Session["SessionInfo"]     = session;
                Session["SessionCardCode"] = session.cardcode;
                Session["SessionCardName"] = session.cardname;

                Response.Redirect("../../../Dashboard/Default.aspx", false);
            }
            else
            {
                Session["SessionInfo"]     = "";
                Session["SessionCardCode"] = "";
                Session["SessionCardName"] = "";
                lblMessageError.Text       = sessionController.messageError;
            }
        }
        catch (Exception ex)
        {
            lblMessageError.Text = ex.Message;
        }
    }
Example #2
0
 public SessionManagementForm()
 {
     InitializeComponent();
     sc  = SessionController.getInstance();
     nsf = new NewSessionForm(this);
     resetDialogFont();
 }
        public void TestLogoffWithCorrectParameters()
        {
            // Arrange

            var requestMock = new Mock <HttpRequestMessage>();

            requestMock.Object.Method = new HttpMethod("POST");
            requestMock.Object.Properties.Add("MS_HttpConfiguration", GetHttpConfiguration());
            requestMock.Object.RequestUri = new Uri(UrlConst);

            SetRequiredUser();

            IUserRepository       userRepository       = GetFakeUserRepository();
            IAuthenticationKeeper authenticationKeeper = GetFakeAuthenticationKeeper();
            IRoleRepository       roleRepository       = GetFakeRoleRepository();

            var usersController = new SessionController(userRepository, roleRepository, authenticationKeeper)
            {
                Request = requestMock.Object
            };

            // Act
            Task <HttpResponseMessage> response = usersController.Delete();

            response.Wait();

            // Assert
            _authenticationKeeperMock.Verify(m => m.Clean(), Times.Once());
            Assert.IsFalse(response.IsFaulted);
            Assert.IsNotNull(response.Result);
            Assert.IsTrue(response.Result.StatusCode == HttpStatusCode.OK);
        }
 public GameNetworkHandler(ILogger <GameNetworkHandler> logger, SessionFactory sessionFactory, SessionController sessionController, MessageHandler messageHandler)
 {
     this.logger            = logger;
     this.sessionFactory    = sessionFactory;
     this.sessionController = sessionController;
     this.messageHandler    = messageHandler;
 }
Example #5
0
 /// <summary>
 /// Funkcja odpowiadajaca za utworzenie sesji logowania uzytkownika
 /// </summary>
 private async void OnstartPage()
 {
     await Task.Run(() =>
     {
         if (Navigation.NavigationStack.Count == 0)
         {
             Device.BeginInvokeOnMainThread(async() =>
             {
                 var session = new SessionController(api);
                 if (session.IsLogin() && (await api.getAssetInfo(1)) != null)
                 {
                     NextPage();
                 }
                 else
                 {
                     PageIsBusy(false);
                 }
             });
         }
         else
         {
             PageIsBusy(false);
         }
     });
 }
Example #6
0
        public async Task GetSingle_HappyPath_ShouldReturnOK()
        {
            // Arrange
            var endDate            = DateTime.Now;
            var startDate          = DateTime.Now.AddDays(-1);
            var mockSessionService = A.Fake <ISessionService>();

            A.CallTo(() => mockSessionService.GetSessionById(1)).Returns(
                new ServiceResponse <GetSessionDto>
            {
                Data = new GetSessionDto()
                {
                    StartDateTime = startDate,
                    EndDateTime   = endDate,
                    Id            = 1
                }
            });
            var controller = new SessionController(mockSessionService);

            // Act
            var result = await controller.GetSingle(1);

            var okResult       = result as OkObjectResult;
            var actualResponse = okResult.Value as ServiceResponse <GetSessionDto>;

            // Assert
            Assert.AreEqual(typeof(OkObjectResult), result.GetType());
            Assert.AreEqual(1, actualResponse.Data.Id);
            Assert.AreEqual(startDate, actualResponse.Data.StartDateTime);
            Assert.AreEqual(endDate, actualResponse.Data.EndDateTime);
        }
Example #7
0
        public async Task Delete_HappyPath_ShouldReturnOk()
        {
            //Arrange
            var startDate          = DateTime.Now.AddDays(-1);
            var endDate            = DateTime.Now;
            var mockSessionService = A.Fake <ISessionService>();

            A.CallTo(() => mockSessionService.DeleteSession(2)).Returns(
                new ServiceResponse <List <GetSessionDto> >
            {
                Data = new List <GetSessionDto>()
                {
                    new GetSessionDto
                    {
                        Id            = 1,
                        StartDateTime = startDate,
                        EndDateTime   = endDate
                    }
                }
            });
            var controller = new SessionController(mockSessionService);

            //Act
            var result = await controller.Delete(2);

            var okResult     = result as OkObjectResult;
            var actualResult = okResult.Value as ServiceResponse <List <GetSessionDto> >;

            //Assert
            Assert.AreEqual(typeof(OkObjectResult), result.GetType());
            Assert.AreEqual(1, actualResult.Data[0].Id);
            Assert.AreEqual(startDate, actualResult.Data[0].StartDateTime);
            Assert.AreEqual(endDate, actualResult.Data[0].EndDateTime);
        }
Example #8
0
        public async Task IndexReturnsViewResultWithStormSessionViewModel()
        {
            // Arrange
            int testSessionId = 1;
            var mockRepo      = new Mock <IBrainstormSessionRepository>();

            mockRepo.Setup(repo => repo.GetByIdAsync(testSessionId))
            .ReturnsAsync(_sessions.FirstOrDefault(
                              s => s.Id == testSessionId));
            var controller = new SessionController(mockRepo.Object);

            // Act
            var result = await controller.Index(testSessionId);

            // Assert
            Assert.That(result, Is.TypeOf <ViewResult>());
            var viewResult = result as ViewResult;

            Assert.That(viewResult.ViewData.Model, Is.TypeOf <StormSessionViewModel>());
            var model = viewResult.ViewData.Model as StormSessionViewModel;

            Assert.AreEqual("Brainstorming opdracht 1", model.Name);
            Assert.AreEqual(2, model.DateCreated.Day);
            Assert.AreEqual(testSessionId, model.Id);
        }
Example #9
0
 private void gridSession_CellMouseClick(object sender, DataGridViewCellMouseEventArgs e)
 {
     try
     {
         if (e.RowIndex >= 0)
         {
             DataGridViewRow row       = gridSession.Rows[e.RowIndex];
             int             sessionid = staticsessionid = Convert.ToInt32(row.Cells[0].Value.ToString());
             List <MyItem>   list      = SessionController.SelectedLecturers(sessionid);
             if (list != null)
             {
                 lblsessionid.Text           = sessionid.ToString();
                 listLecturers.DataSource    = list;
                 listLecturers.DisplayMember = "text";
                 listLecturers.ValueMember   = "value";
             }
         }
     }
     catch (FormatException fe)
     {
         //clear();
         MessageBox.Show("no data selected");
     }
     catch (Exception ex)
     {
         MessageBox.Show(ex.Message);
     }
 }
Example #10
0
 //
 //====================================================================================================
 /// <summary>
 /// coreClass constructor for a web request/response environment. coreClass is the primary object internally, created by cp.
 /// </summary>
 public CoreController(CPClass cp, string applicationName, System.Web.HttpContext httpContext)
 {
     try {
         this.cpParent      = cp;
         this.cpParent.core = this;
         _mockNow           = null;
         LogController.log(this, "CoreController constructor-4, enter", BaseClasses.CPLogBaseClass.LogLevel.Trace);
         //
         metaDataDictionary    = new Dictionary <string, Models.Domain.ContentMetadataModel>();
         tableSchemaDictionary = null;
         //
         // -- create default auth objects for non-user methods, or until auth is available
         session = new SessionController(this);
         //
         serverConfig = ServerConfigModel.getObject(this);
         serverConfig.defaultDataSourceType = ServerConfigBaseModel.DataSourceTypeEnum.sqlServer;
         appConfig = AppConfigModel.getObject(this, serverConfig, applicationName);
         if (appConfig != null)
         {
             webServer.initWebContext(httpContext);
             constructorInitialize(true);
         }
         LogController.log(this, "CoreController constructor-4, exit", BaseClasses.CPLogBaseClass.LogLevel.Trace);
     } catch (Exception ex) {
         LogController.logLocalOnly("CoreController constructor-4, exception [" + ex.ToString() + "]", BaseClasses.CPLogBaseClass.LogLevel.Fatal);
         throw;
     }
 }
Example #11
0
        public SessionControllerTest()
        {
            var logger = new Mock <ILogger <SessionController> >();

            _service    = new Mock <ISessionService>();
            _controller = new SessionController(logger.Object, _service.Object);
        }
Example #12
0
        public ActionResult Wallet()
        {
            UserWalletAppService userWalletAppService = new UserWalletAppService();
            UserResponseBO       _apiResponse         = new UserResponseBO();

            try
            {
                // GET SESSIONS
                SessionController sessionController = new SessionController();
                TblUserAuth       userAuth          = sessionController.GetSession(HttpContext.Session);

                _apiResponse.UserWallet = userWalletAppService.GetBO(userAuth);

                _apiResponse.HttpStatusCode = "200";
                _apiResponse.Message        = "UserWallet GET";
                _apiResponse.Status         = "Success";
            }
            catch (Exception ex)
            {
                _apiResponse.HttpStatusCode = "500";
                _apiResponse.Message        = ex.Message;
                _apiResponse.Status         = "Error";
            }

            return(Ok(_apiResponse));
        }
Example #13
0
 //
 //====================================================================================================
 /// <summary>
 /// coreClass constructor for app, non-Internet use. coreClass is the primary object internally, created by cp.
 /// </summary>
 /// <param name="cp"></param>
 /// <remarks></remarks>
 public CoreController(CPClass cp, string applicationName, ServerConfigModel serverConfig)
 {
     try {
         cpParent            = cp;
         deleteSessionOnExit = true;
         _mockNow            = null;
         LogController.log(this, "CoreController constructor-2, enter", BaseClasses.CPLogBaseClass.LogLevel.Trace);
         //
         metaDataDictionary    = new Dictionary <string, Models.Domain.ContentMetadataModel>();
         tableSchemaDictionary = null;
         //
         // -- create default auth objects for non-user methods, or until auth is available
         session = new SessionController(this);
         //
         this.serverConfig = serverConfig;
         this.serverConfig.defaultDataSourceType = ServerConfigBaseModel.DataSourceTypeEnum.sqlServer;
         appConfig            = AppConfigModel.getObject(this, serverConfig, applicationName);
         appConfig.appStatus  = AppConfigModel.AppStatusEnum.ok;
         webServer.iisContext = null;
         constructorInitialize(false);
         LogController.log(this, "CoreController constructor-2, exit", BaseClasses.CPLogBaseClass.LogLevel.Trace);
     } catch (Exception ex) {
         LogController.logLocalOnly("CoreController constructor-2, exception [" + ex.ToString() + "]", BaseClasses.CPLogBaseClass.LogLevel.Fatal);
         throw;
     }
 }
 /// <summary>
 /// Default constructor for this control
 /// This will get a reference to the singleton SessionController
 /// and register the SessionsRefreshedEventHandler
 /// </summary>
 public SessionControl()
 {
     sc = SessionController.getInstance();
     InitializeComponent();
     SessionController.SessionsRefreshedEventHandler scHandler = new SessionController.SessionsRefreshedEventHandler(this.SessionsRefreshed);
     sc.SessionsRefreshed += scHandler;
 }
        public static void deleteAllChoose()
        {
            var username = HttpContext.Current.Request.Cookies["usernameLoginSystem"].Value;
            var acc      = AccountController.GetByUsername(username);

            SessionController.deleteRegisterProductSession(acc);
        }
        public static string deleteChoose(List <RegisterProductSession> data)
        {
            var username = HttpContext.Current.Request.Cookies["usernameLoginSystem"].Value;
            var acc      = AccountController.GetByUsername(username);

            return(SessionController.deleteRegisterProductSession(acc, data));
        }
Example #17
0
        public HttpResponseMessage Get(string type)
        {
            List <SessionMinDetails> retVal = new List <SessionMinDetails>();

            try
            {
                SessionController     sessionController = new SessionController();
                IEnumerable <Session> sessions;

                switch (type.ToLowerInvariant())
                {
                case "all":
                    sessions = sessionController.GetAllSessions();
                    break;

                case "pending":
                    sessions = sessionController.GetAllActiveSessions();
                    break;

                case "needanalysis":
                    sessions = sessionController.GetAllUnanalyzedSessions();
                    break;

                case "complete":
                    sessions = sessionController.GetAllCompletedSessions();
                    break;

                default:
                    sessions = sessionController.GetAllSessions();
                    break;
                }

                IEnumerable <Session> sortedSessions = sessions.OrderByDescending(p => p.StartTime);

                foreach (Session session in sortedSessions)
                {
                    SessionMinDetails sessionDetails = new SessionMinDetails
                    {
                        Description       = session.Description,
                        SessionId         = session.SessionId.ToString(),
                        StartTime         = session.StartTime.ToString("yyyy-MM-dd HH:mm:ss"),
                        EndTime           = session.EndTime.ToString("yyyy-MM-dd HH:mm:ss"),
                        Status            = session.Status,
                        DiagnoserSessions = new List <String>(session.GetDiagnoserSessions().Select(p => p.Diagnoser.Name)),
                        HasBlobSasUri     = !string.IsNullOrWhiteSpace(session.BlobSasUri)
                    };

                    retVal.Add(sessionDetails);
                }
            }
            catch (Exception ex)
            {
                Logger.LogErrorEvent("Encountered exception while getting sessions from file", ex);
                return(Request.CreateErrorResponse(HttpStatusCode.InternalServerError, $"Encountered exception {ex.Message} while getting sessions from file"));
            }


            return(Request.CreateResponse(HttpStatusCode.OK, retVal));
        }
Example #18
0
        // 2. Get session request
        // 3. Post session response
        private void ChatRequestIsHere(object o, FileSystemEventArgs e)
        {
            if (Path.GetFileNameWithoutExtension(e.Name) != AccountsController.GetInstance().CurrentAccount.Username)
            {
                return;
            }
            Account receiver = AccountsController.GetInstance().CurrentAccount;
            Account sender   =
                SessionController.ReadSessionRequest(AccountsController.GetInstance().CurrentAccount, false, _locker);

            if (sender == null)
            {
                return;
            }

            var result = MessageBox.Show($"Do you want to chat with {sender.Username}?", "Chat request",
                                         MessageBoxButton.YesNo,
                                         MessageBoxImage.Question);

            if (result != MessageBoxResult.Yes)
            {
                return;
            }

            if (!SessionController.CreateSessionRequestResponse(receiver, sender, true, _locker))
            {
                return;
            }
            CloseRequest = true;
            CloseOnline  = true;
            _fileSystemWatcherOnline.EnableRaisingEvents = false;
            _fileSystemWatcherOnline.Dispose();
            _fileSystemWatcherRequest.EnableRaisingEvents = false;
            _fileSystemWatcherRequest.Dispose();
            lock (_locker)
            {
                while (true)
                {
                    try
                    {
                        File.Delete(USER_REQUEST_PATH);
                        break;
                    }
                    catch (IOException)
                    {
                        Task.Delay(1000);
                    }
                }
            }
            ChatWindow chatWindow = null;

            if (Dispatcher != null)
            {
                Dispatcher.Invoke(() => chatWindow = new ChatWindow().Initialize(this, sender));
                Task.Delay(500);
                Dispatcher.Invoke(() => chatWindow.Show());
            }
            Dispatcher?.Invoke(Hide);
        }
Example #19
0
 public void Setup()
 {
     this.logger                = new Mock <ILogger>();
     this.userService           = new Mock <IUserService>();
     this.appEnvironmentService = new Mock <IAppEnvironmentService>();
     this.sessionController     = new SessionController(this.userService.Object, this.logger.Object, this.appEnvironmentService.Object);
     SetControllerContext(this.sessionController);
 }
Example #20
0
        public void Index_WithWitespaceSessionKey_ReturnsNotFoundResult()
        {
            var sut = new SessionController();

            ActionResult actual = sut.Index(" ");

            Assert.That(actual, Is.TypeOf <HttpNotFoundResult>());
        }
Example #21
0
        public void Index_WithSessionKey_ReturnsViewResult()
        {
            var sut = new SessionController();

            ActionResult actual = sut.Index("asdf");

            Assert.That(actual, Is.TypeOf <ViewResult>());
        }
        public void InitializeTestingEnvironnement()
        {
            dal = new FakeDal();

            sessionController               = new SessionController(dal, dal, dal);
            sessionController.Request       = new HttpRequestMessage();
            sessionController.Configuration = new HttpConfiguration();
        }
        public static void updateOrderChoose(List <DeliverySession> deliverySession)
        {
            var username = HttpContext.Current.Request.Cookies["usernameLoginSystem"].Value;
            var acc      = AccountController.GetByUsername(username);

            SessionController.updateDeliverySession(acc, deliverySession);
            DeliveryController.updateDelivery(acc, deliverySession);
        }
Example #24
0
 public SessionTest()
 {
     this._dummyContext      = new DummyApplicationDbContext();
     this._sessionRepository = new Mock <IBoBSessionRepository>();
     this._mockHttp          = new Mock <HttpContext>();
     this._mockSession       = new MockSession();
     this._controller        = new MockSessionController(_sessionRepository.Object, _mockHttp.Object);
 }
Example #25
0
        public void Setup()
        {
            _userDomain = new Mock <IUserService>();

            _sessionController = new SessionController(_userDomain.Object, null);

            SetControllerContext(_sessionController);
        }
 public override void Init()
 {
     sounds            = ResourceManager.GetResource <SoundsStorage>(GameConstants.SOUNDS_STORAGE);
     sessionController = SessionController.Instance;
     sessionController.BubblesController.OnMerge += OnMerge;
     sessionController.PlayerController.BubbleShootController.OnShootStarted += OnStartShoot;
     sessionController.PlayerController.BubbleShootController.OnShootEnded   += OnEndShoot;
 }
 public AppointmentWindow(AppointmentController appointmentController, SessionController sessionController)
 {
     this.sourceAppointmentController = appointmentController;
     this.sessionController           = sessionController;
     InitializeComponent();
     InsertTimeOptions();
     RefreshForm();
 }
Example #28
0
        public void ShouldSetHitsOnSession()
        {
            var builder = new TestControllerBuilder();
            var controller = new SessionController();
            builder.InitializeController(controller);

            controller.Index();
            Assert.IsNotNull(controller.Session["hits"]);
        }
Example #29
0
 public NewSessionForm(Form parent)
 {
     parentWindow = parent;
     sc           = SessionController.getInstance();
     InitializeComponent();
     SessionController.SessionsRefreshedEventHandler scHandler = new SessionController.SessionsRefreshedEventHandler(this.SessionsRefreshed);
     sc.SessionsRefreshed += scHandler;
     resetDialogFont();
 }
Example #30
0
        public void ReturnsARedirectToIndexHomeWhenIdIsNull()
        {
            var controller = new SessionController(null);

            var result = Assert.IsType <RedirectToActionResult>(controller.Index(null));

            Assert.Equal("Home", result.ControllerName);
            Assert.Equal("Index", result.ActionName);
        }
        public KageantOptionsControl()
        {
            InitializeComponent();

            sc = SessionController.getInstance();

            // Reset all the elements to their saved state
            resetState();
        }
Example #32
0
            public void WhenTheSessionIsCreated_ThenTheUserIsRegistered()
            {
                const string userName = "******";
                const string password = "******";

                var controller = new SessionController(_userService.Object, _configurationManager.Object, _logger.Object);

                SetControllerContext(controller);

                controller.Create(new LogonViewModel { Email = userName, Password = password });
                _userService.Verify(u => u.Logon(userName, password), Times.Once());
            }
 public XmlResultsGenerator(
     MutationSessionChoices choices,
     SessionController sessionController,
     ITestsContainer testsContainer,
     IMutantsCache mutantsCache,
     ICodeVisualizer codeVisualizer)
 {
     _choices = choices;
     _sessionController = sessionController;
     _testsContainer = testsContainer;
     _mutantsCache = mutantsCache;
     _codeVisualizer = codeVisualizer;
 }
Example #34
0
            public void WhenTheSessionIsDestroyed_TheTheUserShouldNotBeAuthenticated()
            {
                const string userName = "******";
                const string password = "******";
                _userService.Setup(u => u.Logon(userName, password)).Returns(new User());
                var controller = new SessionController(_userService.Object, _configurationManager.Object, _logger.Object);

                SetControllerContext(controller);

                var view = controller.Delete();
                var model = (UserViewModel)view.Data;
                model.IsAuthenticated.Should().BeFalse();
            }
Example #35
0
            public void WhenTheSessionIsDestroyed_TheTheCookieShouldBeReset()
            {
                const string userName = "******";
                const string password = "******";
                _userService.Setup(u => u.Logon(userName, password)).Returns(new User());
                var controller = new SessionController(_userService.Object, _configurationManager.Object, _logger.Object);

                SetControllerContext(controller);

                var view = controller.Delete();
                var cookie = FakeResponse.Cookies.Get(0);
                cookie.Expires.Should().BeBefore(DateTime.Now);
            }
Example #36
0
            public void WhenTheSessionIsCreated_ThenTheUserIsNotAuthenticated()
            {
                const string userName = "******";
                const string password = "******";

                var controller = new SessionController(_userService.Object, _configurationManager.Object, _logger.Object);

                SetControllerContext(controller);

                var view = (JsonResult)controller.Create(new LogonViewModel { Email = userName, Password = password });
                var model = (UserViewModel)view.Data;
                model.IsAuthenticated.Should().BeFalse();
            }
        public void TestLogonWithCorrectParameters()
        {
            // Arrange
            var requestMock = new Mock<HttpRequestMessage>();
            requestMock.Object.Method = new HttpMethod("POST");
            requestMock.Object.Properties.Add("MS_HttpConfiguration", GetHttpConfiguration());
            requestMock.Object.RequestUri = new Uri(UrlConst);

            SetRequiredUser();

            IUserRepository userRepository = GetFakeUserRepository();
            IAuthenticationKeeper authenticationKeeper = GetFakeAuthenticationKeeper();
            IRoleRepository roleRepository = GetFakeRoleRepository();

            var usersController = new SessionController(userRepository, roleRepository, authenticationKeeper) {Request = requestMock.Object};

            // Act
            Task<HttpResponseMessage> response = usersController.Post(new SessionLoginModel {Email = UserNameConst, Password = PasswordConst})
                .ContinueWith(result => result.Result, TaskContinuationOptions.ExecuteSynchronously);
            response.Wait();

            // Assert
            _userRepositoryMock.Verify(m => m.ValidateFormsUserAsync(It.IsAny<string>(), It.IsAny<string>(), It.IsAny<string>()), Times.Once());
            _authenticationKeeperMock.Verify(m => m.Set(It.IsAny<string>(), It.IsAny<IEnumerable<string>>(), It.IsAny<bool>()), Times.Once());

            Assert.IsFalse(response.IsFaulted);
            Assert.IsNotNull(response.Result);
            Assert.IsTrue(response.Result.StatusCode == HttpStatusCode.OK);
            Assert.AreEqual(_userName, "Email:" + UserNameConst);
            Assert.AreEqual(_password, PasswordConst);
            Assert.AreEqual(_appName, HostConst);

            RevertUser();
        }
        public void TestLogoffWithCorrectParameters()
        {
            // Arrange

            var requestMock = new Mock<HttpRequestMessage>();
            requestMock.Object.Method = new HttpMethod("POST");
            requestMock.Object.Properties.Add("MS_HttpConfiguration", GetHttpConfiguration());
            requestMock.Object.RequestUri = new Uri(UrlConst);

            SetRequiredUser();

            IUserRepository userRepository = GetFakeUserRepository();
            IAuthenticationKeeper authenticationKeeper = GetFakeAuthenticationKeeper();
            IRoleRepository roleRepository = GetFakeRoleRepository();

            var usersController = new SessionController(userRepository, roleRepository, authenticationKeeper) {Request = requestMock.Object};

            // Act
            Task<HttpResponseMessage> response = usersController.Delete();
            response.Wait();

            // Assert
            _authenticationKeeperMock.Verify(m => m.Clean(), Times.Once());
            Assert.IsFalse(response.IsFaulted);
            Assert.IsNotNull(response.Result);
            Assert.IsTrue(response.Result.StatusCode == HttpStatusCode.OK);
        }
        public void TestLogonWithInvalidPassword()
        {
            // Arrange
            const string userNameConst = "";

            var requestMock = new Mock<HttpRequestMessage>();
            requestMock.Object.Method = new HttpMethod("POST");
            requestMock.Object.Properties.Add("MS_HttpConfiguration", GetHttpConfiguration());
            requestMock.Object.RequestUri = new Uri(UrlConst);

            SetRequiredUser();

            IUserRepository userRepository = GetFakeUserRepository();
            IAuthenticationKeeper authenticationKeeper = GetFakeAuthenticationKeeper();
            IRoleRepository roleRepository = GetFakeRoleRepository();

            var usersController = new SessionController(userRepository, roleRepository, authenticationKeeper) {Request = requestMock.Object};

            // Act
            Task<HttpResponseMessage> response = usersController.Post(new SessionLoginModel {Email = userNameConst, Password = PasswordConst});
            response.Wait();

            // Assert
            _userRepositoryMock.Verify(m => m.ValidateFormsUserAsync(It.IsAny<string>(), It.IsAny<string>(), It.IsAny<string>()), Times.Once());
            _authenticationKeeperMock.Verify(m => m.Set(It.IsAny<string>(), It.IsAny<IEnumerable<string>>(), It.IsAny<bool>()), Times.Never());

            Assert.IsFalse(response.IsFaulted);
            Assert.IsNotNull(response.Result);
            Assert.IsTrue(response.Result.StatusCode == HttpStatusCode.BadRequest);

            RevertUser();
        }