package common import ( "testing" "github.com/hashicorp/packer/helper/multistep" ) func TestStepRemoteUpload_Cleanup(t *testing.T) { state := new(multistep.BasicStateBag) driver := new(RemoteDriverMock) state.Put("driver", driver) state.Put("path_key", "packer_cache") // Should clean up cache s := &StepRemoteUpload{ Key: "path_key", DoCleanup: true, } s.Cleanup(state) if !driver.CacheRemoved { t.Fatalf("bad: remote cache was not removed") } if driver.RemovedCachePath != "packer_cache" { t.Fatalf("bad: removed cache path was expected to be packer_cache but was %s", driver.RemovedCachePath) } // Should NOT clean up cache s = &StepRemoteUpload{ Key: "path_key", } driver = new(RemoteDriverMock) state.Put("driver", driver) s.Cleanup(state) if driver.CacheRemoved { t.Fatalf("bad: remote cache was removed but was expected to not") } }