public void test_CreateTempQueue() { using (MQConnection con = connectToServer(address, null, null)) { String queueName = String.Empty; QueueHandle qh = new QueueHandle(); // Try and create a temporary queue ErrorCode err = con.CreateTempQueue(out queueName, qh); Console.WriteLine("queueName:" + queueName); Assert.AreEqual(ErrorCode.EC_NOERROR, err, "Creating Queue"); // Get permissions for that queue List <QueuePermissions> perms = new List <QueuePermissions>(); con.QueueEnumeratePermissions(queueName, perms); for (int x = 0; x < perms.Count; ++x) { QueuePermissions perm = perms[x]; Console.WriteLine(perm.EntityName + ":" + perm.Read + ":" + perm.Write + ":" + perm.Destroy + ":" + perm.ChangeSecurity); } Assert.IsTrue(perms.Count > 0); addAllUsers(con); // Try and write to that queue with another user. using (MQConnection con2 = connectToServer(simpleAddress, TEST_USERS[0], TEST_USERS[0])) { QueueHandle qh2 = new QueueHandle(); ErrorCode rc = con2.OpenQueue(queueName, qh2); Assert.IsTrue(rc == ErrorCode.EC_NOERROR, "Open Temp Queue rc:" + rc); QueueMessage msg = new QueueMessage(); msg.Label = "Hello World"; Assert.IsTrue(ErrorCode.EC_NOERROR == con2.Enqueue(qh2, msg), "Enqueue to temp"); con2.CloseQueue(qh2); } } }
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(); } } }