github.com/mhilton/juju-juju@v0.0.0-20150901100907-a94dd2c73455/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/state" 7 8 var ( 9 MachineJobFromParams = machineJobFromParams 10 ValidateNewFacade = validateNewFacade 11 WrapNewFacade = wrapNewFacade 12 NilFacadeRecord = facadeRecord{} 13 EnvtoolsFindTools = &envtoolsFindTools 14 SendMetrics = &sendMetrics 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 } 34 35 func NewMultiNotifyWatcher(w ...state.NotifyWatcher) state.NotifyWatcher { 36 mw := newMultiNotifyWatcher(w...) 37 return mw 38 }