github.com/jrperritt/terraform@v0.1.1-0.20170525065507-96f391dafc38/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  `