private static string GetUserSubject(System.Web.Http.Controllers.HttpRequestContext requestContext) { var principal = requestContext.Principal as ClaimsPrincipal; var identity = principal?.Identity as ClaimsIdentity; var subject = identity.FindFirst(JwtRegisteredClaimNames.Sub).Value; return(subject); }
public static ApplicationUser GetUser( System.Web.Http.Controllers.HttpRequestContext RequestContext, ApplicationDbContext db) { string name = RequestContext.Principal.Identity.Name; return(db.Users.FirstOrDefault(u => u.UserName == name)); }
public static User GetUser(PttContext context, System.Web.Http.Controllers.HttpRequestContext requestContext) { var subject = GetUserSubject(requestContext); if (!context.Users.Any(x => x.Id == subject)) { context.Users.Add(new User { Id = subject, Name = "" }); } context.SaveChanges(); var user = context.Users.FirstOrDefault(x => x.Id == subject); return(user); }
public void AddContact_Success() { var repositoryMoq = new Moq.Mock <IContactRepository>(); var response = new HttpResponseMessage(System.Net.HttpStatusCode.Created); var contactRequest = new Contact() { EmailId = "*****@*****.**", FirstName = "anand", LastName = "lukade", PhoneNumber = "8007891986", Status = true }; var contact = new Model.Contact() { EmailId = "*****@*****.**", FirstName = "anand", LastName = "lukade", PhoneNumber = "8007891986", Status = true }; repositoryMoq.Setup(s => s.AddContact(contact)).Returns(contact); var controller = new ContactsController(repositoryMoq.Object); controller.Request = new HttpRequestMessage { RequestUri = new Uri(String.Format("http://localhost/contacts")) }; controller.Configuration = new HttpConfiguration(); var iroute = new System.Web.Http.Routing.HttpRoute(); var content = new System.Web.Http.Controllers.HttpRequestContext(); content.RouteData = new System.Web.Http.Routing.HttpRouteData(iroute); controller.Request.SetRouteData(content.RouteData); controller.Configuration.Routes.MapHttpRoute( name: "AddContact", routeTemplate: "api/contacts"); var result = controller.AddContact(contactRequest); Assert.AreEqual(result.StatusCode, System.Net.HttpStatusCode.Created); }