func (s *uploadSuite) TestMockBuildTools(c *gc.C) { s.PatchValue(&version.Current, version.MustParseBinary("1.9.1-trusty-amd64")) buildToolsFunc := toolstesting.GetMockBuildTools(c) builtTools, err := buildToolsFunc(nil) c.Assert(err, gc.IsNil) builtTools.Dir = "" expectedBuiltTools := &sync.BuiltTools{ StorageName: "name", Version: version.Current, Size: 127, Sha256Hash: "6a19d08ca4913382ca86508aa38eb8ee5b9ae2d74333fe8d862c0f9e29b82c39", } c.Assert(builtTools, gc.DeepEquals, expectedBuiltTools) vers := version.MustParseBinary("1.5.3-trusty-amd64") builtTools, err = buildToolsFunc(&vers.Number) c.Assert(err, gc.IsNil) builtTools.Dir = "" expectedBuiltTools = &sync.BuiltTools{ StorageName: "name", Version: vers, Size: 127, Sha256Hash: "cad8ccedab8f26807ff379ddc2f2f78d9a7cac1276e001154cee5e39b9ddcc38", } c.Assert(builtTools, gc.DeepEquals, expectedBuiltTools) }
func (s *uploadSuite) TestMockBuildTools(c *gc.C) { checkTools := func(tools *sync.BuiltAgent, vers version.Binary) { c.Check(tools.StorageName, gc.Equals, "name") c.Check(tools.Version, jc.DeepEquals, vers) f, err := os.Open(filepath.Join(tools.Dir, "name")) c.Assert(err, jc.ErrorIsNil) defer f.Close() gzr, err := gzip.NewReader(f) c.Assert(err, jc.ErrorIsNil) _, tr, err := tar.FindFile(gzr, names.Jujud) c.Assert(err, jc.ErrorIsNil) content, err := ioutil.ReadAll(tr) c.Assert(err, jc.ErrorIsNil) c.Check(string(content), gc.Equals, fmt.Sprintf("jujud contents %s", vers)) } current := version.MustParseBinary("1.9.1-trusty-amd64") s.PatchValue(&jujuversion.Current, current.Number) s.PatchValue(&arch.HostArch, func() string { return current.Arch }) s.PatchValue(&series.HostSeries, func() string { return current.Series }) buildToolsFunc := toolstesting.GetMockBuildTools(c) builtTools, err := buildToolsFunc(true, nil, "released") c.Assert(err, jc.ErrorIsNil) checkTools(builtTools, current) vers := version.MustParseBinary("1.5.3-trusty-amd64") builtTools, err = buildToolsFunc(true, &vers.Number, "released") c.Assert(err, jc.ErrorIsNil) checkTools(builtTools, vers) }
func (s *uploadSuite) TestMockBuildTools(c *gc.C) { current := version.MustParseBinary("1.9.1-trusty-amd64") s.PatchValue(&version.Current, current.Number) s.PatchValue(&arch.HostArch, func() string { return current.Arch }) s.PatchValue(&series.HostSeries, func() string { return current.Series }) buildToolsFunc := toolstesting.GetMockBuildTools(c) builtTools, err := buildToolsFunc(nil, "released") c.Assert(err, jc.ErrorIsNil) builtTools.Dir = "" expectedBuiltTools := &sync.BuiltTools{ StorageName: "name", Version: current, Size: 127, Sha256Hash: "6a19d08ca4913382ca86508aa38eb8ee5b9ae2d74333fe8d862c0f9e29b82c39", } c.Assert(builtTools, gc.DeepEquals, expectedBuiltTools) vers := version.MustParseBinary("1.5.3-trusty-amd64") builtTools, err = buildToolsFunc(&vers.Number, "released") c.Assert(err, jc.ErrorIsNil) builtTools.Dir = "" expectedBuiltTools = &sync.BuiltTools{ StorageName: "name", Version: vers, Size: 127, Sha256Hash: "cad8ccedab8f26807ff379ddc2f2f78d9a7cac1276e001154cee5e39b9ddcc38", } c.Assert(builtTools, gc.DeepEquals, expectedBuiltTools) }
// JujuConnSuite very helpfully uploads some default // tools to the environment's storage. We don't want // 'em there; but we do want a consistent default-series // in the environment state. func (s *UpgradeJujuSuite) Reset(c *gc.C) { s.JujuConnSuite.Reset(c) envtesting.RemoveTools(c, s.Conn.Environ.Storage()) updateAttrs := map[string]interface{}{ "default-series": "raring", "agent-version": "1.2.3", } err := s.State.UpdateEnvironConfig(updateAttrs, nil, nil) c.Assert(err, gc.IsNil) s.PatchValue(&sync.BuildToolsTarball, toolstesting.GetMockBuildTools(c)) }
// JujuConnSuite very helpfully uploads some default // tools to the environment's storage. We don't want // 'em there; but we do want a consistent default-series // in the environment state. func (s *UpgradeJujuSuite) Reset(c *gc.C) { s.JujuConnSuite.Reset(c) envtesting.RemoveTools(c, s.Environ.Storage()) updateAttrs := map[string]interface{}{ "default-series": "raring", "agent-version": "1.2.3", } err := s.State.UpdateEnvironConfig(updateAttrs, nil, nil) c.Assert(err, gc.IsNil) s.PatchValue(&sync.BuildToolsTarball, toolstesting.GetMockBuildTools(c)) // Set API host ports so FindTools works. hostPorts := [][]network.HostPort{{{ Address: network.NewAddress("0.1.2.3", network.ScopeUnknown), Port: 1234, }}} err = s.State.SetAPIHostPorts(hostPorts) c.Assert(err, gc.IsNil) }
// JujuConnSuite very helpfully uploads some default // tools to the environment's storage. We don't want // 'em there; but we do want a consistent default-series // in the environment state. func (s *UpgradeJujuSuite) Reset(c *gc.C) { s.JujuConnSuite.Reset(c) envtesting.RemoveTools(c, s.DefaultToolsStorage, s.Environ.Config().AgentStream()) updateAttrs := map[string]interface{}{ "default-series": "raring", "agent-version": "1.2.3", } err := s.State.UpdateModelConfig(updateAttrs, nil, nil) c.Assert(err, jc.ErrorIsNil) s.PatchValue(&sync.BuildAgentTarball, toolstesting.GetMockBuildTools(c)) // Set API host ports so FindTools works. hostPorts := [][]network.HostPort{ network.NewHostPorts(1234, "0.1.2.3"), } err = s.State.SetAPIHostPorts(hostPorts) c.Assert(err, jc.ErrorIsNil) s.CmdBlockHelper = coretesting.NewCmdBlockHelper(s.APIState) c.Assert(s.CmdBlockHelper, gc.NotNil) s.AddCleanup(func(*gc.C) { s.CmdBlockHelper.Close() }) }