2 from autopath import do_autopath
5 #from py.test import raises
7 from tiramisu.config import Config
8 from tiramisu.option import BoolOption, OptionDescription
9 from tiramisu.setting import owners
10 from tiramisu.storage import list_sessions, delete_session
13 def test_non_persistent():
14 b = BoolOption('b', '')
15 o = OptionDescription('od', '', [b])
16 Config(o, session_id='test_non_persistent')
20 b = BoolOption('b', '')
21 o = OptionDescription('od', '', [b])
22 c = Config(o, session_id='test_non_persistent')
23 c.cfgimpl_get_settings().remove('cache')
24 assert 'test_non_persistent' in list_sessions('config')
26 assert 'test_non_persistent' not in list_sessions('config')
29 def test_create_persistent():
30 b = BoolOption('b', '')
31 o = OptionDescription('od', '', [b])
33 Config(o, session_id='test_persistent', persistent=True)
35 # storage is not persistent
39 def test_list_sessions_persistent():
40 b = BoolOption('b', '')
41 o = OptionDescription('od', '', [b])
43 Config(o, session_id='test_persistent', persistent=True)
45 # storage is not persistent
48 assert 'test_persistent' in list_sessions('config')
51 def test_delete_session_persistent():
52 b = BoolOption('b', '')
53 o = OptionDescription('od', '', [b])
55 Config(o, session_id='test_persistent', persistent=True)
57 # storage is not persistent
60 assert 'test_persistent' in list_sessions('config')
61 delete_session('test_persistent')
62 assert 'test_persistent' not in list_sessions('config')
65 def test_create_persistent_retrieve():
66 b = BoolOption('b', '')
67 o = OptionDescription('od', '', [b])
69 c = Config(o, session_id='test_persistent', persistent=True)
70 c.cfgimpl_get_settings().remove('cache')
72 # storage is not persistent
79 c = Config(o, session_id='test_persistent', persistent=True)
80 c.cfgimpl_get_settings().remove('cache')
82 assert 'test_persistent' in list_sessions('config')
83 delete_session('test_persistent')
84 c = Config(o, session_id='test_persistent', persistent=True)
85 c.cfgimpl_get_settings().remove('cache')
87 delete_session('test_persistent')
90 def test_two_persistent():
91 b = BoolOption('b', '')
92 o = OptionDescription('od', '', [b])
94 c = Config(o, session_id='test_persistent', persistent=True)
95 c.cfgimpl_get_settings().remove('cache')
97 # storage is not persistent
100 c2 = Config(o, session_id='test_persistent', persistent=True)
101 c2.cfgimpl_get_settings().remove('cache')
110 delete_session('test_persistent')
113 def test_two_persistent_owner():
114 b = BoolOption('b', '')
115 o = OptionDescription('od', '', [b])
117 c = Config(o, session_id='test_persistent', persistent=True)
118 c.cfgimpl_get_settings().remove('cache')
120 # storage is not persistent
123 c2 = Config(o, session_id='test_persistent', persistent=True)
124 c2.cfgimpl_get_settings().remove('cache')
125 owners.addowner('persistent')
126 assert c.getowner(b) == owners.default
127 assert c2.getowner(b) == owners.default
129 assert c.getowner(b) == owners.user
130 assert c2.getowner(b) == owners.user
131 c.cfgimpl_get_values().setowner(b, owners.persistent)
132 assert c.getowner(b) == owners.persistent
133 assert c2.getowner(b) == owners.persistent
134 delete_session('test_persistent')
137 def test_two_persistent_information():
138 b = BoolOption('b', '')
139 o = OptionDescription('od', '', [b])
141 c = Config(o, session_id='test_persistent', persistent=True)
142 c.cfgimpl_get_settings().remove('cache')
144 # storage is not persistent
147 c.impl_set_information('info', 'string')
148 assert c.impl_get_information('info') == 'string'
149 c2 = Config(o, session_id='test_persistent', persistent=True)
150 c2.cfgimpl_get_settings().remove('cache')
151 c2.cfgimpl_get_settings().remove('cache')
152 assert c2.impl_get_information('info') == 'string'
153 delete_session('test_persistent')