Beispiel #1
0
    public void AddRemoveUsers_NullArguments()
    {
        PolicyDecision policy = new PolicyDecision(config);

        Assert.Throws(typeof(ArgumentNullException),
          () => policy.AddUsersToRoles(null, new String[] { }));
        Assert.Throws(typeof(ArgumentNullException),
          () => policy.AddUsersToRoles(new String[] { }, null));
        Assert.Throws(typeof(ArgumentNullException),
          () => policy.RemoveUsersFromRoles(null, new String[] { }));
        Assert.Throws(typeof(ArgumentNullException),
          () => policy.RemoveUsersFromRoles(new String[] { }, null));
    }
Beispiel #2
0
    public void AddRemoveUsers_UserAlreadyExists()
    {
        PolicyDecision policy = new PolicyDecision(config);
        policy.ApplicationName = "Application 2";

        if (false == policy.RoleExists("Role 1"))
          policy.CreateRole("Role 1");

        if (policy.IsUserInRole("User 1", "Role 1"))
          policy.RemoveUsersFromRoles(new String[] { "User 1" },
                  new String[] { "Role 1" });

        Assert.DoesNotThrow(() => policy.AddUsersToRoles(new String[] { "User 1" },
                             new String[] { "Role 1" }));

        Assert.Throws(typeof(ProviderException),
          () => policy.AddUsersToRoles(new String[] { "User 1" },
                           new String[] { "Role 1" }));

        policy.RemoveUsersFromRoles(new String[] { "User 1" },
                new String[] { "Role 1" });
        policy.DeleteRole("Role 1", false);
    }
Beispiel #3
0
    public void Role_GetHierarchy()
    {
        PolicyDecision policy = new PolicyDecision(config);
        policy.ApplicationName = "Application 1";

        String[] roles = {"Test Role", "Test Role 2", "Test Role 3"};

        for (Int32 i = 0; i != roles.Length; ++i) {
          if (policy.RoleExists(roles[i]))
        continue;
          if (0 == i)
        policy.CreateRole(roles[i]);
          else
        policy.CreateRole(roles[i], roles[i-1]);
        }

        policy.AddUsersToRoles(new String[] { "User" },
               new String[] { roles[2] });

        String[] userRoles = policy.GetRolesForUser("User");
        Assert.AreEqual(3, userRoles.Length);
        foreach (String role in roles)
          Assert.IsTrue(Array.Exists(userRoles, v => v == role));

        for (Int32 i = roles.Length - 1; i >= 0; --i)
          policy.DeleteRole(roles[i], false);
    }