test_project_page.py 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. #! /usr/bin/env python
  2. #
  3. # BitBake Toaster Implementation
  4. #
  5. # Copyright (C) 2013-2016 Intel Corporation
  6. #
  7. # SPDX-License-Identifier: GPL-2.0-only
  8. #
  9. from django.core.urlresolvers import reverse
  10. from django.utils import timezone
  11. from tests.browser.selenium_helpers import SeleniumTestCase
  12. from orm.models import Build, Project
  13. class TestProjectPage(SeleniumTestCase):
  14. """ Test project data at /project/X/ is displayed correctly """
  15. CLI_BUILDS_PROJECT_NAME = 'Command line builds'
  16. def test_cli_builds_in_progress(self):
  17. """
  18. In progress builds should not cause an error to be thrown
  19. when navigating to "command line builds" project page;
  20. see https://bugzilla.yoctoproject.org/show_bug.cgi?id=8277
  21. """
  22. # add the "command line builds" default project; this mirrors what
  23. # we do with get_or_create_default_project()
  24. default_project = Project.objects.create_project(self.CLI_BUILDS_PROJECT_NAME, None)
  25. default_project.is_default = True
  26. default_project.save()
  27. # add an "in progress" build for the default project
  28. now = timezone.now()
  29. Build.objects.create(project=default_project,
  30. started_on=now,
  31. completed_on=now,
  32. outcome=Build.IN_PROGRESS)
  33. # navigate to the project page for the default project
  34. url = reverse("project", args=(default_project.id,))
  35. self.get(url)
  36. # check that we get a project page with the correct heading
  37. project_name = self.find('.project-name').text.strip()
  38. self.assertEqual(project_name, self.CLI_BUILDS_PROJECT_NAME)