code: def test_get_zoo_config(self):
      # Test direct key
      version, resources = get_zoo_config("textvqa.ocr_en")
      self.assertIsNotNone(version)
      self.assertIsNotNone(resources)
  
      # Test default variation
      version, resources = get_zoo_config("textvqa")
      self.assertIsNotNone(version)
      self.assertIsNotNone(resources)
  
      # Test non-default variation
      version, resources = get_zoo_config("textvqa", variation="ocr_en")
      self.assertIsNotNone(version)
      self.assertIsNotNone(resources)
  
      # Test random key
      version, resources = get_zoo_config("some_random")
      self.assertIsNone(version)
      self.assertIsNone(resources)
  
      # Test non-existent variation
      self.assertRaises(
          AssertionError,
          get_zoo_config,
          "textvqa",
          variation="some_random",
      )
  
      # Test different zoo_type
      version, resources = get_zoo_config(
          "visual_bert.pretrained", zoo_type="models"
      )
      self.assertIsNotNone(version)
      self.assertIsNotNone(resources)
  
      # Test direct config
      version, resources = get_zoo_config(
          "visual_bert.pretrained",
          zoo_config_path=os.path.join("configs", "zoo", "models.yaml"),
      )
      self.assertIsNotNone(version)
      self.assertIsNotNone(resources)
  
file_path: mmf/tests/utils/test_configuration.py
imports: import gc
  import os
  import unittest
  from mmf.utils.configuration import Configuration, get_zoo_config
  from mmf.utils.env import setup_imports, teardown_imports
  from mmf.utils.general import get_mmf_root
  from tests.test_utils import dummy_args
label_desc: Use image node_id 3 for calling the TestUtilsConfiguration obj's underlying member method code with example usage: obj.test_get_zoo_config() without return types