a469626fbf4a9756e95079bf0e95281cc5d37be3
[gc-dialer] / tests / test_startup.py
1 from __future__ import with_statement
2
3 import os
4 import time
5
6 import test_utils
7
8 import sys
9 sys.path.append("../src")
10
11 import dc_glade
12
13
14 def startup(factory):
15         handle = factory()
16         with test_utils.expected(AssertionError("Attempting login before app is fully loaded")):
17                 handle.refresh_session()
18
19         for i in xrange(10):
20                 if handle._initDone:
21                         print "Completed init on iteration %d" % i
22                         break
23                 time.sleep(1)
24         assert handle._initDone
25
26         with test_utils.expected(RuntimeError("Login Failed")):
27                 handle.refresh_session()
28
29         handle._save_settings()
30
31         del handle
32
33
34 def test_startup_with_no_data_dir_with_dummy_hildon():
35         dc_glade.Dialcentral._data_path = os.path.join(os.path.dirname(__file__), "notexistent_data")
36         dc_glade.Dialcentral._user_settings = "%s/settings.ini" % dc_glade.Dialcentral._data_path
37
38         try:
39                 sys.path.insert(0, "dummy_hildon")
40                 startup(dc_glade.Dialcentral)
41                 sys.path.remove("dummy_hildon")
42         finally:
43                 os.remove(dc_glade.Dialcentral._user_settings)
44                 os.removedirs(dc_glade.Dialcentral._data_path)
45
46
47 def test_startup_with_no_data_dir():
48         dc_glade.Dialcentral._data_path = os.path.join(os.path.dirname(__file__), "notexistent_data")
49         dc_glade.Dialcentral._user_settings = "%s/settings.ini" % dc_glade.Dialcentral._data_path
50
51         try:
52                 startup(dc_glade.Dialcentral)
53         finally:
54                 os.remove(dc_glade.Dialcentral._user_settings)
55                 os.removedirs(dc_glade.Dialcentral._data_path)
56
57
58 def test_startup_with_empty_data_dir():
59         dc_glade.Dialcentral._data_path = os.path.join(os.path.dirname(__file__), "empty_data")
60         dc_glade.Dialcentral._user_settings = "%s/settings.ini" % dc_glade.Dialcentral._data_path
61
62         try:
63                 startup(dc_glade.Dialcentral)
64         finally:
65                 os.remove(dc_glade.Dialcentral._user_settings)
66                 os.removedirs(dc_glade.Dialcentral._data_path)
67
68
69 def test_startup_with_basic_data_dir():
70         dc_glade.Dialcentral._data_path = os.path.join(os.path.dirname(__file__), "basic_data")
71         dc_glade.Dialcentral._user_settings = "%s/settings.ini" % dc_glade.Dialcentral._data_path
72
73         startup(dc_glade.Dialcentral)