3 #from py.test import raises
5 from tiramisu.config import Config
6 from tiramisu.option import BoolOption, OptionDescription
7 from tiramisu.setting import owners
8 from tiramisu.storage import list_sessions, delete_session
11 def test_non_persistent():
12 b = BoolOption('b', '')
13 o = OptionDescription('od', '', [b])
14 Config(o, session_id='test_non_persistent')
18 b = BoolOption('b', '')
19 o = OptionDescription('od', '', [b])
20 c = Config(o, session_id='test_non_persistent')
21 assert 'test_non_persistent' in list_sessions()
23 assert 'test_non_persistent' not in list_sessions()
26 def test_create_persistent():
27 b = BoolOption('b', '')
28 o = OptionDescription('od', '', [b])
30 Config(o, session_id='test_persistent', persistent=True)
32 # storage is not persistent
36 def test_list_sessions_persistent():
37 b = BoolOption('b', '')
38 o = OptionDescription('od', '', [b])
40 Config(o, session_id='test_persistent', persistent=True)
42 # storage is not persistent
45 assert 'test_persistent' in list_sessions()
48 def test_delete_session_persistent():
49 b = BoolOption('b', '')
50 o = OptionDescription('od', '', [b])
52 Config(o, session_id='test_persistent', persistent=True)
54 # storage is not persistent
57 assert 'test_persistent' in list_sessions()
58 delete_session('test_persistent')
59 assert 'test_persistent' not in list_sessions()
62 def test_create_persistent_retrieve():
63 b = BoolOption('b', '')
64 o = OptionDescription('od', '', [b])
66 c = Config(o, session_id='test_persistent', persistent=True)
68 # storage is not persistent
75 c = Config(o, session_id='test_persistent', persistent=True)
77 assert 'test_persistent' in list_sessions()
78 delete_session('test_persistent')
79 c = Config(o, session_id='test_persistent', persistent=True)
81 delete_session('test_persistent')
84 def test_two_persistent():
85 b = BoolOption('b', '')
86 o = OptionDescription('od', '', [b])
88 c = Config(o, session_id='test_persistent', persistent=True)
90 # storage is not persistent
93 c2 = Config(o, session_id='test_persistent', persistent=True)
102 delete_session('test_persistent')
105 def test_two_persistent_owner():
106 b = BoolOption('b', '')
107 o = OptionDescription('od', '', [b])
109 c = Config(o, session_id='test_persistent', persistent=True)
111 # storage is not persistent
114 c2 = Config(o, session_id='test_persistent', persistent=True)
115 owners.addowner('persistent')
116 assert c.getowner(b) == owners.default
117 assert c2.getowner(b) == owners.default
119 assert c.getowner(b) == owners.user
120 assert c2.getowner(b) == owners.user
121 c.cfgimpl_get_values().setowner(b, owners.persistent)
122 assert c.getowner(b) == owners.persistent
123 assert c2.getowner(b) == owners.persistent
124 delete_session('test_persistent')
127 def test_two_persistent_information():
128 b = BoolOption('b', '')
129 o = OptionDescription('od', '', [b])
131 c = Config(o, session_id='test_persistent', persistent=True)
133 # storage is not persistent
136 c.impl_set_information('info', 'string')
137 assert c.impl_get_information('info') == 'string'
138 c2 = Config(o, session_id='test_persistent', persistent=True)
139 assert c2.impl_get_information('info') == 'string'
140 delete_session('test_persistent')