def test_general_default(self): """ Checks the defaults of the GENERAL section in the parser. """ _cmd_line = [] _args = configuration_parser(_cmd_line) self.assertEqual(self._default.mqtt_local_host, _args.mqtt_local_host) self.assertEqual(self._default.mqtt_local_port, _args.mqtt_local_port) self.assertEqual(self._default.logging_level, _args.logging_level) self.assertEqual(self._default.influxdb_host, _args.influxdb_host) self.assertEqual(self._default.influxdb_port, _args.influxdb_port) self.assertEqual(self._default.gps_location, _args.gps_location)
def test_general_arguments(self): """ Checks the presence of the GENERAL section in the parser. """ _cmd_line = [] _args = configuration_parser(_cmd_line) self.assertIn('mqtt_local_host', _args) self.assertIn('mqtt_local_port', _args) self.assertIn('logging_level', _args) self.assertIn('influxdb_host', _args) self.assertIn('influxdb_port', _args) self.assertIn('gps_location', _args)
def test_command_line_long_partial_override(self): """" Tests if the command line options override the settings in the configuration file (long options). """ for _opt, _par in COMMANDLINE_PARAMETERS.items(): _cmd_line = ['--config-file', str(self._config_file)] _cmd_line.extend( [_par['cmdline'], str(getattr(self._test_options, _opt))]) _args = configuration_parser(_cmd_line) self.assertEqual(getattr(_args, _opt), getattr(self._test_options, _opt)) for _cfg, _val in COMMANDLINE_PARAMETERS.items(): if _cfg == _opt: continue self.assertEqual(getattr(_args, _cfg), getattr(self._test_configuration, _cfg))
def test_general_options(self): """ Tests the parsing of the options in the GENERAL section. """ _cmd_line = ['-c', self._config_file] _args = configuration_parser(_cmd_line) self.assertEqual(self._test.mqtt_local_host, _args.mqtt_local_host) self.assertEqual(self._test.mqtt_local_port, _args.mqtt_local_port) self.assertEqual(self._test.logging_level, _args.logging_level) self.assertEqual(self._test.influxdb_host, _args.influxdb_host) self.assertEqual(self._test.influxdb_port, _args.influxdb_port) self.assertEqual(self._test.gps_location, _args.gps_location) self.assertNotEqual(_args.mqtt_local_host, self._default.mqtt_local_host) self.assertNotEqual(_args.mqtt_local_port, self._default.mqtt_local_port) self.assertNotEqual(_args.logging_level, self._default.logging_level) self.assertNotEqual(_args.influxdb_host, self._default.influxdb_host) self.assertNotEqual(_args.influxdb_port, self._default.influxdb_port) self.assertNotEqual(_args.gps_location, self._default.gps_location)
def test_general_override_options(self): """ Tests if the options in the GENERAL section are overridden by the same options in the specific section. """ _config_specific_override_file = '/tmp/override_config.ini' _f = open(_config_specific_override_file, "w") _f.write("[GENERAL]\n") _f.write("mqtt_local_host = {}\n".format(self._test.mqtt_local_host)) _f.write("mqtt_local_port = {}\n".format(self._test.mqtt_local_port)) _f.write("influxdb_host = {}\n".format(self._test.influxdb_host)) _f.write("influxdb_port = {}\n".format(self._test.influxdb_port)) _f.write("logging_level = {}\n".format(self._test.logging_level)) _f.write("gps_location = {}\n".format(self._test.gps_location)) _f.write("[{:s}]\n".format(APPLICATION_NAME)) _f.write("mqtt_local_host = {}\n".format( self._override.mqtt_local_host)) _f.write("mqtt_local_port = {}\n".format( self._override.mqtt_local_port)) _f.write("influxdb_host = {}\n".format(self._override.influxdb_host)) _f.write("influxdb_port = {}\n".format(self._override.influxdb_port)) _f.write("logging_level = {}\n".format(self._override.logging_level)) _f.write("gps_location = {}\n".format(self._override.gps_location)) _f.close() _cmd_line = ['-c', _config_specific_override_file] _args = configuration_parser(_cmd_line) self.assertEqual(self._override.mqtt_local_host, _args.mqtt_local_host) self.assertEqual(self._override.mqtt_local_port, _args.mqtt_local_port) self.assertEqual(self._override.logging_level, _args.logging_level) self.assertEqual(self._override.influxdb_host, _args.influxdb_host) self.assertEqual(self._override.influxdb_port, _args.influxdb_port) self.assertEqual(self._override.gps_location, _args.gps_location) os.remove(_config_specific_override_file)
def test_command_line_long_override(self): """" Tests if the command line options override the settings in the configuration file (long options). """ _cmd_line = [] _cmd_line.extend(['--config-file', str(self._config_file)]) _cmd_line.extend( ['--mqtt-host', str(self._test_options.mqtt_local_host)]) _cmd_line.extend( ['--mqtt-port', str(self._test_options.mqtt_local_port)]) _cmd_line.extend( ['--influxdb-host', str(self._test_options.influxdb_host)]) _cmd_line.extend( ['--influxdb-port', str(self._test_options.influxdb_port)]) _cmd_line.extend( ['--logging-level', str(self._test_options.logging_level)]) _cmd_line.extend( ['--gps-location', str(self._test_options.gps_location)]) _args = configuration_parser(_cmd_line) self.assertEqual(self._test_options.mqtt_local_host, _args.mqtt_local_host) self.assertEqual(self._test_options.mqtt_local_port, _args.mqtt_local_port) self.assertEqual(self._test_options.logging_level, _args.logging_level) self.assertEqual(self._test_options.influxdb_host, _args.influxdb_host) self.assertEqual(self._test_options.influxdb_port, _args.influxdb_port) self.assertEqual(self._test_options.gps_location, _args.gps_location)