github.com/wallyworld/juju@v0.0.0-20161013125918-6cf1bc9d917a/jujuclient/modelvalidation_test.go (about) 1 // Copyright 2016 Canonical Ltd. 2 // Licensed under the AGPLv3, see LICENCE file for details. 3 4 package jujuclient_test 5 6 import ( 7 jc "github.com/juju/testing/checkers" 8 gc "gopkg.in/check.v1" 9 10 "github.com/juju/juju/jujuclient" 11 "github.com/juju/juju/testing" 12 ) 13 14 type ModelValidationSuite struct { 15 testing.BaseSuite 16 model jujuclient.ModelDetails 17 } 18 19 func (s *ModelValidationSuite) SetUpTest(c *gc.C) { 20 s.BaseSuite.SetUpTest(c) 21 s.model = jujuclient.ModelDetails{ 22 "test.uuid", 23 } 24 } 25 26 var _ = gc.Suite(&ModelValidationSuite{}) 27 28 func (s *ModelValidationSuite) TestValidateModelName(c *gc.C) { 29 c.Assert(jujuclient.ValidateModelName("foo@bar/baz"), jc.ErrorIsNil) 30 c.Assert(jujuclient.ValidateModelName("foo"), gc.ErrorMatches, `validating model name "foo": unqualified model name "foo" not valid`) 31 c.Assert(jujuclient.ValidateModelName(""), gc.ErrorMatches, `validating model name "": unqualified model name "" not valid`) 32 c.Assert(jujuclient.ValidateModelName("!"), gc.ErrorMatches, `validating model name "!": unqualified model name "!" not valid`) 33 c.Assert(jujuclient.ValidateModelName("!/foo"), gc.ErrorMatches, `validating model name "!/foo": user name "!" not valid`) 34 } 35 36 func (s *ModelValidationSuite) TestValidateModelDetailsNoModelUUID(c *gc.C) { 37 s.model.ModelUUID = "" 38 s.assertValidateModelDetailsFails(c, "missing uuid, model details not valid") 39 } 40 41 func (s *ModelValidationSuite) assertValidateModelDetailsFails(c *gc.C, failureMessage string) { 42 err := jujuclient.ValidateModelDetails(s.model) 43 c.Assert(err, gc.ErrorMatches, failureMessage) 44 }