49
func (s *environBrokerSuite) TestImageMetadataURL(c *gc.C) {
50
s.UpdateConfig(c, map[string]interface{}{
51
"image-metadata-url": "https://my-test.com/images/",
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/",
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/",
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/",
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)
80
c.Check(sourceURLs, gc.DeepEquals, expectedURLs)
83
func (s *environBrokerSuite) checkSourcesFromStream(c *gc.C, stream string, expectedURLs []string) {
85
s.UpdateConfig(c, map[string]interface{}{"image-stream": stream})
87
s.checkSources(c, expectedURLs)
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/",
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/",
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/",