api/controller/toolchain: Skip empty artifacts

Do not include empty artifacts in the response to avoid publishing
files with no usable information.

BUG=b:202735786
TEST=run_tests

Change-Id: Ib6a0cc3450f9c794534d332e8053ec46c985f82d
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/chromite/+/3229856
Tested-by: Alex Klein <saklein@chromium.org>
Auto-Submit: Alex Klein <saklein@chromium.org>
Reviewed-by: Sergey Frolov <sfrolov@google.com>
diff --git a/api/controller/toolchain_unittest.py b/api/controller/toolchain_unittest.py
index 8f1a4ea..76ab27a 100644
--- a/api/controller/toolchain_unittest.py
+++ b/api/controller/toolchain_unittest.py
@@ -4,6 +4,8 @@
 
 """Unittests for Toolchain-related operations."""
 
+import os
+
 from chromite.api import api_config
 from chromite.api import controller
 from chromite.api.controller import toolchain
@@ -15,6 +17,7 @@
 
 from chromite.lib import cros_build_lib
 from chromite.lib import cros_test_lib
+from chromite.lib import osutils
 from chromite.lib import toolchain_util
 
 # pylint: disable=protected-access
@@ -244,11 +247,11 @@
         chroot=None, sysroot=None, input_artifacts=[
             BuilderConfig.Artifacts.InputArtifactInfo(
                 input_artifact_type=
-                    BuilderConfig.Artifacts.UNVERIFIED_CHROME_LLVM_ORDERFILE,
+                BuilderConfig.Artifacts.UNVERIFIED_CHROME_LLVM_ORDERFILE,
                 input_artifact_gs_locations=['path1', 'path2']),
             BuilderConfig.Artifacts.InputArtifactInfo(
                 input_artifact_type=
-                    BuilderConfig.Artifacts.UNVERIFIED_CHROME_LLVM_ORDERFILE,
+                BuilderConfig.Artifacts.UNVERIFIED_CHROME_LLVM_ORDERFILE,
                 input_artifact_gs_locations=['path3']),
         ],
         profile_info=common_pb2.ArtifactProfileInfo(
@@ -268,11 +271,11 @@
         chroot=None, sysroot=None, input_artifacts=[
             BuilderConfig.Artifacts.InputArtifactInfo(
                 input_artifact_type=
-                    BuilderConfig.Artifacts.UNVERIFIED_CHROME_LLVM_ORDERFILE,
+                BuilderConfig.Artifacts.UNVERIFIED_CHROME_LLVM_ORDERFILE,
                 input_artifact_gs_locations=['path1', 'path2']),
             BuilderConfig.Artifacts.InputArtifactInfo(
                 input_artifact_type=
-                    BuilderConfig.Artifacts.UNVERIFIED_CHROME_LLVM_ORDERFILE,
+                BuilderConfig.Artifacts.UNVERIFIED_CHROME_LLVM_ORDERFILE,
                 input_artifact_gs_locations=['path3']),
         ],
         profile_info=common_pb2.ArtifactProfileInfo(
@@ -297,11 +300,11 @@
         chroot=None, sysroot=None, input_artifacts=[
             BuilderConfig.Artifacts.InputArtifactInfo(
                 input_artifact_type=
-                    BuilderConfig.Artifacts.UNVERIFIED_CHROME_LLVM_ORDERFILE,
+                BuilderConfig.Artifacts.UNVERIFIED_CHROME_LLVM_ORDERFILE,
                 input_artifact_gs_locations=['path1', 'path2']),
             BuilderConfig.Artifacts.InputArtifactInfo(
                 input_artifact_type=
-                    BuilderConfig.Artifacts.UNVERIFIED_CHROME_LLVM_ORDERFILE,
+                BuilderConfig.Artifacts.UNVERIFIED_CHROME_LLVM_ORDERFILE,
                 input_artifact_gs_locations=['path3']),
         ])
     toolchain.PrepareForBuild(request, self.response, self.api_config)
@@ -330,6 +333,8 @@
                 toolchain._Handlers('UnverifiedChromeLlvmOrderfile', self.prep,
                                     self.bundle),
         })
+    osutils.WriteFile(os.path.join(self.tempdir, 'artifact.txt'), 'test')
+    osutils.Touch(os.path.join(self.tempdir, 'empty'))
 
   def _GetRequest(self, artifact_types=None):
     chroot = common_pb2.Chroot(path=self.tempdir)
@@ -358,7 +363,7 @@
   def testSetsArtifactsInfo(self):
     request = self._GetRequest(
         [BuilderConfig.Artifacts.UNVERIFIED_CHROME_LLVM_ORDERFILE])
-    self.bundle.return_value = ['artifact.xz']
+    self.bundle.return_value = ['artifact.txt', 'empty', 'does_not_exist']
     toolchain.BundleArtifacts(request, self.response, self.api_config)
     self.assertEqual(1, len(self.response.artifacts_info))
     self.assertEqual(