def load_config(self): self._config = load_config(self.options.config or 'vsmtpd.cfg', { 'vsmtpd': { 'port': 25, 'interface': None, 'backlog': 50, 'workers': 0, 'size_limit': 0, 'helo_host': None, 'connection_limit': 100, 'spool_dir': '/var/spool/vsmtpd', 'keyfile': None, 'certfile': None, 'cert_reqs': None, # FIXME: Provide a default secure (SSLV3/TLSV1) cipher setup 'ssl_version': None, 'ca_certs': None, 'suppress_ragged_eofs': None, 'do_handshake_on_connect': None, # FIXME: Provide a default secure (SSLV3/TLSV1) cipher setup 'ciphers': None, 'plugin_path': '/usr/share/vsmtpd/plugins' } }) self.config = ConfigWrapper(self._config, 'vsmtpd')
def config(self, name, defaults=None): """ Loads a configuration file using SafeConfigParser and returns the resulting Config object. :param name: The name of the configuration file :type name: str """ return load_config(name, defaults)
def test_plugin_config(self): plugin_cfg = self.plugin.config('test', {'test': {'test1': 1}}) config = load_config('test', {'test': {'test1': 1}}) self.assertEqual(plugin_cfg.has_section('test'), config.has_section('test')) self.assertEqual(plugin_cfg.has_section('missing'), config.has_section('missing')) self.assertEqual(plugin_cfg.get('test', 'test1'), config.get('test', 'test1'))
def test_config_wrapper(self): path = os.path.join(os.path.dirname(__file__), 'test_config.cfg') config = ConfigWrapper(load_config(path), 'vsmtpd') self.assertEqual(config.get('helo_host'), 'smtp.example.com') self.assertEqual(config.getint('port'), 25) self.assertEqual(config.getfloat('float'), 3.123) self.assertEqual(config.getboolean('ssl'), True) self.assertTrue(config.has_option('backlog')) items = [ ('port', '25'), ('workers', '4'), ('backlog', '250'), ('helo_host', 'smtp.example.com'), ('ssl', 'true'), ('float', '3.123') ] options = [i[0] for i in items] self.assertEqual(config.items(), items) self.assertEqual(config.options(), options) self.assertTrue('port' in config) config.set('backlog', '150') self.assertEqual(config.getint('backlog'), 150)