1
// Copyright 2012, 2013 Canonical Ltd.
2
// Licensed under the AGPLv3, see LICENCE file for details.
7
gc "launchpad.net/gocheck"
9
"launchpad.net/juju-core/environs/config"
10
"launchpad.net/juju-core/state"
11
coretesting "launchpad.net/juju-core/testing"
14
// ChangeEnvironConfig applies the given change function
15
// to the attributes from st.EnvironConfig and
16
// sets the state's environment configuration to the result.
17
func ChangeEnvironConfig(c *gc.C, st *state.State, change func(coretesting.Attrs) coretesting.Attrs) {
18
cfg, err := st.EnvironConfig()
19
c.Assert(err, gc.IsNil)
20
newCfg, err := config.New(config.NoDefaults, change(cfg.AllAttrs()))
21
c.Assert(err, gc.IsNil)
22
err = st.SetEnvironConfig(newCfg)
23
c.Assert(err, gc.IsNil)