Exemplo n.º 1
0
    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());
 }
Exemplo n.º 3
0
        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");
        }
Exemplo n.º 4
0
        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)
            {
            }
        }
Exemplo n.º 6
0
        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;
        }