diff --git a/test/Spring/Spring.Data.Integration.Tests/Data/AdoTemplateTests.cs b/test/Spring/Spring.Data.Integration.Tests/Data/AdoTemplateTests.cs index 34c4a02d..1e04e9da 100644 --- a/test/Spring/Spring.Data.Integration.Tests/Data/AdoTemplateTests.cs +++ b/test/Spring/Spring.Data.Integration.Tests/Data/AdoTemplateTests.cs @@ -186,7 +186,7 @@ namespace Spring.Data myDataRow["Name"] = "OldManWinter"; dataSet.Tables["TestObjects"].Rows.Add(myDataRow); - //TODO - think about api... + IDbCommand insertCommand = dbProvider.CreateCommand(); insertCommand.CommandText = "insert into TestObjects(Age,Name) values (@Age,@Name)"; IDbParameters parameters = adoOperations.CreateDbParameters(); diff --git a/test/Spring/Spring.Data.Integration.Tests/Data/DeclarativeTxTests.cs b/test/Spring/Spring.Data.Integration.Tests/Data/DeclarativeTxTests.cs index 54484bae..dbc9b7fd 100644 --- a/test/Spring/Spring.Data.Integration.Tests/Data/DeclarativeTxTests.cs +++ b/test/Spring/Spring.Data.Integration.Tests/Data/DeclarativeTxTests.cs @@ -31,7 +31,7 @@ using Spring.Transaction; namespace Spring.Data { /// - /// TODO: + /// Test for declarative transaction management /// /// Mark Pollack (.NET) [TestFixture] diff --git a/test/Spring/Spring.Data.Integration.Tests/Data/MappingAdoQueryTests.cs b/test/Spring/Spring.Data.Integration.Tests/Data/MappingAdoQueryTests.cs index a4a440ea..95b5fee2 100644 --- a/test/Spring/Spring.Data.Integration.Tests/Data/MappingAdoQueryTests.cs +++ b/test/Spring/Spring.Data.Integration.Tests/Data/MappingAdoQueryTests.cs @@ -33,7 +33,7 @@ using Spring.Data.Common; namespace Spring.Data { /// - /// TODO: + /// Test a MappingAdoQuery implementation /// /// Mark Pollack (.NET) [TestFixture] diff --git a/test/Spring/Spring.Data.Integration.Tests/Data/Northwind/AdoTemplateShipperDao.cs b/test/Spring/Spring.Data.Integration.Tests/Data/Northwind/AdoTemplateShipperDao.cs index f631f25c..4c847f59 100644 --- a/test/Spring/Spring.Data.Integration.Tests/Data/Northwind/AdoTemplateShipperDao.cs +++ b/test/Spring/Spring.Data.Integration.Tests/Data/Northwind/AdoTemplateShipperDao.cs @@ -31,7 +31,7 @@ using Spring.Data.Support; namespace Spring.Data.Northwind { /// - /// TODO: + /// AdoTemplate based implementation of IShipperDao /// /// Mark Pollack (.NET) public class AdoTemplateShipperDao : AdoDaoSupport, IShipperDao diff --git a/test/Spring/Spring.Data.Integration.Tests/Data/Northwind/IShipperDao.cs b/test/Spring/Spring.Data.Integration.Tests/Data/Northwind/IShipperDao.cs index b5324d68..768fbad6 100644 --- a/test/Spring/Spring.Data.Integration.Tests/Data/Northwind/IShipperDao.cs +++ b/test/Spring/Spring.Data.Integration.Tests/Data/Northwind/IShipperDao.cs @@ -27,7 +27,7 @@ using System; namespace Spring.Data.Northwind { /// - /// TODO: + /// ShipperDao interface /// /// Mark Pollack (.NET) public interface IShipperDao diff --git a/test/Spring/Spring.Data.Integration.Tests/Data/OracleAdoTemplateTests.cs b/test/Spring/Spring.Data.Integration.Tests/Data/OracleAdoTemplateTests.cs index 112926aa..497a0b40 100644 --- a/test/Spring/Spring.Data.Integration.Tests/Data/OracleAdoTemplateTests.cs +++ b/test/Spring/Spring.Data.Integration.Tests/Data/OracleAdoTemplateTests.cs @@ -33,77 +33,81 @@ using Spring.Context; using Spring.Context.Support; using Spring.Data.Common; using Spring.Data.Core; -using Spring.Data.Support; using Spring.Objects; #endregion namespace Spring.Data { - /// - /// TODO: - /// - /// Mark Pollack (.NET) - /// $Id: OracleAdoTemplateTests.cs,v 1.8 2007/08/03 19:51:22 markpollack Exp $ - [TestFixture] - public class OracleAdoTemplateTests - { - #region Fields + /// + /// + /// + /// Mark Pollack (.NET) + [TestFixture] + public class OracleAdoTemplateTests + { + #region Setup/Teardown - private IAdoOperations adoOperations; - private IDbProvider dbProvider; - #endregion - - #region Constants - - /// - /// The shared ILog instance for this class (and derived classes). - /// - protected static readonly ILog log = - LogManager.GetLogger(typeof (OracleAdoTemplateTests)); - - #endregion - - #region Constructor (s) - /// - /// Initializes a new instance of the class. - /// - public OracleAdoTemplateTests() - { - - } - - #endregion - - #region Methods [SetUp] public void CreateAdoTemplate() { IApplicationContext ctx = - new XmlApplicationContext("assembly://Spring.Data.Integration.Tests/Spring.Data/oracleAdoTemplateTests.xml"); + new XmlApplicationContext( + "assembly://Spring.Data.Integration.Tests/Spring.Data/oracleAdoTemplateTests.xml"); Assert.IsNotNull(ctx); dbProvider = ctx["DbProvider"] as IDbProvider; Assert.IsNotNull(dbProvider); adoOperations = new AdoTemplate(dbProvider); + } + #endregion + + private IAdoOperations adoOperations; + private IDbProvider dbProvider; + + /// + /// The shared ILog instance for this class (and derived classes). + /// + protected static readonly ILog log = + LogManager.GetLogger(typeof (OracleAdoTemplateTests)); + + private class TestObjectExtractor : IResultSetExtractor + { + #region IResultSetExtractor Members + + public object ExtractData(IDataReader reader) + { + IList testObjects = new ArrayList(); + while (reader.Read()) + { + var to = new TestObject(); + //object foo = reader.GetDataTypeName(0); + to.ObjectNumber = (int) reader.GetInt64(0); + to.Name = reader.GetString(1); + testObjects.Add(to); + } + return testObjects; + } + + #endregion } [Test] public void DataSetFillNoParams() { String sql = "select USER_ID, USER_NAME from USER_TABLE"; - DataSet dataSet = new DataSet(); + var dataSet = new DataSet(); adoOperations.DataSetFill(dataSet, CommandType.Text, sql); Assert.AreEqual(1, dataSet.Tables.Count); Assert.AreEqual(18, dataSet.Tables["Table"].Rows.Count); dataSet = new DataSet(); - adoOperations.DataSetFill(dataSet, CommandType.Text, sql, new string[] {"TestObjects"}); + adoOperations.DataSetFill(dataSet, CommandType.Text, sql, new[] {"TestObjects"}); Assert.AreEqual(1, dataSet.Tables.Count); Assert.AreEqual(18, dataSet.Tables["TestObjects"].Rows.Count); dataSet = new DataSet(); - DataTableMappingCollection mappingCollection = + var mappingCollection = new DataTableMappingCollection(); DataTableMapping testObjectsMapping = mappingCollection.Add("Table", "TestObjects"); testObjectsMapping.ColumnMappings.Add("USER_ID", "UserID"); @@ -116,19 +120,18 @@ namespace Spring.Data Assert.IsNotNull(testObjectRow["UserID"]); Assert.IsNotNull(testObjectRow["UserName"]); } - } [Test] public void DataSetFillWithParameters() { String sql = "select USER_ID, USER_NAME from USER_TABLE where USER_ID < :maxId"; - DataSet dataSet = new DataSet(); + var dataSet = new DataSet(); IDbParameters parameters = adoOperations.CreateDbParameters(); parameters.Add("maxId", OracleType.Int32).Value = 10; adoOperations.DataSetFillWithParameters(dataSet, CommandType.Text, sql, - parameters, - new string[] {"TestObjects"}); + parameters, + new[] {"TestObjects"}); Assert.AreEqual(1, dataSet.Tables.Count); Assert.AreEqual(6, dataSet.Tables["TestObjects"].Rows.Count); } @@ -138,8 +141,8 @@ namespace Spring.Data { //'pretend' unique key is the age... String sql = "select USER_ID, USER_NAME from USER_TABLE"; - DataSet dataSet = new DataSet(); - adoOperations.DataSetFill(dataSet, CommandType.Text, sql, new string[] {"TestObjects"}); + var dataSet = new DataSet(); + adoOperations.DataSetFill(dataSet, CommandType.Text, sql, new[] {"TestObjects"}); //Create and add new row. DataRow myDataRow = dataSet.Tables["TestObjects"].NewRow(); @@ -156,9 +159,10 @@ namespace Spring.Data //Extanious CommandTypes.... adoOperations.DataSetUpdate(dataSet, "TestObjects", - CommandType.Text, "insert into USER_TABLE(USER_ID, USER_NAME) values (:id,:name)", parameters, - CommandType.Text, null, null, - CommandType.Text, null, null); + CommandType.Text, + "insert into USER_TABLE(USER_ID, USER_NAME) values (:id,:name)", parameters, + CommandType.Text, null, null, + CommandType.Text, null, null); //TODO - think about api... @@ -197,21 +201,27 @@ namespace Spring.Data // null, null); //TODO how about breaking up the operations... + } + [Test] + public void ExceptionTranslation() + { + try + { + adoOperations.ExecuteNonQuery(CommandType.Text, "select foo from bar"); + } + catch (BadSqlGrammarException e) + { + // should execute in here in sunny day scenario... + } + catch (Exception) + { + Assert.Fail("Exception translation not working."); + } } [Test] - public void ExecuteQueryWithResultSetExtractor() - { - IResultSetExtractor rse = new TestObjectExtractor(); - String sql = "select USER_ID, USER_NAME from USER_TABLE"; - IList testObjectList = (IList)adoOperations.QueryWithResultSetExtractor(CommandType.Text, sql, rse); - Assert.AreEqual(18, testObjectList.Count); - - } - - [Test] public void ExecuteNonQueryText() { int counter = 0; @@ -228,36 +238,30 @@ namespace Spring.Data sql = "insert into USER_TABLE(USER_ID, USER_NAME) values (:id,:name)"; IDbParameters parameters = adoOperations.CreateDbParameters(); - int user_id1 = 101; - string user_name1 = "George1"; + int user_id1 = 101; + string user_name1 = "George1"; parameters.Add("id", OracleType.Int32).Value = user_id1; - counter++; + counter++; parameters.Add("name", DbType.String, 12).Value = user_name1; - adoOperations.ExecuteNonQuery(CommandType.Text, sql, parameters); + adoOperations.ExecuteNonQuery(CommandType.Text, sql, parameters); } - #endregion - - private class TestObjectExtractor : IResultSetExtractor + [Test] + public void ExecuteQueryWithResultSetExtractor() { - public object ExtractData(IDataReader reader) - { - IList testObjects = new ArrayList(); - while(reader.Read()) - { - TestObject to = new TestObject(); - //object foo = reader.GetDataTypeName(0); - to.ObjectNumber = (int) reader.GetInt64(0); - to.Name = reader.GetString(1); - testObjects.Add(to); - } - return testObjects; - } + IResultSetExtractor rse = new TestObjectExtractor(); + String sql = "select USER_ID, USER_NAME from USER_TABLE"; + var testObjectList = (IList) adoOperations.QueryWithResultSetExtractor(CommandType.Text, sql, rse); + Assert.AreEqual(18, testObjectList.Count); } - - } + [Test] + public void SanityCheck() + { + adoOperations.ExecuteNonQuery(CommandType.Text, "select * from DUAL"); + } + } } #endif // (!NET_1_0) \ No newline at end of file diff --git a/test/Spring/Spring.Data.Integration.Tests/Data/TestObjectQuery.cs b/test/Spring/Spring.Data.Integration.Tests/Data/TestObjectQuery.cs index 873f8b51..85e20846 100644 --- a/test/Spring/Spring.Data.Integration.Tests/Data/TestObjectQuery.cs +++ b/test/Spring/Spring.Data.Integration.Tests/Data/TestObjectQuery.cs @@ -31,7 +31,7 @@ using Spring.Objects; namespace Spring.Data { /// - /// TODO: + /// Simple MappingAdoQuery implementation /// /// Mark Pollack (.NET) public class TestObjectQuery : MappingAdoQuery diff --git a/test/Spring/Spring.Data.Integration.Tests/Data/TestObjectStoredProcedure.cs b/test/Spring/Spring.Data.Integration.Tests/Data/TestObjectStoredProcedure.cs index 6cca1f7d..0247a643 100644 --- a/test/Spring/Spring.Data.Integration.Tests/Data/TestObjectStoredProcedure.cs +++ b/test/Spring/Spring.Data.Integration.Tests/Data/TestObjectStoredProcedure.cs @@ -30,7 +30,7 @@ using Spring.Data.Objects; namespace Spring.Data { /// - /// TODO: + /// Simple StoredProcedure implementation /// /// Mark Pollack (.NET) public class TestObjectStoredProcedure : StoredProcedure diff --git a/test/Spring/Spring.Data.Integration.Tests/Data/TransactionTemplateTests.cs b/test/Spring/Spring.Data.Integration.Tests/Data/TransactionTemplateTests.cs index afe3c57b..3cf76759 100644 --- a/test/Spring/Spring.Data.Integration.Tests/Data/TransactionTemplateTests.cs +++ b/test/Spring/Spring.Data.Integration.Tests/Data/TransactionTemplateTests.cs @@ -163,7 +163,6 @@ namespace Spring.Data DefaultTransactionDefinition def = new DefaultTransactionDefinition(); def.PropagationBehavior = TransactionPropagation.Required; - //TODO change to property of name TransactionStatus... ITransactionStatus status = transactionManager.GetTransaction(def); int iCount = 0; diff --git a/test/Spring/Spring.Data.Integration.Tests/Data/oracleAdoTemplateTests.xml b/test/Spring/Spring.Data.Integration.Tests/Data/oracleAdoTemplateTests.xml index db101150..c968500b 100644 --- a/test/Spring/Spring.Data.Integration.Tests/Data/oracleAdoTemplateTests.xml +++ b/test/Spring/Spring.Data.Integration.Tests/Data/oracleAdoTemplateTests.xml @@ -2,18 +2,11 @@ + + provider="OracleODP-11-2.0" + connectionString="Data Source=(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = 10.2.0.56)(PORT = 1521))(CONNECT_DATA =(SERVER = DEDICATED)(SERVICE_NAME = QADB))); User Id=mpollack; Password=springqa"/> -