Re: [Launchpad-reviewers] [Merge] lp:~cjwatson/launchpad/snap-delete-with-builds into lp:launchpad

2016-10-19 Thread Maximiliano Bertacchini
Review: Approve

Looks good to me.
-- 
https://code.launchpad.net/~cjwatson/launchpad/snap-delete-with-builds/+merge/308767
Your team Launchpad code reviewers is requested to review the proposed merge of 
lp:~cjwatson/launchpad/snap-delete-with-builds into lp:launchpad.

___
Mailing list: https://launchpad.net/~launchpad-reviewers
Post to : launchpad-reviewers@lists.launchpad.net
Unsubscribe : https://launchpad.net/~launchpad-reviewers
More help   : https://help.launchpad.net/ListHelp


[Launchpad-reviewers] [Merge] lp:~cjwatson/launchpad/snap-delete-with-builds into lp:launchpad

2016-10-18 Thread Colin Watson
Colin Watson has proposed merging 
lp:~cjwatson/launchpad/snap-delete-with-builds into lp:launchpad.

Commit message:
Delete associated build jobs when deleting a snap.

Requested reviews:
  Launchpad code reviewers (launchpad-reviewers)
Related bugs:
  Bug #1607366 in Launchpad itself: "IntegrityError while attempting to remove 
a snap package with builds"
  https://bugs.launchpad.net/launchpad/+bug/1607366

For more details, see:
https://code.launchpad.net/~cjwatson/launchpad/snap-delete-with-builds/+merge/308767
-- 
Your team Launchpad code reviewers is requested to review the proposed merge of 
lp:~cjwatson/launchpad/snap-delete-with-builds into lp:launchpad.
=== modified file 'lib/lp/snappy/model/snap.py'
--- lib/lp/snappy/model/snap.py	2016-07-19 16:32:46 +
+++ lib/lp/snappy/model/snap.py	2016-10-18 21:54:25 +
@@ -480,6 +480,13 @@
 SnapFile.snapbuild = SnapBuild.id AND
 SnapBuild.snap = ?
 """, (self.id,))
+store.execute("""
+DELETE FROM SnapBuildJob
+USING SnapBuild
+WHERE
+SnapBuildJob.snapbuild = SnapBuild.id AND
+SnapBuild.snap = ?
+""", (self.id,))
 store.find(SnapBuild, SnapBuild.snap == self).remove()
 getUtility(IWebhookSet).delete(self.webhooks)
 store.remove(self)

=== modified file 'lib/lp/snappy/tests/test_snap.py'
--- lib/lp/snappy/tests/test_snap.py	2016-08-12 12:56:41 +
+++ lib/lp/snappy/tests/test_snap.py	2016-10-18 21:54:25 +
@@ -62,8 +62,10 @@
 ISnapBuild,
 ISnapBuildSet,
 )
+from lp.snappy.interfaces.snapbuildjob import ISnapStoreUploadJobSource
 from lp.snappy.model.snap import SnapSet
 from lp.snappy.model.snapbuild import SnapFile
+from lp.snappy.model.snapbuildjob import SnapBuildJob
 from lp.testing import (
 admin_logged_in,
 ANONYMOUS,
@@ -443,7 +445,7 @@
 
 def test_delete_with_builds(self):
 # A snap package with builds can be deleted.  Doing so deletes all
-# its builds and their files too.
+# its builds, their files, and any associated build jobs too.
 owner = self.factory.makePerson()
 distroseries = self.factory.makeDistroSeries()
 snap = self.factory.makeSnap(
@@ -452,6 +454,7 @@
 build = self.factory.makeSnapBuild(snap=snap)
 build_queue = build.queueBuild()
 snapfile = self.factory.makeSnapFile(snapbuild=build)
+snap_build_job = getUtility(ISnapStoreUploadJobSource).create(build)
 self.assertTrue(getUtility(ISnapSet).exists(owner, u"condemned"))
 other_build = self.factory.makeSnapBuild()
 other_build.queueBuild()
@@ -460,6 +463,7 @@
 build_id = build.id
 build_queue_id = build_queue.id
 build_farm_job_id = removeSecurityProxy(build).build_farm_job_id
+snap_build_job_id = snap_build_job.job.job_id
 snapfile_id = removeSecurityProxy(snapfile).id
 with person_logged_in(snap.owner):
 snap.destroySelf()
@@ -470,6 +474,7 @@
 self.assertIsNone(store.get(BuildQueue, build_queue_id))
 self.assertIsNone(store.get(BuildFarmJob, build_farm_job_id))
 self.assertIsNone(store.get(SnapFile, snapfile_id))
+self.assertIsNone(store.get(SnapBuildJob, snap_build_job_id))
 # Unrelated builds are still present.
 clear_property_cache(other_build)
 self.assertEqual(

___
Mailing list: https://launchpad.net/~launchpad-reviewers
Post to : launchpad-reviewers@lists.launchpad.net
Unsubscribe : https://launchpad.net/~launchpad-reviewers
More help   : https://help.launchpad.net/ListHelp


Re: [Launchpad-reviewers] [Merge] lp:~cjwatson/launchpad/snap-delete-with-builds into lp:launchpad

2016-02-28 Thread William Grant
Review: Approve code


-- 
https://code.launchpad.net/~cjwatson/launchpad/snap-delete-with-builds/+merge/287408
Your team Launchpad code reviewers is subscribed to branch lp:launchpad.

___
Mailing list: https://launchpad.net/~launchpad-reviewers
Post to : launchpad-reviewers@lists.launchpad.net
Unsubscribe : https://launchpad.net/~launchpad-reviewers
More help   : https://help.launchpad.net/ListHelp