docstr: Test that example-full yamls are unmodified by prepared_config,
  except possibly by having setup_commands merged and
  default per-node max/min workers set.
docstr_tok: ["Test","that","example-full","yamls","are","unmodified","by","prepared_config",",","except","possibly","by","having","setup_commands","merged","and","default","per-node","max\/min","workers","set","."]
code: def testExampleFull(self):
      """
      Test that example-full yamls are unmodified by prepared_config,
      except possibly by having setup_commands merged and
      default per-node max/min workers set.
      """
      providers = ["aws", "gcp", "azure"]
      for provider in providers:
          path = os.path.join(
              RAY_PATH, "autoscaler", provider, "example-full.yaml"
          )
          config = yaml.safe_load(open(path).read())
          config_copy = copy.deepcopy(config)
          merge_setup_commands(config_copy)
          fill_node_type_min_max_workers(config_copy)
          assert config_copy == prepare_config(config)
  
imports: import copy
  import logging
  import os
  import sys
  import tempfile
  from typing import Dict, Any
  import unittest
  import urllib
  from unittest.mock import MagicMock, Mock, patch
  import jsonschema
  import pytest
  import yaml
  from click.exceptions import ClickException
  import mock
  from ray._private.test_utils import load_test_config, recursive_fnmatch
  from ray.autoscaler._private._azure.config import _configure_key_pair
  from ray.autoscaler._private.gcp import config
  from ray.autoscaler._private.providers import _NODE_PROVIDERS
  from ray.autoscaler._private.util import fill_node_type_min_max_workers, merge_setup_commands, prepare_config, validate_config
label_desc: Use image node_id 10 for calling the AutoscalingConfigTest obj's underlying member method code with example usage: obj.testExampleFull() without return types