Example #1
0
        public void Should_Set_Field_Count()
        {
            using (var server = new TestNpServer())
            {
                server
                .Setup
                .ForQuery()
                .WithColumn(NqpTypes.Char, "name", 10)
                .WithColumn(NqpTypes.Int, "age")
                .Yields(0)
                .Completed()
                .Ready();

                using (var connection = new NpSqlConnection(server.ConnectionString))
                {
                    connection.Open();

                    using (var command = new NpSqlCommand(connection))
                    {
                        command.CommandText = "select * from test_table_name where name = 'heather'";

                        var reader = command.ExecuteReader();

                        Assert.Equal(reader.FieldCount, server.Setup.QueryResults.First().FieldCount);
                    }
                }
            }
        }
Example #2
0
        public void Read_Should_Return_False_When_No_Rows_Returned()
        {
            using (var server = new TestNpServer())
            {
                server
                .Setup
                .ForQuery()
                .WithColumn(NqpTypes.Char, "name", 10)
                .WithColumn(NqpTypes.Int, "age")
                .Yields(0)
                .Completed()
                .Ready();

                using (var connection = new NpSqlConnection(server.ConnectionString))
                {
                    connection.Open();

                    using (var command = new NpSqlCommand(connection))
                    {
                        command.CommandText = "select * from test_table_name where name = 'heather'";

                        var reader = command.ExecuteReader();

                        var rows = reader.Read();

                        Assert.False(rows);
                    }
                }
            }
        }
Example #3
0
        public void Should_Read_All_Rows()
        {
            var expectedRows = 80;

            using (var server = new TestNpServer())
            {
                server
                .Setup
                .ForQuery()
                .WithColumn(NqpTypes.Char, "name", 10)
                .WithColumn(NqpTypes.Int, "age")
                .Yields(expectedRows)
                .Completed()
                .Ready();

                using (var connection = new NpSqlConnection(server.ConnectionString))
                {
                    connection.Open();

                    using (var command = new NpSqlCommand(connection))
                    {
                        command.CommandText = "select * from test_table_name where name = 'heather'";

                        var reader = command.ExecuteReader();

                        reader.FastForwardAndAssert(expectedRows);
                    }
                }
            }
        }
Example #4
0
 public void Should_Connect_To_Server_On_Open()
 {
     using (var server = new TestNpServer())
     {
         using (var connection = new NpSqlConnection(server.ConnectionString))
         {
             connection.Open();
         }
     }
 }
Example #5
0
        public void If_Connection_Refused_Throw_Exception()
        {
            using (var server = new TestNpServer())
            {
                server.Setup.SetSaySorry();

                using (var connection = new NpSqlConnection(server.ConnectionString))
                {
                    Assert.Throws <NpSqlException>(() => connection.Open());
                }
            }
        }
Example #6
0
        public void Should_Set_Connection_Opened_On_Success()
        {
            using (var server = new TestNpServer())
            {
                using (var connection = new NpSqlConnection(server.ConnectionString))
                {
                    connection.Open();

                    Assert.Equal(ConnectionState.Open, connection.State);
                }
            }
        }
Example #7
0
        public void Should_Close_Connection_On_Dispose()
        {
            using (var server = new TestNpServer())
            {
                using (var connection = new NpSqlConnection(server.ConnectionString))
                {
                    connection.Open();
                }

                Assert.False(server.ClientConnected);
            }
        }
Example #8
0
        public void Should_Set_MaxMessageSize_When_Opened()
        {
            using (var server = new TestNpServer())
            {
                server.Setup.SetMaxMessageSize(512);

                using (var connection = new NpSqlConnection(server.ConnectionString))
                {
                    connection.Open();

                    Assert.Equal(server.Setup.MaxMessageSize, connection.Client.MaxMessageSize);
                }
            }
        }
Example #9
0
        public void Should_Return_Expected_Int_Value_From_Row()
        {
            var firstSet  = 10;
            var secondSet = 5;

            var expectedInt = 33;

            using (var server = new TestNpServer())
            {
                server
                .Setup
                .ForQuery()
                .WithColumn(NqpTypes.Char, "name", 10)
                .WithColumn(NqpTypes.Int, "age")
                .Yields(firstSet)
                .Yields("Heather", expectedInt)
                .Yields(secondSet)
                .Completed()
                .Ready();

                using (var connection = new NpSqlConnection(server.ConnectionString))
                {
                    connection.Open();

                    using (var command = new NpSqlCommand(connection))
                    {
                        command.CommandText = "select * from test_table_name where name = 'heather'";

                        var reader = command.ExecuteReader();

                        for (var i = 0; i < firstSet; i++)
                        {
                            reader.Read();
                        }

                        reader.Read();

                        Assert.Equal(expectedInt, reader.GetInt32(1));

                        for (var i = 0; i < secondSet; i++)
                        {
                            reader.Read();
                        }
                    }
                }
            }
        }
