testing

package
v0.0.0-...-6337964 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 13, 2014 License: AGPL-3.0 Imports: 32 Imported by: 0

Documentation

Index

Constants

View Source
const AdminSecret = "dummy-secret"

Variables

This section is empty.

Functions

func AddStateServerMachine

func AddStateServerMachine(c *gc.C, st *state.State) *state.Machine

AddStateServerMachine adds a "state server" machine to the state so that State.Addresses and State.APIAddresses will work. It returns the added machine. The addresses that those methods will return bear no relation to the addresses actually used by the state and API servers. It returns the addresses that will be returned by the State.Addresses and State.APIAddresses methods, which will not bear any relation to the be the addresses used by the state servers.

func AssertStartInstance

func AssertStartInstance(
	c *gc.C, env environs.Environ, machineId string,
) (
	instance.Instance, *instance.HardwareCharacteristics,
)

AssertStartInstance is a test helper function that starts an instance with a plausible but invalid configuration, and checks that it succeeds.

func AssertStartInstanceWithConstraints

func AssertStartInstanceWithConstraints(
	c *gc.C, env environs.Environ, machineId string, cons constraints.Value,
) (
	instance.Instance, *instance.HardwareCharacteristics,
)

AssertStartInstanceWithConstraints is a test helper function that starts an instance with the given constraints, and a plausible but invalid configuration, and returns the result of Environ.StartInstance.

func AssertStartInstanceWithNetworks

func AssertStartInstanceWithNetworks(
	c *gc.C, env environs.Environ, machineId string, cons constraints.Value,
	networks []string,
) (
	instance.Instance, *instance.HardwareCharacteristics,
)

AssertStartInstanceWithNetworks is a test helper function that starts an instance with the given networks, and a plausible but invalid configuration, and returns the result of Environ.StartInstance.

func FakeAPIInfo

func FakeAPIInfo(machineId string) *api.Info

FakeAPIInfo holds information about no state - it will always give an error when connected to. The machine id gives the machine id of the machine to be started.

func FakeStateInfo

func FakeStateInfo(machineId string) *state.Info

FakeStateInfo holds information about no state - it will always give an error when connected to. The machine id gives the machine id of the machine to be started.

func PreferredDefaultVersions

func PreferredDefaultVersions(conf *config.Config, template version.Binary) []version.Binary

func StartInstance

func StartInstance(
	env environs.Environ, machineId string,
) (
	instance.Instance, *instance.HardwareCharacteristics, []network.Info, error,
)

StartInstance is a test helper function that starts an instance with a plausible but invalid configuration, and returns the result of Environ.StartInstance.

func StartInstanceWithConstraints

func StartInstanceWithConstraints(
	env environs.Environ, machineId string, cons constraints.Value,
) (
	instance.Instance, *instance.HardwareCharacteristics, []network.Info, error,
)

StartInstanceWithConstraints is a test helper function that starts an instance with the given constraints, and a plausible but invalid configuration, and returns the result of Environ.StartInstance.

func StartInstanceWithConstraintsAndNetworks

func StartInstanceWithConstraintsAndNetworks(
	env environs.Environ, machineId string, cons constraints.Value,
	networks []string,
) (
	instance.Instance, *instance.HardwareCharacteristics, []network.Info, error,
)

StartInstanceWithConstraintsAndNetworks is a test helper function that starts an instance with the given networks, and a plausible but invalid configuration, and returns the result of Environ.StartInstance.

func StartInstanceWithParams

func StartInstanceWithParams(
	env environs.Environ, machineId string,
	params environs.StartInstanceParams,
	networks []string,
) (
	instance.Instance, *instance.HardwareCharacteristics, []network.Info, error,
)

StartInstanceWithParams is a test helper function that starts an instance with the given parameters, and a plausible but invalid configuration, and returns the result of Environ.StartInstance. The provided params's MachineConfig and Tools field values will be ignored.

func WaitInstanceAddresses

func WaitInstanceAddresses(env environs.Environ, instId instance.Id) ([]network.Address, error)

WaitAddresses waits until the specified instance has addresses, and returns them.

Types

type GetStater

type GetStater interface {
	GetStateInAPIServer() *state.State
}

type JujuConnSuite

type JujuConnSuite struct {
	// TODO: JujuConnSuite should not be concerned both with JUJU_HOME and with
	// /var/lib/juju: the use cases are completely non-overlapping, and any tests that
	// really do need both to exist ought to be embedding distinct fixtures for the
	// distinct environments.
	testing.FakeJujuHomeSuite
	gitjujutesting.MgoSuite
	envtesting.ToolsFixture
	Conn     *juju.Conn
	State    *state.State
	APIConn  *juju.APIConn
	APIState *api.State

	ConfigStore  configstore.Storage
	BackingState *state.State // The State being used by the API server
	RootDir      string       // The faked-up root directory.
	LogDir       string

	DummyConfig testing.Attrs
	Factory     *factory.Factory
	// contains filtered or unexported fields
}

