code: def test_cfg_cli_composition(self) -> None:
      # compose the configs and check that the model is changed
      cfg = SSLHydraConfig.from_configs(
          [
              "config=test/integration_test/quick_simclr",
              "+config/pretrain/simclr/models=resnext101",
              "config.MODEL.TRUNK.RESNETS.GROUPS=32",
              "config.MODEL.TRUNK.RESNETS.WIDTH_PER_GROUP=16",
          ]
      )
      _, config = convert_to_attrdict(cfg.default_cfg)
      self.assertEqual(
          config.MODEL.TRUNK.RESNETS.GROUPS,
          32,
          "config composition failed",
      )
      self.assertEqual(
          config.MODEL.TRUNK.RESNETS.WIDTH_PER_GROUP,
          16,
          "config composition failed",
      )
  
imports: import logging
  import unittest
  from hydra.errors import ConfigCompositionException, HydraException
  from utils import BENCHMARK_CONFIGS, INTEGRATION_TEST_CONFIGS, PRETRAIN_CONFIGS, SSLHydraConfig
  from vissl.utils.hydra_config import convert_to_attrdict, hydra_compose
  from vissl.utils.test_utils import parameterized_parallel
label_desc: Use image node_id 1 for calling the TestConfigsCliComposition obj's underlying member method code with example usage: obj.test_cfg_cli_composition() without return types