github.com/makyo/juju@v0.0.0-20160425123129-2608902037e9/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  var (
     7  	MachineJobFromParams    = machineJobFromParams
     8  	ValidateNewFacade       = validateNewFacade
     9  	WrapNewFacade           = wrapNewFacade
    10  	NilFacadeRecord         = facadeRecord{}
    11  	EnvtoolsFindTools       = &envtoolsFindTools
    12  	SendMetrics             = &sendMetrics
    13  	MockableDestroyMachines = destroyMachines
    14  	IsUnknownModelError     = isUnknownModelError
    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 := &FacadeRegistry{}
    26  	patcher.PatchValue(&Facades, emptyFacades)
    27  }
    28  
    29  type Versions versions
    30  
    31  func DescriptionFromVersions(name string, vers Versions) FacadeDescription {
    32  	return descriptionFromVersions(name, versions(vers))
    33  }