usr/src/cmd/text-install/test/test_disk_select.py
changeset 1737 c20116627c69
parent 1121 670325895b19
equal deleted inserted replaced
1736:f46c1e74f99e 1737:c20116627c69
    17 # fields enclosed by brackets "[]" replaced with your own identifying
    17 # fields enclosed by brackets "[]" replaced with your own identifying
    18 # information: Portions Copyright [yyyy] [name of copyright owner]
    18 # information: Portions Copyright [yyyy] [name of copyright owner]
    19 #
    19 #
    20 # CDDL HEADER END
    20 # CDDL HEADER END
    21 #
    21 #
    22 # Copyright (c) 2010, 2011, Oracle and/or its affiliates. All rights reserved.
    22 # Copyright (c) 2010, 2012, Oracle and/or its affiliates. All rights reserved.
    23 #
    23 #
    24 
    24 
    25 '''
    25 '''
    26 To run these tests:
    26 To run these tests:
    27 
    27 
    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))