Example #10
0
        public void Should_Send_Query_To_Server_When_ExecuteReader()
        {
            using (var server = new TestNpServer())
            {
                using (var connection = new NpSqlConnection(server.ConnectionString))
                {
                    connection.Open();

                    using (var command = new NpSqlCommand(connection))
                    {
                        command.CommandText = "select * from test_table_name where name = 'heather'";

                        var reader = command.ExecuteReader();

                        Assert.Equal(command.CommandText, server.GetLastQuery(connection.ConnectionId));
                    }
                }
            }
        }
Example #11
0
        public void Should_Return_Reader_When_ExecuteReader()
        {
            using (var server = new TestNpServer())
            {
                using (var connection = new NpSqlConnection(server.ConnectionString))
                {
                    connection.Open();

                    using (var command = new NpSqlCommand(connection))
                    {
                        command.CommandText = "select * from test_table_name where name = 'heather'";

                        var reader = command.ExecuteReader();

                        Assert.NotNull(reader);
                    }
                }
            }
        }
Example #12
0
        public void Should_Not_Require_Reading_To_End_Of_Result_For_NextResult()
        {
            var expectedSecondSetCount = 12;

            using (var server = new TestNpServer())
            {
                server
                .Setup
                .ForQuery()
                .WithColumn(NqpTypes.Char, "name", 10)
                .WithColumn(NqpTypes.Int, "age")
                .Yields(10)
                .Completed()
                .ForQuery()
                .WithColumn(NqpTypes.Int, "int1")
                .WithColumn(NqpTypes.Int, "int2")
                .WithColumn(NqpTypes.Int, "int3")
                .Yields(expectedSecondSetCount)
                .Yields(123, 456, 789)
                .Completed()
                .Ready();

                using (var connection = new NpSqlConnection(server.ConnectionString))
                {
                    connection.Open();

                    using (var command = new NpSqlCommand(connection))
                    {
                        command.CommandText = "select * from test_table_one; select * from test_table_two";

                        var reader = command.ExecuteReader();

                        reader.NextResult();
                        reader.FastForwardAndAssert(expectedSecondSetCount);

                        Assert.Equal(456, reader.GetInt32(1));
                    }
                }
            }
        }
Example #13
0
        public void Should_Continue_To_Next_Query_Result_On_NextResult()
        {
            var expectedFirstSetCount  = 10;
            var expectedSecondSetCount = 12;

            using (var server = new TestNpServer())
            {
                server
                .Setup
                .ForQuery()
                .WithColumn(NqpTypes.Char, "name", 10)
                .WithColumn(NqpTypes.Int, "age")
                .Yields(expectedFirstSetCount)
                .Completed()
                .ForQuery()
                .WithColumn(NqpTypes.Int, "int1")
                .WithColumn(NqpTypes.Int, "int2")
                .WithColumn(NqpTypes.Int, "int3")
                .Yields(expectedSecondSetCount)
                .Completed()
                .Ready();

                using (var connection = new NpSqlConnection(server.ConnectionString))
                {
                    connection.Open();

                    using (var command = new NpSqlCommand(connection))
                    {
                        command.CommandText = "select * from test_table_one; select * from test_table_two";

                        var reader = command.ExecuteReader();
                        reader.FastForwardAndAssert(expectedFirstSetCount);

                        reader.NextResult();
                        reader.FastForwardAndAssert(expectedSecondSetCount);
                    }
                }
            }
        }
Example #14
0
        public void Should_Return_Expected_String_Value_From_Row()
        {
            var firstSet  = 10;
            var secondSet = 5;

            var expectedString = "Heather";

            using (var server = new TestNpServer())
            {
                server
                .Setup
                .ForQuery()
                .WithColumn(NqpTypes.Char, "name", 10)
                .WithColumn(NqpTypes.Int, "age")
                .Yields(firstSet)
                .Yields(expectedString, 33)
                .Yields(secondSet)
                .Completed()
                .Ready();

                using (var connection = new NpSqlConnection(server.ConnectionString))
                {
                    connection.Open();

                    using (var command = new NpSqlCommand(connection))
                    {
                        command.CommandText = "select * from test_table_name where name = 'heather'";

                        var reader = command.ExecuteReader();
                        reader.FastForward(firstSet);

                        reader.Read();

                        Assert.Equal(expectedString, reader.GetString(0));
                        reader.FastForward(secondSet);
                    }
                }
            }
        }