Rietveld Code Review Tool
Help | Bug tracker | Discussion group | Source code | Sign in
(2166)

Delta Between Two Patch Sets: environs/testing/tools.go

Issue 14527043: Fix tools metadata generation for null provider
Left Patch Set: Fix tools metadata generation for null provider Created 11 years, 6 months ago
Right Patch Set: Fix tools metadata generation for null provider Created 11 years, 5 months ago
Left:
Right:
Use n/p to move between diff chunks; N/P to move between comments. Please Sign in to add in-line comments.
Jump to:
Left: Side by side diff | Download
Right: Side by side diff | Download
« no previous file with change/comment | « environs/sync/sync.go ('k') | environs/tools/simplestreams.go » ('j') | no next file with change/comment »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
LEFTRIGHT
1 // Copyright 2013 Canonical Ltd. 1 // Copyright 2013 Canonical Ltd.
2 // Licensed under the AGPLv3, see LICENCE file for details. 2 // Licensed under the AGPLv3, see LICENCE file for details.
3 3
4 package testing 4 package testing
5 5
6 import ( 6 import (
7 "bytes" 7 "bytes"
8 "os" 8 "os"
9 "path" 9 "path"
10 "path/filepath" 10 "path/filepath"
(...skipping 94 matching lines...) Expand 10 before | Expand all | Expand 10 after
105 } 105 }
106 url, err := stor.URL(name) 106 url, err := stor.URL(name)
107 if err != nil { 107 if err != nil {
108 return nil, err 108 return nil, err
109 } 109 }
110 return &coretools.Tools{URL: url, Version: vers, Size: size, SHA256: che cksum}, nil 110 return &coretools.Tools{URL: url, Version: vers, Size: size, SHA256: che cksum}, nil
111 } 111 }
112 112
113 // UploadFakeToolsVersions puts fake tools in the supplied storage for the suppl ied versions. 113 // UploadFakeToolsVersions puts fake tools in the supplied storage for the suppl ied versions.
114 func UploadFakeToolsVersions(stor storage.Storage, versions ...version.Binary) ( []*coretools.Tools, error) { 114 func UploadFakeToolsVersions(stor storage.Storage, versions ...version.Binary) ( []*coretools.Tools, error) {
115 // Leave existing tools alone.
116 existingTools := make(map[version.Binary]*coretools.Tools)
117 existing, _ := envtools.ReadList(stor, 1, -1)
118 for _, tools := range existing {
119 existingTools[tools.Version] = tools
120 }
115 var agentTools coretools.List = make(coretools.List, len(versions)) 121 var agentTools coretools.List = make(coretools.List, len(versions))
116 for i, version := range versions { 122 for i, version := range versions {
117 » » t, err := uploadFakeToolsVersion(stor, version) 123 » » if tools, ok := existingTools[version]; ok {
118 » » if err != nil { 124 » » » agentTools[i] = tools
119 » » » return nil, err 125 » » } else {
126 » » » t, err := uploadFakeToolsVersion(stor, version)
127 » » » if err != nil {
128 » » » » return nil, err
129 » » » }
130 » » » agentTools[i] = t
120 } 131 }
121 » » agentTools[i] = t 132 » }
122 » } 133 » if err := envtools.MergeAndWriteMetadata(stor, agentTools); err != nil {
123 » err := envtools.MergeAndWriteMetadata(stor, agentTools, envtools.Resolve )
124 » if err != nil {
125 return nil, err 134 return nil, err
126 } 135 }
127 return agentTools, nil 136 return agentTools, nil
128 } 137 }
129 138
130 // AssertUploadFakeToolsVersions puts fake tools in the supplied storage for the supplied versions. 139 // AssertUploadFakeToolsVersions puts fake tools in the supplied storage for the supplied versions.
131 func AssertUploadFakeToolsVersions(c *gc.C, stor storage.Storage, versions ...ve rsion.Binary) []*coretools.Tools { 140 func AssertUploadFakeToolsVersions(c *gc.C, stor storage.Storage, versions ...ve rsion.Binary) []*coretools.Tools {
132 agentTools, err := UploadFakeToolsVersions(stor, versions...) 141 agentTools, err := UploadFakeToolsVersions(stor, versions...)
133 c.Assert(err, gc.IsNil) 142 c.Assert(err, gc.IsNil)
134 return agentTools 143 return agentTools
135 } 144 }
136 145
137 // MustUploadFakeToolsVersions acts as UploadFakeToolsVersions, but panics on fa ilure. 146 // MustUploadFakeToolsVersions acts as UploadFakeToolsVersions, but panics on fa ilure.
138 func MustUploadFakeToolsVersions(stor storage.Storage, versions ...version.Binar y) []*coretools.Tools { 147 func MustUploadFakeToolsVersions(stor storage.Storage, versions ...version.Binar y) []*coretools.Tools {
139 var agentTools coretools.List = make(coretools.List, len(versions)) 148 var agentTools coretools.List = make(coretools.List, len(versions))
140 for i, version := range versions { 149 for i, version := range versions {
141 t, err := uploadFakeToolsVersion(stor, version) 150 t, err := uploadFakeToolsVersion(stor, version)
142 if err != nil { 151 if err != nil {
143 panic(err) 152 panic(err)
144 } 153 }
145 agentTools[i] = t 154 agentTools[i] = t
146 } 155 }
147 » err := envtools.MergeAndWriteMetadata(stor, agentTools, envtools.Resolve ) 156 » err := envtools.MergeAndWriteMetadata(stor, agentTools)
148 if err != nil { 157 if err != nil {
149 panic(err) 158 panic(err)
150 } 159 }
151 return agentTools 160 return agentTools
152 } 161 }
153 162
154 func uploadFakeTools(stor storage.Storage) error { 163 func uploadFakeTools(stor storage.Storage) error {
155 versions := []version.Binary{version.Current} 164 versions := []version.Binary{version.Current}
156 toolsVersion := version.Current 165 toolsVersion := version.Current
157 if toolsVersion.Series != config.DefaultSeries { 166 if toolsVersion.Series != config.DefaultSeries {
(...skipping 17 matching lines...) Expand all
175 184
176 // MustUploadFakeTools acts as UploadFakeTools, but panics on failure. 185 // MustUploadFakeTools acts as UploadFakeTools, but panics on failure.
177 func MustUploadFakeTools(stor storage.Storage) { 186 func MustUploadFakeTools(stor storage.Storage) {
178 if err := uploadFakeTools(stor); err != nil { 187 if err := uploadFakeTools(stor); err != nil {
179 panic(err) 188 panic(err)
180 } 189 }
181 } 190 }
182 191
183 // RemoveFakeTools deletes the fake tools from the supplied storage. 192 // RemoveFakeTools deletes the fake tools from the supplied storage.
184 func RemoveFakeTools(c *gc.C, stor storage.Storage) { 193 func RemoveFakeTools(c *gc.C, stor storage.Storage) {
194 c.Logf("removing fake tools")
185 toolsVersion := version.Current 195 toolsVersion := version.Current
186 name := envtools.StorageName(toolsVersion) 196 name := envtools.StorageName(toolsVersion)
187 err := stor.Remove(name) 197 err := stor.Remove(name)
188 c.Check(err, gc.IsNil) 198 c.Check(err, gc.IsNil)
189 if version.Current.Series != config.DefaultSeries { 199 if version.Current.Series != config.DefaultSeries {
190 toolsVersion.Series = config.DefaultSeries 200 toolsVersion.Series = config.DefaultSeries
191 name := envtools.StorageName(toolsVersion) 201 name := envtools.StorageName(toolsVersion)
192 err := stor.Remove(name) 202 err := stor.Remove(name)
193 c.Check(err, gc.IsNil) 203 c.Check(err, gc.IsNil)
194 } 204 }
(...skipping 241 matching lines...) Expand 10 before | Expand all | Expand 10 after
436 func SetSSLHostnameVerification(c *gc.C, st *state.State, SSLHostnameVerificatio n bool) { 446 func SetSSLHostnameVerification(c *gc.C, st *state.State, SSLHostnameVerificatio n bool) {
437 envConfig, err := st.EnvironConfig() 447 envConfig, err := st.EnvironConfig()
438 c.Assert(err, gc.IsNil) 448 c.Assert(err, gc.IsNil)
439 attrs := envConfig.AllAttrs() 449 attrs := envConfig.AllAttrs()
440 attrs["ssl-hostname-verification"] = SSLHostnameVerification 450 attrs["ssl-hostname-verification"] = SSLHostnameVerification
441 newConfig, err := config.New(config.NoDefaults, attrs) 451 newConfig, err := config.New(config.NoDefaults, attrs)
442 c.Assert(err, gc.IsNil) 452 c.Assert(err, gc.IsNil)
443 err = st.SetEnvironConfig(newConfig) 453 err = st.SetEnvironConfig(newConfig)
444 c.Assert(err, gc.IsNil) 454 c.Assert(err, gc.IsNil)
445 } 455 }
LEFTRIGHT

Powered by Google App Engine
RSS Feeds Recent Issues | This issue
This is Rietveld f62528b