code: def test_invalid_config(self):
      file_names = glob.glob("./config_files/invalid/*.yml")
      for fn in file_names:
          experiment_config = get_yml_content(fn)
          try:
              validate_all_content(experiment_config, fn)
              print_error(
                  "config file:",
                  fn,
                  "Schema error should be raised for invalid config file!",
              )
              assert False
          except SchemaError as e:
              print_green(
                  "config file:", fn, "Expected error catched:", e
              )
  
file_path: nni/test/ut/tools/nnictl/test_config_validation.py
imports: import glob
  from unittest import TestCase, main
  from schema import SchemaError
  from nni.tools.nnictl.launcher_utils import validate_all_content
  from nni.tools.nnictl.nnictl_utils import get_yml_content
  from nni.tools.nnictl.common_utils import print_error, print_green
label_desc: Use image node_id 2 for calling the ConfigValidationTestCase obj's underlying member method code with example usage: obj.test_invalid_config() without return types