func (s *environAZSuite) TestParseAvailabilityZonesPlacementUnavailable(c *gc.C) { s.StartInstArgs.Placement = "zone=a-zone" s.FakeConn.Zones = []google.AvailabilityZone{ google.NewZone("a-zone", google.StatusDown, "", ""), } _, err := gce.ParseAvailabilityZones(s.Env, s.StartInstArgs) c.Check(err, gc.ErrorMatches, `.*availability zone "a-zone" is DOWN`) }
func (s *environAZSuite) TestParseAvailabilityZones(c *gc.C) { s.FakeCommon.AZInstances = []common.AvailabilityZoneInstances{{ ZoneName: "home-zone", Instances: []instance.Id{s.Instance.Id()}, }} zones, err := gce.ParseAvailabilityZones(s.Env, s.StartInstArgs) c.Assert(err, jc.ErrorIsNil) c.Check(zones, jc.DeepEquals, []string{"home-zone"}) }
func (s *environAZSuite) TestParseAvailabilityZonesPlacement(c *gc.C) { s.StartInstArgs.Placement = "zone=a-zone" s.FakeConn.Zones = []google.AvailabilityZone{ google.NewZone("a-zone", google.StatusUp, "", ""), } zones, err := gce.ParseAvailabilityZones(s.Env, s.StartInstArgs) c.Assert(err, jc.ErrorIsNil) c.Check(zones, jc.DeepEquals, []string{"a-zone"}) }
func (s *environAZSuite) TestParseAvailabilityZonesPlacementAPI(c *gc.C) { s.StartInstArgs.Placement = "zone=a-zone" s.FakeConn.Zones = []google.AvailabilityZone{ google.NewZone("a-zone", google.StatusUp, "", ""), } _, err := gce.ParseAvailabilityZones(s.Env, s.StartInstArgs) c.Assert(err, jc.ErrorIsNil) s.FakeEnviron.CheckCalls(c, []gce.FakeCall{}) s.FakeCommon.CheckCalls(c, []gce.FakeCall{}) c.Check(s.FakeConn.Calls, gc.HasLen, 1) c.Check(s.FakeConn.Calls[0].FuncName, gc.Equals, "AvailabilityZones") c.Check(s.FakeConn.Calls[0].Region, gc.Equals, "home") }
func (s *environAZSuite) TestParseAvailabilityZonesAPI(c *gc.C) { ids := []instance.Id{s.Instance.Id()} s.FakeCommon.AZInstances = []common.AvailabilityZoneInstances{{ ZoneName: "home-zone", Instances: ids, }} s.StartInstArgs.DistributionGroup = func() ([]instance.Id, error) { return ids, nil } _, err := gce.ParseAvailabilityZones(s.Env, s.StartInstArgs) c.Assert(err, jc.ErrorIsNil) c.Check(s.FakeConn.Calls, gc.HasLen, 0) s.FakeEnviron.CheckCalls(c, []gce.FakeCall{}) s.FakeCommon.CheckCalls(c, []gce.FakeCall{{ FuncName: "AvailabilityZoneAllocations", Args: gce.FakeCallArgs{ "env": s.Env, "group": ids, }, }}) }
func (s *environAZSuite) TestParseAvailabilityZonesNoneFound(c *gc.C) { _, err := gce.ParseAvailabilityZones(s.Env, s.StartInstArgs) c.Check(err, jc.Satisfies, errors.IsNotFound) }