#
# Copyright (C) 2006 SIPfoundry Inc.
# Licensed by SIPfoundry under the LGPL license.
#
# Copyright (C) 2006 Pingtel Corp.
# Licensed to SIPfoundry under a Contributor Agreement.
#
##############################################################################
# set up the load path
$thisdir = File.dirname(__FILE__)
$:.unshift($thisdir)
$:.unshift(File.join($thisdir, ".."))
$:.unshift(File.join($thisdir, "..", ".."))
# system requires
require 'test_helper'
# application requires
require 'configure'
class ConfigureTest < Test::Unit::TestCase
def test_config
# Trying to open a nonexisting config file should fail
assert_raise(Errno::ENOENT) {Configure.new('nonexistent_config_file')}
# Trying to open a misformatted config file should fail
assert_raise(ConfigException) {Configure.new(config_file_path('bad_config_missing_colon.txt'))}
# Load a valid config file and check the results
config = Configure.new(config_file_path('config.txt'))
assert_equal('sam:/ann', config['SIP_CALLRESOLVER_LOG_DIR'])
assert_equal('DEBUG', config['SIP_CALLRESOLVER_LOG_LEVEL'])
assert_equal('3:00', config['SIP_CALLRESOLVER_DAILY_START_TIME'])
assert_nil(config['EMPTY_PARAM'], 'Params that are in the file but empty must have nil values')
assert_nil(config['NOT_THERE_PARAM'], 'Params that are not in the file must have nil values')
end
# Given the name of a config_file in the data directory, return the path
# to it.
def config_file_path(config_file)
File.join($thisdir, "data", config_file)
end
end
syntax highlighted by Code2HTML, v. 0.9.1