public void LoginTest() { //Arrange var loginmodel = new logInModel { Username = "******", Password = "******" }; var mockAuthenticator = new Mock <IAuthenticationService>(); mockAuthenticator .Setup(x => x.Authenticate(It.Is <string>(s => s == loginmodel.Username), It.Is <string>(s => s == loginmodel.Password))) .Returns(true); var mockFormsAuthentication = new Mock <IFormsAuthenticationService>(); bool isAuthCookieSet = false; mockFormsAuthentication .Setup(x => x.SetAuthCookie(It.Is <string>(s => s == loginmodel.Username), It.IsAny <bool>())) .Callback(() => { isAuthCookieSet = true; }); var controller = new logInController(mockAuthenticator.Object, mockFormsAuthentication.Object); //Act var result = (System.Web.Mvc.RedirectToRouteResult)controller.Index(loginmodel); //Assert (using FluentAssertions) result.Should().NotBeNull(because: "the result should have redirected for entered user "); result.RouteValues["action"].ShouldBeEquivalentTo("index", because: "the redirection was to home.index action"); result.RouteValues["controller"].ShouldBeEquivalentTo("home", because: "the result should redirect to home controller"); isAuthCookieSet.Should().BeTrue(because: "auth cookie is set if the user was authenticated"); }
public ActionResult Index(logInModel model) { if (ModelState.IsValid) { bool match = authenticator.Authenticate(model.Username, model.Password); if (match) { formsAuthentication.SetAuthCookie(model.Username, false); return(RedirectToAction("index", "home")); } else { ModelState.AddModelError("", "Invalid username or password"); } } return(View()); }
public async Task <string> Login(logInModel model) { try { var result = await _signInManager.PasswordSignInAsync(model.User, model.Password, isPersistent : true, shouldLockout : false); //var listUsers = _signInManager.UserManager.Users.ToList(); if (result == SignInStatus.Success) { var user = Account.FindByName(model.User); return(user.FirstOrDefault().Id); } } catch (Exception e) { } return("failure"); }
public async Task <string> RegisterUser(logInModel model) { try { var user = new LoginUser { UserName = model.User }; var result = await UserManager.CreateAsync(user); if (result.Succeeded) { return("creado"); } } catch (Exception e) { return("fallo"); } finally { } return("fallo"); }
private async void Logout_Clicked(object sender, EventArgs e) { try { HttpRequestWrapper wrapper = new HttpRequestWrapper(); List <KeyValuePair <string, string> > parameters = new List <KeyValuePair <string, string> >(); logInModel LogInModel = new logInModel(); parameters.Add(new KeyValuePair <string, string>("company_code", Constant.CompanyID)); parameters.Add(new KeyValuePair <string, string>("user_id", AppData.UserId)); parameters.Add(new KeyValuePair <string, string>("device_type", Constant.DeviceType)); parameters.Add(new KeyValuePair <string, string>("device_token", AppData.DeviceToken)); parameters.Add(new KeyValuePair <string, string>("app_version", Constant.AppVersion)); string data = await wrapper.GetResponseAsync(Constant.APIs[(int)Constant.APIName.UpdateDeviceToken], parameters); AppData.IsLogin = false; } catch (Exception ex) { } }
private async void OnLoginButtonClicked(object sender, EventArgs e) { NoInternet.IsVisible = false; Loader.IsVisible = true; await Task.Delay(1000); HttpRequestWrapper wrapper = new HttpRequestWrapper(); List <KeyValuePair <string, string> > parameters = new List <KeyValuePair <string, string> >(); logInModel LogInModel = new logInModel(); parameters.Add(new KeyValuePair <string, string>("company_code", Constant.CompanyID)); parameters.Add(new KeyValuePair <string, string>("phone_no", usernameEntry.Text)); parameters.Add(new KeyValuePair <string, string>("password", userpasswordEntry.Text)); parameters.Add(new KeyValuePair <string, string>("device_type", Constant.DeviceType)); parameters.Add(new KeyValuePair <string, string>("device_token", AppData.DeviceToken)); parameters.Add(new KeyValuePair <string, string>("app_version", Constant.AppVersion)); if (ChkNullAll() == true) { try { string data = await wrapper.GetResponseAsync(Constant.APIs[(int)Constant.APIName.Login], parameters); if (data.ToString() == "NoInternet") { NoInternet.IsVisible = true; MainContainer.IsVisible = false; //await DisplayAlert("No Connection", "Please check your internet connection", "OK"); //await Navigation.PushModalAsync(new NoInternetPage()); } else { var des = JsonConvert.DeserializeObject <LoginModel>(data); if (des.responseText == "Success") { AppData.IsLogin = true; AppData.UserName = des.data.user_data.name; AppData.UserId = des.data.user_data.user_id; AppData.UserCityId = des.data.user_data.city_id; AppData.UserCity = des.data.user_data.city_name; AppData.Avatar = des.data.user_data.avatar; App.Current.MainPage = new MasterDetailsPage(); // Navigation.PushModalAsync(new NewsSubmitPage()); usernameEntry.Text = userpasswordEntry.Text = ""; } else { DisplayAlert("Error", "Invalid phone Number or Password", "OK"); } } } catch (Exception ex) { } } Loader.IsVisible = false; }