Files
Packer-Cn/builder/googlecompute/step_wait_instance_startup_test.go
T

31 lines
959 B
Go
Raw Normal View History

package googlecompute
import (
"github.com/mitchellh/multistep"
"github.com/stretchr/testify/assert"
2016-09-29 14:13:04 -07:00
"testing"
)
func TestStepWaitInstanceStartup(t *testing.T) {
state := testState(t)
step := new(StepWaitInstanceStartup)
c := state.Get("config").(*Config)
d := state.Get("driver").(*DriverMock)
2016-09-29 14:13:04 -07:00
testZone := "test-zone"
testInstanceName := "test-instance-name"
c.Zone = testZone
state.Put("instance_name", testInstanceName)
// This step stops when it gets Done back from the metadata.
d.GetInstanceMetadataResult = StartupScriptStatusDone
2016-09-29 14:13:04 -07:00
// Run the step.
assert.Equal(t, step.Run(state), multistep.ActionContinue, "Step should have passed and continued.")
2016-09-29 14:13:04 -07:00
// Check that GetInstanceMetadata was called properly.
assert.Equal(t, d.GetInstanceMetadataZone, testZone, "Incorrect zone passed to GetInstanceMetadata.")
assert.Equal(t, d.GetInstanceMetadataName, testInstanceName, "Incorrect instance name passed to GetInstanceMetadata.")
2016-09-29 14:13:04 -07:00
}