~launchpad-pqm/launchpad/devel

« back to all changes in this revision

Viewing changes to lib/lp/code/browser/tests/test_sourcepackagerecipe.py

  • Committer: Robert Collins
  • Date: 2011-02-27 19:45:44 UTC
  • mfrom: (12475 launchpad)
  • mto: This revision was merged to the branch mainline in revision 12481.
  • Revision ID: robert@canonical.com-20110227194544-wt0gq1zm7b4s9piw
Merge trunk.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1194
1194
    def test_builds(self):
1195
1195
        """Ensure SourcePackageRecipeView.builds is as described."""
1196
1196
        recipe = self.makeRecipe()
 
1197
        # We create builds in time ascending order (oldest first) since we
 
1198
        # use id as the ordering attribute and lower ids mean created earlier.
1197
1199
        date_gen = time_counter(
1198
 
            datetime(2010, 03, 16, tzinfo=utc), timedelta(days=-1))
 
1200
            datetime(2010, 03, 16, tzinfo=utc), timedelta(days=1))
1199
1201
        build1 = self.makeBuildJob(recipe, date_gen.next())
1200
1202
        build2 = self.makeBuildJob(recipe, date_gen.next())
1201
1203
        build3 = self.makeBuildJob(recipe, date_gen.next())
1204
1206
        build6 = self.makeBuildJob(recipe, date_gen.next())
1205
1207
        view = SourcePackageRecipeView(recipe, None)
1206
1208
        self.assertEqual(
1207
 
            [build1, build2, build3, build4, build5, build6],
 
1209
            [build6, build5, build4, build3, build2, build1],
1208
1210
            view.builds)
1209
1211
 
1210
1212
        def set_status(build, status):
1214
1216
            if status == BuildStatus.FULLYBUILT:
1215
1217
                naked_build.date_finished = (
1216
1218
                    naked_build.date_created + timedelta(minutes=10))
1217
 
        set_status(build1, BuildStatus.FULLYBUILT)
1218
 
        set_status(build2, BuildStatus.FAILEDTOBUILD)
 
1219
        set_status(build6, BuildStatus.FULLYBUILT)
 
1220
        set_status(build5, BuildStatus.FAILEDTOBUILD)
1219
1221
        # When there are 4+ pending builds, only the the most
1220
1222
        # recently-completed build is returned (i.e. build1, not build2)
1221
1223
        self.assertEqual(
1222
 
            [build3, build4, build5, build6, build1],
 
1224
            [build4, build3, build2, build1, build6],
1223
1225
            view.builds)
 
1226
        set_status(build4, BuildStatus.FULLYBUILT)
1224
1227
        set_status(build3, BuildStatus.FULLYBUILT)
1225
 
        set_status(build4, BuildStatus.FULLYBUILT)
1226
 
        set_status(build5, BuildStatus.FULLYBUILT)
1227
 
        set_status(build6, BuildStatus.FULLYBUILT)
 
1228
        set_status(build2, BuildStatus.FULLYBUILT)
 
1229
        set_status(build1, BuildStatus.FULLYBUILT)
1228
1230
        self.assertEqual(
1229
 
            [build1, build2, build3, build4, build5], view.builds)
 
1231
            [build6, build5, build4, build3, build2], view.builds)
1230
1232
 
1231
1233
    def test_request_daily_builds_button_stale(self):
1232
1234
        # Recipes that are stale and are built daily have a build now link
1300
1302
        browser = self.getViewBrowser(recipe)
1301
1303
        browser.getControl('Build now').click()
1302
1304
        login(ANONYMOUS)
1303
 
        builds = recipe.getPendingBuilds()
 
1305
        builds = recipe.pending_builds
1304
1306
        build_distros = [
1305
1307
            build.distroseries.displayname for build in builds]
1306
1308
        build_distros.sort()
1346
1348
        browser.getControl('Request builds').click()
1347
1349
 
1348
1350
        login(ANONYMOUS)
1349
 
        builds = recipe.getPendingBuilds()
 
1351
        builds = recipe.pending_builds
1350
1352
        build_distros = [
1351
1353
            build.distroseries.displayname for build in builds]
1352
1354
        build_distros.sort()