func (s *providerRegistrySuite) TestSupportedEnvironCommonProviders(c *gc.C) { for _, envProvider := range environs.RegisteredProviders() { for storageProvider := range provider.CommonProviders() { c.Logf("Checking storage provider %v is registered for env provider %v", storageProvider, envProvider) c.Assert(registry.IsProviderSupported(envProvider, storageProvider), jc.IsTrue) } } }
func (s StubNetwork) SetUpSuite(c *gc.C) { providers := environs.RegisteredProviders() for _, name := range providers { if name == StubProviderType { return } } ProviderInstance.Zones = []providercommon.AvailabilityZone{ &FakeZone{"zone1", true}, &FakeZone{"zone2", false}, &FakeZone{"zone3", true}, &FakeZone{"zone4", false}, &FakeZone{"zone4", false}, // duplicates are ignored } ProviderInstance.Subnets = []network.SubnetInfo{{ CIDR: "10.10.0.0/24", ProviderId: "sn-zadf00d", AvailabilityZones: []string{"zone1"}, AllocatableIPLow: net.ParseIP("10.10.0.10"), AllocatableIPHigh: net.ParseIP("10.10.0.100"), }, { CIDR: "2001:db8::/32", ProviderId: "sn-ipv6", AvailabilityZones: []string{"zone1", "zone3"}, }, { // no CIDR or provider id -> cached, but cannot be added CIDR: "", ProviderId: "", }, { // no CIDR, just provider id -> cached, but can only be added by id CIDR: "", ProviderId: "sn-empty", }, { // invalid CIDR and provider id -> cannot be added, but is cached CIDR: "invalid", ProviderId: "sn-invalid", }, { // incorrectly specified CIDR, with provider id -> cached, cannot be added CIDR: "0.1.2.3/4", ProviderId: "sn-awesome", }, { // no zones, no provider-id -> cached, but can only be added by CIDR CIDR: "10.20.0.0/16", }, { // with zones, duplicate provider-id -> overwritten by the last // subnet with the same provider id when caching. CIDR: "10.99.88.0/24", ProviderId: "sn-deadbeef", AvailabilityZones: []string{"zone1", "zone2"}, }, { // no zones CIDR: "10.42.0.0/16", ProviderId: "sn-42", }, { // in an unavailable zone, duplicate CIDR -> cannot be added, but is cached CIDR: "10.10.0.0/24", ProviderId: "sn-deadbeef", AvailabilityZones: []string{"zone2"}, }, { CIDR: "10.30.1.0/24", ProviderId: "vlan-42", VLANTag: 42, AvailabilityZones: []string{"zone3"}, }} environs.RegisterProvider(StubProviderType, ProviderInstance) }