only pass in new_value
assume Database#test_connection raises
set :error => nil outside