github.com/mhilton/juju-juju@v0.0.0-20150901100907-a94dd2c73455/state/testing/policy.go (about)

     1  // Copyright 2014 Canonical Ltd.
     2  // Licensed under the AGPLv3, see LICENCE file for details.
     3  
     4  package testing
     5  
     6  import (
     7  	"github.com/juju/errors"
     8  
     9  	"github.com/juju/juju/constraints"
    10  	"github.com/juju/juju/environs/config"
    11  	"github.com/juju/juju/state"
    12  )
    13  
    14  type MockPolicy struct {
    15  	GetPrechecker           func(*config.Config) (state.Prechecker, error)
    16  	GetConfigValidator      func(string) (state.ConfigValidator, error)
    17  	GetEnvironCapability    func(*config.Config) (state.EnvironCapability, error)
    18  	GetConstraintsValidator func(*config.Config) (constraints.Validator, error)
    19  	GetInstanceDistributor  func(*config.Config) (state.InstanceDistributor, error)
    20  }
    21  
    22  func (p *MockPolicy) Prechecker(cfg *config.Config) (state.Prechecker, error) {
    23  	if p.GetPrechecker != nil {
    24  		return p.GetPrechecker(cfg)
    25  	}
    26  	return nil, errors.NotImplementedf("Prechecker")
    27  }
    28  
    29  func (p *MockPolicy) ConfigValidator(providerType string) (state.ConfigValidator, error) {
    30  	if p.GetConfigValidator != nil {
    31  		return p.GetConfigValidator(providerType)
    32  	}
    33  	return nil, errors.NotImplementedf("ConfigValidator")
    34  }
    35  
    36  func (p *MockPolicy) EnvironCapability(cfg *config.Config) (state.EnvironCapability, error) {
    37  	if p.GetEnvironCapability != nil {
    38  		return p.GetEnvironCapability(cfg)
    39  	}
    40  	return nil, errors.NotImplementedf("EnvironCapability")
    41  }
    42  
    43  func (p *MockPolicy) ConstraintsValidator(cfg *config.Config) (constraints.Validator, error) {
    44  	if p.GetConstraintsValidator != nil {
    45  		return p.GetConstraintsValidator(cfg)
    46  	}
    47  	return nil, errors.NewNotImplemented(nil, "ConstraintsValidator")
    48  }
    49  
    50  func (p *MockPolicy) InstanceDistributor(cfg *config.Config) (state.InstanceDistributor, error) {
    51  	if p.GetInstanceDistributor != nil {
    52  		return p.GetInstanceDistributor(cfg)
    53  	}
    54  	return nil, errors.NewNotImplemented(nil, "InstanceDistributor")
    55  }