Improve logging and specs

This commit is contained in:
Sdogruyol 2016-07-28 21:12:55 +03:00
parent dc3cc74798
commit 98efbfe341
7 changed files with 41 additions and 30 deletions

View file

@ -0,0 +1,22 @@
require "./spec_helper"
describe "Kemal::CommonLogHandler" do
it "logs to the given IO" do
config = Kemal.config
io = MemoryIO.new
logger = Kemal::CommonLogHandler.new io
logger.write "Something"
io.to_s.should eq "Something"
end
it "creates log message for each request" do
request = HTTP::Request.new("GET", "/")
io = MemoryIO.new
context_io = MemoryIO.new
response = HTTP::Server::Response.new(context_io)
context = HTTP::Server::Context.new(request, response)
logger = Kemal::CommonLogHandler.new io
logger.call(context)
io.to_s.should_not be nil
end
end

View file

@ -1,14 +0,0 @@
require "./spec_helper"
describe "Kemal::LogHandler" do
it "creates a handler" do
logger = Kemal::CommonLogHandler.new
logger.handler.should_not be nil
end
it "creates a STDOUT handler by default" do
config = Kemal.config
logger = Kemal::CommonLogHandler.new
logger.handler.should be_a IO
end
end

View file

@ -9,7 +9,13 @@ class CustomTestHandler < HTTP::Handler
end
end
class CustomLogHandler < Kemal::BaseLogHandler; end
class CustomLogHandler < Kemal::BaseLogHandler
def call(context)
end
def write(message)
end
end
def create_request_and_return_io(handler, request)
io = MemoryIO.new