* roottypes.cs: Rename from tree.cs.
[mono.git] / mcs / class / System.Data.OracleClient / Test / System.Data.OracleClient.jvm / OracleConnection / OracleConnection_ChangeDatabase.cs
1 // 
2 // Copyright (c) 2006 Mainsoft Co.
3 // 
4 // Permission is hereby granted, free of charge, to any person obtaining
5 // a copy of this software and associated documentation files (the
6 // "Software"), to deal in the Software without restriction, including
7 // without limitation the rights to use, copy, modify, merge, publish,
8 // distribute, sublicense, and/or sell copies of the Software, and to
9 // permit persons to whom the Software is furnished to do so, subject to
10 // the following conditions:
11 // 
12 // The above copyright notice and this permission notice shall be
13 // included in all copies or substantial portions of the Software.
14 // 
15 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
16 // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
17 // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
18 // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
19 // LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
20 // OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
21 // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
22 //
23
24 using System;
25 using System.Data;
26 using System.Data.OracleClient ;
27
28 using MonoTests.System.Data.Utils;
29
30
31 using NUnit.Framework;
32
33 namespace MonoTests.System.Data.OracleClient
34 {
35 [TestFixture]
36 public class OracleConnection_ChangeDatabase : ADONetTesterClass 
37 {
38         public static void Main()
39         {
40                 OracleConnection_ChangeDatabase tc = new OracleConnection_ChangeDatabase();
41                 Exception exp = null;
42                 try
43                 {
44                         tc.BeginTest("NoName");
45                         tc.run();
46                 }
47                 catch(Exception ex){exp = ex;}
48                 finally {tc.EndTest(exp);}
49         }
50
51         [Test]
52         [Category("NotWorking")]
53         public void run()
54         {
55                 Exception exp = null;
56
57                 OracleConnection con = new OracleConnection(MonoTests.System.Data.Utils.ConnectedDataProvider.ConnectionString);
58                 con.Open();
59
60                 //Currently not running on Oracle/DB2: .Net-Failed, GH:Pass
61                 //not runnig on postgres because "The 'current catalog' property is not supported by the 'Mainsoft.JDBC.OLEDB.1' provider."
62                 if (ConnectedDataProvider.GetDbType(con) != DataBaseServer.Oracle  &&
63                         ConnectedDataProvider.GetDbType(con) != DataBaseServer.DB2 && 
64                         ConnectedDataProvider.GetDbType(con) != DataBaseServer.Sybase &&
65                         ConnectedDataProvider.GetDbType(con) != DataBaseServer.PostgreSQL)
66                 {
67                         try
68                         {
69                                 BeginCase("Change DataBase");
70                                 ((IDbConnection)con).ChangeDatabase("GHTDB_EX");
71                                 Compare(((IDbConnection)con).Database , "GHTDB_EX");
72                         } 
73                         catch(Exception ex){exp = ex;}
74                         finally{EndCase(exp); exp = null;}
75
76                         try
77                         {
78                                 BeginCase("Check DataBase Changed ");
79                                 OracleCommand cmd = new OracleCommand("select count(*) from Customers", con);
80                                 object obj = cmd.ExecuteScalar();
81                                 Compare(obj != null, true);
82                         } 
83                         catch(Exception ex){exp = ex;}
84                         finally{EndCase(exp); exp = null;}
85
86                         if (con.State == ConnectionState.Open) con.Close();
87                 }
88
89         }
90
91
92         //public TestClass():base(true){}
93
94         //Activate this constructor to log Failures to a log file
95         //public TestClass(System.IO.TextWriter tw):base(tw, false){}
96
97         //Activate this constructor to log All to a log file
98         //public TestClass(System.IO.TextWriter tw):base(tw, true){}
99
100         //BY DEFAULT LOGGING IS DONE TO THE STANDARD OUTPUT ONLY FOR FAILURES
101
102 }
103 }