Left: | ||
Right: |
OLD | NEW |
---|---|
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 Loading... | |
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 Loading... | |
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 Loading... | |
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 } |
OLD | NEW |