require 'nickserver/request' module RequestHandlerTestHelper protected def assert_refuses(opts = {}) assert_nil handle(request(opts)) end def assert_handles(opts = {}) assert handle(request(opts)) end def assert_queries_for(*query_args, &block) source_class.stub :new, source_expecting_query_for(*query_args), &block end def source_expecting_query_for(*query_args) @source ||= Minitest::Mock.new @source.expect :query, 'response', query_args @source end def assert_responds_with_error(msg, opts) response = handle(request(opts)) assert_equal 500, response.status assert_equal "500 #{msg}\n", response.content end def handle(request) handler.call(request) end def request(opts = {}) params = {'address' => [opts[:email]]} headers = {'Host' => opts[:domain]} Nickserver::Request.new params, headers end end