func makeToolsList(series string) tools.List { var toolsVersion version.Binary toolsVersion.Number = version.MustParse("1.26.0") toolsVersion.Arch = arch.AMD64 toolsVersion.Series = series return tools.List{{ Version: toolsVersion, URL: fmt.Sprintf("http://example.com/tools/juju-%s.tgz", toolsVersion), SHA256: "1234567890abcdef", Size: 1024, }} }
// RemoveFakeTools deletes the fake tools from the supplied storage. func RemoveFakeTools(c *gc.C, stor storage.Storage, toolsDir string) { c.Logf("removing fake tools") toolsVersion := version.Binary{ Number: jujuversion.Current, Arch: arch.HostArch(), Series: series.HostSeries(), } name := envtools.StorageName(toolsVersion, toolsDir) err := stor.Remove(name) c.Check(err, jc.ErrorIsNil) defaultSeries := series.LatestLts() if series.HostSeries() != defaultSeries { toolsVersion.Series = defaultSeries name := envtools.StorageName(toolsVersion, toolsDir) err := stor.Remove(name) c.Check(err, jc.ErrorIsNil) } RemoveFakeToolsMetadata(c, stor) }
// UploadFakeTools uploads fake tools of the architectures in // s.UploadArches for each LTS release to the specified storage. func (s *ToolsFixture) UploadFakeTools(c *gc.C, stor storage.Storage, toolsDir, stream string) { arches := s.UploadArches if len(arches) == 0 { arches = []string{arch.HostArch()} } var versions []version.Binary for _, arch := range arches { v := version.Binary{ Number: jujuversion.Current, Arch: arch, } for _, series := range toolsLtsSeries { v.Series = series versions = append(versions, v) } } c.Logf("uploading fake tool versions: %v", versions) _, err := UploadFakeToolsVersions(stor, toolsDir, stream, versions...) c.Assert(err, jc.ErrorIsNil) }