github.phpd.cn/hashicorp/packer@v1.3.2/builder/parallels/common/step_upload_version_test.go (about) 1 package common 2 3 import ( 4 "context" 5 "testing" 6 7 "github.com/hashicorp/packer/helper/multistep" 8 "github.com/hashicorp/packer/packer" 9 ) 10 11 func TestStepUploadVersion_impl(t *testing.T) { 12 var _ multistep.Step = new(StepUploadVersion) 13 } 14 15 func TestStepUploadVersion(t *testing.T) { 16 state := testState(t) 17 step := new(StepUploadVersion) 18 step.Path = "foopath" 19 20 comm := new(packer.MockCommunicator) 21 state.Put("communicator", comm) 22 23 driver := state.Get("driver").(*DriverMock) 24 driver.VersionResult = "foo" 25 26 // Test the run 27 if action := step.Run(context.Background(), state); action != multistep.ActionContinue { 28 t.Fatalf("bad action: %#v", action) 29 } 30 if _, ok := state.GetOk("error"); ok { 31 t.Fatal("should NOT have error") 32 } 33 34 // Verify 35 if comm.UploadPath != "foopath" { 36 t.Fatalf("bad: %#v", comm.UploadPath) 37 } 38 if comm.UploadData != "foo" { 39 t.Fatalf("upload data bad: %#v", comm.UploadData) 40 } 41 } 42 43 func TestStepUploadVersion_noPath(t *testing.T) { 44 state := testState(t) 45 step := new(StepUploadVersion) 46 step.Path = "" 47 48 comm := new(packer.MockCommunicator) 49 state.Put("communicator", comm) 50 51 // Test the run 52 if action := step.Run(context.Background(), state); action != multistep.ActionContinue { 53 t.Fatalf("bad action: %#v", action) 54 } 55 if _, ok := state.GetOk("error"); ok { 56 t.Fatal("should NOT have error") 57 } 58 59 // Verify 60 if comm.UploadCalled { 61 t.Fatal("bad") 62 } 63 }