code: def test_generate_cloudwatch_monitoring_with_settings():
      """CLI - Terraform Generate Cloudwatch Monitoring with Custom Settings"""
      cluster_dict = common.infinitedict()
      result = monitoring.generate_monitoring(
          "advanced", cluster_dict, CONFIG
      )
  
      # Test the default SNS topic option
      expected_cloudwatch_tf = {
          "source": "./modules/tf_monitoring",
          "sns_topic_arn": "arn:aws:sns:us-west-1:12345678910:unit-test_streamalert_monitoring",
          "lambda_functions": [
              "unit-test_advanced_streamalert_classifier"
          ],
          "kinesis_stream": "${module.kinesis_advanced.stream_name}",
          "lambda_alarms_enabled": True,
          "kinesis_alarms_enabled": True,
          "kinesis_iterator_age_error_threshold": "3000000",
      }
  
      assert_true(result)
      assert_equal(
          cluster_dict["module"]["cloudwatch_monitoring_advanced"],
          expected_cloudwatch_tf,
      )
  
file_path: streamalert/tests/unit/streamalert_cli/terraform/test_monitoring.py
imports: from mock import patch
  from nose.tools import assert_equal, assert_false, assert_true
  from streamalert_cli.config import CLIConfig
  from streamalert_cli.terraform import common, monitoring
label_desc: Use image node_id 2 for calling a global function with example usage: test_generate_cloudwatch_monitoring_with_settings() without return types