github.com/bradfeehan/terraform@v0.7.0-rc3.0.20170529055808-34b45c5ad841/builtin/providers/aws/data_source_aws_kms_ciphertext_test.go (about) 1 package aws 2 3 import ( 4 "testing" 5 6 "github.com/hashicorp/terraform/helper/resource" 7 ) 8 9 func TestAccDataSourceAwsKmsCiphertext_basic(t *testing.T) { 10 resource.Test(t, resource.TestCase{ 11 PreCheck: func() { testAccPreCheck(t) }, 12 Providers: testAccProviders, 13 Steps: []resource.TestStep{ 14 { 15 Config: testAccDataSourceAwsKmsCiphertextConfig_basic, 16 Check: resource.ComposeTestCheckFunc( 17 resource.TestCheckResourceAttrSet( 18 "data.aws_kms_ciphertext.foo", "ciphertext_blob"), 19 ), 20 }, 21 }, 22 }) 23 } 24 25 func TestAccDataSourceAwsKmsCiphertext_validate(t *testing.T) { 26 resource.Test(t, resource.TestCase{ 27 PreCheck: func() { testAccPreCheck(t) }, 28 Providers: testAccProviders, 29 Steps: []resource.TestStep{ 30 { 31 Config: testAccDataSourceAwsKmsCiphertextConfig_validate, 32 Check: resource.ComposeTestCheckFunc( 33 resource.TestCheckResourceAttrSet( 34 "data.aws_kms_ciphertext.foo", "ciphertext_blob"), 35 resource.TestCheckResourceAttrSet( 36 "data.aws_kms_secret.foo", "plaintext"), 37 resource.TestCheckResourceAttr( 38 "data.aws_kms_secret.foo", "plaintext", "Super secret data"), 39 ), 40 }, 41 }, 42 }) 43 } 44 45 func TestAccDataSourceAwsKmsCiphertext_validate_withContext(t *testing.T) { 46 resource.Test(t, resource.TestCase{ 47 PreCheck: func() { testAccPreCheck(t) }, 48 Providers: testAccProviders, 49 Steps: []resource.TestStep{ 50 { 51 Config: testAccDataSourceAwsKmsCiphertextConfig_validate_withContext, 52 Check: resource.ComposeTestCheckFunc( 53 resource.TestCheckResourceAttrSet( 54 "data.aws_kms_ciphertext.foo", "ciphertext_blob"), 55 resource.TestCheckResourceAttrSet( 56 "data.aws_kms_secret.foo", "plaintext"), 57 resource.TestCheckResourceAttr( 58 "data.aws_kms_secret.foo", "plaintext", "Super secret data"), 59 ), 60 }, 61 }, 62 }) 63 } 64 65 const testAccDataSourceAwsKmsCiphertextConfig_basic = ` 66 provider "aws" { 67 region = "us-west-2" 68 } 69 70 resource "aws_kms_key" "foo" { 71 description = "tf-test-acc-data-source-aws-kms-ciphertext-basic" 72 is_enabled = true 73 } 74 75 data "aws_kms_ciphertext" "foo" { 76 key_id = "${aws_kms_key.foo.key_id}" 77 78 plaintext = "Super secret data" 79 } 80 ` 81 82 const testAccDataSourceAwsKmsCiphertextConfig_validate = ` 83 provider "aws" { 84 region = "us-west-2" 85 } 86 87 resource "aws_kms_key" "foo" { 88 description = "tf-test-acc-data-source-aws-kms-ciphertext-validate" 89 is_enabled = true 90 } 91 92 data "aws_kms_ciphertext" "foo" { 93 key_id = "${aws_kms_key.foo.key_id}" 94 95 plaintext = "Super secret data" 96 } 97 98 data "aws_kms_secret" "foo" { 99 secret { 100 name = "plaintext" 101 payload = "${data.aws_kms_ciphertext.foo.ciphertext_blob}" 102 } 103 } 104 ` 105 106 const testAccDataSourceAwsKmsCiphertextConfig_validate_withContext = ` 107 provider "aws" { 108 region = "us-west-2" 109 } 110 111 resource "aws_kms_key" "foo" { 112 description = "tf-test-acc-data-source-aws-kms-ciphertext-validate-with-context" 113 is_enabled = true 114 } 115 116 data "aws_kms_ciphertext" "foo" { 117 key_id = "${aws_kms_key.foo.key_id}" 118 119 plaintext = "Super secret data" 120 121 context { 122 name = "value" 123 } 124 } 125 126 data "aws_kms_secret" "foo" { 127 secret { 128 name = "plaintext" 129 payload = "${data.aws_kms_ciphertext.foo.ciphertext_blob}" 130 131 context { 132 name = "value" 133 } 134 } 135 } 136 `