func (*environSuite) TestSetConfigAllowsChangingNilAgentNameToEmptyString(c *gc.C) { oldCfg := getSimpleTestConfig(c, nil) newCfgTwo := getSimpleTestConfig(c, coretesting.Attrs{"maas-agent-name": ""}) env, err := maas.NewEnviron(oldCfg) c.Assert(err, jc.ErrorIsNil) err = env.SetConfig(newCfgTwo) c.Assert(err, jc.ErrorIsNil) c.Check(maas.MAASAgentName(env), gc.Equals, "") }
func (*environSuite) TestSetConfigRefusesChangingAgentName(c *gc.C) { oldCfg := getSimpleTestConfig(c, coretesting.Attrs{"maas-agent-name": "agent-one"}) newCfgTwo := getSimpleTestConfig(c, coretesting.Attrs{"maas-agent-name": "agent-two"}) env, err := maas.NewEnviron(oldCfg) c.Assert(err, jc.ErrorIsNil) // SetConfig() fails, even though both the old and the new config are // individually valid. err = env.SetConfig(newCfgTwo) c.Assert(err, gc.NotNil) c.Check(err, gc.ErrorMatches, ".*cannot change maas-agent-name.*") // The old config is still in place. The new config never took effect. c.Check(maas.MAASAgentName(env), gc.Equals, "agent-one") // It also refuses to set it to the empty string: err = env.SetConfig(getSimpleTestConfig(c, coretesting.Attrs{"maas-agent-name": ""})) c.Check(err, gc.ErrorMatches, ".*cannot change maas-agent-name.*") // And to nil err = env.SetConfig(getSimpleTestConfig(c, nil)) c.Check(err, gc.ErrorMatches, ".*cannot change maas-agent-name.*") }