Ejemplo n.º 1
0
 def test_show_complete(self):
     view = self.make_view()
     btn = view_helpers.find_button_matching(view, "^Reboot Now$")
     self.assertIs(btn, None)
     view.update_for_state(ApplicationState.DONE)
     btn = view_helpers.find_button_matching(view, "^Reboot Now$")
     self.assertIsNot(btn, None)
     view_helpers.click(btn)
     view.controller.click_reboot.assert_called_once_with()
Ejemplo n.º 2
0
 def test_show_complete(self):
     view = self.make_view()
     btn = view_helpers.find_button_matching(view, "^Reboot Now$")
     self.assertIs(btn, None)
     view.show_complete()
     btn = view_helpers.find_button_matching(view, "^Reboot Now$")
     self.assertIsNot(btn, None)
     view_helpers.click(btn)
     view.controller.reboot.assert_called_once_with()
Ejemplo n.º 3
0
 def test_basic(self):
     # Clicking the button for a language calls "switch_language"
     # on the model and "done" on the controller.
     view = self.make_view_with_languages([('code', 'native')])
     but = view_helpers.find_button_matching(view, "^native$")
     view_helpers.click(but)
     view.controller.done.assert_called_once_with('code')
Ejemplo n.º 4
0
    def test_click_done(self):
        # The ugliness of this test is probably an indication that the
        # view is doing too much...
        dev_info = create_test_instance(NetDevInfo,
                                        overrides={'static4.addresses': []})
        view, stretchy = self.make_view(dev_info)
        valid_data = {
            'subnet': '10.0.2.0/24',
            'address': '10.0.2.15',
            'gateway': '10.0.2.2',
            'nameservers': '8.8.8.8, 1.1.1.1',
            'searchdomains': '.custom, .zzz',
        }
        view_helpers.enter_data(stretchy.manual_form, valid_data)

        expected = StaticConfig(addresses=['10.0.2.15/24'],
                                gateway='10.0.2.2',
                                nameservers=['8.8.8.8', '1.1.1.1'],
                                searchdomains=['.custom', '.zzz'])

        but = view_helpers.find_button_matching(view, "^Save$")
        view_helpers.click(but)

        view.controller.set_static_config.assert_called_once_with(
            stretchy.dev_info.name, 4, expected)
Ejemplo n.º 5
0
 def test_delete_not_disabled_for_ordinary_partition(self):
     view = self.make_view(Partition(size=50 * (2**20)))
     but, path = view_helpers.find_button_matching(view,
                                                   "Delete",
                                                   return_path=True)
     self.assertIsNotNone(but)
     for w in path:
         if isinstance(w, urwid.WidgetDisable):
             self.fail("Delete button is disabled")
Ejemplo n.º 6
0
 def c(pat):
     but = view_helpers.find_button_matching(self.common['ui'], '.*' + pat + '.*')
     if not but:
         ss.wait_count += 1
         if ss.wait_count > 10:
             raise Exception("no button found matching %r after waiting for 10 secs"%(pat,))
         wait(1, func=lambda : c(pat))
         return
     ss.wait_count = 0
     view_helpers.click(but)
Ejemplo n.º 7
0
 def test_delete_disabled_for_boot_partition(self):
     view = self.make_view(Partition(size=50, flag="boot"))
     but, path = view_helpers.find_button_matching(view,
                                                   "Delete",
                                                   return_path=True)
     self.assertIsNotNone(but)
     for w in path:
         if isinstance(w, urwid.WidgetDisable):
             return
     else:
         self.fail("Delete button not disabled")
Ejemplo n.º 8
0
    def test_click_done(self):
        view = self.make_view()
        view_helpers.enter_data(view.form, valid_data)
        CRYPTED = '<crypted>'
        view.model.encrypt_password.side_effect = lambda p: CRYPTED
        expected = valid_data.copy()
        expected['password'] = expected['confirm_password'] = CRYPTED

        done_btn = view_helpers.find_button_matching(view, "^Done$")
        view_helpers.click(done_btn)

        view.controller.create_user.assert_called_once_with(expected)
Ejemplo n.º 9
0
 def test_click_done(self):
     view = self.make_view()
     CRYPTED = '<crypted>'
     with mock.patch('subiquity.ui.views.identity.crypt_password') as cp:
         cp.side_effect = lambda p: CRYPTED
         view_helpers.enter_data(view.form, valid_data)
         done_btn = view_helpers.find_button_matching(view, "^Done$")
         view_helpers.click(done_btn)
     expected = IdentityData(realname=valid_data['realname'],
                             username=valid_data['username'],
                             hostname=valid_data['hostname'],
                             crypted_password=CRYPTED)
     view.controller.done.assert_called_once_with(expected)
    def test_click_done(self):
        # The ugliness of this test is probably an indication that the
        # view is doing too much...
        view = self.make_view()
        view_helpers.enter_data(view.form, valid_data)

        expected = valid_data.copy()
        expected['nameservers'] = [expected['nameservers']]
        expected['searchdomains'] = [expected['searchdomains']]
        expected['network'] = expected.pop('subnet')

        but = view_helpers.find_button_matching(view, "^Save$")
        view_helpers.click(but)

        view.dev.remove_ip_networks_for_version.assert_called_once_with(4)
        view.dev.remove_nameservers.assert_called_once_with()
        view.dev.add_network.assert_called_once_with(4, expected)
Ejemplo n.º 11
0
 def test_click_delete_button(self):
     partition = Partition(size=50 * (2**20))
     view = self.make_view(partition)
     but = view_helpers.find_button_matching(view, "Delete")
     view_helpers.click(but)
     view.controller.delete_partition.assert_called_once_with(partition)
Ejemplo n.º 12
0
 def test_no_delete_for_new_partition(self):
     view = self.make_view()
     self.assertIsNone(view_helpers.find_button_matching(view, "Delete"))
Ejemplo n.º 13
0
 def test_click_back(self):
     view = self.make_view()
     button = view_helpers.find_button_matching(view, "^Back$")
     view_helpers.click(button)
     view.controller.cancel.assert_called_once_with()
Ejemplo n.º 14
0
 def test_click_manual(self):
     view = self.make_view()
     button = view_helpers.find_button_matching(view, "^Manual$")
     view_helpers.click(button)
     view.controller.manual.assert_called_once_with()
Ejemplo n.º 15
0
 def test_click_guided(self):
     view = self.make_view()
     button = view_helpers.find_button_matching(view,
                                                "^Use An Entire Disk$")
     view_helpers.click(button)
     view.controller.guided.assert_called_once_with()