1
// Copyright 2015 Canonical Ltd.
2
// Licensed under the AGPLv3, see LICENCE file for details.
7
jc "github.com/juju/testing/checkers"
10
"github.com/juju/juju/state"
11
"github.com/juju/juju/state/testing"
14
type utilsSuite struct {
19
var _ = gc.Suite(&utilsSuite{})
21
func (s *utilsSuite) SetUpTest(c *gc.C) {
22
s.StateSuite.SetUpTest(c)
23
s.pool = state.NewStatePool(s.State)
24
s.AddCleanup(func(*gc.C) { s.pool.Close() })
27
func (s *utilsSuite) TestValidateEmpty(c *gc.C) {
28
uuid, err := validateModelUUID(
32
c.Assert(err, jc.ErrorIsNil)
33
c.Assert(uuid, gc.Equals, s.State.ModelUUID())
36
func (s *utilsSuite) TestValidateEmptyStrict(c *gc.C) {
37
_, err := validateModelUUID(
42
c.Assert(err, gc.ErrorMatches, `unknown model: ""`)
45
func (s *utilsSuite) TestValidateController(c *gc.C) {
46
uuid, err := validateModelUUID(
49
modelUUID: s.State.ModelUUID(),
51
c.Assert(err, jc.ErrorIsNil)
52
c.Assert(uuid, gc.Equals, s.State.ModelUUID())
55
func (s *utilsSuite) TestValidateControllerStrict(c *gc.C) {
56
uuid, err := validateModelUUID(
59
modelUUID: s.State.ModelUUID(),
62
c.Assert(err, jc.ErrorIsNil)
63
c.Assert(uuid, gc.Equals, s.State.ModelUUID())
66
func (s *utilsSuite) TestValidateBadModelUUID(c *gc.C) {
67
_, err := validateModelUUID(
72
c.Assert(err, gc.ErrorMatches, `unknown model: "bad"`)
75
func (s *utilsSuite) TestValidateOtherModel(c *gc.C) {
76
envState := s.Factory.MakeModel(c, nil)
77
defer envState.Close()
79
uuid, err := validateModelUUID(
82
modelUUID: envState.ModelUUID(),
84
c.Assert(err, jc.ErrorIsNil)
85
c.Assert(uuid, gc.Equals, envState.ModelUUID())
88
func (s *utilsSuite) TestValidateOtherModelControllerOnly(c *gc.C) {
89
envState := s.Factory.MakeModel(c, nil)
90
defer envState.Close()
92
_, err := validateModelUUID(
95
modelUUID: envState.ModelUUID(),
96
controllerModelOnly: true,
98
c.Assert(err, gc.ErrorMatches, `requested model ".*" is not the controller model`)