示例#1
0
        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);
        }
示例#2
0
        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));
        }
示例#3
0
        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);
        }