code: def test_generate_unsigned(self) -> None:
      token = generate_jwt_token(generate_session_id(), signed=False)
      assert "." not in token
      assert 123 == len(token)
      assert "session_id" in json.loads(_b64_to_utf8(token))
  
      another_token = generate_jwt_token(
          generate_session_id(), signed=False
      )
      assert "." not in another_token
      assert 123 == len(another_token)
      assert "session_id" in json.loads(_b64_to_utf8(another_token))
      assert token != another_token
  
imports: from __future__ import annotations
  import pytest
  import calendar
  import codecs
  import datetime
  import json
  import random
  from unittest.mock import MagicMock, Mock, patch
  from bokeh.util.token import _TOKEN_ZLIB_KEY, _base64_decode, _base64_encode, _get_sysrandom, _reseed_if_needed, _signature, check_token_signature, generate_jwt_token, generate_secret_key, generate_session_id, get_session_id, get_token_payload
  from tests.support.util.env import envset
  import bokeh.util.token
label_desc: Use image node_id 4 for calling the TestSessionId obj's underlying member method code with example usage: obj.test_generate_unsigned() without return types