Sha256: 5d5adaaca2c19cff06fe3532c5111d24394b88a940d5dadf35fb3d67521294db

Contents?: true

Size: 1.89 KB

Versions: 9

Compression:

Stored size: 1.89 KB

Contents

require 'pathname'
require Pathname(__FILE__).dirname.expand_path.parent + 'spec_helper'

describe DataObjects::Sqlite3::Command do

  before(:each) do
    @connection = DataObjects::Connection.new("sqlite3://#{File.expand_path(File.dirname(__FILE__))}/test.db")
  end

  after(:each) do
    @connection.close
  end

  describe "Executing a Reader" do

    it "should log reader queries when the level is Debug (0)" do
      command = @connection.create_command("SELECT * FROM users")
      @mock_logger = mock('MockLogger', :level => 0)
      DataObjects::Sqlite3.should_receive(:logger).and_return(@mock_logger)
      @mock_logger.should_receive(:debug).with("SELECT * FROM users")
      command.execute_reader
    end

    it "shouldn't log reader queries when the level isn't Debug (0)" do
      command = @connection.create_command("SELECT * FROM users")
      @mock_logger = mock('MockLogger', :level => 1)
      DataObjects::Sqlite3.should_receive(:logger).and_return(@mock_logger)
      @mock_logger.should_not_receive(:debug)
      command.execute_reader
    end
  end

  describe "Executing a Non-Query" do
    it "should log non-query statements when the level is Debug (0)" do
      command = @connection.create_command("INSERT INTO users (name) VALUES (?)")
      @mock_logger = mock('MockLogger', :level => 0)
      DataObjects::Sqlite3.should_receive(:logger).and_return(@mock_logger)
      @mock_logger.should_receive(:debug).with("INSERT INTO users (name) VALUES ('Blah')")
      command.execute_non_query('Blah')
    end

    it "shouldn't log non-query statements when the level isn't Debug (0)" do
      command = @connection.create_command("INSERT INTO users (name) VALUES (?)")
      @mock_logger = mock('MockLogger', :level => 1)
      DataObjects::Sqlite3.should_receive(:logger).and_return(@mock_logger)
      @mock_logger.should_not_receive(:debug)
      command.execute_non_query('Blah')
    end
  end

end

Version data entries

9 entries across 9 versions & 1 rubygems

Version Path
do_sqlite3-0.9.3 spec/integration/logging_spec.rb
do_sqlite3-0.9.4 spec/integration/logging_spec.rb
do_sqlite3-0.9.6-x86-mswin32-60 spec/integration/logging_spec.rb
do_sqlite3-0.9.5 spec/integration/logging_spec.rb
do_sqlite3-0.9.7 spec/integration/logging_spec.rb
do_sqlite3-0.9.6 spec/integration/logging_spec.rb
do_sqlite3-0.9.9 spec/integration/logging_spec.rb
do_sqlite3-0.9.8 spec/integration/logging_spec.rb
do_sqlite3-0.9.9-x86-mswin32-60 spec/integration/logging_spec.rb