github.com/mmcquillan/packer@v1.1.1-0.20171009221028-c85cf0483a5d/builder/triton/source_machine_config_test.go (about)

     1  package triton
     2  
     3  import (
     4  	"testing"
     5  )
     6  
     7  func TestSourceMachineConfig_Prepare(t *testing.T) {
     8  	sc := testSourceMachineConfig(t)
     9  	errs := sc.Prepare(nil)
    10  	if errs != nil {
    11  		t.Fatalf("should not error: %#v", sc)
    12  	}
    13  
    14  	sc = testSourceMachineConfig(t)
    15  	sc.MachineName = ""
    16  	errs = sc.Prepare(nil)
    17  	if errs != nil {
    18  		t.Fatalf("should not error: %#v", sc)
    19  	}
    20  
    21  	sc = testSourceMachineConfig(t)
    22  	sc.MachinePackage = ""
    23  	errs = sc.Prepare(nil)
    24  	if errs == nil {
    25  		t.Fatalf("should error: %#v", sc)
    26  	}
    27  
    28  	sc = testSourceMachineConfig(t)
    29  	sc.MachineImage = ""
    30  	errs = sc.Prepare(nil)
    31  	if errs == nil {
    32  		t.Fatalf("should error: %#v", sc)
    33  	}
    34  }
    35  
    36  func testSourceMachineConfig(t *testing.T) SourceMachineConfig {
    37  	return SourceMachineConfig{
    38  		MachineName:    "test-machine",
    39  		MachinePackage: "test-package",
    40  		MachineImage:   "test-image",
    41  		MachineNetworks: []string{
    42  			"test-network-1",
    43  			"test-network-2",
    44  		},
    45  		MachineMetadata: map[string]string{
    46  			"test-metadata-key1": "test-metadata-value1",
    47  			"test-metadata-key2": "test-metadata-value2",
    48  			"test-metadata-key3": "test-metadata-value3",
    49  		},
    50  		MachineTags: map[string]string{
    51  			"test-tags-key1": "test-tags-value1",
    52  			"test-tags-key2": "test-tags-value2",
    53  			"test-tags-key3": "test-tags-value3",
    54  		},
    55  		MachineFirewallEnabled: false,
    56  	}
    57  }