class ExplainSubscriberTest
Constants
- SUBSCRIBER
Public Instance Methods
queries()
click to toggle source
# File activerecord/test/cases/explain_subscriber_test.rb, line 62 def queries ActiveRecord::ExplainRegistry.queries end
setup()
click to toggle source
# File activerecord/test/cases/explain_subscriber_test.rb, line 11 def setup ActiveRecord::ExplainRegistry.reset ActiveRecord::ExplainRegistry.collect = true end
test_collects_cte_queries()
click to toggle source
# File activerecord/test/cases/explain_subscriber_test.rb, line 53 def test_collects_cte_queries SUBSCRIBER.finish(nil, nil, name: "SQL", sql: "with s as (values(3)) select 1 from s") assert_equal 1, queries.size end
test_collects_nothing_for_ignored_payloads()
click to toggle source
# File activerecord/test/cases/explain_subscriber_test.rb, line 21 def test_collects_nothing_for_ignored_payloads ActiveRecord::ExplainSubscriber::IGNORED_PAYLOADS.each do |ip| SUBSCRIBER.finish(nil, nil, name: ip) end assert queries.empty? end
test_collects_nothing_if_collect_is_false()
click to toggle source
# File activerecord/test/cases/explain_subscriber_test.rb, line 28 def test_collects_nothing_if_collect_is_false ActiveRecord::ExplainRegistry.collect = false SUBSCRIBER.finish(nil, nil, name: "SQL", sql: "select 1 from users", binds: [1, 2]) assert queries.empty? end
test_collects_nothing_if_the_payload_has_an_exception()
click to toggle source
# File activerecord/test/cases/explain_subscriber_test.rb, line 16 def test_collects_nothing_if_the_payload_has_an_exception SUBSCRIBER.finish(nil, nil, exception: Exception.new) assert queries.empty? end
test_collects_nothing_if_the_statement_is_not_whitelisted()
click to toggle source
# File activerecord/test/cases/explain_subscriber_test.rb, line 43 def test_collects_nothing_if_the_statement_is_not_whitelisted SUBSCRIBER.finish(nil, nil, name: "SQL", sql: "SHOW max_identifier_length") assert queries.empty? end
test_collects_nothing_if_the_statement_is_only_partially_matched()
click to toggle source
# File activerecord/test/cases/explain_subscriber_test.rb, line 48 def test_collects_nothing_if_the_statement_is_only_partially_matched SUBSCRIBER.finish(nil, nil, name: "SQL", sql: "select_db yo_mama") assert queries.empty? end
test_collects_pairs_of_queries_and_binds()
click to toggle source
# File activerecord/test/cases/explain_subscriber_test.rb, line 34 def test_collects_pairs_of_queries_and_binds sql = "select 1 from users" binds = [1, 2] SUBSCRIBER.finish(nil, nil, name: "SQL", sql: sql, binds: binds) assert_equal 1, queries.size assert_equal sql, queries[0][0] assert_equal binds, queries[0][1] end