func (s *toolsSuite) setupToolsForUpload(c *gc.C) (coretools.List, version.Binary, string) { localStorage := c.MkDir() vers := version.MustParseBinary("1.9.0-quantal-amd64") versionStrings := []string{vers.String()} expectedTools := toolstesting.MakeToolsWithCheckSum(c, localStorage, "releases", versionStrings) toolsFile := tools.StorageName(vers) return expectedTools, vers, path.Join(localStorage, toolsFile) }
func (s *ToolsMetadataSuite) TestGenerateWithPublicFallback(c *gc.C) { // Write tools and metadata to the public tools location. toolstesting.MakeToolsWithCheckSum(c, s.publicStorageDir, "released", versionStrings) // Run the command with no local metadata. ctx := coretesting.Context(c) metadataDir := c.MkDir() code := cmd.Main(envcmd.Wrap(&ToolsMetadataCommand{}), ctx, []string{"-d", metadataDir, "--stream", "released"}) c.Assert(code, gc.Equals, 0) metadata := toolstesting.ParseMetadataFromDir(c, metadataDir, "released", false) c.Assert(metadata, gc.HasLen, len(versionStrings)) obtainedVersionStrings := make([]string, len(versionStrings)) for i, metadata := range metadata { s := fmt.Sprintf("%s-%s-%s", metadata.Version, metadata.Release, metadata.Arch) obtainedVersionStrings[i] = s } c.Assert(obtainedVersionStrings, gc.DeepEquals, versionStrings) }