docstr: st.set_page_config should be allowed after a rerun
docstr_tok: ["st.set_page_config","should","be","allowed","after","a","rerun"]
code: def test_set_page_config_reset(self):
      """st.set_page_config should be allowed after a rerun"""
  
      fake_enqueue = lambda msg: None
      ctx = ScriptRunContext(
          session_id="TestSessionID",
          _enqueue=fake_enqueue,
          query_string="",
          session_state=SafeSessionState(SessionState(), lambda: None),
          uploaded_file_mgr=MemoryUploadedFileManager("/mock/upload"),
          main_script_path="",
          page_script_hash="",
          user_info={"email": "test@test.com"},
      )
  
      ctx.on_script_start()
  
      msg = ForwardMsg()
      msg.page_config_changed.title = "foo"
  
      ctx.enqueue(msg)
      ctx.reset()
      try:
          ctx.on_script_start()
          ctx.enqueue(msg)
      except StreamlitAPIException:
          self.fail(
              "set_page_config should have succeeded after reset!"
          )
  
file_path: streamlit/lib/tests/streamlit/script_run_context_test.py
imports: import unittest
  from parameterized import parameterized
  from streamlit.errors import StreamlitAPIException
  from streamlit.proto.ForwardMsg_pb2 import ForwardMsg
  from streamlit.runtime.memory_uploaded_file_manager import MemoryUploadedFileManager
  from streamlit.runtime.scriptrunner import ScriptRunContext
  from streamlit.runtime.state import SafeSessionState, SessionState
label_desc: Use image node_id 4 for calling the ScriptRunContextTest obj's underlying member method code with example usage: obj.test_set_page_config_reset() without return types