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 }