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

Side by Side Diff: environs/tools/tools_test.go

Issue 13632056: Reduce unnecessary s3 timeouts (Closed)
Patch Set: Reduce unnecessary s3 timeouts Created 11 years, 6 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:
View unified diff | Download patch
« no previous file with comments | « environs/tools/tools.go ('k') | provider/azure/environ.go » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2012, 2013 Canonical Ltd. 1 // Copyright 2012, 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 tools_test 4 package tools_test
5 5
6 import ( 6 import (
7 "bytes" 7 "bytes"
8 "fmt" 8 "fmt"
9 "io/ioutil" 9 "io/ioutil"
10 "os" 10 "os"
11 "path/filepath" 11 "path/filepath"
12 "time" 12 "time"
13 13
14 gc "launchpad.net/gocheck" 14 gc "launchpad.net/gocheck"
15 "launchpad.net/loggo" 15 "launchpad.net/loggo"
16 16
17 "launchpad.net/juju-core/environs" 17 "launchpad.net/juju-core/environs"
18 "launchpad.net/juju-core/environs/config" 18 "launchpad.net/juju-core/environs/config"
19 "launchpad.net/juju-core/environs/simplestreams" 19 "launchpad.net/juju-core/environs/simplestreams"
20 "launchpad.net/juju-core/environs/storage"
20 envtesting "launchpad.net/juju-core/environs/testing" 21 envtesting "launchpad.net/juju-core/environs/testing"
21 envtools "launchpad.net/juju-core/environs/tools" 22 envtools "launchpad.net/juju-core/environs/tools"
22 "launchpad.net/juju-core/errors" 23 "launchpad.net/juju-core/errors"
23 "launchpad.net/juju-core/provider/dummy" 24 "launchpad.net/juju-core/provider/dummy"
24 "launchpad.net/juju-core/testing" 25 "launchpad.net/juju-core/testing"
25 jc "launchpad.net/juju-core/testing/checkers" 26 jc "launchpad.net/juju-core/testing/checkers"
26 coretools "launchpad.net/juju-core/tools" 27 coretools "launchpad.net/juju-core/tools"
27 "launchpad.net/juju-core/version" 28 "launchpad.net/juju-core/version"
28 ) 29 )
29 30
(...skipping 29 matching lines...) Expand all
59 60
60 func setupToolsTests() { 61 func setupToolsTests() {
61 gc.Suite(&LegacyToolsSuite{}) 62 gc.Suite(&LegacyToolsSuite{})
62 gc.Suite(&SimpleStreamsToolsSuite{}) 63 gc.Suite(&SimpleStreamsToolsSuite{})
63 } 64 }
64 65
65 func (s *LegacyToolsSuite) removeTools(c *gc.C) { 66 func (s *LegacyToolsSuite) removeTools(c *gc.C) {
66 envtesting.RemoveAllTools(c, s.env) 67 envtesting.RemoveAllTools(c, s.env)
67 } 68 }
68 69
69 func (s *LegacyToolsSuite) uploadVersions(c *gc.C, storage environs.Storage, ver ses ...version.Binary) map[version.Binary]string { 70 func (s *LegacyToolsSuite) uploadVersions(c *gc.C, storage storage.Storage, vers es ...version.Binary) map[version.Binary]string {
70 uploaded := map[version.Binary]string{} 71 uploaded := map[version.Binary]string{}
71 for _, vers := range verses { 72 for _, vers := range verses {
72 uploaded[vers] = envtesting.UploadFakeToolsVersion(c, storage, v ers).URL 73 uploaded[vers] = envtesting.UploadFakeToolsVersion(c, storage, v ers).URL
73 } 74 }
74 return uploaded 75 return uploaded
75 } 76 }
76 77
77 func (s *LegacyToolsSuite) uploadCustom(c *gc.C, verses ...version.Binary) map[v ersion.Binary]string { 78 func (s *LegacyToolsSuite) uploadCustom(c *gc.C, verses ...version.Binary) map[v ersion.Binary]string {
78 return s.uploadVersions(c, s.env.Storage(), verses...) 79 return s.uploadVersions(c, s.env.Storage(), verses...)
79 } 80 }
80 81
81 func (s *LegacyToolsSuite) uploadPublic(c *gc.C, verses ...version.Binary) map[v ersion.Binary]string { 82 func (s *LegacyToolsSuite) uploadPublic(c *gc.C, verses ...version.Binary) map[v ersion.Binary]string {
82 » storage := s.env.PublicStorage().(environs.Storage) 83 » storage := s.env.PublicStorage().(storage.Storage)
thumper 2013/09/18 22:10:49 I don't think this will work. Or if it does work,
wallyworld 2013/09/18 22:55:51 Ah, I already changed a bunch of these. I missed s
83 return s.uploadVersions(c, storage, verses...) 84 return s.uploadVersions(c, storage, verses...)
84 } 85 }
85 86
86 func (s *LegacyToolsSuite) reset(c *gc.C, attrs map[string]interface{}) { 87 func (s *LegacyToolsSuite) reset(c *gc.C, attrs map[string]interface{}) {
87 s.resetEnv(c, attrs) 88 s.resetEnv(c, attrs)
88 } 89 }
89 90
90 func (s *LegacyToolsSuite) SetUpSuite(c *gc.C) { 91 func (s *LegacyToolsSuite) SetUpSuite(c *gc.C) {
91 s.toolsTestHelper = s 92 s.toolsTestHelper = s
92 } 93 }
(...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after
143 } 144 }
144 index, products, err := envtools.MarshalToolsMetadataJSON(metadata, time .Now()) 145 index, products, err := envtools.MarshalToolsMetadataJSON(metadata, time .Now())
145 c.Assert(err, gc.IsNil) 146 c.Assert(err, gc.IsNil)
146 objects := []metadataFile{ 147 objects := []metadataFile{
147 {simplestreams.DefaultIndexPath + simplestreams.UnsignedSuffix, index}, 148 {simplestreams.DefaultIndexPath + simplestreams.UnsignedSuffix, index},
148 {envtools.ProductMetadataPath, products}, 149 {envtools.ProductMetadataPath, products},
149 } 150 }
150 return objects 151 return objects
151 } 152 }
152 153
153 func (s *SimpleStreamsToolsSuite) uploadToStorage(c *gc.C, storage environs.Stor age, verses ...version.Binary) map[version.Binary]string { 154 func (s *SimpleStreamsToolsSuite) uploadToStorage(c *gc.C, storage storage.Stora ge, verses ...version.Binary) map[version.Binary]string {
154 uploaded := map[version.Binary]string{} 155 uploaded := map[version.Binary]string{}
155 if len(verses) == 0 { 156 if len(verses) == 0 {
156 return uploaded 157 return uploaded
157 } 158 }
158 var err error 159 var err error
159 for _, vers := range verses { 160 for _, vers := range verses {
160 uploaded[vers], err = storage.URL(fmt.Sprintf("tools/releases/to ols-%s.tar.gz", vers.String())) 161 uploaded[vers], err = storage.URL(fmt.Sprintf("tools/releases/to ols-%s.tar.gz", vers.String()))
161 c.Assert(err, gc.IsNil) 162 c.Assert(err, gc.IsNil)
162 } 163 }
163 objects := s.generateMetadata(c, verses...) 164 objects := s.generateMetadata(c, verses...)
(...skipping 407 matching lines...) Expand 10 before | Expand all | Expand 10 after
571 c.Assert(err, gc.NotNil) 572 c.Assert(err, gc.NotNil)
572 c.Check(err, gc.ErrorMatches, "tools mismatch: expected series warty, go t hoary") 573 c.Check(err, gc.ErrorMatches, "tools mismatch: expected series warty, go t hoary")
573 } 574 }
574 575
575 func (s *ToolsListSuite) TestCheckToolsSeriesRejectsToolsForMixedSeries(c *gc.C) { 576 func (s *ToolsListSuite) TestCheckToolsSeriesRejectsToolsForMixedSeries(c *gc.C) {
576 list := fakeToolsList("precise", "raring") 577 list := fakeToolsList("precise", "raring")
577 err := envtools.CheckToolsSeries(list, "precise") 578 err := envtools.CheckToolsSeries(list, "precise")
578 c.Assert(err, gc.NotNil) 579 c.Assert(err, gc.NotNil)
579 c.Check(err, gc.ErrorMatches, "expected single series, got .*") 580 c.Check(err, gc.ErrorMatches, "expected single series, got .*")
580 } 581 }
OLDNEW
« no previous file with comments | « environs/tools/tools.go ('k') | provider/azure/environ.go » ('j') | no next file with comments »

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