class_docstr: Test bootstrap.py's printing functions.
  
  (We use `IsolatedAsyncioTestCase` to ensure that an asyncio event loop
  exists in tests that implicitly rely on one.)
class_docstr_tok: ["Test","bootstrap.py","'s","printing","functions",".","(","We","use","`","IsolatedAsyncioTestCase","`","to","ensure","that","an","asyncio","event","loop","exists","in","tests","that","implicitly","rely","on","one",".",")"]
code: def test_print_urls_configured(self):
      mock_is_manually_set = testutil.build_mock_config_is_manually_set(
          {"browser.serverAddress": True}
      )
      mock_get_option = testutil.build_mock_config_get_option(
          {"browser.serverAddress": "the-address"}
      )
  
      with patch.object(
          config, "get_option", new=mock_get_option
      ), patch.object(
          config, "is_manually_set", new=mock_is_manually_set
      ):
          bootstrap._print_url(False)
  
      out = sys.stdout.getvalue()
      self.assertIn(
          "You can now view your Streamlit app in your browser.", out
      )
      self.assertIn("URL: http://the-address", out)
  
imports: import os.path
  import sys
  import unittest
  from io import StringIO
  from unittest import IsolatedAsyncioTestCase
  from unittest.mock import Mock, patch
  import matplotlib
  import pytest
  from streamlit import config
  from streamlit.web import bootstrap
  from streamlit.web.bootstrap import NEW_VERSION_TEXT, _fix_pydantic_duplicate_validators_error
  from tests import testutil
  from tests.testutil import patch_config_options, should_skip_pydantic_tests
label_desc: Use image node_id 5 for calling the BootstrapPrintTest obj's underlying member method code with example usage: obj.test_print_urls_configured() without return types