# coding: utf-8 import autopath #from py.test import raises from tiramisu.config import Config from tiramisu.option import BoolOption, OptionDescription from tiramisu.setting import owners from tiramisu.setting import list_sessions, delete_session def test_non_persistent(): b = BoolOption('b', '') o = OptionDescription('od', '', [b]) Config(o, session_id='test_non_persistent') def test_list(): b = BoolOption('b', '') o = OptionDescription('od', '', [b]) c = Config(o, session_id='test_non_persistent') from tiramisu.setting import list_sessions assert 'test_non_persistent' in list_sessions() del(c) assert 'test_non_persistent' not in list_sessions() def test_create_persistent(): b = BoolOption('b', '') o = OptionDescription('od', '', [b]) try: Config(o, session_id='test_persistent', persistent=True) except ValueError: # storage is not persistent pass def test_list_sessions_persistent(): b = BoolOption('b', '') o = OptionDescription('od', '', [b]) try: Config(o, session_id='test_persistent', persistent=True) except ValueError: # storage is not persistent pass else: from tiramisu.setting import list_sessions assert 'test_persistent' in list_sessions() def test_delete_session_persistent(): b = BoolOption('b', '') o = OptionDescription('od', '', [b]) try: Config(o, session_id='test_persistent', persistent=True) except ValueError: # storage is not persistent pass else: assert 'test_persistent' in list_sessions() delete_session('test_persistent') assert 'test_persistent' not in list_sessions() def test_create_persistent_retrieve(): b = BoolOption('b', '') o = OptionDescription('od', '', [b]) try: c = Config(o, session_id='test_persistent', persistent=True) except ValueError: # storage is not persistent pass else: assert c.b is None c.b = True assert c.b is True del(c) c = Config(o, session_id='test_persistent', persistent=True) assert c.b is True assert 'test_persistent' in list_sessions() delete_session('test_persistent') c = Config(o, session_id='test_persistent', persistent=True) assert c.b is None delete_session('test_persistent') def test_two_persistent(): b = BoolOption('b', '') o = OptionDescription('od', '', [b]) try: c = Config(o, session_id='test_persistent', persistent=True) except ValueError: # storage is not persistent pass else: c2 = Config(o, session_id='test_persistent', persistent=True) assert c.b is None assert c2.b is None c.b = False assert c.b is False assert c2.b is False c.b = True assert c.b is True assert c2.b is True delete_session('test_persistent') def test_two_persistent_owner(): b = BoolOption('b', '') o = OptionDescription('od', '', [b]) try: c = Config(o, session_id='test_persistent', persistent=True) except ValueError: # storage is not persistent pass else: c2 = Config(o, session_id='test_persistent', persistent=True) owners.addowner('persistent') assert c.getowner(b) == owners.default assert c2.getowner(b) == owners.default c.b = False assert c.getowner(b) == owners.user assert c2.getowner(b) == owners.user c.cfgimpl_get_values().setowner(b, owners.persistent) assert c.getowner(b) == owners.persistent assert c2.getowner(b) == owners.persistent delete_session('test_persistent')