def test_validate_configuration_format_with_missing_section_should_raise(): parser = flexmock() parser.should_receive('sections').and_return(('section', )) config_format = ( module.Section_format('section', options=()), module.Section_format('missing', options=()), ) with assert_raises(ValueError): module.validate_configuration_format(parser, config_format)
def test_validate_configuration_format_with_valid_config_should_not_raise(): parser = flexmock() parser.should_receive('sections').and_return(('section', 'other')) parser.should_receive('options').with_args('section').and_return( ('stuff', )) parser.should_receive('options').with_args('other').and_return(('such', )) config_format = ( module.Section_format( 'section', options=(module.Config_option('stuff', str, required=True), ), ), module.Section_format( 'other', options=(module.Config_option('such', str, required=True), ), ), ) module.validate_configuration_format(parser, config_format)
def test_validate_configuration_format_with_extra_option_should_raise(): parser = flexmock() parser.should_receive('sections').and_return(('section', )) parser.should_receive('options').with_args('section').and_return( ('option', 'extra')) config_format = (module.Section_format( 'section', options=(module.Config_option('option', str, required=True), ), ), ) with assert_raises(ValueError): module.validate_configuration_format(parser, config_format)
def test_validate_configuration_format_with_missing_optional_option_should_not_raise( ): parser = flexmock() parser.should_receive('sections').and_return(('section', )) parser.should_receive('options').with_args('section').and_return( ('option', )) config_format = (module.Section_format( 'section', options=( module.Config_option('option', str, required=True), module.Config_option('missing', str, required=False), ), ), ) module.validate_configuration_format(parser, config_format)
def test_parse_section_options_should_return_section_options(): parser = flexmock() parser.should_receive('get').with_args('section', 'foo').and_return('value') parser.should_receive('getint').with_args('section', 'bar').and_return(1) parser.should_receive('has_option').with_args('section', 'foo').and_return(True) parser.should_receive('has_option').with_args('section', 'bar').and_return(True) section_format = module.Section_format( 'section', ( module.Config_option('foo', str, required=True), module.Config_option('bar', int, required=True), ), ) config = module.parse_section_options(parser, section_format) assert config == OrderedDict(( ('foo', 'value'), ('bar', 1), ))