/// <summary>
        /// Controller initialization.
        /// </summary>
        /// <param name="requestContext">Request Context</param>
        protected override void Initialize(RequestContext requestContext)
        {
            base.Initialize(requestContext);

            // If the user is authentifated let's set the userInfo so we don't have to cast User.Identity every time.
            if (Request.IsAuthenticated)
                UserInfo = UserAuthService.GetCurrentUserInfo();
        }
Beispiel #2
0
        public void FromString_WithoutRoles_Test()
        {
            var user = "******";

            var expected = new UserInfo { UserId = 1, Username = "******", FullName = "Test User", Email = "*****@*****.**", ApiKey = "0f8fad5b-d9cb-469f-a165-70867728950e"  };

            var actual = UserInfo.FromString(user);

            Assert.AreEqual(expected.UserId, actual.UserId);
            Assert.AreEqual(expected.Username, actual.Username);
            Assert.AreEqual(expected.Email, actual.Email);
            Assert.AreEqual(expected.FullName, actual.FullName);
            Assert.AreEqual(0,actual.Roles.Length);
        }
Beispiel #3
0
        public void FromUser_WithoutRoles_Test()
        {
            var user = new User { UserId = 1, Username = "******", FullName = "Test User", Email = "*****@*****.**", ApiKey = Guid.Parse("0f8fad5b-d9cb-469f-a165-70867728950e") };
            //user.Roles = { "Admin", "Guest" };

            var expected = new UserInfo { UserId = 1, Username = "******", FullName = "Test User", Email = "*****@*****.**", ApiKey = "0f8fad5b-d9cb-469f-a165-70867728950e" };

            var actual = UserInfo.FromUser(user);

            Assert.AreEqual(expected.UserId, actual.UserId);
            Assert.AreEqual(expected.Username, actual.Username);
            Assert.AreEqual(expected.Email, actual.Email);
            Assert.AreEqual(expected.FullName, actual.FullName);
            Assert.AreEqual(expected.ApiKey, actual.ApiKey);
            Assert.AreEqual(0, actual.Roles.Length);
        }
Beispiel #4
0
        public void FromUser_WithRoles_Test()
        {
            var user = new User { UserId = 1, Username = "******", FullName = "Test User", Email = "*****@*****.**", ApiKey = Guid.Parse("0f8fad5b-d9cb-469f-a165-70867728950e") };
            user.Roles = new List<Role> { new Role { RoleName = "Admin" }, new Role { RoleName = "Guest" } };

            var expected = new UserInfo { UserId = 1, Username = "******", FullName = "Test User", Email = "*****@*****.**", ApiKey = "0f8fad5b-d9cb-469f-a165-70867728950e" };
            expected.Roles = new[] { "Admin", "Guest" };

            var actual = UserInfo.FromUser(user);

            Assert.AreEqual(expected.UserId, actual.UserId);
            Assert.AreEqual(expected.Username, actual.Username);
            Assert.AreEqual(expected.Email, actual.Email);
            Assert.AreEqual(expected.FullName, actual.FullName);
            Assert.AreEqual(expected.ApiKey, actual.ApiKey);

            Assert.AreEqual(2, actual.Roles.Length);
            Assert.AreEqual(expected.Roles[0], actual.Roles[0]);
            Assert.AreEqual(expected.Roles[1], actual.Roles[1]);
        }
Beispiel #5
0
        /// <summary>
        /// Creates a UserInfo class from the string.
        /// </summary>
        /// <param name="user">Serialized string.</param>
        /// <returns>UserInfo created from the provided string.</returns>
        /// <exception cref="ArgumentException">When string is not a serialized UserInfo string.</exception>
        public static UserInfo FromString(string user)
        {
            var data = user.Split('|');
            if (data.Length != 6)
                throw new ArgumentException("This string is not a serialized UserInfo class.");

            var result = new UserInfo
            {
                UserId = int.Parse(data[0]),
                Username = data[1],
                Email = data[2],
                FullName = data[3],
                ApiKey = data[4]
            };

            var rolesData = data[5];
            var roles = rolesData.Split(new [] {';'},StringSplitOptions.RemoveEmptyEntries);
            result.Roles = roles;

            return result;
        }
Beispiel #6
0
        /// <summary>
        /// Creates a UserInfo class from the User class.
        /// </summary>
        /// <param name="user">User who's data is used to create the UserInfo.</param>
        /// <returns>UserInfo created from User.</returns>
        public static UserInfo FromUser(User user)
        {
            var roles = new List<string>();
            if (user.Roles != null)
            {
                foreach (var role in user.Roles)
                {
                    roles.Add(role.RoleName);
                }
            }

            var result = new UserInfo
            {
                UserId = user.UserId,
                Username = user.Username,
                Email = user.Email,
                FullName = user.FullName,
                Roles = roles.ToArray(),
                ApiKey = user.ApiKey.ToString()
            };
            return result;
        }
Beispiel #7
0
        public void ToString_WithoutRoles_Test()
        {
            var target = new UserInfo{UserId = 1,Username = "******", FullName = "Test User", Email = "*****@*****.**",ApiKey = "0f8fad5b-d9cb-469f-a165-70867728950e"};

            var expected = "1|TestUser|[email protected]|Test User|0f8fad5b-d9cb-469f-a165-70867728950e|";

            var actual = target.ToString();

            Assert.AreEqual(expected,actual);
        }