Exemplo n.º 1
0
        public void Existing_connection_can_be_opened_and_closed_externally()
        {
            var dbConnection = new FakeDbConnection(
                "Database=FrodoLives",
                state: ConnectionState.Closed);

            using (var connection = new FakeRelationalConnection(
                       CreateOptions(new FakeRelationalOptionsExtension {
                Connection = dbConnection
            })))
            {
                Assert.Equal(0, connection.DbConnections.Count);

                connection.Open();

                Assert.Equal(0, connection.DbConnections.Count);

                Assert.Equal(1, dbConnection.OpenCount);

                connection.Close();

                Assert.Equal(1, dbConnection.OpenCount);
                Assert.Equal(1, dbConnection.CloseCount);

                dbConnection.SetState(ConnectionState.Open);

                connection.Open();

                Assert.Equal(1, dbConnection.OpenCount);
                Assert.Equal(1, dbConnection.CloseCount);

                connection.Close();

                Assert.Equal(1, dbConnection.OpenCount);
                Assert.Equal(1, dbConnection.CloseCount);

                dbConnection.SetState(ConnectionState.Closed);

                connection.Open();

                Assert.Equal(2, dbConnection.OpenCount);
                Assert.Equal(1, dbConnection.CloseCount);

                connection.Close();

                Assert.Equal(2, dbConnection.OpenCount);
                Assert.Equal(2, dbConnection.CloseCount);
            }
        }
Exemplo n.º 2
0
    public void OnError()
    {
        using var fake = new FakeDbConnection();
        using var conn = new DataConnection(fake, new DataSqlDialect());

        fake.SetState(ConnectionState.Open);
        assert.Equal(ConnectionState.Open, conn.State);

        conn.OnError(null);
        assert.Equal(ConnectionState.Closed, conn.State);
        assert.Equal(ConnectionState.Closed, fake.State);
    }
Exemplo n.º 3
0
    public void Dispose()
    {
        using var fake = new FakeDbConnection();
        var conn = new DataConnection(fake, new DataSqlDialect(), true);

        fake.SetState(ConnectionState.Open);
        assert.Equal(ConnectionState.Open, fake.State);
        assert.Equal(ConnectionState.Open, conn.State);

        conn.Dispose();
        assert.Equal(ConnectionState.Closed, conn.State);
        assert.Equal(ConnectionState.Closed, fake.State);
    }
Exemplo n.º 4
0
        public async Task Existing_connection_can_be_opened_and_closed_externally_async()
        {
            var dbConnection = new FakeDbConnection(
                "Database=FrodoLives",
                state: ConnectionState.Closed);

            using (var connection = new FakeRelationalConnection(
                       CreateOptions(new FakeRelationalOptionsExtension().WithConnection(dbConnection))))
            {
                Assert.Equal(0, connection.DbConnections.Count);

                await connection.OpenAsync();

                Assert.Equal(0, connection.DbConnections.Count);

                Assert.Equal(1, dbConnection.OpenCount);

                connection.Close();

                Assert.Equal(1, dbConnection.OpenCount);
                Assert.Equal(1, dbConnection.CloseCount);

                dbConnection.SetState(ConnectionState.Open);

                await connection.OpenAsync();

                Assert.Equal(1, dbConnection.OpenCount);
                Assert.Equal(1, dbConnection.CloseCount);

                connection.Close();

                Assert.Equal(1, dbConnection.OpenCount);
                Assert.Equal(1, dbConnection.CloseCount);

                dbConnection.SetState(ConnectionState.Closed);

                await connection.OpenAsync();

                Assert.Equal(2, dbConnection.OpenCount);
                Assert.Equal(1, dbConnection.CloseCount);

                connection.Close();

                Assert.Equal(2, dbConnection.OpenCount);
                Assert.Equal(2, dbConnection.CloseCount);

                dbConnection.SetState(ConnectionState.Open);

                await connection.OpenAsync();

                Assert.Equal(2, dbConnection.OpenCount);
                Assert.Equal(2, dbConnection.CloseCount);

                dbConnection.SetState(ConnectionState.Closed);

                connection.Close();

                Assert.Equal(2, dbConnection.OpenCount);
                Assert.Equal(2, dbConnection.CloseCount);

                await connection.OpenAsync();

                await connection.OpenAsync();

                Assert.Equal(3, dbConnection.OpenCount);

                dbConnection.SetState(ConnectionState.Closed);

                await connection.OpenAsync();

                Assert.Equal(4, dbConnection.OpenCount);
                Assert.Equal(2, dbConnection.CloseCount);

                dbConnection.SetState(ConnectionState.Closed);

                connection.Close();

                Assert.Equal(4, dbConnection.OpenCount);
                Assert.Equal(2, dbConnection.CloseCount);
            }
        }