class_docstr: Test /component endpoint.
class_docstr_tok: ["Test","\/component","endpoint","."]
docstr: Tests to ensure a path based on the root directory (and therefore
  outside of the component root) is disallowed.
docstr_tok: ["Tests","to","ensure","a","path","based","on","the","root","directory","(","and","therefore","outside","of","the","component","root",")","is","disallowed","."]
code: def test_outside_component_root_request(self):
      """Tests to ensure a path based on the root directory (and therefore
      outside of the component root) is disallowed."""
  
      with mock.patch(
          "streamlit.components.v1.components.os.path.isdir"
      ):
          # We don't need the return value in this case.
          declare_component("test", path=PATH)
  
      response = self._request_component(
          "tests.streamlit.web.server.component_request_handler_test.test//etc/hosts"
      )
  
      self.assertEqual(403, response.code)
      self.assertEqual(b"forbidden", response.body)
  
file_path: streamlit/lib/tests/streamlit/web/server/component_request_handler_test.py
imports: from unittest import mock
  import tornado.testing
  import tornado.web
  from streamlit.components.v1.components import ComponentRegistry, declare_component
  from streamlit.web.server import ComponentRequestHandler
label_desc: Use image node_id 5 for calling the ComponentRequestHandlerTest obj's underlying member method code with example usage: obj.test_outside_component_root_request() without return types