require File.expand_path("#{File.dirname(__FILE__)}/../helper") require "net/http" class RorVsWild::Plugin::NetHttpTest < Minitest::Test def test_callback client.measure_block("test") { Net::HTTP.get("ruby-lang.org", "/index.html") } assert_equal(1, client.send(:queries).size) assert_equal(1, client.send(:queries)[0][:times]) assert_equal("http", client.send(:queries)[0][:kind]) assert_match("GET http://ruby-lang.org/index.html", client.send(:queries)[0][:command]) end def test_callback_with_https client.measure_block("test") { Net::HTTP.get(URI("https://www.ruby-lang.org/index.html")) } assert_match("GET https://www.ruby-lang.org/index.html", client.send(:queries)[0][:command]) assert_equal("http", client.send(:queries)[0][:kind]) end def test_nested_query_because_net_http_request_is_recursive_when_connection_is_not_started client.measure_block("test") do uri = URI("http://www.ruby-lang.org/index.html") http = Net::HTTP.new(uri.host, uri.port) http.request(Net::HTTP::Get.new(uri.path)) end assert_equal(1, client.send(:queries)[0][:times]) end private def client @client ||= initialize_client(app_root: "/rails/root") end def initialize_client(options = {}) client = RorVsWild::Client.new(options) client.stubs(:post_request) client.stubs(:post_job) client end end