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

Delta Between Two Patch Sets: provider/azure/environ_test.go

Issue 13355044: environs/config: more restrictive New
Left Patch Set: environs/config: more restrictive New Created 11 years, 7 months ago
Right Patch Set: environs/config: more restrictive New Created 11 years, 7 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 | « provider/azure/config_test.go ('k') | provider/azure/environprovider_test.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 azure 4 package azure
5 5
6 import ( 6 import (
7 "bytes"
7 "encoding/base64" 8 "encoding/base64"
8 "encoding/xml" 9 "encoding/xml"
9 "fmt" 10 "fmt"
11 "io/ioutil"
10 "net/http" 12 "net/http"
11 "net/url" 13 "net/url"
12 "path" 14 "path"
13 "regexp" 15 "regexp"
14 "strings" 16 "strings"
15 "sync" 17 "sync"
16 18
17 gc "launchpad.net/gocheck" 19 gc "launchpad.net/gocheck"
18 "launchpad.net/gwacl" 20 "launchpad.net/gwacl"
19 21
20 "launchpad.net/juju-core/constraints" 22 "launchpad.net/juju-core/constraints"
21 "launchpad.net/juju-core/environs" 23 "launchpad.net/juju-core/environs"
22 "launchpad.net/juju-core/environs/config" 24 "launchpad.net/juju-core/environs/config"
23 "launchpad.net/juju-core/environs/imagemetadata" 25 "launchpad.net/juju-core/environs/imagemetadata"
24 "launchpad.net/juju-core/environs/localstorage" 26 "launchpad.net/juju-core/environs/localstorage"
27 "launchpad.net/juju-core/environs/simplestreams"
28 "launchpad.net/juju-core/environs/tools"
25 "launchpad.net/juju-core/errors" 29 "launchpad.net/juju-core/errors"
26 "launchpad.net/juju-core/instance" 30 "launchpad.net/juju-core/instance"
27 "launchpad.net/juju-core/provider" 31 "launchpad.net/juju-core/provider"
28 "launchpad.net/juju-core/testing" 32 "launchpad.net/juju-core/testing"
29 jc "launchpad.net/juju-core/testing/checkers" 33 jc "launchpad.net/juju-core/testing/checkers"
30 ) 34 )
31 35
32 type environSuite struct { 36 type environSuite struct {
33 providerSuite 37 providerSuite
34 } 38 }
(...skipping 1244 matching lines...) Expand 10 before | Expand all | Expand 10 after
1279 func (*environSuite) TestExtractStorageKeyFallsBackToSecondaryKey(c *gc.C) { 1283 func (*environSuite) TestExtractStorageKeyFallsBackToSecondaryKey(c *gc.C) {
1280 keys := gwacl.StorageAccountKeys{ 1284 keys := gwacl.StorageAccountKeys{
1281 Secondary: "sparekey", 1285 Secondary: "sparekey",
1282 } 1286 }
1283 c.Check(extractStorageKey(&keys), gc.Equals, "sparekey") 1287 c.Check(extractStorageKey(&keys), gc.Equals, "sparekey")
1284 } 1288 }
1285 1289
1286 func (*environSuite) TestExtractStorageKeyReturnsBlankIfNoneSet(c *gc.C) { 1290 func (*environSuite) TestExtractStorageKeyReturnsBlankIfNoneSet(c *gc.C) {
1287 c.Check(extractStorageKey(&gwacl.StorageAccountKeys{}), gc.Equals, "") 1291 c.Check(extractStorageKey(&gwacl.StorageAccountKeys{}), gc.Equals, "")
1288 } 1292 }
1293
1294 func assertSourceContents(c *gc.C, source simplestreams.DataSource, filename str ing, content []byte) {
1295 rc, _, err := source.Fetch(filename)
1296 c.Assert(err, gc.IsNil)
1297 defer rc.Close()
1298 retrieved, err := ioutil.ReadAll(rc)
1299 c.Assert(err, gc.IsNil)
1300 c.Assert(retrieved, gc.DeepEquals, content)
1301 }
1302
1303 func (*environSuite) TestGetImageMetadataSources(c *gc.C) {
1304 env := makeEnviron(c)
1305 cleanup := setDummyStorage(c, env)
1306 defer cleanup()
1307
1308 data := []byte{1, 2, 3, 4}
1309 env.Storage().Put("filename", bytes.NewReader(data), int64(len(data)))
1310
1311 sources, err := imagemetadata.GetMetadataSources(env)
1312 c.Assert(err, gc.IsNil)
1313 c.Assert(len(sources), gc.Equals, 3)
1314 assertSourceContents(c, sources[0], "filename", data)
1315 url, err := sources[1].URL("")
1316 c.Assert(err, gc.IsNil)
1317 c.Assert(url, gc.Equals, "http://cloud-images.ubuntu.com/daily/")
1318 url, err = sources[2].URL("")
1319 c.Assert(err, gc.IsNil)
1320 c.Assert(url, gc.Equals, imagemetadata.DefaultBaseURL+"/")
1321 }
1322
1323 func (*environSuite) TestGetToolsMetadataSources(c *gc.C) {
1324 env := makeEnviron(c)
1325 cleanup := setDummyStorage(c, env)
1326 defer cleanup()
1327
1328 data := []byte{1, 2, 3, 4}
1329 env.Storage().Put("tools/filename", bytes.NewReader(data), int64(len(dat a)))
1330
1331 sources, err := tools.GetMetadataSources(env)
1332 c.Assert(err, gc.IsNil)
1333 c.Assert(len(sources), gc.Equals, 1)
1334 assertSourceContents(c, sources[0], "filename", data)
1335 }
LEFTRIGHT

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