示例#1
0
        public void TestGetUserAccess()
        {
            IIdentityProvider provider = new CloudIdentityProvider(Bootstrapper.Settings.TestIdentity);

            UserAccess userAccess = provider.GetUserAccess();
            Assert.IsNotNull(userAccess);
            Assert.IsNotNull(userAccess.Token);

            // ensure the provider is caching the access token
            UserAccess cachedUserAccess = provider.GetUserAccess();
            Assert.AreSame(userAccess, cachedUserAccess);

            // ensure that the provider refreshes the userAccess upon request
            UserAccess newUserAccess = provider.GetUserAccess(forceCacheRefresh: true);
            Assert.AreNotSame(userAccess, newUserAccess);

            // ensure the the refresh was applied to the cache
            UserAccess newCachedUserAccess = provider.GetUserAccess();
            Assert.AreSame(newUserAccess, newCachedUserAccess);
        }
示例#2
0
        public void TestGetRolesByUser()
        {
            IIdentityProvider provider = new CloudIdentityProvider(Bootstrapper.Settings.TestIdentity);

            UserAccess userAccess = provider.GetUserAccess();
            Assert.IsNotNull(userAccess);
            Assert.IsNotNull(userAccess.User);

            IEnumerable<Role> roles = provider.GetRolesByUser(userAccess.User.Id);
            Assert.IsNotNull(roles);
            Assert.IsTrue(roles.Any());

            foreach (Role role in roles)
            {
                Console.WriteLine("Role \"{0}\" (id: {1})", role.Name, role.Id);
                if (!string.IsNullOrEmpty(role.Description))
                    Console.WriteLine("    Description: {0}", role.Description);
            }
        }