~juju-qa/ubuntu/xenial/juju/xenial-2.0-beta3

« back to all changes in this revision

Viewing changes to src/github.com/juju/juju/provider/lxd/environ_broker_test.go

  • Committer: Martin Packman
  • Date: 2016-03-30 19:31:08 UTC
  • mfrom: (1.1.41)
  • Revision ID: martin.packman@canonical.com-20160330193108-h9iz3ak334uk0z5r
Merge new upstream source 2.0~beta3

Show diffs side-by-side

added added

removed removed

Lines of Context:
45
45
                },
46
46
        }})
47
47
}
 
48
 
 
49
func (s *environBrokerSuite) TestImageMetadataURL(c *gc.C) {
 
50
        s.UpdateConfig(c, map[string]interface{}{
 
51
                "image-metadata-url": "https://my-test.com/images/",
 
52
        })
 
53
        s.checkSources(c, []string{
 
54
                "https://my-test.com/images/",
 
55
                "https://streams.canonical.com/juju/images/releases/",
 
56
                "https://cloud-images.ubuntu.com/releases/",
 
57
        })
 
58
}
 
59
 
 
60
func (s *environBrokerSuite) TestImageMetadataURLMungesHTTP(c *gc.C) {
 
61
        // LXD requires 'https://' hosts for simplestreams data.
 
62
        // https://github.com/lxc/lxd/issues/1763
 
63
        s.UpdateConfig(c, map[string]interface{}{
 
64
                "image-metadata-url": "http://my-test.com/images/",
 
65
        })
 
66
        s.checkSources(c, []string{
 
67
                "https://my-test.com/images/",
 
68
                "https://streams.canonical.com/juju/images/releases/",
 
69
                "https://cloud-images.ubuntu.com/releases/",
 
70
        })
 
71
}
 
72
 
 
73
func (s *environBrokerSuite) checkSources(c *gc.C, expectedURLs []string) {
 
74
        sources, err := lxd.GetImageSources(s.Env)
 
75
        c.Assert(err, jc.ErrorIsNil)
 
76
        var sourceURLs []string
 
77
        for _, source := range sources {
 
78
                sourceURLs = append(sourceURLs, source.Host)
 
79
        }
 
80
        c.Check(sourceURLs, gc.DeepEquals, expectedURLs)
 
81
}
 
82
 
 
83
func (s *environBrokerSuite) checkSourcesFromStream(c *gc.C, stream string, expectedURLs []string) {
 
84
        if stream != "" {
 
85
                s.UpdateConfig(c, map[string]interface{}{"image-stream": stream})
 
86
        }
 
87
        s.checkSources(c, expectedURLs)
 
88
}
 
89
 
 
90
func (s *environBrokerSuite) TestImageStreamDefault(c *gc.C) {
 
91
        s.checkSourcesFromStream(c, "", []string{
 
92
                "https://streams.canonical.com/juju/images/releases/",
 
93
                "https://cloud-images.ubuntu.com/releases/",
 
94
        })
 
95
}
 
96
 
 
97
func (s *environBrokerSuite) TestImageStreamReleased(c *gc.C) {
 
98
        s.checkSourcesFromStream(c, "released", []string{
 
99
                "https://streams.canonical.com/juju/images/releases/",
 
100
                "https://cloud-images.ubuntu.com/releases/",
 
101
        })
 
102
}
 
103
 
 
104
func (s *environBrokerSuite) TestImageStreamDaily(c *gc.C) {
 
105
        s.checkSourcesFromStream(c, "daily", []string{
 
106
                "https://streams.canonical.com/juju/images/daily/",
 
107
                "https://cloud-images.ubuntu.com/daily/",
 
108
        })
 
109
}