code: def test_jwk_is_updated_daily(mock_requests: Mock):
      with freezegun.freeze_time("2012-01-14 08:00:00"):
          bot_framework_input = BotFrameworkInput(
              "app_id", "app_password"
          )
          # Two calls at the beginning - on to retrieve open ID metadata,
          # the second one to actually get the keys.
          assert mock_requests.call_count == 2
  
          bot_framework_input._validate_auth("Bearer token_invalid")
          assert mock_requests.call_count == 2
  
      with freezegun.freeze_time("2012-01-14 11:00:00"):
          bot_framework_input._validate_auth("Bearer token_invalid")
          assert mock_requests.call_count == 2
  
      with freezegun.freeze_time("2012-01-15 11:00:00"):
          bot_framework_input._validate_auth("Bearer token_invalid")
          assert mock_requests.call_count == 4
  
imports: import json
  import time
  from http import HTTPStatus
  from unittest import mock
  from unittest.mock import Mock
  import freezegun
  import jwt
  import pytest
  from _pytest.logging import LogCaptureFixture
  from cryptography.hazmat.primitives.asymmetric import rsa
  from cryptography.hazmat.primitives.asymmetric.rsa import RSAPrivateKey
  from jwt.algorithms import RSAAlgorithm
  from rasa.core.channels import BotFrameworkInput
label_desc: Use image node_id 4 for calling a global function with example usage: test_jwk_is_updated_daily(mock_requests) without return types