Stop on SIGTERM

This commit is contained in:
cn 2013-10-08 13:25:35 +02:00
parent b2a408acba
commit d7b2250923
2 changed files with 9 additions and 5 deletions

View File

@ -190,6 +190,10 @@ module Dyndnsd
Dyndnsd.logger.info "Quitting..." Dyndnsd.logger.info "Quitting..."
Rack::Handler::WEBrick.shutdown Rack::Handler::WEBrick.shutdown
end end
Signal.trap('TERM') do
Dyndnsd.logger.info "Quitting..."
Rack::Handler::WEBrick.shutdown
end
Rack::Handler::WEBrick.run app, :Host => config['host'], :Port => config['port'] Rack::Handler::WEBrick.run app, :Host => config['host'], :Port => config['port']
end end

View File

@ -40,7 +40,7 @@ describe Dyndnsd::Daemon do
last_response.status.should == 405 last_response.status.should == 405
end end
it 'provides only the /nic/update' do it 'provides only the /nic/update URL' do
authorize 'test', 'secret' authorize 'test', 'secret'
get '/other/url' get '/other/url'
last_response.status.should == 404 last_response.status.should == 404
@ -99,7 +99,7 @@ describe Dyndnsd::Daemon do
last_response.body.should == 'nohost' last_response.body.should == 'nohost'
end end
it 'updates a host on change' do it 'updates a host on IPv4 change' do
authorize 'test', 'secret' authorize 'test', 'secret'
get '/nic/update?hostname=foo.example.org&myip=1.2.3.4' get '/nic/update?hostname=foo.example.org&myip=1.2.3.4'
@ -110,7 +110,7 @@ describe Dyndnsd::Daemon do
last_response.body.should == 'good 1.2.3.40' last_response.body.should == 'good 1.2.3.40'
end end
it 'returns no change' do it 'returns IPv4 no change' do
authorize 'test', 'secret' authorize 'test', 'secret'
get '/nic/update?hostname=foo.example.org&myip=1.2.3.4' get '/nic/update?hostname=foo.example.org&myip=1.2.3.4'
@ -121,7 +121,7 @@ describe Dyndnsd::Daemon do
last_response.body.should == 'nochg 1.2.3.4' last_response.body.should == 'nochg 1.2.3.4'
end end
it 'outputs status per hostname' do it 'outputs IPv4 status per hostname' do
authorize 'test', 'secret' authorize 'test', 'secret'
get '/nic/update?hostname=foo.example.org&myip=1.2.3.4' get '/nic/update?hostname=foo.example.org&myip=1.2.3.4'
@ -133,7 +133,7 @@ describe Dyndnsd::Daemon do
last_response.body.should == "nochg 1.2.3.4\ngood 1.2.3.4" last_response.body.should == "nochg 1.2.3.4\ngood 1.2.3.4"
end end
it 'uses clients remote address if myip not specified' do it 'uses clients remote IPv4 address if myip not specified' do
authorize 'test', 'secret' authorize 'test', 'secret'
get '/nic/update?hostname=foo.example.org' get '/nic/update?hostname=foo.example.org'
last_response.should be_ok last_response.should be_ok