github.com/makyo/juju@v0.0.0-20160425123129-2608902037e9/provider/gce/google/zone_test.go (about) 1 // Copyright 2014 Canonical Ltd. 2 // Licensed under the AGPLv3, see LICENCE file for details. 3 4 package google_test 5 6 import ( 7 jc "github.com/juju/testing/checkers" 8 "google.golang.org/api/compute/v1" 9 gc "gopkg.in/check.v1" 10 11 "github.com/juju/juju/provider/gce/google" 12 ) 13 14 type zoneSuite struct { 15 google.BaseSuite 16 17 raw compute.Zone 18 zone google.AvailabilityZone 19 } 20 21 var _ = gc.Suite(&zoneSuite{}) 22 23 func (s *zoneSuite) SetUpTest(c *gc.C) { 24 s.BaseSuite.SetUpTest(c) 25 26 s.raw = compute.Zone{ 27 Name: "c-zone", 28 Status: google.StatusUp, 29 } 30 s.zone = google.NewAvailabilityZone(&s.raw) 31 } 32 33 func (s *zoneSuite) TestAvailabilityZoneName(c *gc.C) { 34 c.Check(s.zone.Name(), gc.Equals, "c-zone") 35 } 36 37 func (s *zoneSuite) TestAvailabilityZoneStatus(c *gc.C) { 38 c.Check(s.zone.Status(), gc.Equals, "UP") 39 } 40 41 func (s *zoneSuite) TestAvailabilityZoneAvailable(c *gc.C) { 42 c.Check(s.zone.Available(), jc.IsTrue) 43 } 44 45 func (s *zoneSuite) TestAvailabilityZoneAvailableFalse(c *gc.C) { 46 s.raw.Status = google.StatusDown 47 c.Check(s.zone.Available(), jc.IsFalse) 48 } 49 50 func (s *zoneSuite) TestAvailabilityZoneNotDeprecated(c *gc.C) { 51 c.Check(s.zone.Deprecated(), jc.IsFalse) 52 } 53 54 func (s *zoneSuite) TestAvailabilityZoneDeprecated(c *gc.C) { 55 s.raw.Deprecated = &compute.DeprecationStatus{ 56 State: "DEPRECATED", 57 } 58 c.Check(s.zone.Deprecated(), jc.IsTrue) 59 }