require File.dirname(__FILE__) + '/base' require 'taps/server' require 'pp' describe Taps::Server do def app Taps::Server.new end before do Taps::Config.login = 'taps' Taps::Config.password = 'tpass' @app = Taps::Server @auth_header = "Basic " + ["taps:tpass"].pack("m*") end it "asks for http basic authentication" do get '/' last_response.status.should == 401 end it "verifies the client taps version" do get('/', { }, { 'HTTP_AUTHORIZATION' => @auth_header, 'HTTP_TAPS_VERSION' => Taps.version }) last_response.status.should == 200 end it "yells loudly if the client taps version doesn't match" do get('/', { }, { 'HTTP_AUTHORIZATION' => @auth_header, 'HTTP_TAPS_VERSION' => '0.0.1' }) last_response.status.should == 417 end it "allows healthcheck to be accessed w/o HTTP_TAPS_VERSION" do get('/health', { }, { 'HTTP_AUTHORIZATION' => @auth_header }) last_response.status.should == 200 end end