Ejemplo n.º 1
0
 def test_list_commissioning_choices_returns_sorted(self):
     comm_releases = [
         make_rpc_release(can_commission=True) for _ in range(3)
     ]
     comm_releases += [
         make_rpc_release(
             Config.objects.get_config('commissioning_distro_series'),
             can_commission=True)
     ]
     osystem = make_rpc_osystem('ubuntu', releases=comm_releases)
     comm_releases = sorted(comm_releases, key=itemgetter('title'))
     choices = [(release['name'], release['title'])
                for release in comm_releases]
     self.assertEqual(choices, list_commissioning_choices([osystem]))
Ejemplo n.º 2
0
 def test_list_commissioning_choices_returns_current_selection(self):
     comm_releases = [
         make_rpc_release(can_commission=True) for _ in range(3)
     ]
     osystem = make_rpc_osystem("ubuntu", releases=comm_releases)
     comm_releases = sorted(comm_releases, key=itemgetter("title"))
     commissioning_series, _ = Config.objects.get_or_create(
         name="commissioning_distro_series")
     commissioning_series.value = factory.make_name("commissioning_series")
     commissioning_series.save()
     choices = [(
         commissioning_series.value,
         "%s (No image available)" % commissioning_series.value,
     )] + [(release["name"], release["title"]) for release in comm_releases]
     self.assertEqual(choices, list_commissioning_choices([osystem]))
Ejemplo n.º 3
0
 def test_list_commissioning_choices_returns_commissioning_releases(self):
     comm_releases = [
         make_rpc_release(can_commission=True) for _ in range(3)
     ]
     comm_releases += [
         make_rpc_release(
             Config.objects.get_config('commissioning_distro_series'),
             can_commission=True)
     ]
     no_comm_release = make_rpc_release()
     osystem = make_rpc_osystem('ubuntu',
                                releases=comm_releases + [no_comm_release])
     choices = [(release['name'], release['title'])
                for release in comm_releases]
     self.assertItemsEqual(choices, list_commissioning_choices([osystem]))
Ejemplo n.º 4
0
def make_commissioning_distro_series_field(*args, **kwargs):
    """Build and return the commissioning_distro_series field."""
    usable_oses = list_all_usable_osystems()
    commissioning_choices = list_commissioning_choices(usable_oses)
    if len(commissioning_choices) == 0:
        commissioning_choices = [('---', '--- No Usable Release ---')]
    field = forms.ChoiceField(
        initial=Config.objects.get_config('commissioning_distro_series'),
        choices=commissioning_choices,
        validators=[validate_missing_boot_images],
        error_messages={
            'invalid_choice': compose_invalid_choice_text(
                'commissioning_distro_series', commissioning_choices)
        },
        **kwargs)
    return field
Ejemplo n.º 5
0
 def test_list_commissioning_choices_returns_empty_list_if_not_ubuntu(self):
     osystem = make_rpc_osystem()
     self.assertEqual([], list_commissioning_choices([osystem]))