public void Action ()
		{
			OraclePermissionAttribute a = new OraclePermissionAttribute (SecurityAction.Assert);
			Assert.AreEqual (SecurityAction.Assert, a.Action, "Action=Assert");
			a.Action = SecurityAction.Demand;
			Assert.AreEqual (SecurityAction.Demand, a.Action, "Action=Demand");
			a.Action = SecurityAction.Deny;
			Assert.AreEqual (SecurityAction.Deny, a.Action, "Action=Deny");
			a.Action = SecurityAction.InheritanceDemand;
			Assert.AreEqual (SecurityAction.InheritanceDemand, a.Action, "Action=InheritanceDemand");
			a.Action = SecurityAction.LinkDemand;
			Assert.AreEqual (SecurityAction.LinkDemand, a.Action, "Action=LinkDemand");
			a.Action = SecurityAction.PermitOnly;
			Assert.AreEqual (SecurityAction.PermitOnly, a.Action, "Action=PermitOnly");
			a.Action = SecurityAction.RequestMinimum;
			Assert.AreEqual (SecurityAction.RequestMinimum, a.Action, "Action=RequestMinimum");
			a.Action = SecurityAction.RequestOptional;
			Assert.AreEqual (SecurityAction.RequestOptional, a.Action, "Action=RequestOptional");
			a.Action = SecurityAction.RequestRefuse;
			Assert.AreEqual (SecurityAction.RequestRefuse, a.Action, "Action=RequestRefuse");
#if NET_2_0
			a.Action = SecurityAction.DemandChoice;
			Assert.AreEqual (SecurityAction.DemandChoice, a.Action, "Action=DemandChoice");
			a.Action = SecurityAction.InheritanceDemandChoice;
			Assert.AreEqual (SecurityAction.InheritanceDemandChoice, a.Action, "Action=InheritanceDemandChoice");
			a.Action = SecurityAction.LinkDemandChoice;
			Assert.AreEqual (SecurityAction.LinkDemandChoice, a.Action, "Action=LinkDemandChoice");
#endif
		}
 /// <include file='doc\OraclePermission.uex' path='docs/doc[@for="OraclePermission.OraclePermission4"]/*' />
 internal OraclePermission(OraclePermissionAttribute permissionAttribute)   // for CreatePermission
 {
     if (null == permissionAttribute)
     {
         throw ADP.ArgumentNull("permissionAttribute");
     }
     _isUnrestricted = permissionAttribute.Unrestricted;
     if (!_isUnrestricted)
     {
         _allowBlankPassword = permissionAttribute.AllowBlankPassword;
         Add(permissionAttribute.ConnectionString, permissionAttribute.KeyRestrictions, permissionAttribute.KeyRestrictionBehavior);
     }
 }
		public void Default ()
		{
			OraclePermissionAttribute a = new OraclePermissionAttribute (SecurityAction.Assert);
			Assert.AreEqual (a.ToString (), a.TypeId.ToString (), "TypeId");
			Assert.IsFalse (a.Unrestricted, "Unrestricted");
			Assert.IsFalse (a.AllowBlankPassword, "AllowBlankPassword");
			Assert.AreEqual (String.Empty, a.ConnectionString, "ConnectionString");
			Assert.AreEqual (KeyRestrictionBehavior.AllowOnly, a.KeyRestrictionBehavior, "KeyRestrictionBehavior");
			Assert.AreEqual (String.Empty, a.KeyRestrictions, "KeyRestrictions");
			Assert.IsFalse (a.ShouldSerializeConnectionString (), "ShouldSerializeConnectionString");
			Assert.IsFalse (a.ShouldSerializeKeyRestrictions (), "ShouldSerializeConnectionString");
			OraclePermission ocp = (OraclePermission)a.CreatePermission ();
			Assert.IsFalse (ocp.IsUnrestricted (), "IsUnrestricted");
		}
 internal OraclePermission(OraclePermissionAttribute permissionAttribute)
 {
     this._keyvaluetree = System.Data.OracleClient.NameValuePermission.Default;
     if (permissionAttribute == null)
     {
         throw System.Data.Common.ADP.ArgumentNull("permissionAttribute");
     }
     this._isUnrestricted = permissionAttribute.Unrestricted;
     if (!this._isUnrestricted)
     {
         this._allowBlankPassword = permissionAttribute.AllowBlankPassword;
         if (permissionAttribute.ShouldSerializeConnectionString() || permissionAttribute.ShouldSerializeKeyRestrictions())
         {
             this.Add(permissionAttribute.ConnectionString, permissionAttribute.KeyRestrictions, permissionAttribute.KeyRestrictionBehavior);
         }
     }
 }
 internal OraclePermission(OraclePermissionAttribute permissionAttribute)
 {
     this._keyvaluetree = System.Data.OracleClient.NameValuePermission.Default;
     if (permissionAttribute == null)
     {
         throw System.Data.Common.ADP.ArgumentNull("permissionAttribute");
     }
     this._isUnrestricted = permissionAttribute.Unrestricted;
     if (!this._isUnrestricted)
     {
         this._allowBlankPassword = permissionAttribute.AllowBlankPassword;
         if (permissionAttribute.ShouldSerializeConnectionString() || permissionAttribute.ShouldSerializeKeyRestrictions())
         {
             this.Add(permissionAttribute.ConnectionString, permissionAttribute.KeyRestrictions, permissionAttribute.KeyRestrictionBehavior);
         }
     }
 }
		public void Unrestricted ()
		{
			OraclePermissionAttribute a = new OraclePermissionAttribute (SecurityAction.Assert);
			a.Unrestricted = true;
			OraclePermission ocp = (OraclePermission)a.CreatePermission ();
			Assert.IsTrue (ocp.IsUnrestricted (), "IsUnrestricted");
			Assert.IsFalse (a.AllowBlankPassword, "AllowBlankPassword");
#if NET_2_0
			Assert.AreEqual (String.Empty, a.ConnectionString, "ConnectionString");
			Assert.AreEqual (KeyRestrictionBehavior.AllowOnly, a.KeyRestrictionBehavior, "KeyRestrictionBehavior");
			Assert.AreEqual (String.Empty, a.KeyRestrictions, "KeyRestrictions");
#endif
			a.Unrestricted = false;
			ocp = (OraclePermission)a.CreatePermission ();
			Assert.IsFalse (ocp.IsUnrestricted (), "!IsUnrestricted");
		}
		public void Action_Invalid ()
		{
			OraclePermissionAttribute a = new OraclePermissionAttribute ((SecurityAction)Int32.MinValue);
			// no validation in attribute
		}
		public void KeyRestriction ()
		{
			OraclePermissionAttribute a = new OraclePermissionAttribute (SecurityAction.Assert);
			a.KeyRestrictions = String.Empty;
			Assert.AreEqual (String.Empty, a.KeyRestrictions, "Empty");
			a.KeyRestrictions = "Mono";
			Assert.AreEqual ("Mono", a.KeyRestrictions, "Mono");
			a.KeyRestrictions = null;
			Assert.AreEqual (String.Empty, a.KeyRestrictions, "Empty(null)");
		}
		public void KeyRestrictionBehavior_Invalid ()
		{
			OraclePermissionAttribute a = new OraclePermissionAttribute (SecurityAction.Assert);
			a.KeyRestrictionBehavior = (KeyRestrictionBehavior)Int32.MinValue;
		}
		public void KeyRestrictionBehavior_All ()
		{
			OraclePermissionAttribute a = new OraclePermissionAttribute (SecurityAction.Assert);
			a.KeyRestrictionBehavior = KeyRestrictionBehavior.AllowOnly;
			Assert.AreEqual (KeyRestrictionBehavior.AllowOnly, a.KeyRestrictionBehavior, "AllowOnly");
			a.KeyRestrictionBehavior = KeyRestrictionBehavior.PreventUsage;
			Assert.AreEqual (KeyRestrictionBehavior.PreventUsage, a.KeyRestrictionBehavior, "PreventUsage");
		}
		public void ConnectionString ()
		{
			OraclePermissionAttribute a = new OraclePermissionAttribute (SecurityAction.Assert);
			a.ConnectionString = String.Empty;
			Assert.AreEqual (String.Empty, a.ConnectionString, "Empty");
			a.ConnectionString = "Mono";
			Assert.AreEqual ("Mono", a.ConnectionString, "Mono");
			a.ConnectionString = null;
			Assert.AreEqual (String.Empty, a.ConnectionString, "Empty(null)");
		}
		public void AllowBlankPassword ()
		{
			OraclePermissionAttribute a = new OraclePermissionAttribute (SecurityAction.Assert);
			Assert.IsFalse (a.AllowBlankPassword, "Default");
			a.AllowBlankPassword = true;
			Assert.IsTrue (a.AllowBlankPassword, "True");
			a.AllowBlankPassword = false;
			Assert.IsFalse (a.AllowBlankPassword, "False");
		}