github.com/askholme/packer@v0.7.2-0.20140924152349-70d9566a6852/builder/amazon/common/block_device_test.go (about)

     1  package common
     2  
     3  import (
     4  	"github.com/mitchellh/goamz/ec2"
     5  	"reflect"
     6  	"testing"
     7  )
     8  
     9  func TestBlockDevice(t *testing.T) {
    10  	cases := []struct {
    11  		Config *BlockDevice
    12  		Result *ec2.BlockDeviceMapping
    13  	}{
    14  		{
    15  			Config: &BlockDevice{
    16  				DeviceName:          "/dev/sdb",
    17  				VirtualName:         "ephemeral0",
    18  				SnapshotId:          "snap-1234",
    19  				VolumeType:          "standard",
    20  				VolumeSize:          8,
    21  				DeleteOnTermination: true,
    22  				IOPS:                1000,
    23  			},
    24  
    25  			Result: &ec2.BlockDeviceMapping{
    26  				DeviceName:          "/dev/sdb",
    27  				VirtualName:         "ephemeral0",
    28  				SnapshotId:          "snap-1234",
    29  				VolumeType:          "standard",
    30  				VolumeSize:          8,
    31  				DeleteOnTermination: true,
    32  				IOPS:                1000,
    33  			},
    34  		},
    35  	}
    36  
    37  	for _, tc := range cases {
    38  		blockDevices := BlockDevices{
    39  			AMIMappings:    []BlockDevice{*tc.Config},
    40  			LaunchMappings: []BlockDevice{*tc.Config},
    41  		}
    42  
    43  		expected := []ec2.BlockDeviceMapping{*tc.Result}
    44  
    45  		if !reflect.DeepEqual(expected, blockDevices.BuildAMIDevices()) {
    46  			t.Fatalf("bad: %#v", expected)
    47  		}
    48  
    49  		if !reflect.DeepEqual(expected, blockDevices.BuildLaunchDevices()) {
    50  			t.Fatalf("bad: %#v", expected)
    51  		}
    52  	}
    53  }