github.com/axw/juju@v0.0.0-20161005053422-4bd6544d08d4/apiserver/common/export_test.go (about)

     1  // Copyright 2014 Canonical Ltd.
     2  // Licensed under the AGPLv3, see LICENCE file for details.
     3  
     4  package common
     5  
     6  import "github.com/juju/juju/apiserver/facade"
     7  
     8  var (
     9  	MachineJobFromParams    = machineJobFromParams
    10  	ValidateNewFacade       = validateNewFacade
    11  	WrapNewFacade           = wrapNewFacade
    12  	EnvtoolsFindTools       = &envtoolsFindTools
    13  	SendMetrics             = &sendMetrics
    14  	MockableDestroyMachines = destroyMachines
    15  )
    16  
    17  type Patcher interface {
    18  	PatchValue(dest, value interface{})
    19  }
    20  
    21  // SanitizeFacades patches Facades so that for the lifetime of the test we get
    22  // a clean slate to work from, and will not accidentally overrite/mutate the
    23  // real facade registry.
    24  func SanitizeFacades(patcher Patcher) {
    25  	emptyFacades := &facade.Registry{}
    26  	patcher.PatchValue(&Facades, emptyFacades)
    27  }