Sha256: a842990e4f83d99c8f1023c16529de3373c1b438e07663ac4a79b1b33f73ac58

Contents?: true

Size: 1.19 KB

Versions: 12

Compression:

Stored size: 1.19 KB

Contents

require 'test_helper'

class SQLTest < ActiveSupport::IntegrationCase

  # Query tests - the numbers specified assume running against SQLite

  test 'total queries and query types' do
    # note that modifying queries are wrapped in a transaction which
    # adds 2 to total queries per operation.

    # rails 4.1 adds extra queries which can be variable, hence the
    # two possible counts for these operations

    foo = nil

    assert_increasing_queries do
      user = User.create!(email: 'foo@foo.com', password: 'wow')
      assert_equal 1, counters["rails.sql.inserts"]
    end

    assert_increasing_queries do
      prev = counters["rails.sql.selects"].to_i
      foo = User.find_by_email('foo@foo.com')
      assert_equal prev+1, counters["rails.sql.selects"]
    end

    assert_increasing_queries do
      foo.password = 'new password'
      foo.save
      assert_equal 1, counters["rails.sql.updates"]
    end

    assert_increasing_queries do
      foo.destroy
      assert_equal 1, counters["rails.sql.deletes"]
    end
  end

  private

  def assert_increasing_queries
    previous = counters["rails.sql.queries"].to_i
    yield
    assert counters["rails.sql.queries"].to_i > previous
  end

end

Version data entries

12 entries across 12 versions & 1 rubygems

Version Path
librato-rails-1.4.2 test/integration/sql_test.rb
librato-rails-1.4.1 test/integration/sql_test.rb
librato-rails-1.4.0 test/integration/sql_test.rb
librato-rails-1.4.0.beta test/integration/sql_test.rb
librato-rails-1.3.0 test/integration/sql_test.rb
librato-rails-1.2.0 test/integration/sql_test.rb
librato-rails-1.1.0 test/integration/sql_test.rb
librato-rails-1.0.0 test/integration/sql_test.rb
librato-rails-0.12.0 test/integration/sql_test.rb
librato-rails-0.12.0.beta test/integration/sql_test.rb
librato-rails-0.11.1 test/integration/sql_test.rb
librato-rails-0.11.0 test/integration/sql_test.rb