Пример #1
0
        public async Task HTTP_POST_Login_Right_Role()
        {
            var browser      = new TestServerBrowser(_testServer);
            var expectedName = "rr1980";
            var credentials  = new Dictionary <string, string>
            {
                { "username", expectedName },
                { "password", "12003" },
                { "ReturnUrl", "/" }
            };

            var signInResponse = await browser.Post("/Account/Login", credentials);

            await browser.FollowRedirect(signInResponse);

            var user = _httpContexts.Last().User;

            Assert.IsNotNull(user);

            var roles = user.Claims.Where(c => c.Type == ClaimTypes.Role);

            Assert.IsTrue(roles.Count() == 2);

            var role_adnin = roles.FirstOrDefault(r => r.Value == UserRoleType.Admin.ToString());

            Assert.IsNotNull(role_adnin);

            var role_default = roles.FirstOrDefault(r => r.Value == UserRoleType.Default.ToString());

            Assert.IsNotNull(role_default);
        }
Пример #2
0
        public async Task HTTP_GET_RedirectedTo_Login()
        {
            var browser = new TestServerBrowser(_testServer);

            var frontPageResponse = await browser.Get("/");

            Assert.AreEqual(frontPageResponse.StatusCode, HttpStatusCode.Found);
            Assert.IsTrue(frontPageResponse.Headers.Location.ToString().Contains("/Account/Login?ReturnUrl=%2F"));
        }
Пример #3
0
        public async Task HTTP_POST_Login_RedirectedTo_Home()
        {
            var browser     = new TestServerBrowser(_testServer);
            var credentials = new Dictionary <string, string>
            {
                { "Username", "rr1980" },
                { "Password", "12003" },
                { "ReturnUrl", "/" }
            };

            var signInResponse = await browser.Post("/Account/Login", credentials);

            Assert.AreEqual(signInResponse.StatusCode, HttpStatusCode.Found);
            Assert.IsTrue(signInResponse.Headers.Location.ToString().Contains("/"));
        }
Пример #4
0
        public async Task HTTP_POST_Login_Wrong_Username()
        {
            var browser     = new TestServerBrowser(_testServer);
            var credentials = new Dictionary <string, string>
            {
                { "username", "rr19801" },
                { "password", "12003" },
                { "ReturnUrl", "/" }
            };

            var signInResponse = await browser.Post("/Account/Login", credentials);

            await browser.FollowRedirect(signInResponse);

            var name = _httpContexts.Last().User.FindFirstValue(ClaimTypes.Name);

            Assert.IsNull(name);
        }
Пример #5
0
        public async Task HTTP_GET_Admin()
        {
            var browser      = new TestServerBrowser(_testServer);
            var expectedName = "rr1980";
            var credentials  = new Dictionary <string, string>
            {
                { "username", expectedName },
                { "password", "12003" },
                { "ReturnUrl", "/" }
            };

            var signInResponse = await browser.Post("/Account/Login", credentials);

            await browser.FollowRedirect(signInResponse);

            var frontPageResponse = await browser.Get("/Admin");

            Assert.AreEqual(HttpStatusCode.OK, frontPageResponse.StatusCode);
            Assert.AreEqual(frontPageResponse.RequestMessage.RequestUri.AbsolutePath, "/Admin");

            var user = _httpContexts.Last().User;

            Assert.IsNotNull(user);

            var roles = user.Claims.Where(c => c.Type == ClaimTypes.Role);

            Assert.IsTrue(roles.Count() == 2);

            var role_adnin = roles.FirstOrDefault(r => r.Value == UserRoleType.Admin.ToString());

            Assert.IsNotNull(role_adnin);

            var role_default = roles.FirstOrDefault(r => r.Value == UserRoleType.Default.ToString());

            Assert.IsNotNull(role_default);
        }