public void TestDBOracleConnectionStringBuilderDataSource() { var dataSource = new DBOracleDataSourceBuilder(); var address = dataSource.AddDescription().AddAddressList().AddAddress(); address.Protocol = DBOracleDataSourceBuilder.ProtocolTCP; address.Host = @"localhost"; address.Port = 1521; var builder = new DBOracleConnectionStringBuilder(); Assert.AreEqual(string.Empty, builder.ConnectionString); builder.DataSource = dataSource.DataSourceString; Assert.AreEqual(@"DATA SOURCE=""(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=localhost)(PORT=1521))(CONNECT_DATA=(SERVER=DEDICATED)))""", builder.ConnectionString); builder.DataSource = string.Empty; Assert.AreEqual(@"DATA SOURCE=", builder.ConnectionString); }
public void TestDBOracleConnectionStrings() { #region Build connection strings var connectionString = new DBOracleConnectionStringBuilder(); var dataSource = new DBOracleDataSourceBuilder(); var description = dataSource.AddDescription(); description.ConnectData.ServiceName = @"XE"; var address = description.AddAddressList().AddAddress(); address.Protocol = DBOracleDataSourceBuilder.ProtocolTCP; address.Host = @"localhost"; address.Port = 1521; connectionString.DataSource = dataSource.DataSourceString; connectionString.Pooling = true; var connectionStringWithPooling = connectionString.ConnectionString; connectionString.Pooling = false; var connectionStringWithoutPooling = connectionString.ConnectionString; #endregion Assert.AreEqual(0, DBOracleConnectionStrings.GetAll().Count); AssertNotExist(@"DB_POOL"); AssertNotExist(@"DB_NOPOOL"); AssertNotExist(@"DB_TEST"); DBOracleConnectionStrings.Add(@"DB_POOL", connectionStringWithPooling); Assert.AreEqual(1, DBOracleConnectionStrings.GetAll().Count); Assert.AreEqual(connectionStringWithPooling, DBOracleConnectionStrings.Get(@"DB_POOL")); AssertNotExist(@"DB_NOPOOL"); AssertNotExist(@"DB_TEST"); Assert.IsTrue(DBOracleConnectionStrings.GetAll().OrderBy(item => item.Key).SequenceEqual(new[] { new KeyValuePair <string, string>(@"DB_POOL", connectionStringWithPooling) })); DBOracleConnectionStrings.Add(@"DB_NOPOOL", connectionStringWithoutPooling); Assert.AreEqual(2, DBOracleConnectionStrings.GetAll().Count); Assert.AreEqual(connectionStringWithPooling, DBOracleConnectionStrings.Get(@"DB_POOL")); Assert.AreEqual(connectionStringWithoutPooling, DBOracleConnectionStrings.Get(@"DB_NOPOOL")); AssertNotExist(@"DB_TEST"); Assert.IsTrue(DBOracleConnectionStrings.GetAll().OrderBy(item => item.Key).SequenceEqual(new[] { new KeyValuePair <string, string>(@"DB_NOPOOL", connectionStringWithoutPooling), new KeyValuePair <string, string>(@"DB_POOL", connectionStringWithPooling) })); Assert.IsTrue(DBOracleConnectionStrings.Remove(@"DB_POOL")); Assert.AreEqual(1, DBOracleConnectionStrings.GetAll().Count); AssertNotExist(@"DB_POOL"); Assert.AreEqual(connectionStringWithoutPooling, DBOracleConnectionStrings.Get(@"DB_NOPOOL")); AssertNotExist(@"DB_TEST"); Assert.IsTrue(DBOracleConnectionStrings.GetAll().OrderBy(item => item.Key).SequenceEqual(new[] { new KeyValuePair <string, string>(@"DB_NOPOOL", connectionStringWithoutPooling) })); Assert.IsFalse(DBOracleConnectionStrings.Remove(@"DB_POOL")); Assert.AreEqual(1, DBOracleConnectionStrings.GetAll().Count); AssertNotExist(@"DB_POOL"); Assert.AreEqual(connectionStringWithoutPooling, DBOracleConnectionStrings.Get(@"DB_NOPOOL")); AssertNotExist(@"DB_TEST"); Assert.IsTrue(DBOracleConnectionStrings.GetAll().OrderBy(item => item.Key).SequenceEqual(new[] { new KeyValuePair <string, string>(@"DB_NOPOOL", connectionStringWithoutPooling) })); Assert.IsTrue(DBOracleConnectionStrings.Remove(@"DB_NOPOOL")); Assert.AreEqual(0, DBOracleConnectionStrings.GetAll().Count); AssertNotExist(@"DB_POOL"); AssertNotExist(@"DB_NOPOOL"); AssertNotExist(@"DB_TEST"); Assert.IsFalse(DBOracleConnectionStrings.Remove(@"DB_NOPOOL")); Assert.AreEqual(0, DBOracleConnectionStrings.GetAll().Count); AssertNotExist(@"DB_POOL"); AssertNotExist(@"DB_NOPOOL"); AssertNotExist(@"DB_TEST"); }
public void TestDBOracleConnectionStringBuilderProperties() { var builder = new DBOracleConnectionStringBuilder() { ConnectionLifeTime = 30 }; Assert.AreEqual(@"CONNECTION LIFETIME=30", builder.ConnectionString); builder = new DBOracleConnectionStringBuilder() { ConnectionTimeout = 120 }; Assert.AreEqual(@"CONNECTION TIMEOUT=120", builder.ConnectionString); builder = new DBOracleConnectionStringBuilder() { Pooling = true }; Assert.AreEqual(@"POOLING=True", builder.ConnectionString); builder.Pooling = false; Assert.AreEqual(@"POOLING=False", builder.ConnectionString); builder = new DBOracleConnectionStringBuilder() { IncrPoolSize = 4 }; Assert.AreEqual(@"INCR POOL SIZE=4", builder.ConnectionString); builder = new DBOracleConnectionStringBuilder() { DecrPoolSize = 2 }; Assert.AreEqual(@"DECR POOL SIZE=2", builder.ConnectionString); builder = new DBOracleConnectionStringBuilder() { MinPoolSize = 4 }; Assert.AreEqual(@"MIN POOL SIZE=4", builder.ConnectionString); builder = new DBOracleConnectionStringBuilder() { MaxPoolSize = 8 }; Assert.AreEqual(@"MAX POOL SIZE=8", builder.ConnectionString); builder = new DBOracleConnectionStringBuilder() { ValidateConnection = true }; Assert.AreEqual(@"VALIDATE CONNECTION=True", builder.ConnectionString); builder.ValidateConnection = false; Assert.AreEqual(@"VALIDATE CONNECTION=False", builder.ConnectionString); builder = new DBOracleConnectionStringBuilder() { HAEvents = false }; Assert.AreEqual(@"HA EVENTS=False", builder.ConnectionString); builder.HAEvents = true; Assert.AreEqual(@"HA EVENTS=True", builder.ConnectionString); builder = new DBOracleConnectionStringBuilder() { ContextConnection = true }; Assert.AreEqual(@"CONTEXT CONNECTION=True", builder.ConnectionString); builder.ContextConnection = false; Assert.AreEqual(@"CONTEXT CONNECTION=False", builder.ConnectionString); builder = new DBOracleConnectionStringBuilder() { DBAPrivilege = DBOracleConnectionStringBuilder.DBAPrivilege_SYSDBA }; Assert.AreEqual(@"DBA PRIVILEGE=SYSDBA", builder.ConnectionString); builder.DBAPrivilege = DBOracleConnectionStringBuilder.DBAPrivilege_SYSOPER; Assert.AreEqual(@"DBA PRIVILEGE=SYSOPER", builder.ConnectionString); builder = new DBOracleConnectionStringBuilder() { Enlist = @"true" }; Assert.AreEqual(@"ENLIST=true", builder.ConnectionString); builder.Enlist = @"dynamic"; Assert.AreEqual(@"ENLIST=dynamic", builder.ConnectionString); builder = new DBOracleConnectionStringBuilder() { LoadBalancing = false }; Assert.AreEqual(@"LOAD BALANCING=False", builder.ConnectionString); builder.LoadBalancing = true; Assert.AreEqual(@"LOAD BALANCING=True", builder.ConnectionString); builder = new DBOracleConnectionStringBuilder() { MetadataPooling = false }; Assert.AreEqual(@"METADATA POOLING=False", builder.ConnectionString); builder.MetadataPooling = true; Assert.AreEqual(@"METADATA POOLING=True", builder.ConnectionString); builder = new DBOracleConnectionStringBuilder() { SelfTuning = false }; Assert.AreEqual(@"SELF TUNING=False", builder.ConnectionString); builder.SelfTuning = true; Assert.AreEqual(@"SELF TUNING=True", builder.ConnectionString); builder = new DBOracleConnectionStringBuilder() { StatementCachePurge = true }; Assert.AreEqual(@"STATEMENT CACHE PURGE=True", builder.ConnectionString); builder.StatementCachePurge = false; Assert.AreEqual(@"STATEMENT CACHE PURGE=False", builder.ConnectionString); builder = new DBOracleConnectionStringBuilder() { StatementCacheSize = 128 }; Assert.AreEqual(@"STATEMENT CACHE SIZE=128", builder.ConnectionString); builder = new DBOracleConnectionStringBuilder() { UserID = @"<user>", Password = @"<password>", ProxyUserId = @"<proxy_user>", ProxyPassword = @"<proxy_password>" }; var values = builder.ConnectionString.Split(';').OrderBy(item => item).ToList(); Assert.IsTrue(values.SequenceEqual(new[] { @"PASSWORD=<password>", @"PROXY PASSWORD=<proxy_password>", @"PROXY USER ID=<proxy_user>", @"USER ID=<user>" })); builder = new DBOracleConnectionStringBuilder() { PersistSecurityInfo = true }; Assert.AreEqual(@"PERSIST SECURITY INFO=True", builder.ConnectionString); builder.PersistSecurityInfo = false; Assert.AreEqual(@"PERSIST SECURITY INFO=False", builder.ConnectionString); }
public void TestDBOracleConnectionStringBuilderAll() { var dataSource = new DBOracleDataSourceBuilder(); var address = dataSource.AddDescription().AddAddressList().AddAddress(); address.Protocol = DBOracleDataSourceBuilder.ProtocolTCP; address.Host = @"localhost"; address.Port = 1521; var builder = new DBOracleConnectionStringBuilder() { ConnectionLifeTime = 30, ConnectionTimeout = 120, Pooling = true, IncrPoolSize = 4, DecrPoolSize = 2, MinPoolSize = 4, MaxPoolSize = 8, ValidateConnection = true, HAEvents = false, ContextConnection = true, DBAPrivilege = DBOracleConnectionStringBuilder.DBAPrivilege_SYSDBA, Enlist = @"dynamic", LoadBalancing = true, MetadataPooling = false, SelfTuning = false, StatementCachePurge = true, StatementCacheSize = 128, UserID = @"<user>", Password = @"<password>", ProxyUserId = @"<proxy_user>", ProxyPassword = @"<proxy_password>", PersistSecurityInfo = true, DataSource = dataSource.DataSourceString }; var values = builder.ConnectionString.Split(';').OrderBy(item => item).ToList(); Assert.IsTrue(values.SequenceEqual(new[] { @"CONNECTION LIFETIME=30", @"CONNECTION TIMEOUT=120", @"CONTEXT CONNECTION=True", $@"DATA SOURCE=""{dataSource.DataSourceString}""", @"DBA PRIVILEGE=SYSDBA", @"DECR POOL SIZE=2", @"ENLIST=dynamic", @"HA EVENTS=False", @"INCR POOL SIZE=4", @"LOAD BALANCING=True", @"MAX POOL SIZE=8", @"METADATA POOLING=False", @"MIN POOL SIZE=4", @"PASSWORD=<password>", @"PERSIST SECURITY INFO=True", @"POOLING=True", @"PROXY PASSWORD=<proxy_password>", @"PROXY USER ID=<proxy_user>", @"SELF TUNING=False", @"STATEMENT CACHE PURGE=True", @"STATEMENT CACHE SIZE=128", @"USER ID=<user>", @"VALIDATE CONNECTION=True" })); }