New test.
[mono.git] / mcs / class / System.Data / Test / System.Data.OleDb / OleDbPermissionAttributeTest.cs
old mode 100755 (executable)
new mode 100644 (file)
index 73afbb2..b44be48
@@ -1,4 +1,4 @@
-//\r
+//\r
 // OleDbPermissionAttributeTest.cs -\r
 //     NUnit Test Cases for OleDbPermissionAttribute\r
 //\r
@@ -49,6 +49,7 @@ namespace MonoTests.System.Data.OleDb {
                        Assert.AreEqual (String.Empty, a.ConnectionString, "ConnectionString");\r
                        Assert.AreEqual (KeyRestrictionBehavior.AllowOnly, a.KeyRestrictionBehavior, "KeyRestrictionBehavior");\r
                        Assert.AreEqual (String.Empty, a.KeyRestrictions, "KeyRestrictions");\r
+                       Assert.AreEqual (String.Empty, a.Provider, "Provider");\r
 #if NET_2_0\r
                        Assert.IsFalse (a.ShouldSerializeConnectionString (), "ShouldSerializeConnectionString");\r
                        Assert.IsFalse (a.ShouldSerializeKeyRestrictions (), "ShouldSerializeConnectionString");\r
@@ -78,14 +79,6 @@ namespace MonoTests.System.Data.OleDb {
                        Assert.AreEqual (SecurityAction.RequestOptional, a.Action, "Action=RequestOptional");\r
                        a.Action = SecurityAction.RequestRefuse;\r
                        Assert.AreEqual (SecurityAction.RequestRefuse, a.Action, "Action=RequestRefuse");\r
-#if NET_2_0\r
-                       a.Action = SecurityAction.DemandChoice;\r
-                       Assert.AreEqual (SecurityAction.DemandChoice, a.Action, "Action=DemandChoice");\r
-                       a.Action = SecurityAction.InheritanceDemandChoice;\r
-                       Assert.AreEqual (SecurityAction.InheritanceDemandChoice, a.Action, "Action=InheritanceDemandChoice");\r
-                       a.Action = SecurityAction.LinkDemandChoice;\r
-                       Assert.AreEqual (SecurityAction.LinkDemandChoice, a.Action, "Action=LinkDemandChoice");\r
-#endif\r
                }\r
 \r
                [Test]\r
@@ -146,7 +139,11 @@ namespace MonoTests.System.Data.OleDb {
                }\r
 \r
                [Test]\r
+#if NET_2_0\r
                [ExpectedException (typeof (ArgumentOutOfRangeException))]\r
+#else\r
+               [ExpectedException (typeof (ArgumentException))]\r
+#endif\r
                public void KeyRestrictionBehavior_Invalid ()\r
                {\r
                        OleDbPermissionAttribute a = new OleDbPermissionAttribute (SecurityAction.Assert);\r
@@ -165,6 +162,34 @@ namespace MonoTests.System.Data.OleDb {
                        Assert.AreEqual (String.Empty, a.KeyRestrictions, "Empty(null)");\r
                }\r
 \r
+               [Test]\r
+               public void Provider ()\r
+               {\r
+                       OleDbPermissionAttribute a = new OleDbPermissionAttribute (SecurityAction.Assert);\r
+                       a.Provider = String.Empty;\r
+                       Assert.AreEqual (String.Empty, a.Provider, "Empty");\r
+                       a.Provider = "Mono";\r
+                       Assert.AreEqual ("Mono", a.Provider, "Mono");\r
+                       a.Provider = null;\r
+                       Assert.AreEqual (String.Empty, a.Provider, "Empty(null)");\r
+               }\r
+\r
+               [Test]\r
+               public void CreatePermission_Provider ()\r
+               {\r
+                       OleDbPermissionAttribute a = new OleDbPermissionAttribute (SecurityAction.Assert);\r
+                       a.Provider = "Mono";\r
+                       Assert.AreEqual ("Mono", a.Provider, "Mono");\r
+\r
+                       OleDbPermission odp = (OleDbPermission) a.CreatePermission ();\r
+#if NET_2_0\r
+                       // provider isn't even supplied to permission in fx 2.0\r
+                       Assert.AreEqual (String.Empty, odp.Provider, "CreatePermission.Provider");\r
+#else\r
+                       Assert.AreEqual ("Mono", odp.Provider, "CreatePermission.Provider");\r
+#endif\r
+               }\r
+\r
                [Test]\r
                public void Attributes ()\r
                {\r