code: def test_multiple_optimizer_config_dicts_with_extra_keys_warns(
      tmpdir,
  ):
      """Test exception when multiple optimizer configuration dicts have extra keys."""
      model = BoringModel()
      optimizer1 = optim.Adam(model.parameters(), lr=0.01)
      optimizer2 = optim.Adam(model.parameters(), lr=0.01)
      lr_scheduler_config_1 = {
          "scheduler": optim.lr_scheduler.StepLR(optimizer1, 1)
      }
      lr_scheduler_config_2 = {
          "scheduler": optim.lr_scheduler.StepLR(optimizer2, 1)
      }
      optim_conf = [
          {
              "optimizer": optimizer1,
              "lr_scheduler": lr_scheduler_config_1,
              "foo": 1,
              "bar": 2,
          },
          {
              "optimizer": optimizer2,
              "lr_scheduler": lr_scheduler_config_2,
              "foo": 1,
              "bar": 2,
          },
      ]
      with pytest.warns(
          RuntimeWarning,
          match=r"Found unsupported keys in the optimizer configuration: \{.+\}",
      ):
          _configure_optimizers(optim_conf)
  
imports: from unittest import mock
  from unittest.mock import call
  import pytest
  import torch
  from lightning.pytorch import Trainer
  from lightning.pytorch.callbacks import ModelCheckpoint
  from lightning.pytorch.core.optimizer import _configure_optimizers, _configure_schedulers_automatic_opt, _init_optimizers_and_lr_schedulers
  from lightning.pytorch.demos.boring_classes import BoringDataModule, BoringModel
  from lightning.pytorch.utilities.exceptions import MisconfigurationException
  from lightning.pytorch.utilities.types import LRSchedulerConfig
  from torch import optim
  from tests_pytorch.helpers.runif import RunIf
label_desc: Use image node_id 15 for calling a global function with example usage: test_multiple_optimizer_config_dicts_with_extra_keys_warns(tmpdir) without return types