func (t *LiveTests) SetUpSuite(c *C) { t.LoggingSuite.SetUpSuite(c) // Update some Config items now that we have services running. // This is setting the public-bucket-url and auth-url because that // information is set during startup of the localLiveSuite cl := client.NewClient(t.cred, identity.AuthUserPass, nil) err := cl.Authenticate() c.Assert(err, IsNil) publicBucketURL, err := cl.MakeServiceURL("object-store", nil) c.Assert(err, IsNil) t.TestConfig.UpdateConfig(map[string]interface{}{ "public-bucket-url": publicBucketURL, "auth-url": t.cred.URL, }) t.LiveTests.SetUpSuite(c) openstack.SetFakeToolsStorage(true) // Environ.PublicStorage() is read only. // For testing, we create a specific storage instance which is authorised to write to // the public storage bucket so that we can upload files for testing. t.writeablePublicStorage = openstack.WritablePublicStorage(t.Env) // Put some fake tools in place so that tests that are simply // starting instances without any need to check if those instances // are running will find them in the public bucket. envtesting.UploadFakeTools(c, t.writeablePublicStorage) }
func (t *LiveTests) SetUpSuite(c *C) { t.LoggingSuite.SetUpSuite(c) // Get an authenticated Goose client to extract some configuration parameters for the test environment. cred, err := identity.CompleteCredentialsFromEnv() c.Assert(err, IsNil) client := client.NewClient(cred, identity.AuthUserPass, nil) err = client.Authenticate() c.Assert(err, IsNil) publicBucketURL, err := client.MakeServiceURL("object-store", nil) c.Assert(err, IsNil) attrs := makeTestConfig() attrs["public-bucket-url"] = publicBucketURL t.Config = attrs e, err := environs.NewFromAttrs(t.Config) c.Assert(err, IsNil) // Environ.PublicStorage() is read only. // For testing, we create a specific storage instance which is authorised to write to // the public storage bucket so that we can upload files for testing. t.writeablePublicStorage = openstack.WritablePublicStorage(e) // Put some fake tools in place so that tests that are simply // starting instances without any need to check if those instances // are running will find them in the public bucket. putFakeTools(c, t.writeablePublicStorage) t.LiveTests.SetUpSuite(c) }
func (e *environ) client(ecfg *environConfig, authMethodCfg AuthMethod) client.AuthenticatingClient { cred := &identity.Credentials{ User: ecfg.username(), Secrets: ecfg.password(), Region: ecfg.region(), TenantName: ecfg.tenantName(), URL: ecfg.authURL(), } // authMethodCfg has already been validated so we know it's one of the values below. var authMethod identity.AuthMethod switch authMethodCfg { case AuthLegacy: authMethod = identity.AuthLegacy case AuthUserPass: authMethod = identity.AuthUserPass } return client.NewClient(cred, authMethod, nil) }
func (e *environ) authClient(ecfg *environConfig, authModeCfg AuthMode) client.AuthenticatingClient { cred := &identity.Credentials{ User: ecfg.username(), Secrets: ecfg.password(), Region: ecfg.region(), TenantName: ecfg.tenantName(), URL: ecfg.authURL(), } // authModeCfg has already been validated so we know it's one of the values below. var authMode identity.AuthMode switch authModeCfg { case AuthLegacy: authMode = identity.AuthLegacy case AuthUserPass: authMode = identity.AuthUserPass case AuthKeyPair: authMode = identity.AuthKeyPair cred.User = ecfg.accessKey() cred.Secrets = ecfg.secretKey() } return client.NewClient(cred, authMode, nil) }
func (s *localServerSuite) SetUpTest(c *gc.C) { s.BaseSuite.SetUpTest(c) s.srv.start(c, s.cred) cl := client.NewClient(s.cred, identity.AuthUserPass, nil) err := cl.Authenticate() c.Assert(err, gc.IsNil) containerURL, err := cl.MakeServiceURL("object-store", nil) c.Assert(err, gc.IsNil) s.TestConfig = s.TestConfig.Merge(coretesting.Attrs{ "tools-metadata-url": containerURL + "/juju-dist-test/tools", "image-metadata-url": containerURL + "/juju-dist-test", "auth-url": s.cred.URL, }) s.Tests.SetUpTest(c) // For testing, we create a storage instance to which is uploaded tools and image metadata. env := s.Prepare(c) s.toolsMetadataStorage = openstack.MetadataStorage(env) // Put some fake metadata in place so that tests that are simply // starting instances without any need to check if those instances // are running can find the metadata. envtesting.UploadFakeTools(c, s.toolsMetadataStorage) s.imageMetadataStorage = openstack.ImageMetadataStorage(env) openstack.UseTestImageData(s.imageMetadataStorage, s.cred) }
func (t *LiveTests) SetUpSuite(c *gc.C) { t.BaseSuite.SetUpSuite(c) // Update some Config items now that we have services running. // This is setting the simplestreams urls and auth-url because that // information is set during startup of the localLiveSuite cl := client.NewClient(t.cred, identity.AuthUserPass, nil) err := cl.Authenticate() c.Assert(err, gc.IsNil) containerURL, err := cl.MakeServiceURL("object-store", nil) c.Assert(err, gc.IsNil) t.TestConfig = t.TestConfig.Merge(coretesting.Attrs{ "tools-metadata-url": containerURL + "/juju-dist-test/tools", "image-metadata-url": containerURL + "/juju-dist-test", "auth-url": t.cred.URL, }) t.LiveTests.SetUpSuite(c) // For testing, we create a storage instance to which is uploaded tools and image metadata. t.PrepareOnce(c) t.metadataStorage = openstack.MetadataStorage(t.Env) // Put some fake tools metadata in place so that tests that are simply // starting instances without any need to check if those instances // are running can find the metadata. envtesting.UploadFakeTools(c, t.metadataStorage) }