public void ActionsForm(GoogleModel action) { SearchInput.SendKeys("Selenium"); Logo.Click(); SearchButton.Click(); SeleniumResult.Click(); }
public void SeleniumSearch() { //Act _action = GoogleSearchFactory.Create(); _googlePage.ActionsForm(_action); //Assert var actualTitle = Driver.Title; Assert.AreEqual("SeleniumHQ Browser Automation", actualTitle); }
public async Task <IActionResult> Google([FromBody] GoogleModel googleModel) { var appAccessToken = new AppAccessToken(); var tokenResponse = await Client.PostAsync($"https://www.googleapis.com/oauth2/v4/token?code={googleModel.Code}&client_id={_googleAuthModel.ClientId}&client_secret={_googleAuthModel.ClientSecret}&redirect_uri=http://localhost/oauth2callback&grant_type=authorization_code", null); if (tokenResponse.StatusCode != HttpStatusCode.OK) { return(new BadRequestObjectResult(new { code = "InvalidCode", description = tokenResponse.Content.ReadAsStringAsync().Result }));// "Google authorization code is not valid."}); } appAccessToken = JsonConvert.DeserializeObject <AppAccessToken>(tokenResponse.Content.ReadAsStringAsync().Result); var userResponse = await Client.GetStringAsync($"https://www.googleapis.com/oauth2/v2/userinfo?access_token={appAccessToken.AccessToken}"); var userInfo = JsonConvert.DeserializeObject <GoogleUserData>(userResponse); var existingUser = await _userManager.FindByEmailAsync(userInfo.Email); if (existingUser == null) { var user = new ApplicationUser { GoogleId = userInfo.Id, Email = userInfo.Email, UserName = userInfo.FirstName + userInfo.LastName, PictureUrl = userInfo.Picture, Visibility = true, Nationality = "US" }; if (userInfo.Gender != null) { user.Gender = userInfo.Gender.Equals("male") ? Gender.Male : userInfo.Gender.Equals("female") ? Gender.Female : Gender.Other; } else { user.Gender = Gender.None; } user.UserName = UserExtensions.RemoveDiacritics(user.UserName); var result = await _userManager.CreateAsync(user, Convert.ToBase64String(Guid.NewGuid().ToByteArray()).Substring(0, 8)); if (!result.Succeeded) { return(new BadRequestObjectResult(result.Errors)); } else { existingUser = await _userManager.FindByNameAsync(user.UserName); } } var jwt = await Tokens.GenerateJwt(_jwtFactory.GenerateClaimsIdentity(existingUser.UserName, existingUser.Id), _jwtFactory, existingUser.UserName, _jwtOptions, new JsonSerializerSettings { Formatting = Formatting.Indented }, existingUser.ProfileComplete); return(new OkObjectResult(jwt)); }
// POST: api/<controller>/Login public async Task <IActionResult> GoogleLogin(GoogleModel model) { var test = _appSettings.JWT_Secret; if (VerifyToken(model.idToken)) { var user = await _userManager.FindByEmailAsync(model.Email); if (user == null) { var applicationUser = new User() { UserName = model.name.Replace(' ', '_').ToLower().Replace('ć', 'c').Replace('č', 'c'), Email = model.Email, Name = model.firstName, Surname = model.lastName, Role = UserRole.Registred, }; try { // _context.Users.Add(applicationUser); // await _context.SaveChangesAsync(); await _userManager.CreateAsync(applicationUser); } catch (Exception ex) { throw ex; } } user = await _userManager.FindByEmailAsync(model.Email); var tokenDescriptor = new SecurityTokenDescriptor { Subject = new ClaimsIdentity(new Claim[] { new Claim("UserId", user.Id.ToString()), new Claim("Roles", user.Role.ToString()), }), Expires = DateTime.UtcNow.AddDays(1), SigningCredentials = new SigningCredentials(new SymmetricSecurityKey(Encoding.UTF8.GetBytes(_appSettings.JWT_Secret)), SecurityAlgorithms.HmacSha256Signature) }; var tokenHandler = new JwtSecurityTokenHandler(); var securityToken = tokenHandler.CreateToken(tokenDescriptor); var token = tokenHandler.WriteToken(securityToken); return(Ok(new { token })); } return(Ok()); }
/// <summary> /// Set page content /// </summary> /// <param name="m">Model</param> private void SetPageContent(GoogleModel m) { Content = new StackLayout { Orientation = StackOrientation.Vertical, Padding = new Thickness(8, 30), Children = { new Label { Text = m.DisplayName, TextColor = Color.Black, FontSize = 22, }, new Label { Text = m.Id, TextColor = Color.Black, FontSize = 22, }, new Label { Text = m.Verified.ToString(), TextColor = Color.Black, FontSize = 22, }, new Label { Text = m.Gender, TextColor = Color.Black, FontSize = 22, }, new Label { Text = m.Tagline, TextColor = Color.Black, FontSize = 22, }, new Label { Text = m.CircledByCount.ToString(), TextColor = Color.Black, FontSize = 22, }, new Label { Text = m.Occupation, TextColor = Color.Black, FontSize = 22, }, new Xamarin.Forms.Image { Source = m.Image.Url, HeightRequest = 100 }, new Xamarin.Forms.Image { Source = m.Cover.CoverPhoto.Url, HeightRequest = 100 }, } }; }