add test test/test_dereference.py + memoryleaks in optiondescription's cache
[tiramisu.git] / test / test_storage.py
1 # coding: utf-8
2 import autopath
3 #from py.test import raises
4
5 from tiramisu.config import Config
6 from tiramisu.option import BoolOption, OptionDescription
7
8
9 def test_non_persistent():
10     b = BoolOption('b', '')
11     o = OptionDescription('od', '', [b])
12     Config(o, session_id='test_non_persistent')
13
14
15 def test_list():
16     b = BoolOption('b', '')
17     o = OptionDescription('od', '', [b])
18     c = Config(o, session_id='test_non_persistent')
19     from tiramisu.setting import list_sessions
20     assert 'test_non_persistent' in list_sessions()
21     del(c)
22     assert 'test_non_persistent' not in list_sessions()
23
24
25 def test_create_persistent():
26     b = BoolOption('b', '')
27     o = OptionDescription('od', '', [b])
28     try:
29         Config(o, session_id='test_persistent', persistent=True)
30     except ValueError:
31         # storage is not persistent
32         pass
33
34
35 def test_list_sessions_persistent():
36     b = BoolOption('b', '')
37     o = OptionDescription('od', '', [b])
38     try:
39         Config(o, session_id='test_persistent', persistent=True)
40     except ValueError:
41         # storage is not persistent
42         pass
43     else:
44         from tiramisu.setting import list_sessions
45         assert 'test_persistent' in list_sessions()
46
47
48 def test_delete_session_persistent():
49     b = BoolOption('b', '')
50     o = OptionDescription('od', '', [b])
51     try:
52         Config(o, session_id='test_persistent', persistent=True)
53     except ValueError:
54         # storage is not persistent
55         pass
56     else:
57         from tiramisu.setting import list_sessions, delete_session
58         assert 'test_persistent' in list_sessions()
59         delete_session('test_persistent')
60         assert 'test_persistent' not in list_sessions()
61
62
63 def test_create_persistent_retrieve():
64     b = BoolOption('b', '')
65     o = OptionDescription('od', '', [b])
66     try:
67         c = Config(o, session_id='test_persistent', persistent=True)
68     except ValueError:
69         # storage is not persistent
70         pass
71     else:
72         assert c.b is None
73         c.b = True
74         assert c.b is True
75         del(c)
76         c = Config(o, session_id='test_persistent', persistent=True)
77         assert c.b is True
78         from tiramisu.setting import list_sessions, delete_session
79         assert 'test_persistent' in list_sessions()
80         delete_session('test_persistent')
81         c = Config(o, session_id='test_persistent', persistent=True)
82         assert c.b is None
83
84 #recup d'un coté de et l'autre