~rogpeppe/juju-core/387-use-testing-set

« back to all changes in this revision

Viewing changes to environs/tools/tools_test.go

  • Committer: Ian Booth
  • Date: 2013-08-21 05:38:38 UTC
  • mto: (1603.8.2 simplify-tools-search)
  • mto: This revision was merged to the branch mainline in revision 1702.
  • Revision ID: ian.booth@canonical.com-20130821053838-3c9oahds4mg2u0l7
Pull out Tools struct to its own package

Show diffs side-by-side

added added

removed removed

Lines of Context:
6
6
import (
7
7
        gc "launchpad.net/gocheck"
8
8
 
9
 
        agenttools "launchpad.net/juju-core/agent/tools"
10
9
        "launchpad.net/juju-core/constraints"
11
10
        "launchpad.net/juju-core/environs"
12
11
        envtesting "launchpad.net/juju-core/environs/testing"
15
14
        "launchpad.net/juju-core/provider/dummy"
16
15
        "launchpad.net/juju-core/testing"
17
16
        jc "launchpad.net/juju-core/testing/checkers"
 
17
        coretools "launchpad.net/juju-core/tools"
18
18
        "launchpad.net/juju-core/version"
19
19
)
20
20
 
135
135
        info:    "private tools only, none matching",
136
136
        major:   1,
137
137
        private: v220all,
138
 
        err:     tools.ErrNoMatches,
 
138
        err:     coretools.ErrNoMatches,
139
139
}, {
140
140
        info:    "tools found in private bucket",
141
141
        major:   1,
157
157
        major:   1,
158
158
        private: v220all,
159
159
        public:  vAll,
160
 
        err:     tools.ErrNoMatches,
 
160
        err:     coretools.ErrNoMatches,
161
161
}}
162
162
 