JujuConnSuite provides a freshly bootstrapped juju.Conn for each test. It also includes testing.BaseSuite.

It also sets up RootDir to point to a directory hierarchy mirroring the intended juju directory structure, including the following:

RootDir/home/ubuntu/.juju/environments.yaml
    The dummy environments.yaml file, holding
    a default environment named "dummyenv"
    which uses the "dummy" environment type.
RootDir/var/lib/juju
    An empty directory returned as DataDir - the
    root of the juju data storage space.

$HOME is set to point to RootDir/home/ubuntu.

func (*JujuConnSuite) APIInfo

func (s *JujuConnSuite) APIInfo(c *gc.C) *api.Info

func (*JujuConnSuite) AddTestingCharm

func (s *JujuConnSuite) AddTestingCharm(c *gc.C, name string) *state.Charm

func (*JujuConnSuite) AddTestingService

func (s *JujuConnSuite) AddTestingService(c *gc.C, name string, ch *state.Charm) *state.Service

func (*JujuConnSuite) AddTestingServiceWithNetworks

func (s *JujuConnSuite) AddTestingServiceWithNetworks(c *gc.C, name string, ch *state.Charm, networks []string) *state.Service

func (*JujuConnSuite) AgentConfigForTag

func (s *JujuConnSuite) AgentConfigForTag(c *gc.C, tag string) agent.ConfigSetter

func (*JujuConnSuite) DataDir

func (s *JujuConnSuite) DataDir() string

func (*JujuConnSuite) OpenAPIAs

func (s *JujuConnSuite) OpenAPIAs(c *gc.C, tag, password string) *api.State

OpenAPIAs opens the API using the given identity tag and password for authentication. The returned *api.State should not be closed by the caller as a cleanup function has been registered to do that.

func (*JujuConnSuite) OpenAPIAsMachine

func (s *JujuConnSuite) OpenAPIAsMachine(c *gc.C, tag, password, nonce string) *api.State

OpenAPIAsMachine opens the API using the given machine tag, password and nonce for authentication. The returned *api.State should not be closed by the caller as a cleanup function has been registered to do that.

func (*JujuConnSuite) OpenAPIAsNewMachine

func (s *JujuConnSuite) OpenAPIAsNewMachine(c *gc.C, jobs ...state.MachineJob) (*api.State, *state.Machine)

OpenAPIAsNewMachine creates a new machine entry that lives in system state, and then uses that to open the API. The returned *api.State should not be closed by the caller as a cleanup function has been registered to do that. The machine will run the supplied jobs; if none are given, JobHostUnits is assumed.

func (*JujuConnSuite) Reset

func (s *JujuConnSuite) Reset(c *gc.C)

Reset returns environment state to that which existed at the start of the test.

func (*JujuConnSuite) SetUpSuite

func (s *JujuConnSuite) SetUpSuite(c *gc.C)

func (*JujuConnSuite) SetUpTest

func (s *JujuConnSuite) SetUpTest(c *gc.C)

func (*JujuConnSuite) StateInfo

func (s *JujuConnSuite) StateInfo(c *gc.C) *state.Info

func (*JujuConnSuite) TearDownSuite

func (s *JujuConnSuite) TearDownSuite(c *gc.C)

func (*JujuConnSuite) TearDownTest

func (s *JujuConnSuite) TearDownTest(c *gc.C)

func (*JujuConnSuite) WriteConfig

func (s *JujuConnSuite) WriteConfig(configData string)

WriteConfig writes a juju config file to the "home" directory.

type RepoSuite

type RepoSuite struct {
	JujuConnSuite
	SeriesPath string
	RepoPath   string
}

RepoSuite acts as a JujuConnSuite but also sets up $JUJU_REPOSITORY to point to a local charm repository.

func (*RepoSuite) AssertCharmUploaded

func (s *RepoSuite) AssertCharmUploaded(c *gc.C, curl *charm.URL)

func (*RepoSuite) AssertService

func (s *RepoSuite) AssertService(c *gc.C, name string, expectCurl *charm.URL, unitCount, relCount int) (*state.Service, []*state.Relation)

func (*RepoSuite) AssertUnitMachines

func (s *RepoSuite) AssertUnitMachines(c *gc.C, units []*state.Unit)

func (*RepoSuite) SetUpTest

func (s *RepoSuite) SetUpTest(c *gc.C)

func (*RepoSuite) TearDownTest

func (s *RepoSuite) TearDownTest(c *gc.C)

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL