func (s *SwitchSimpleSuite) TestCurrentModelHasPrecedence(c *gc.C) { testing.WriteEnvironments(c, testing.MultipleEnvConfig) modelcmd.WriteCurrentModel("fubar") context, err := testing.RunCommand(c, newSwitchCommand()) c.Assert(err, jc.ErrorIsNil) c.Assert(testing.Stdout(context), gc.Equals, "fubar\n") }
func (s *ModelCommandSuite) TestGetDefaultModelCurrentModelSet(c *gc.C) { err := modelcmd.WriteCurrentModel("fubar") c.Assert(err, jc.ErrorIsNil) env, err := modelcmd.GetDefaultModel() c.Assert(env, gc.Equals, "fubar") c.Assert(err, jc.ErrorIsNil) }
func (s *filesSuite) TestWriteControllerRemovesEnvironmentFile(c *gc.C) { err := modelcmd.WriteCurrentModel("fubar") c.Assert(err, jc.ErrorIsNil) err = modelcmd.WriteCurrentController("baz") c.Assert(err, jc.ErrorIsNil) c.Assert(modelcmd.GetCurrentModelFilePath(), jc.DoesNotExist) }
func (s *filesSuite) TestWriteEnvironmentAddsNewline(c *gc.C) { err := modelcmd.WriteCurrentModel("fubar") c.Assert(err, jc.ErrorIsNil) current, err := ioutil.ReadFile(modelcmd.GetCurrentModelFilePath()) c.Assert(err, jc.ErrorIsNil) c.Assert(string(current), gc.Equals, "fubar\n") }
func (s *createSuite) SetUpTest(c *gc.C) { s.FakeJujuXDGDataHomeSuite.SetUpTest(c) s.fake = &fakeCreateClient{} s.parser = nil store := configstore.Default s.AddCleanup(func(*gc.C) { configstore.Default = store }) s.store = configstore.NewMem() configstore.Default = func() (configstore.Storage, error) { return s.store, nil } // Set up the current environment, and write just enough info // so we don't try to refresh envName := "test-master" s.serverUUID = "fake-server-uuid" info := s.store.CreateInfo(envName) info.SetAPIEndpoint(configstore.APIEndpoint{ Addresses: []string{"localhost"}, CACert: testing.CACert, ModelUUID: s.serverUUID, ServerUUID: s.serverUUID, }) info.SetAPICredentials(configstore.APICredentials{User: "******", Password: "******"}) err := info.Write() c.Assert(err, jc.ErrorIsNil) s.server = info err = modelcmd.WriteCurrentModel(envName) c.Assert(err, jc.ErrorIsNil) }
func (s *ModelCommandSuite) TestGetDefaultModelBothSet(c *gc.C) { os.Setenv(osenv.JujuModelEnvKey, "magic") err := modelcmd.WriteCurrentModel("fubar") c.Assert(err, jc.ErrorIsNil) env, err := modelcmd.GetDefaultModel() c.Assert(env, gc.Equals, "magic") c.Assert(err, jc.ErrorIsNil) }
func (*filesSuite) TestCurrentCommenctionNameEnvironment(c *gc.C) { err := modelcmd.WriteCurrentModel("fubar") c.Assert(err, jc.ErrorIsNil) name, isController, err := modelcmd.CurrentConnectionName() c.Assert(err, jc.ErrorIsNil) c.Assert(isController, jc.IsFalse) c.Assert(name, gc.Equals, "fubar") }
func (s *filesSuite) TestSetCurrentControllerExistingEnv(c *gc.C) { err := modelcmd.WriteCurrentModel("fubar") c.Assert(err, jc.ErrorIsNil) ctx := testing.Context(c) err = modelcmd.SetCurrentController(ctx, "new-sys") c.Assert(err, jc.ErrorIsNil) s.assertCurrentController(c, "new-sys") c.Assert(testing.Stderr(ctx), gc.Equals, "fubar -> new-sys (controller)\n") }
// switchEnvironment changes the default environment to the given name and // return, if set, the current default environment name. func switchEnvironment(envName string) (string, error) { if defaultEnv := os.Getenv(osenv.JujuModelEnvKey); defaultEnv != "" { return "", errors.Errorf("cannot switch when %s is overriding the model (set to %q)", osenv.JujuModelEnvKey, defaultEnv) } currentEnv, err := modelcmd.GetDefaultModel() if err != nil { return "", errors.Annotate(err, "cannot get the default model") } if err := modelcmd.WriteCurrentModel(envName); err != nil { return "", errors.Trace(err) } return currentEnv, nil }
func (s *ControllerCommandSuite) TestControllerCommandInitEnvFile(c *gc.C) { // If there is a current-model file, use that. err := modelcmd.WriteCurrentModel("fubar") c.Assert(err, jc.ErrorIsNil) testEnsureControllerName(c, "fubar") }
func (s *UserSuite) SetUpTest(c *gc.C) { s.JujuConnSuite.SetUpTest(c) modelcmd.WriteCurrentModel("dummymodel") }
func (*filesSuite) TestErrorWritingCurrentModel(c *gc.C) { // Can't write a file over a directory. os.MkdirAll(modelcmd.GetCurrentModelFilePath(), 0777) err := modelcmd.WriteCurrentModel("fubar") c.Assert(err, gc.ErrorMatches, "unable to write to the model file: .*") }
func (s *filesSuite) TestReadCurrentModelSet(c *gc.C) { err := modelcmd.WriteCurrentModel("fubar") c.Assert(err, jc.ErrorIsNil) s.assertCurrentModel(c, "fubar") }