github.com/juju/juju@v0.0.0-20240430160146-1752b71fcf00/environs/errors_test.go (about) 1 // Copyright 2022 Canonical Ltd. 2 // Licensed under the AGPLv3, see LICENCE file for details. 3 4 package environs_test 5 6 import ( 7 "fmt" 8 9 "github.com/juju/errors" 10 jc "github.com/juju/testing/checkers" 11 gc "gopkg.in/check.v1" 12 13 "github.com/juju/juju/environs" 14 ) 15 16 type errorsSuite struct { 17 } 18 19 var _ = gc.Suite(&errorsSuite{}) 20 21 func (*errorsSuite) TestZoneIndependentErrorConforms(c *gc.C) { 22 err := fmt.Errorf("fly screens on a submarine: %w", environs.ErrAvailabilityZoneIndependent) 23 c.Assert(errors.Is(err, environs.ErrAvailabilityZoneIndependent), jc.IsTrue) 24 25 err = fmt.Errorf("replace with solid doors: %w", err) 26 err = environs.ZoneIndependentError(err) 27 c.Assert(errors.Is(err, environs.ErrAvailabilityZoneIndependent), jc.IsTrue) 28 29 err = fmt.Errorf("or stay on dry land: %w", err) 30 c.Assert(errors.Is(err, environs.ErrAvailabilityZoneIndependent), jc.IsTrue) 31 }