[Toaster] [review-request][PATCH 3/3] toaster: Test that exception isn't thrown by project page

Michael Wood michael.g.wood at intel.com
Wed Oct 14 07:10:37 PDT 2015


Thanks - Now pushed to toaster-next and upstream

On 22/09/15 17:41, Elliot Smith wrote:
> Add a test which checks that an exception is no longer thrown
> for the /toastergui/project/X page for the default project.
>
> Note that we still get a spinning dialogue box on this page
> because the default project has no configuration to display,
> but at least it doesn't fail altogether.
>
> [YOCTO #8277]
>
> Signed-off-by: Elliot Smith <elliot.smith at intel.com>
> ---
>   bitbake/lib/toaster/toastergui/tests.py | 33 ++++++++++++++++++++++++++++++++-
>   1 file changed, 32 insertions(+), 1 deletion(-)
>
> diff --git a/bitbake/lib/toaster/toastergui/tests.py b/bitbake/lib/toaster/toastergui/tests.py
> index 4d1549b..437a45b 100644
> --- a/bitbake/lib/toaster/toastergui/tests.py
> +++ b/bitbake/lib/toaster/toastergui/tests.py
> @@ -376,4 +376,35 @@ class ProjectBuildsDisplayTest(TestCase):
>           build2b = Build.objects.create(**self.project2_build_in_progress)
>   
>           build_rows = self._get_rows_for_project(self.project1.id)
> -        self.assertEqual(len(build_rows), 2)
> \ No newline at end of file
> +        self.assertEqual(len(build_rows), 2)
> +
> +class ProjectPageTests(TestCase):
> +    """ Test project data at /project/X/ is displayed correctly """
> +
> +    PROJECT_NAME = 'Command line builds'
> +
> +    def test_command_line_builds_in_progress(self):
> +        """
> +        In progress builds should not cause an error to be thrown
> +        when navigating to "command line builds" project page;
> +        see https://bugzilla.yoctoproject.org/show_bug.cgi?id=8277
> +        """
> +
> +        # add the "command line builds" default project; this mirrors what
> +        # we do in migration 0026_set_default_project.py
> +        default_project = Project.objects.create_project(self.PROJECT_NAME, None)
> +        default_project.is_default = True
> +        default_project.save()
> +
> +        # add an "in progress" build for the default project
> +        now = timezone.now()
> +        build = Build.objects.create(project=default_project,
> +                                     started_on=now,
> +                                     completed_on=now,
> +                                     outcome=Build.IN_PROGRESS)
> +
> +        # navigate to the project page for the default project
> +        url = reverse("project", args=(default_project.id,))
> +        response = self.client.get(url, follow=True)
> +
> +        self.assertEqual(response.status_code, 200)



More information about the toaster mailing list