github.com/danp/terraform@v0.9.5-0.20170426144147-39d740081351/builtin/providers/aws/resource_aws_elastic_beanstalk_environment_migrate_test.go (about)

     1  package aws
     2  
     3  import (
     4  	"testing"
     5  
     6  	"github.com/hashicorp/terraform/terraform"
     7  )
     8  
     9  func TestAWSElasticBeanstalkEnvironmentMigrateState(t *testing.T) {
    10  	cases := map[string]struct {
    11  		StateVersion int
    12  		Attributes   map[string]string
    13  		Expected     map[string]string
    14  		Meta         interface{}
    15  	}{
    16  		"v0_1_web": {
    17  			StateVersion: 0,
    18  			Attributes: map[string]string{
    19  				"tier": "",
    20  			},
    21  			Expected: map[string]string{
    22  				"tier": "WebServer",
    23  			},
    24  		},
    25  		"v0_1_web_explicit": {
    26  			StateVersion: 0,
    27  			Attributes: map[string]string{
    28  				"tier": "WebServer",
    29  			},
    30  			Expected: map[string]string{
    31  				"tier": "WebServer",
    32  			},
    33  		},
    34  		"v0_1_worker": {
    35  			StateVersion: 0,
    36  			Attributes: map[string]string{
    37  				"tier": "Worker",
    38  			},
    39  			Expected: map[string]string{
    40  				"tier": "Worker",
    41  			},
    42  		},
    43  	}
    44  
    45  	for tn, tc := range cases {
    46  		is := &terraform.InstanceState{
    47  			ID:         "e-abcde12345",
    48  			Attributes: tc.Attributes,
    49  		}
    50  		is, err := resourceAwsElasticBeanstalkEnvironmentMigrateState(
    51  			tc.StateVersion, is, tc.Meta)
    52  
    53  		if err != nil {
    54  			t.Fatalf("bad: %s, err: %#v", tn, err)
    55  		}
    56  	}
    57  }