163
163
func (s *ToolsSuite) TestFindTools(c *gc.C) {
166
166
                s.Reset(c, nil)
167
167
                private := s.uploadPrivate(c, test.private...)
168
168
                public := s.uploadPublic(c, test.public...)
169
 
                actual, err := tools.FindTools(s.env, test.major, tools.Filter{})
 
169
                actual, err := tools.FindTools(s.env, test.major, coretools.Filter{})
170
170
                if test.err != nil {
171
171
                        if len(actual) > 0 {
172
172
                                c.Logf(actual.String())
271
271
        available:     v220all,
272
272
        cliVersion:    v100p64,
273
273
        defaultSeries: "precise",
274
 
        err:           tools.ErrNoMatches,
 
274
        err:           coretools.ErrNoMatches,
275
275
}, {
276
276
        info:          "released cli: major downgrades bad",
277
277
        available:     v100Xall,
278
278
        cliVersion:    v220p64,
279
279
        defaultSeries: "precise",
280
 
        err:           tools.ErrNoMatches,
 
280
        err:           coretools.ErrNoMatches,
281
281
}, {
282
282
        info:          "released cli: no matching series",
283
283
        available:     vAll,
284
284
        cliVersion:    v100p64,
285
285
        defaultSeries: "raring",
286
 
        err:           tools.ErrNoMatches,
 
286
        err:           coretools.ErrNoMatches,
287
287
}, {
288
288
        info:          "released cli: no matching arches",
289
289
        available:     vAll,
290
290
        cliVersion:    v100p64,
291
291
        defaultSeries: "precise",
292
292
        constraints:   "arch=arm",
293
 
        err:           tools.ErrNoMatches,
 
293
        err:           coretools.ErrNoMatches,
294
294
}, {
295
295
        info:          "released cli: specific bad major 1",
296
296
        available:     vAll,
297
297
        cliVersion:    v220p64,
298
298
        agentVersion:  v120,
299
299
        defaultSeries: "precise",
300
 
        err:           tools.ErrNoMatches,
 
300
        err:           coretools.ErrNoMatches,
301
301
}, {
302
302
        info:          "released cli: specific bad major 2",
303
303
        available:     vAll,
304
304
        cliVersion:    v120p64,
305
305
        agentVersion:  v220,
306
306
        defaultSeries: "precise",
307
 
        err:           tools.ErrNoMatches,
 
307
        err:           coretools.ErrNoMatches,
308
308
}, {
309
309
        info:          "released cli: ignore dev tools 1",
310
310
        available:     v110all,
311
311
        cliVersion:    v100p64,
312
312
        defaultSeries: "precise",
313
 
        err:           tools.ErrNoMatches,
 
313
        err:           coretools.ErrNoMatches,
314
314
}, {
315
315
        info:          "released cli: ignore dev tools 2",
316
316
        available:     v110all,
317
317
        cliVersion:    v120p64,
318
318
        defaultSeries: "precise",
319
 
        err:           tools.ErrNoMatches,
 
319
        err:           coretools.ErrNoMatches,
320
320
}, {
321
321
        info:          "released cli: ignore dev tools 3",
322
322
        available:     []version.Binary{v1001p64},
323
323
        cliVersion:    v100p64,
324
324
        defaultSeries: "precise",
325
 
        err:           tools.ErrNoMatches,
 
325
        err:           coretools.ErrNoMatches,
326
326
}, {
327
327
        info:          "released cli with dev setting picks newest matching 1",
328
328
        available:     v100Xall,
428
428
        available:    v100Xall,
429
429
        agentVersion: v120,
430
430
        series:       "precise",
431
 
        err:          tools.ErrNoMatches,
 
431
        err:          coretools.ErrNoMatches,
432
432
}, {
433
433
        info:         "nothing matching 2",
434
434
        available:    v120all,
435
435
        agentVersion: v110,
436
436
        series:       "precise",
437
 
        err:          tools.ErrNoMatches,
 
437
        err:          coretools.ErrNoMatches,
438
438
}, {
439
439
        info:         "nothing matching 3",
440
440
        available:    v120q,
441
441
        agentVersion: v120,
442
442
        series:       "precise",
443
 
        err:          tools.ErrNoMatches,
 
443
        err:          coretools.ErrNoMatches,
444
444
}, {
445
445
        info:         "nothing matching 4",
446
446
        available:    v120q,
447
447
        agentVersion: v120,
448
448
        series:       "quantal",
449
449
        constraints:  "arch=arm",
450
 
        err:          tools.ErrNoMatches,
 
450
        err:          coretools.ErrNoMatches,
451
451
}, {
452
452
        info:         "actual match 1",
453
453
        available:    vAll,
512
512
        info:    "only non-matches available in private",
513
513
        private: append(v110all, v100p32, v100q64, v1001p64),
514
514
        seek:    v100p64,
515
 
        err:     tools.ErrNoMatches,
 
515
        err:     coretools.ErrNoMatches,
516
516
}, {
517
517
        info:    "exact match available in private",
518
518
        private: []version.Binary{v100p64},
521
521
        info:    "only non-matches available in public",
522
522
        private: append(v110all, v100p32, v100q64, v1001p64),
523
523
        seek:    v100p64,
524
 
        err:     tools.ErrNoMatches,
 
524
        err:     coretools.ErrNoMatches,
525
525
}, {
526
526
        info:   "exact match available in public",
527
527
        public: []version.Binary{v100p64},
531
531
        private: v110all,
532
532
        public:  []version.Binary{v100p64},
533
533
        seek:    v100p64,
534
 
        err:     tools.ErrNoMatches,
 
534
        err:     coretools.ErrNoMatches,
535
535
}}
536
536
 
537
537
func (s *ToolsSuite) TestFindExactTools(c *gc.C) {
558
558
 
559
559
// fakeToolsForSeries fakes a Tools object with just enough information for
560
560
// testing the handling its OS series.
561
 
func fakeToolsForSeries(series string) *agenttools.Tools {
562
 
        return &agenttools.Tools{Version: version.Binary{Series: series}}
 
561
func fakeToolsForSeries(series string) *coretools.Tools {
 
562
        return &coretools.Tools{Version: version.Binary{Series: series}}
563
563
}
564
564
 
565
565
// fakeToolsList fakes a tools.List containing Tools objects for the given
566
566
// respective series, in the same number and order.
567
 
func fakeToolsList(series ...string) tools.List {
568
 
        list := tools.List{}
 
567
func fakeToolsList(series ...string) coretools.List {
 
568
        list := coretools.List{}
569
569
        for _, name := range series {
570
570
                list = append(list, fakeToolsForSeries(name))
571
571
        }