Skip to content

Commit

Permalink
Fix openstack imagemetadata tests.
Browse files Browse the repository at this point in the history
  • Loading branch information
hpidcock committed Oct 18, 2023
1 parent aea0bea commit 6b4ef56
Showing 1 changed file with 15 additions and 12 deletions.
27 changes: 15 additions & 12 deletions provider/openstack/local_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,8 @@ import (
"encoding/pem"
"fmt"
"io/ioutil"
"net/http"
"net/http/httptest"
"net/url"
"os"
"path/filepath"
Expand Down Expand Up @@ -304,6 +306,15 @@ func (s *localServerSuite) SetUpSuite(c *gc.C) {
s.BaseSuite.SetUpSuite(c)
restoreFinishBootstrap := envtesting.DisableFinishBootstrap()
s.AddCleanup(func(*gc.C) { restoreFinishBootstrap() })

server := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
w.WriteHeader(404)
}))
s.AddCleanup(func(c *gc.C) {
server.Close()
})
s.PatchValue(&imagemetadata.DefaultUbuntuBaseURL, server.URL)

c.Logf("Running local tests")
}

Expand Down Expand Up @@ -1382,13 +1393,10 @@ func (s *localServerSuite) TestBootstrapInstanceUserDataAndState(c *gc.C) {
// ec2 tests).
}

func (s *localServerSuite) assertGetImageMetadataSources(c *gc.C, stream, officialSourcePath string) {
func (s *localServerSuite) TestGetImageMetadataSources(c *gc.C) {
ss := simplestreams.NewSimpleStreams(sstesting.TestDataSourceFactory())
// Create a config that matches s.TestConfig but with the specified stream.
attrs := coretesting.Attrs{}
if stream != "" {
attrs = coretesting.Attrs{"image-stream": stream}
}
env := s.openEnviron(c, attrs)

sources, err := environs.ImageMetadataSources(env, ss)
Expand All @@ -1404,13 +1412,7 @@ func (s *localServerSuite) assertGetImageMetadataSources(c *gc.C, stream, offici
c.Check(strings.HasSuffix(urls[0], "/juju-dist-test/"), jc.IsTrue)
// The product-streams URL ends with "/imagemetadata".
c.Check(strings.HasSuffix(urls[1], "/imagemetadata/"), jc.IsTrue)
c.Assert(urls[2], gc.Equals, fmt.Sprintf("http://cloud-images.ubuntu.com/%s/", officialSourcePath))
}

func (s *localServerSuite) TestGetImageMetadataSources(c *gc.C) {
s.assertGetImageMetadataSources(c, "", "releases")
s.assertGetImageMetadataSources(c, "released", "releases")
s.assertGetImageMetadataSources(c, "daily", "daily")
c.Assert(urls[2], jc.HasPrefix, imagemetadata.DefaultUbuntuBaseURL)
}

func (s *localServerSuite) TestGetImageMetadataSourcesNoProductStreams(c *gc.C) {
Expand Down Expand Up @@ -1963,11 +1965,12 @@ func (s *localServerSuite) TestImageMetadataSourceOrder(c *gc.C) {
src := func(env environs.Environ) (simplestreams.DataSource, error) {
return ss.NewDataSource(simplestreams.Config{
Description: "my datasource",
BaseURL: "bar",
BaseURL: "file:///bar",
HostnameVerification: false,
Priority: simplestreams.CUSTOM_CLOUD_DATA}), nil
}
environs.RegisterUserImageDataSourceFunc("my func", src)
defer environs.UnregisterImageDataSourceFunc("my func")
env := s.Open(c, stdcontext.TODO(), s.env.Config())
sources, err := environs.ImageMetadataSources(env, ss)
c.Assert(err, jc.ErrorIsNil)
Expand Down

0 comments on commit 6b4ef56

Please sign in to comment.