← Back to team overview

launchpad-reviewers team mailing list archive

[Merge] ~jugmac00/launchpad:expose-whether-copies-in-upload-queues-contain-binaries into launchpad:master

 

jugmac00 has proposed merging ~jugmac00/launchpad:expose-whether-copies-in-upload-queues-contain-binaries into launchpad:master.

Commit message:
expose whether copies in upload queues contain binaries

Requested reviews:
  Launchpad code reviewers (launchpad-reviewers)

For more details, see:
https://code.launchpad.net/~jugmac00/launchpad/+git/launchpad/+merge/410593
-- 
Your team Launchpad code reviewers is requested to review the proposed merge of ~jugmac00/launchpad:expose-whether-copies-in-upload-queues-contain-binaries into launchpad:master.
diff --git a/lib/lp/soyuz/model/queue.py b/lib/lp/soyuz/model/queue.py
index 29b5a2d..7ce2299 100644
--- a/lib/lp/soyuz/model/queue.py
+++ b/lib/lp/soyuz/model/queue.py
@@ -651,7 +651,9 @@ class PackageUpload(SQLBase):
     @cachedproperty
     def contains_build(self):
         """See `IPackageUpload`."""
-        return bool(self.builds)
+        return bool(
+            self.builds or self.package_copy_job.metadata["include_binaries"]
+        )
 
     @cachedproperty
     def contains_copy(self):
diff --git a/lib/lp/soyuz/tests/test_packageupload.py b/lib/lp/soyuz/tests/test_packageupload.py
index 9bd9a66..f2f0e9f 100644
--- a/lib/lp/soyuz/tests/test_packageupload.py
+++ b/lib/lp/soyuz/tests/test_packageupload.py
@@ -666,6 +666,13 @@ class TestPackageUploadWithPackageCopyJob(TestCaseWithFactory):
         pu, pcj = self.makeUploadWithPackageCopyJob()
         self.assertIs(None, pu.sourcepackagerelease)
 
+    def test_upload_contains_binary_works_with_copy_jobs(self):
+        pu = self.factory.makeCopyJobPackageUpload()
+        self.assertFalse(pu.contains_build)
+
+        pu = self.factory.makeCopyJobPackageUpload(include_binaries=True)
+        self.assertTrue(pu.contains_build)
+
 
 class TestPackageUploadCustom(TestCase):
     """Unit tests for `PackageUploadCustom`."""

Follow ups