def test_set_config_only_default_osystem_are_valid_for_distro_series(self): self.become_admin() default_osystem = make_osystem_with_releases(self) other_osystem = make_osystem_with_releases(self) patch_usable_osystems(self, [default_osystem, other_osystem]) Config.objects.set_config("default_osystem", default_osystem['name']) invalid_release = other_osystem['releases'][0]['name'] response = self.client.post( reverse('maas_handler'), { "op": "set_config", "name": "default_distro_series", "value": invalid_release, }) self.assertEqual(http.client.BAD_REQUEST, response.status_code, response.content)
def test_starts_with_default_distro_series(self): self.client_log_in() node = factory.make_Node(owner=self.logged_in_user) osystems = [make_osystem_with_releases(self) for _ in range(5)] patch_usable_osystems(self, osystems) form = MachineForm(instance=node) self.assertEqual('', form.fields['distro_series'].initial)
def test_starts_with_default_osystem(self): user = factory.make_User() self.client.login(user=user) node = factory.make_Node(owner=user) osystems = [make_osystem_with_releases(self) for _ in range(5)] patch_usable_osystems(self, osystems) form = MachineForm(instance=node) self.assertEqual('', form.fields['osystem'].initial)
def test_Deploy_doesnt_set_osystem_and_series_if_series_missing(self): user = factory.make_User() node = factory.make_Node(interface=True, status=NODE_STATUS.ALLOCATED, power_type='manual', owner=user) mock_get_curtin_config = self.patch(node_action_module, 'get_curtin_config') mock_node_start = self.patch(node, 'start') osystem = make_osystem_with_releases(self) extra = { "osystem": osystem["name"], } Deploy(node, user).execute(**extra) self.expectThat(mock_get_curtin_config, MockCalledOnceWith(node)) self.expectThat(mock_node_start, MockCalledOnceWith(user)) self.expectThat(node.osystem, Equals("")) self.expectThat(node.distro_series, Equals(""))
def test_osinfo(self): handler = GeneralHandler(factory.make_User(), {}) osystem = make_osystem_with_releases(self) releases = [("%s/%s" % (osystem["name"], release["name"]), release["title"]) for release in osystem["releases"]] self.patch(general, "list_osystem_choices").return_value = [ (osystem["name"], osystem["title"]), ] self.patch(general, "list_release_choices").return_value = releases expected_osinfo = { "osystems": [ (osystem["name"], osystem["title"]), ], "releases": releases, "kernels": {}, "default_osystem": Config.objects.get_config("default_osystem"), "default_release": Config.objects.get_config("default_distro_series"), } self.assertEqual(expected_osinfo, handler.osinfo({}))