Merge branch 'main' into avm99963-monorail

Merged commit 4137ed7879acadbf891e8c471108acb874dae886.

GitOrigin-RevId: b6100ffc5b1da355a35f37b13fcaaf746ee8b307
diff --git a/api/v3/test/issues_servicer_test.py b/api/v3/test/issues_servicer_test.py
index 7cfee41..cb01014 100644
--- a/api/v3/test/issues_servicer_test.py
+++ b/api/v3/test/issues_servicer_test.py
@@ -486,10 +486,13 @@
         cc_users=[issue_objects_pb2.Issue.UserValue(user='users/222')],
         labels=[issue_objects_pb2.Issue.LabelValue(label='foo-bar')]
     )
+
     request = issues_pb2.MakeIssueRequest(
         parent='projects/chicken',
         issue=request_issue,
-        description='description'
+        description='description',
+        uploads=[issues_pb2.AttachmentUpload(
+            filename='mowgli.gif', content='cute dog')],
     )
     mc = monorailcontext.MonorailContext(
         self.services, cnxn=self.cnxn, requester=self.owner.email)
@@ -500,6 +503,20 @@
     self.assertEqual(response.cc_users[0].user, 'users/222')
     self.assertEqual(response.labels[0].label, 'foo-bar')
     self.assertEqual(response.star_count, 1)
+    self.assertEqual(response.attachment_count, 1)
+
+    unValid_request = issues_pb2.MakeIssueRequest(
+        parent='projects/chicken',
+        issue=request_issue,
+        description='description',
+        uploads=[issues_pb2.AttachmentUpload(
+            filename='mowgli.gif')],
+    )
+    with self.assertRaisesRegexp(
+      exceptions.InputException,
+      'Uploaded atachment missing filename or content'):
+      self.CallWrapped(self.issues_svcr.MakeIssue, mc, unValid_request)
+
 
   @mock.patch(
       'features.send_notifications.PrepareAndSendIssueChangeNotification')