21
21
"github.com/juju/juju/cmd/modelcmd"
22
22
"github.com/juju/juju/environs"
23
23
"github.com/juju/juju/environs/config"
24
"github.com/juju/juju/environs/configstore"
25
24
"github.com/juju/juju/environs/tools"
26
25
toolstesting "github.com/juju/juju/environs/tools/testing"
27
26
"github.com/juju/juju/juju"
29
28
"github.com/juju/juju/jujuclient/jujuclienttesting"
30
29
"github.com/juju/juju/provider/dummy"
31
30
coretesting "github.com/juju/juju/testing"
32
"github.com/juju/juju/version"
31
jujuversion "github.com/juju/juju/version"
35
34
type ToolsMetadataSuite struct {
47
46
loggo.ResetLoggers()
49
48
cfg, err := config.New(config.UseDefaults, map[string]interface{}{
51
"uuid": coretesting.ModelTag.Id(),
52
"controller-uuid": coretesting.ModelTag.Id(),
54
55
c.Assert(err, jc.ErrorIsNil)
55
56
env, err := environs.Prepare(
56
57
modelcmd.BootstrapContextNoVerify(coretesting.Context(c)),
57
configstore.NewMem(), jujuclienttesting.NewMemStore(), cfg.Name(),
58
environs.PrepareForBootstrapParams{Config: cfg},
58
jujuclienttesting.NewMemStore(),
59
environs.PrepareParams{
60
ControllerName: cfg.Name(),
61
BaseConfig: cfg.AllAttrs(),
60
65
c.Assert(err, jc.ErrorIsNil)
69
74
var currentVersionStrings = []string{
70
75
// only these ones will make it into the JSON files.
71
version.Current.String() + "-quantal-amd64",
72
version.Current.String() + "-quantal-armhf",
73
version.Current.String() + "-quantal-i386",
76
jujuversion.Current.String() + "-quantal-amd64",
77
jujuversion.Current.String() + "-quantal-armhf",
78
jujuversion.Current.String() + "-quantal-i386",
76
81
var versionStrings = append([]string{
77
fmt.Sprintf("%d.12.0-precise-amd64", version.Current.Major),
78
fmt.Sprintf("%d.12.0-precise-i386", version.Current.Major),
79
fmt.Sprintf("%d.12.0-raring-amd64", version.Current.Major),
80
fmt.Sprintf("%d.12.0-raring-i386", version.Current.Major),
81
fmt.Sprintf("%d.13.0-precise-amd64", version.Current.Major+1),
82
fmt.Sprintf("%d.12.0-precise-amd64", jujuversion.Current.Major),
83
fmt.Sprintf("%d.12.0-precise-i386", jujuversion.Current.Major),
84
fmt.Sprintf("%d.12.0-raring-amd64", jujuversion.Current.Major),
85
fmt.Sprintf("%d.12.0-raring-i386", jujuversion.Current.Major),
86
fmt.Sprintf("%d.13.0-precise-amd64", jujuversion.Current.Major+1),
82
87
}, currentVersionStrings...)
84
89
var expectedOutputCommon = makeExpectedOutputCommon()
314
319
func (s *ToolsMetadataSuite) TestPatchLevels(c *gc.C) {
315
currentVersion := version.Current
320
currentVersion := jujuversion.Current
316
321
currentVersion.Build = 0
317
322
versionStrings := []string{
318
323
currentVersion.String() + "-precise-amd64",