class_docstr: Test class for the Terraform Cluster Generating
class_docstr_tok: ["Test","class","for","the","Terraform","Cluster","Generating"]
docstr: CLI - Terraform Generate S3 Bucket 
docstr_tok: ["CLI","-","Terraform","Generate","S3","Bucket"]
code: def test_generate_s3_bucket(self):
      """CLI - Terraform Generate S3 Bucket"""
      bucket = generate.generate_s3_bucket(
          bucket="unit.test.bucket",
          logging="my.s3-logging.bucket",
          force_destroy=True,
      )
  
      required_keys = {
          "bucket",
          "acl",
          "force_destroy",
          "versioning",
          "logging",
          "server_side_encryption_configuration",
          "policy",
      }
  
      assert_equal(type(bucket), dict)
      assert_equal(bucket["bucket"], "unit.test.bucket")
      assert_equal(set(bucket.keys()), required_keys)
  
imports: from mock import ANY, Mock, patch
  from nose.tools import assert_equal, assert_dict_equal, assert_false, assert_raises, assert_true
  from streamalert.shared.exceptions import ConfigError
  from streamalert_cli.config import CLIConfig
  from streamalert_cli.terraform import common, cloudtrail, cloudwatch_destinations, cloudwatch_events, flow_logs, generate
label_desc: Use image node_id 2 for calling the TestTerraformGenerate obj's underlying member method code with example usage: obj.test_generate_s3_bucket() without return types