func (cs *ConnSuite) SetUpTest(c *C) { cs.LoggingSuite.SetUpTest(c) cs.MgoSuite.SetUpTest(c) cs.State = state.TestingInitialize(c, nil) cs.annotations = cs.MgoSuite.Session.DB("juju").C("annotations") cs.charms = cs.MgoSuite.Session.DB("juju").C("charms") cs.machines = cs.MgoSuite.Session.DB("juju").C("machines") cs.relations = cs.MgoSuite.Session.DB("juju").C("relations") cs.services = cs.MgoSuite.Session.DB("juju").C("services") cs.units = cs.MgoSuite.Session.DB("juju").C("units") }
func (s *EnvironSuite) TestUUID(c *C) { uuidA := s.env.UUID() c.Assert(uuidA, HasLen, 36) // Check that two environments have different UUIDs. s.State.Close() s.MgoSuite.TearDownTest(c) s.MgoSuite.SetUpTest(c) s.State = state.TestingInitialize(c, nil) env, err := s.State.Environment() c.Assert(err, IsNil) uuidB := env.UUID() c.Assert(uuidA, Not(Equals), uuidB) }
func (s *InitializeSuite) TestEnvironConfigWithAdminSecret(c *C) { // admin-secret blocks Initialize. good := testing.EnvironConfig(c) bad, err := good.Apply(map[string]interface{}{"admin-secret": "foo"}) _, err = state.Initialize(state.TestingStateInfo(), bad, state.TestingDialOpts()) c.Assert(err, ErrorMatches, "admin-secret should never be written to the state") // admin-secret blocks SetEnvironConfig. st := state.TestingInitialize(c, good) st.Close() err = s.State.SetEnvironConfig(bad) c.Assert(err, ErrorMatches, "admin-secret should never be written to the state") // EnvironConfig remains inviolate. cfg, err := s.State.EnvironConfig() c.Assert(err, IsNil) c.Assert(cfg.AllAttrs(), DeepEquals, good.AllAttrs()) }
func (s *InitializeSuite) TestDoubleInitializeConfig(c *C) { cfg := testing.EnvironConfig(c) initial := cfg.AllAttrs() st := state.TestingInitialize(c, cfg) st.Close() // A second initialize returns an open *State, but ignores its params. // TODO(fwereade) I think this is crazy, but it's what we were testing // for originally... cfg, err := cfg.Apply(map[string]interface{}{"authorized-keys": "something-else"}) c.Assert(err, IsNil) st, err = state.Initialize(state.TestingStateInfo(), cfg, state.TestingDialOpts()) c.Assert(err, IsNil) c.Assert(st, NotNil) st.Close() cfg, err = s.State.EnvironConfig() c.Assert(err, IsNil) c.Assert(cfg.AllAttrs(), DeepEquals, initial) }
func (s *InitializeSuite) TestEnvironConfigWithoutAgentVersion(c *C) { // admin-secret blocks Initialize. good := testing.EnvironConfig(c) attrs := good.AllAttrs() delete(attrs, "agent-version") bad, err := config.New(attrs) c.Assert(err, IsNil) _, err = state.Initialize(state.TestingStateInfo(), bad, state.TestingDialOpts()) c.Assert(err, ErrorMatches, "agent-version must always be set in state") // Bad agent-version blocks SetEnvironConfig. st := state.TestingInitialize(c, good) st.Close() err = s.State.SetEnvironConfig(bad) c.Assert(err, ErrorMatches, "agent-version must always be set in state") // EnvironConfig remains inviolate. cfg, err := s.State.EnvironConfig() c.Assert(err, IsNil) c.Assert(cfg.AllAttrs(), DeepEquals, good.AllAttrs()) }