本文整理汇总了Golang中github.com/juju/juju/apiserver/testing.ZonedEnvironCall函数的典型用法代码示例。如果您正苦于以下问题:Golang ZonedEnvironCall函数的具体用法?Golang ZonedEnvironCall怎么用?Golang ZonedEnvironCall使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了ZonedEnvironCall函数的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: TestAllZonesWithNoBackingZonesAndSetFails
func (s *SubnetsSuite) TestAllZonesWithNoBackingZonesAndSetFails(c *gc.C) {
apiservertesting.BackingInstance.SetUp(c, apiservertesting.StubZonedEnvironName, apiservertesting.WithoutZones, apiservertesting.WithSpaces, apiservertesting.WithSubnets)
apiservertesting.SharedStub.SetErrors(
nil, // Backing.AvailabilityZones
nil, // Backing.EnvironConfig
nil, // Provider.Open
nil, // ZonedEnviron.AvailabilityZones
errors.NotSupportedf("setting"), // Backing.SetAvailabilityZones
)
results, err := s.facade.AllZones()
c.Assert(err, gc.ErrorMatches,
`cannot update known zones: setting not supported`,
)
// Verify the cause is not obscured.
c.Assert(err, jc.Satisfies, errors.IsNotSupported)
c.Assert(results, jc.DeepEquals, params.ZoneResults{})
apiservertesting.CheckMethodCalls(c, apiservertesting.SharedStub,
apiservertesting.BackingCall("AvailabilityZones"),
apiservertesting.BackingCall("EnvironConfig"),
apiservertesting.ProviderCall("Open", apiservertesting.BackingInstance.EnvConfig),
apiservertesting.ZonedEnvironCall("AvailabilityZones"),
apiservertesting.BackingCall("SetAvailabilityZones", apiservertesting.ProviderInstance.Zones),
)
}
示例2: TestAllZonesWithNoBackingZonesAndFetchingZonesFails
func (s *SubnetsSuite) TestAllZonesWithNoBackingZonesAndFetchingZonesFails(c *gc.C) {
apiservertesting.BackingInstance.SetUp(
c,
apiservertesting.StubZonedEnvironName,
apiservertesting.WithoutZones,
apiservertesting.WithSpaces,
apiservertesting.WithSubnets)
apiservertesting.SharedStub.SetErrors(
nil, // Backing.AvailabilityZones
nil, // Backing.ModelConfig
nil, // Backing.CloudSpec
nil, // Provider.Open
errors.NotValidf("foo"), // ZonedEnviron.AvailabilityZones
)
results, err := networkingcommon.AllZones(apiservertesting.BackingInstance)
c.Assert(err, gc.ErrorMatches,
`cannot update known zones: foo not valid`,
)
// Verify the cause is not obscured.
c.Assert(err, jc.Satisfies, errors.IsNotValid)
c.Assert(results, jc.DeepEquals, params.ZoneResults{})
apiservertesting.CheckMethodCalls(c, apiservertesting.SharedStub,
apiservertesting.BackingCall("AvailabilityZones"),
apiservertesting.BackingCall("ModelConfig"),
apiservertesting.BackingCall("CloudSpec"),
apiservertesting.ProviderCall("Open", apiservertesting.BackingInstance.EnvConfig),
apiservertesting.ZonedEnvironCall("AvailabilityZones"),
)
}
示例3: TestAllZonesWithNoBackingZonesUpdates
func (s *SubnetsSuite) TestAllZonesWithNoBackingZonesUpdates(c *gc.C) {
apiservertesting.BackingInstance.SetUp(c, apiservertesting.StubZonedEnvironName, apiservertesting.WithoutZones, apiservertesting.WithSpaces, apiservertesting.WithSubnets)
results, err := s.facade.AllZones()
c.Assert(err, jc.ErrorIsNil)
s.AssertAllZonesResult(c, results, apiservertesting.ProviderInstance.Zones)
apiservertesting.CheckMethodCalls(c, apiservertesting.SharedStub,
apiservertesting.BackingCall("AvailabilityZones"),
apiservertesting.BackingCall("EnvironConfig"),
apiservertesting.ProviderCall("Open", apiservertesting.BackingInstance.EnvConfig),
apiservertesting.ZonedEnvironCall("AvailabilityZones"),
apiservertesting.BackingCall("SetAvailabilityZones", apiservertesting.ProviderInstance.Zones),
)
}
示例4: CheckAddSubnetsFails
func (s *SubnetsSuite) CheckAddSubnetsFails(
c *gc.C, envName string,
withZones, withSpaces, withSubnets apiservertesting.SetUpFlag,
expectedError string,
) {
apiservertesting.BackingInstance.SetUp(c, envName, withZones, withSpaces, withSubnets)
// These calls always happen.
expectedCalls := []apiservertesting.StubMethodCall{
apiservertesting.BackingCall("EnvironConfig"),
apiservertesting.ProviderCall("Open", apiservertesting.BackingInstance.EnvConfig),
}
// Subnets is also always called. but the receiver is different.
switch envName {
case apiservertesting.StubNetworkingEnvironName:
expectedCalls = append(
expectedCalls,
apiservertesting.NetworkingEnvironCall("Subnets", instance.UnknownId, []network.Id(nil)),
)
case apiservertesting.StubZonedNetworkingEnvironName:
expectedCalls = append(
expectedCalls,
apiservertesting.ZonedNetworkingEnvironCall("Subnets", instance.UnknownId, []network.Id(nil)),
)
}
if !withSubnets {
// Set provider subnets to empty for this test.
originalSubnets := make([]network.SubnetInfo, len(apiservertesting.ProviderInstance.Subnets))
copy(originalSubnets, apiservertesting.ProviderInstance.Subnets)
apiservertesting.ProviderInstance.Subnets = []network.SubnetInfo{}
defer func() {
apiservertesting.ProviderInstance.Subnets = make([]network.SubnetInfo, len(originalSubnets))
copy(apiservertesting.ProviderInstance.Subnets, originalSubnets)
}()
if envName == apiservertesting.StubEnvironName || envName == apiservertesting.StubNetworkingEnvironName {
// networking is either not supported or no subnets are
// defined, so expected the same calls for each of the two
// arguments to AddSubnets() below.
expectedCalls = append(expectedCalls, expectedCalls...)
}
} else {
// Having subnets implies spaces will be cached as well.
expectedCalls = append(expectedCalls, apiservertesting.BackingCall("AllSpaces"))
}
if withSpaces && withSubnets {
// Having both subnets and spaces means we'll also cache zones.
expectedCalls = append(expectedCalls, apiservertesting.BackingCall("AvailabilityZones"))
}
if !withZones && withSpaces {
// Set provider zones to empty for this test.
originalZones := make([]providercommon.AvailabilityZone, len(apiservertesting.ProviderInstance.Zones))
copy(originalZones, apiservertesting.ProviderInstance.Zones)
apiservertesting.ProviderInstance.Zones = []providercommon.AvailabilityZone{}
defer func() {
apiservertesting.ProviderInstance.Zones = make([]providercommon.AvailabilityZone, len(originalZones))
copy(apiservertesting.ProviderInstance.Zones, originalZones)
}()
// updateZones tries to constructs a ZonedEnviron with these calls.
zoneCalls := append([]apiservertesting.StubMethodCall{},
apiservertesting.BackingCall("EnvironConfig"),
apiservertesting.ProviderCall("Open", apiservertesting.BackingInstance.EnvConfig),
)
// Receiver can differ according to envName, but
// AvailabilityZones() will be called on either receiver.
switch envName {
case apiservertesting.StubZonedEnvironName:
zoneCalls = append(
zoneCalls,
apiservertesting.ZonedEnvironCall("AvailabilityZones"),
)
case apiservertesting.StubZonedNetworkingEnvironName:
zoneCalls = append(
zoneCalls,
apiservertesting.ZonedNetworkingEnvironCall("AvailabilityZones"),
)
}
// Finally after caching provider zones backing zones are
// updated.
zoneCalls = append(
zoneCalls,
apiservertesting.BackingCall("SetAvailabilityZones", apiservertesting.ProviderInstance.Zones),
)
// Now, because we have 2 arguments to AddSubnets() below, we
// need to expect the same zoneCalls twice, with a
// AvailabilityZones backing lookup between them.
expectedCalls = append(expectedCalls, zoneCalls...)
expectedCalls = append(expectedCalls, apiservertesting.BackingCall("AvailabilityZones"))
expectedCalls = append(expectedCalls, zoneCalls...)
}
//.........这里部分代码省略.........