public void ConnectionShouldRemainInPoolAfterReturnedConnectionDisposed() { TestConnectionString testConnection = new TestConnectionString(); SqlCeDatabase db = new SqlCeDatabase(testConnection.ConnectionString); using (DbConnection connection = SqlCeConnectionPool.CreateConnection(db)) {} DbConnection keepAlive = TestableSqlCeConnectionPool.GetConnection(0); Assert.AreEqual(ConnectionState.Open, keepAlive.State); }
public void PoolShouldCloseSharedConnection() { TestConnectionString testConnection = new TestConnectionString(); SqlCeDatabase db = new SqlCeDatabase(testConnection.ConnectionString); using (DatabaseConnectionWrapper connection = SqlCeConnectionPool.CreateConnection(db)) {} Assert.AreEqual(1, TestableSqlCeConnectionPool.PoolSize); SqlCeConnectionPool.CloseSharedConnection(db); Assert.AreEqual(0, TestableSqlCeConnectionPool.PoolSize); }
public void DatabaseShouldCloseSharedConnection() { TestConnectionString file = new TestConnectionString(); SqlCeDatabase database = new SqlCeDatabase(file.ConnectionString); using (DbConnection connection = SqlCeConnectionPool.CreateConnection(database)) {} Assert.AreEqual(1, TestableSqlCeConnectionPool.PoolSize); database.CloseSharedConnection(); Assert.AreEqual(0, TestableSqlCeConnectionPool.PoolSize); }
public void GetConnectionReturnsDifferentConnectionThanOneInPool() { TestConnectionString testConnection = new TestConnectionString(); SqlCeDatabase db = new SqlCeDatabase(testConnection.ConnectionString); using (DatabaseConnectionWrapper connection = SqlCeConnectionPool.CreateConnection(db)) { DatabaseConnectionWrapper keepAlive = TestableSqlCeConnectionPool.GetConnection(0); Assert.AreNotSame(connection, keepAlive); } }
public void GetConnectionOpensConnectionInPool() { TestConnectionString testConnection = new TestConnectionString(); SqlCeDatabase db = new SqlCeDatabase(testConnection.ConnectionString); using (DatabaseConnectionWrapper connection = SqlCeConnectionPool.CreateConnection(db)) { DatabaseConnectionWrapper keepAlive = TestableSqlCeConnectionPool.GetConnection(0); Assert.AreEqual(ConnectionState.Open, keepAlive.Connection.State); } }
public void GetConnectionAddsConnectionToPool() { TestConnectionString testConnection = new TestConnectionString(); SqlCeDatabase db = new SqlCeDatabase(testConnection.ConnectionString); using (DatabaseConnectionWrapper connection = SqlCeConnectionPool.CreateConnection(db)) { Assert.IsNotNull(connection); Assert.AreEqual(1, TestableSqlCeConnectionPool.PoolSize); } }
public void ShouldNotAddConnectionToPoolIfOpenFails() { SqlCeDatabase db = new SqlCeDatabase("Data Source='invalid.sdf'"); try { DatabaseConnectionWrapper connection = SqlCeConnectionPool.CreateConnection(db); } catch (SqlCeException) {} Assert.AreEqual(0, TestableSqlCeConnectionPool.PoolSize); }
public void GetConnectionWithPoolingReturnsSameConnection() { TestConnectionString testConnection = new TestConnectionString(); SqlCeDatabase db = new SqlCeDatabase(testConnection.ConnectionString); using (DatabaseConnectionWrapper connection1 = SqlCeConnectionPool.CreateConnection(db, true)) { using (DatabaseConnectionWrapper connection2 = SqlCeConnectionPool.CreateConnection(db, true)) { Assert.AreSame(connection1, connection2); Assert.AreEqual(1, TestableSqlCeConnectionPool.PoolSize); } } }
public void GetConnectionReturnsNewConnectionButHasOnlyOneInPool() { TestConnectionString testConnection = new TestConnectionString(); SqlCeDatabase db = new SqlCeDatabase(testConnection.ConnectionString); using (DatabaseConnectionWrapper connection1 = SqlCeConnectionPool.CreateConnection(db)) { using (DatabaseConnectionWrapper connection2 = SqlCeConnectionPool.CreateConnection(db)) { Assert.AreNotSame(connection1, connection2); Assert.AreEqual(1, TestableSqlCeConnectionPool.PoolSize); } } }
public void GetConnectionForTwoFilesAddsTwoConnectionsToPool() { TestConnectionString file1 = new TestConnectionString(); TestConnectionString file2 = new TestConnectionString("test2.sdf"); file2.CopyFile(); SqlCeDatabase db1 = new SqlCeDatabase(file1.ConnectionString); SqlCeDatabase db2 = new SqlCeDatabase(file2.ConnectionString); using (DbConnection connection1 = SqlCeConnectionPool.CreateConnection(db1)) { using (DbConnection connection2 = SqlCeConnectionPool.CreateConnection(db2)) {} } Assert.AreEqual(2, TestableSqlCeConnectionPool.PoolSize); SqlCeConnectionPool.CloseSharedConnections(); file2.DeleteFile(); }