func init() { environs.RegisterProvider("dummy", &providerInstance) // Prime the first ops channel, so that naive clients can use // the testing environment by simply importing it. c := make(chan Operation) go func() { for _ = range c { } }() discardOperations = c Reset() // parse errors are ignored providerDelay, _ = time.ParseDuration(os.Getenv("JUJU_DUMMY_DELAY")) }
func init() { environs.RegisterProvider("sshinit_test", &testProvider{}) }
func (s *suite) TestRegisterProvider(c *gc.C) { s.PatchValue(environs.Providers, make(map[string]environs.EnvironProvider)) s.PatchValue(environs.ProviderAliases, make(map[string]string)) type step struct { name string aliases []string err string } type test []step tests := []test{ []step{{ name: "providerName", }}, []step{{ name: "providerName", aliases: []string{"providerName"}, err: "juju: duplicate provider alias \"providerName\"", }}, []step{{ name: "providerName", aliases: []string{"providerAlias", "providerAlias"}, err: "juju: duplicate provider alias \"providerAlias\"", }}, []step{{ name: "providerName", aliases: []string{"providerAlias1", "providerAlias2"}, }}, []step{{ name: "providerName", }, { name: "providerName", err: "juju: duplicate provider name \"providerName\"", }}, []step{{ name: "providerName1", }, { name: "providerName2", aliases: []string{"providerName"}, }}, []step{{ name: "providerName1", }, { name: "providerName2", aliases: []string{"providerName1"}, err: "juju: duplicate provider alias \"providerName1\"", }}, } registerProvider := func(name string, aliases []string) (err error) { defer func() { err, _ = recover().(error) }() registered := &dummyProvider{} environs.RegisterProvider(name, registered, aliases...) p, err := environs.Provider(name) c.Assert(err, gc.IsNil) c.Assert(p, gc.Equals, registered) for _, alias := range aliases { p, err := environs.Provider(alias) c.Assert(err, gc.IsNil) c.Assert(p, gc.Equals, registered) c.Assert(p, gc.Equals, registered) } return nil } for i, test := range tests { c.Logf("test %d: %v", i, test) for k := range *environs.Providers { delete(*environs.Providers, k) } for k := range *environs.ProviderAliases { delete(*environs.ProviderAliases, k) } for _, step := range test { err := registerProvider(step.name, step.aliases) if step.err == "" { c.Assert(err, gc.IsNil) } else { c.Assert(err, gc.ErrorMatches, step.err) } } } }
func init() { environs.RegisterProvider("joyent", providerInstance) }
func init() { environs.RegisterProvider("maas", maasEnvironProvider{}) }
func init() { p := manualProvider{} environs.RegisterProvider("manual", p, "null") }
func init() { environs.RegisterProvider(provider.Local, providerInstance) }
// Register the Azure provider with Juju. func init() { environs.RegisterProvider("azure", azureEnvironProvider{}) }