def test_list_release_choices(self): releases = [make_rpc_release() for _ in range(3)] osystem = make_rpc_osystem(releases=releases) choices = [ self.make_release_choice(osystem, release) for release in releases ] self.assertItemsEqual( choices, list_release_choices(list_all_usable_releases([osystem]), include_default=False))
def test_list_release_choices_includes_requires_key_asterisk(self): factory.make_BootResource(name='windows/win2016') releases = list_all_usable_releases()['windows'] choices = [ self.make_release_choice('windows', release, include_asterisk=True) for release in releases ] self.assertItemsEqual( choices, list_release_choices( list_all_usable_releases(), include_default=False))
def test_list_release_choices(self): for _ in range(3): factory.make_BootResource(name='custom/%s' % factory.make_name()) choices = [ self.make_release_choice('custom', release) for release in list_all_usable_releases()['custom'] ] self.assertItemsEqual( choices, list_release_choices( list_all_usable_releases(), include_default=False))
def test_list_release_choices_sorts(self): releases = [make_rpc_release() for _ in range(3)] osystem = make_rpc_osystem(releases=releases) choices = [ self.make_release_choice(osystem, release) for release in sorted(releases, key=itemgetter('title')) ] self.assertEqual( choices, list_release_choices(list_all_usable_releases([osystem]), include_default=False))
def test_list_release_choices_sorts(self): for _ in range(3): factory.make_BootResource(name='custom/%s' % factory.make_name()) releases = list_all_usable_releases()['custom'] choices = [ self.make_release_choice('custom', release) for release in sorted(releases, key=itemgetter('title')) ] self.assertEqual( choices, list_release_choices( list_all_usable_releases(), include_default=False))
def osinfo(self, params): """Return all available operating systems and releases information.""" releases = list_all_usable_releases() osystems = list_all_usable_osystems(releases) kernels = list_all_usable_hwe_kernels(releases) return { "osystems": list_osystem_choices(osystems, include_default=False), "releases": list_release_choices(releases, include_default=False), "kernels": kernels, "default_osystem": Config.objects.get_config("default_osystem"), "default_release": Config.objects.get_config("default_distro_series"), }
def test_list_release_choices_includes_requires_key_asterisk(self): releases = [ make_rpc_release(requires_license_key=True) for _ in range(3) ] osystem = make_rpc_osystem(releases=releases) choices = [ self.make_release_choice(osystem, release, include_asterisk=True) for release in releases ] self.assertItemsEqual( choices, list_release_choices(list_all_usable_releases([osystem]), include_default=False))
def test_list_release_choices_fallsback_to_name(self): for _ in range(3): factory.make_BootResource(name="custom/%s" % factory.make_name()) releases = list_all_usable_releases()["custom"] for release in releases: release["title"] = "" choices = [ self.make_release_choice("custom", release) for release in releases ] self.assertItemsEqual( choices, list_release_choices(list_all_usable_releases(), include_default=False), )
def test_list_release_with_missing_title(self): releases = [make_rpc_release(name="xenial"), make_rpc_release()] # Simulate missing title releases[-1]["title"] = None bogus_release_name = releases[-1]["name"] for release in releases: factory.make_BootResource( name="ubuntu/" + release["name"], rtype=BOOT_RESOURCE_TYPE.SYNCED, ) self.assertEqual( [ ("ubuntu/xenial", 'Ubuntu 16.04 LTS "Xenial Xerus"'), ("ubuntu/" + bogus_release_name, bogus_release_name), ], list_release_choices(list_all_usable_releases(), include_default=False), )
def test_list_release_choices_doesnt_include_default(self): self.assertEqual([], list_release_choices({}, include_default=False))
def test_list_release_choices_includes_default(self): self.assertEqual( [("", "Default OS Release")], list_release_choices({}, include_default=True), )