github.com/rogpeppe/juju@v0.0.0-20140613142852-6337964b789e/environs/testing/bootstrap.go (about)

     1  // Copyright 2013 Canonical Ltd.
     2  // Licensed under the AGPLv3, see LICENCE file for details.
     3  
     4  package testing
     5  
     6  import (
     7  	"github.com/juju/loggo"
     8  	"github.com/juju/testing"
     9  
    10  	"github.com/juju/juju/environs"
    11  	"github.com/juju/juju/environs/cloudinit"
    12  	"github.com/juju/juju/instance"
    13  	"github.com/juju/juju/provider/common"
    14  	"github.com/juju/juju/utils/ssh"
    15  )
    16  
    17  var logger = loggo.GetLogger("juju.environs.testing")
    18  
    19  // DisableFinishBootstrap disables common.FinishBootstrap so that tests
    20  // do not attempt to SSH to non-existent machines. The result is a function
    21  // that restores finishBootstrap.
    22  func DisableFinishBootstrap() func() {
    23  	f := func(environs.BootstrapContext, ssh.Client, instance.Instance, *cloudinit.MachineConfig) error {
    24  		logger.Warningf("provider/common.FinishBootstrap is disabled")
    25  		return nil
    26  	}
    27  	return testing.PatchValue(&common.FinishBootstrap, f)
    28  }