class_docstr: Tests the /upload_file endpoint.
class_docstr_tok: ["Tests","the","\/upload_file","endpoint","."]
docstr: Missing file should fail with 400 status.
docstr_tok: ["Missing","file","should","fail","with","400","status","."]
code: def test_upload_missing_file_error(self):
      """Missing file should fail with 400 status."""
      file_body = {
          "file1": (None, b"123"),
      }
      response = self._upload_files(
          file_body, session_id="sessionId", file_id="fileId"
      )
  
      self.assertEqual(400, response.code)
      self.assertIn("Expected 1 file, but got 0", response.reason)
  
imports: from typing import NamedTuple
  import requests
  import tornado.testing
  import tornado.web
  import tornado.websocket
  from streamlit.logger import get_logger
  from streamlit.runtime.memory_uploaded_file_manager import MemoryUploadedFileManager
  from streamlit.runtime.uploaded_file_manager import UploadedFileManager
  from streamlit.web.server.server import UPLOAD_FILE_ENDPOINT
  from streamlit.web.server.upload_file_request_handler import UploadFileRequestHandler
label_desc: Use image node_id 7 for calling the UploadFileRequestHandlerTest obj's underlying member method code with example usage: obj.test_upload_missing_file_error() without return types