def test_get_item_and_get_section_should_handle_str_paths( simple_config, plain_config): assert simple_config.get_item( 'uploads.db.user') is simple_config.uploads.db.user assert simple_config.get_section('uploads.db') is simple_config.uploads.db assert plain_config.get_item( 'uploads.db.user').value == plain_config.uploads.db.user assert plain_config.get_section('uploads.db') is plain_config.uploads.db custom = Config({'main': simple_config}, str_path_separator='/') assert custom.main.uploads.db.user.is_item with pytest.raises(NotFound): assert custom.get_item('main.uploads.db.user').is_item assert custom.get_item('main/uploads/db/user').is_item
def test_get_item_and_get_section_for_rich_config(): config = Config({'uploads': Section({'db': Section({'user': '******'})})}) assert config.get_section('uploads').is_section assert config.get_section('uploads', 'db').is_section assert config.uploads.get_section('db').is_section assert config.get_item('uploads', 'db', 'user').is_item assert config.uploads.db.get_item('user').is_item with pytest.raises(NotFound): config.get_item('downloads') with pytest.raises(NotFound): config.get_section('downloads') with pytest.raises(NotFound): config.get_item('uploads', 'tmp_dir') with pytest.raises(NotFound): config.get_section('uploads', 'tmp_dir')