public void Unrestricted() { MessageQueuePermissionAttribute a = new MessageQueuePermissionAttribute(SecurityAction.Assert); a.MachineName = "localhost"; a.Unrestricted = true; MessageQueuePermission mqp = (MessageQueuePermission)a.CreatePermission(); Assert.IsTrue(mqp.IsUnrestricted(), "IsUnrestricted"); a.Unrestricted = false; mqp = (MessageQueuePermission)a.CreatePermission(); Assert.IsFalse(mqp.IsUnrestricted(), "!IsUnrestricted"); }
public void Default() { MessageQueuePermissionAttribute a = new MessageQueuePermissionAttribute(SecurityAction.Assert); Assert.AreEqual(a.ToString(), a.TypeId.ToString(), "TypeId"); Assert.IsFalse(a.Unrestricted, "Unrestricted"); Assert.IsNull(a.Category, "Category"); Assert.IsNull(a.Label, "Label"); Assert.IsNull(a.MachineName, "MachineName"); Assert.IsNull(a.Path, "Path"); Assert.AreEqual(MessageQueuePermissionAccess.None, a.PermissionAccess, "PermissionAccess"); a.MachineName = "localhost"; MessageQueuePermission sp = (MessageQueuePermission)a.CreatePermission(); Assert.IsFalse(sp.IsUnrestricted(), "IsUnrestricted"); }
}// CreateOtherDataTable //------------------------------------------------- // PutValuesinPage // // Initializes the controls with the provided permission //------------------------------------------------- protected override void PutValuesinPage() { // Put in the text for the radio buttons m_radUnrestricted.Text = CResourceStore.GetString("MessageQueuePermission:GrantUnrestrict"); m_radGrantFollowingPermission.Text = CResourceStore.GetString("MessageQueuePermission:GrantFollowing"); MessageQueuePermission perm = (MessageQueuePermission)m_perm; CheckUnrestricted(perm); if (!perm.IsUnrestricted()) { // Run through the list of socket permissions we have to accept connections IEnumerator enumer = perm.PermissionEntries.GetEnumerator(); while (enumer.MoveNext()) { MessageQueuePermissionEntry mqpp = (MessageQueuePermissionEntry)enumer.Current; String sAccess = CResourceStore.GetString("None"); if ((mqpp.PermissionAccess & MessageQueuePermissionAccess.Administer) == MessageQueuePermissionAccess.Administer) { sAccess = CResourceStore.GetString("MessageQueuePermission:Administer"); } else if ((mqpp.PermissionAccess & MessageQueuePermissionAccess.Receive) == MessageQueuePermissionAccess.Receive) { sAccess = CResourceStore.GetString("MessageQueuePermission:Receive"); } else if ((mqpp.PermissionAccess & MessageQueuePermissionAccess.Peek) == MessageQueuePermissionAccess.Peek) { sAccess = CResourceStore.GetString("MessageQueuePermission:Peek"); } else if ((mqpp.PermissionAccess & MessageQueuePermissionAccess.Send) == MessageQueuePermissionAccess.Send) { sAccess = CResourceStore.GetString("MessageQueuePermission:Send"); } else if ((mqpp.PermissionAccess & MessageQueuePermissionAccess.Browse) == MessageQueuePermissionAccess.Browse) { sAccess = CResourceStore.GetString("MessageQueuePermission:Browse"); } DataRow newRow; // Figure out what type of row we're adding if (mqpp.Path != null && mqpp.Path.Length > 0) { newRow = m_dtPath.NewRow(); newRow["Path"] = mqpp.Path; newRow["Access"] = new DataGridComboBoxEntry(sAccess); m_dtPath.Rows.Add(newRow); } else { newRow = m_dtOther.NewRow(); newRow["Machine"] = mqpp.MachineName; newRow["Category"] = (mqpp.Category != null)?mqpp.Category:""; newRow["Label"] = (mqpp.Label != null)?mqpp.Label:""; newRow["Access"] = new DataGridComboBoxEntry(sAccess); m_dtOther.Rows.Add(newRow); } } } // We want at least 1 rows so it looks pretty while (m_dtPath.Rows.Count < 1) { AddEmptyPathRow(m_dtPath); } // We want at least 1 rows so it looks pretty while (m_dtOther.Rows.Count < 1) { AddEmptyOtherRow(m_dtOther); } }// PutValuesinPage