Beispiel #1
0
        public void test_QueueSetUserPermission_QueueDeleteUserPermission_QueueEnumeratePermissions_QueueSetGroupPermission_QueueDeleteGroupPermission()
        {
            MQConnection con = null;

            try {
                con = connectToServer(address, null, null);

                addAllGroups(con);
                addAllUsers(con);
                addAllQueues(con);

                ErrorCode ec;
                for (int x = 15; x >= 0; x--)
                {
                    ec = con.QueueSetUserPermission(TEST_QUEUE[0], TEST_USERS[0], (x & 0x08) != 0, (x & 0x04) != 0, (x & 0x02) != 0, (x & 0x01) != 0);
                    Assert.IsTrue(ec == ErrorCode.EC_NOERROR, "Unable to set user permissions: " + x);

                    ec = con.QueueSetGroupPermission(TEST_QUEUE[0], TEST_GROUPS[0], (x & 0x08) != 0, (x & 0x04) != 0, (x & 0x02) != 0, (x & 0x01) != 0);
                    Assert.IsTrue(ec == ErrorCode.EC_NOERROR, "Unable to set group permissions: " + x);

                    List <QueuePermissions> perms = new List <QueuePermissions>();
                    ec = con.QueueEnumeratePermissions(TEST_QUEUE[0], perms);
                    Assert.IsTrue(ec == ErrorCode.EC_NOERROR, "Unable to get permissions: " + TEST_QUEUE[0]);

                    for (int y = 0; y < perms.Count; y++)
                    {
                        QueuePermissions perm = perms[y];
                        if (perm.IsGroup && perm.EntityName.Equals(TEST_GROUPS[0]))
                        {
                            Assert.IsTrue(((x & 0x08) != 0) == perm.Read, "Group read perm incorrect");
                            Assert.IsTrue(((x & 0x04) != 0) == perm.Write, "Group wirte perm incorrect");
                            Assert.IsTrue(((x & 0x02) != 0) == perm.Destroy, "Group destroy perm incorrect");
                            Assert.IsTrue(((x & 0x01) != 0) == perm.ChangeSecurity, "Group change security perm incorrect");
                        }
                        else if (!perm.IsGroup && perm.EntityName.Equals(TEST_USERS[0]))
                        {
                            Assert.IsTrue(((x & 0x08) != 0) == perm.Read, "user read perm incorrect");
                            Assert.IsTrue(((x & 0x04) != 0) == perm.Write, "user wirte perm incorrect");
                            Assert.IsTrue(((x & 0x02) != 0) == perm.Destroy, "user destroy perm incorrect");
                            Assert.IsTrue(((x & 0x01) != 0) == perm.ChangeSecurity, "user change security perm incorrect");
                        }
                    }
                }

                ec = con.QueueDeleteGroupPermission(TEST_QUEUE[0], TEST_GROUPS[0]);
                Assert.IsTrue(ec == ErrorCode.EC_NOERROR, "unable to delete permission for group:" + TEST_GROUPS[0]);

                ec = con.QueueDeleteGroupPermission(TEST_QUEUE[0], TEST_GROUPS[0]);
                Assert.IsFalse(ec == ErrorCode.EC_NOERROR, "able to delete permission for group:" + TEST_GROUPS[0]);

                ec = con.QueueDeleteUserPermission(TEST_QUEUE[0], TEST_USERS[0]);
                Assert.IsTrue(ec == ErrorCode.EC_NOERROR, "unable to delete permission for user:"******"able to delete permission for user:" + TEST_USERS[0]);
            } finally {
                if (con != null)
                {
                    con.Close();
                }
            }
        }