45 |
45 |
46 import solaris_install.text_install.disk_selection as disk_selection |
46 import solaris_install.text_install.disk_selection as disk_selection |
47 import terminalui |
47 import terminalui |
48 from terminalui.base_screen import BaseScreen |
48 from terminalui.base_screen import BaseScreen |
49 from solaris_install.engine.test.engine_test_utils import \ |
49 from solaris_install.engine.test.engine_test_utils import \ |
50 get_new_engine_instance |
50 get_new_engine_instance, reset_engine |
51 from solaris_install.target.size import Size |
51 from solaris_install.target.size import Size |
52 |
52 |
53 terminalui.init_logging("test") |
53 terminalui.init_logging("test") |
54 BaseScreen.set_default_quit_text("test", "test", "test", "test") |
54 BaseScreen.set_default_quit_text("test", "test", "test", "test") |
55 |
55 |
56 |
56 |
57 class MockCenterWin(object): |
57 class MockCenterWin(object): |
58 '''Mocks an InnerWindow as used by a MainWindow''' |
58 '''Mocks an InnerWindow as used by a MainWindow''' |
59 |
59 |
60 def add_paragraph(self, *args, **kwargs): |
60 def add_paragraph(self, *args, **kwargs): |
61 pass |
61 pass |
62 |
62 |
63 |
63 |
64 class MockAll(object): |
64 class MockAll(object): |
65 '''Generic Mock object that 'never' raises an AttributeError''' |
65 '''Generic Mock object that 'never' raises an AttributeError''' |
66 |
66 |
67 def __getattr__(self, name): |
67 def __getattr__(self, name): |
68 return self |
68 return self |
69 |
69 |
70 def __call__(self, *args, **kwargs): |
70 def __call__(self, *args, **kwargs): |
71 return None |
71 return None |
72 |
72 |
73 |
73 |
74 class MockTC(object): |
74 class MockTC(object): |
78 recommended_target_size = Size("6gb") |
78 recommended_target_size = Size("6gb") |
79 |
79 |
80 |
80 |
81 class DiskSelectTest(unittest.TestCase): |
81 class DiskSelectTest(unittest.TestCase): |
82 '''Test the DiskScreen''' |
82 '''Test the DiskScreen''' |
83 |
83 |
84 def setUp(self): |
84 def setUp(self): |
85 self.engine = get_new_engine_instance() |
85 self.engine = get_new_engine_instance() |
86 self.screen = disk_selection.DiskScreen(MockAll(), MockTC()) |
86 self.screen = disk_selection.DiskScreen(MockAll(), MockTC()) |
87 self.screen.disk_win = MockAll() |
87 self.screen.disk_win = MockAll() |
88 |
88 |
|
89 def tearDown(self): |
|
90 reset_engine() |
|
91 |
89 def test_size_line(self): |
92 def test_size_line(self): |
90 '''Ensure that DiskScreen._size_line is created and is a string after |
93 '''Ensure that DiskScreen._size_line is created and is a string after |
91 calling get_size_line. Also verify that subsequent calls do not modify |
94 calling get_size_line. Also verify that subsequent calls do not modify |
92 the _size_line |
95 the _size_line |
93 |
96 |
94 ''' |
97 ''' |
95 self.assertTrue(self.screen._size_line is None) |
98 self.assertTrue(self.screen._size_line is None) |
96 self.screen.get_size_line() |
99 self.screen.get_size_line() |
97 self.assertTrue(isinstance(self.screen._size_line, basestring)) |
100 self.assertTrue(isinstance(self.screen._size_line, basestring)) |
98 |
101 |
99 obj = object() |
102 obj = object() |
100 self.screen._size_line = obj |
103 self.screen._size_line = obj |
101 self.screen.get_size_line() |
104 self.screen.get_size_line() |
102 self.assertTrue(obj is self.screen._size_line) |
105 self.assertTrue(obj is self.screen._size_line) |
103 |
106 |
104 def test_determine_size_data(self): |
107 def test_determine_size_data(self): |
105 '''Ensure that recommended_size and minimum_size are accessible after |
108 '''Ensure that recommended_size and minimum_size are accessible after |
106 a call to determine_size_data(), and that they are numbers''' |
109 a call to determine_size_data(), and that they are numbers''' |
107 |
110 |
108 self.assertTrue(self.screen._recommended_size is None) |
111 self.assertTrue(self.screen._recommended_size is None) |
109 self.assertTrue(self.screen._minimum_size is None) |
112 self.assertTrue(self.screen._minimum_size is None) |
110 self.screen.determine_size_data() |
113 self.screen.determine_size_data() |
111 self.assertTrue(isinstance(self.screen.minimum_size, Size)) |
114 self.assertTrue(isinstance(self.screen.minimum_size, Size)) |
112 self.assertTrue(isinstance(self.screen.recommended_size, Size)) |
115 self.assertTrue(isinstance(self.screen.recommended_size, Size)) |