def test_pressButtonJobStarted(self):
     # If the job has started, we display a notification saying so.
     code_import_id, branch_url = self.getNewCodeImportIDAndBranchURL()
     user_browser = self.getUserBrowser(branch_url)
     self.startJob(code_import_id)
     user_browser.getControl('Import Now').click()
     self.assertEqual(
         [u'The import is already running.'],
         get_feedback_messages(user_browser.contents))
Example #2
0
 def test_bug_alsoaffects_spn_exists(self):
     # If the source package name exists, there is no error.
     bug = self.factory.makeBug()
     spn = self.factory.makeSourcePackageName()
     browser = self.openBugPage(bug)
     browser.getLink(url='+distrotask').click()
     browser.getControl('Distribution').value = [self.distribution.name]
     browser.getControl('Source Package Name').value = spn.name
     browser.getControl('Continue').click()
     self.assertEqual([], get_feedback_messages(browser.contents))
 def test_pressButtonJobDeleted(self):
     # If the import job has been deleled, for example because the code
     # import has been suspended, we display a notification saying this.
     code_import_id, branch_url = self.getNewCodeImportIDAndBranchURL()
     user_browser = self.getUserBrowser(branch_url)
     self.deleteJob(code_import_id)
     user_browser.getControl('Import Now').click()
     self.assertEqual(
         [u'This import is no longer being updated automatically.'],
         get_feedback_messages(user_browser.contents))
 def test_pressButtonImportAlreadyRequested(self):
     # If the import has been requested by another user, we display a
     # notification saying who it was.
     code_import_id, branch_url = self.getNewCodeImportIDAndBranchURL()
     user_browser = self.getUserBrowser(branch_url)
     self.requestJobByUserWithDisplayName(code_import_id, "New User")
     user_browser.getControl('Import Now').click()
     self.assertEqual(
         [u'The import has already been requested by New User.'],
         get_feedback_messages(user_browser.contents))
Example #5
0
 def test_create_new_livefs_invalid_metadata(self):
     # The metadata field must contain valid JSON.
     browser = self.getViewBrowser(self.person,
                                   view_name="+new-livefs",
                                   user=self.person)
     browser.getControl("Name").value = "ubuntu-core"
     browser.getControl("Live filesystem build metadata").value = "{"
     browser.getControl("Create live filesystem").click()
     json_error = str(self.assertRaises(ValueError, json.loads, "{"))
     self.assertEqual(json_error,
                      get_feedback_messages(browser.contents)[1])
Example #6
0
 def assertNotifications(self, ppa, notification, person=None):
     # Assert that while requesting a 'ppa' page as 'person', the
     # 'notification' appears.
     if person is not None:
         login_person(ppa.owner)
         principal = LaunchpadPrincipal(ppa.owner.account.id,
                                        ppa.owner.displayname,
                                        ppa.owner.displayname, ppa.owner)
     else:
         principal = None
     page = create_initialized_view(ppa, "+packages",
                                    principal=principal).render()
     notifications = get_feedback_messages(page)
     self.assertIn(notification, notifications)
 def assertNotifications(self, ppa, notification, person=None):
     # Assert that while requesting a 'ppa' page as 'person', the
     # 'notification' appears.
     if person is not None:
         login_person(ppa.owner)
         principal = LaunchpadPrincipal(
             ppa.owner.account.id, ppa.owner.displayname,
             ppa.owner.displayname, ppa.owner)
     else:
         principal = None
     page = create_initialized_view(
         ppa, "+packages", principal=principal).render()
     notifications = get_feedback_messages(page)
     self.assertIn(notification, notifications)
Example #8
0
 def test_bug_alsoaffects_spn_not_exists_with_no_binaries(self):
     # When the distribution has no binary packages published, we can't.
     bug = self.factory.makeBug()
     browser = self.openBugPage(bug)
     browser.getLink(url='+distrotask').click()
     browser.getControl('Distribution').value = [self.distribution.name]
     browser.getControl('Source Package Name').value = 'does-not-exist'
     browser.getControl('Continue').click()
     expected = [
         u'There is 1 error.',
         u'There is no package in %s named "does-not-exist". Launchpad '
         'does not track binary package names in %s.' % (
             self.distribution.displayname,
             self.distribution.displayname)]
     self.assertEqual(expected, get_feedback_messages(browser.contents))
 def test_bug_alsoaffects_spn_exists(self):
     # If a source package is published to a main archive with the given
     # name, there is no error.
     bug = self.factory.makeBug()
     distroseries = self.factory.makeDistroSeries(
         distribution=self.distribution)
     dsp1 = self.factory.makeDSPCache(distroseries=distroseries)
     with person_logged_in(bug.owner):
         bug.addTask(bug.owner, dsp1)
     dsp2 = self.factory.makeDSPCache(distroseries=distroseries)
     spn = dsp2.sourcepackagename
     browser = self.openBugPage(bug)
     browser.getLink(url='+distrotask').click()
     browser.getControl('Distribution').value = [self.distribution.name]
     browser.getControl('Source Package Name').value = spn.name
     browser.getControl('Continue').click()
     self.assertEqual([], get_feedback_messages(browser.contents))
 def test_bug_alsoaffects_spn_exists_dsp_picker_feature_flag(self):
     # If the distribution source package for an spn is official,
     # there is no error.
     bug = self.factory.makeBug()
     distroseries = self.factory.makeDistroSeries(
         distribution=self.distribution)
     dsp1 = self.factory.makeDSPCache(distroseries=distroseries)
     with person_logged_in(bug.owner):
         bug.addTask(bug.owner, dsp1)
     dsp2 = self.factory.makeDSPCache(distroseries=distroseries,
                                      sourcepackagename='snarf')
     with FeatureFixture({u"disclosure.dsp_picker.enabled": u"on"}):
         browser = self.openBugPage(bug)
         browser.getLink(url='+distrotask').click()
         browser.getControl('Distribution').value = [self.distribution.name]
         browser.getControl('Source Package Name').value = dsp2.name
         browser.getControl('Continue').click()
     self.assertEqual([], get_feedback_messages(browser.contents))
Example #11
0
 def test_bug_alsoaffects_spn_not_exists_with_published_binaries(self):
     # When the distribution has published binaries, we search both
     # source and binary package names.
     bug = self.factory.makeBug()
     distroseries = self.factory.makeDistroSeries(
         distribution=self.distribution)
     das = self.factory.makeDistroArchSeries(distroseries=distroseries)
     self.factory.makeBinaryPackagePublishingHistory(
         distroarchseries=das, status=PackagePublishingStatus.PUBLISHED)
     self.assertTrue(self.distribution.has_published_binaries)
     browser = self.openBugPage(bug)
     browser.getLink(url='+distrotask').click()
     browser.getControl('Distribution').value = [self.distribution.name]
     browser.getControl('Source Package Name').value = 'does-not-exist'
     browser.getControl('Continue').click()
     expected = [
         u'There is 1 error.',
         u'There is no package in %s named "does-not-exist".' % (
             self.distribution.displayname)]
     self.assertEqual(expected, get_feedback_messages(browser.contents))