Merge lp:~wallyworld/goose/simplestreams-endpoint into lp:goose

Proposed by Ian Booth
Status: Merged
Approved by: Ian Booth
Approved revision: 92
Merged at revision: 91
Proposed branch: lp:~wallyworld/goose/simplestreams-endpoint
Merge into: lp:goose
Diff against target: 55 lines (+24/-0)
2 files modified
identity/local_test.go (+12/-0)
testservices/openstackservice/openstack.go (+12/-0)
To merge this branch: bzr merge lp:~wallyworld/goose/simplestreams-endpoint
Reviewer Review Type Date Requested Status
Juju Engineering Pending
Review via email: mp+162918@code.launchpad.net

Commit message

Add product-streams endpoint to test service

The keystone catalog of the service double needs to have the product streams
endpoint included so that juju-core tests can use it.

https://codereview.appspot.com/9295043/

Description of the change

Add product-streams endpoint to test service

The keystone catalog of the service double needs to have the product streams
endpoint included so that juju-core tests can use it.

https://codereview.appspot.com/9295043/

To post a comment you must log in.
Revision history for this message
Ian Booth (wallyworld) wrote :

Reviewers: mp+162918_code.launchpad.net,

Message:
Please take a look.

Description:
Add product-streams endpoint to test service

The keystone catalog of the service double needs to have the product
streams
endpoint included so that juju-core tests can use it.

https://code.launchpad.net/~wallyworld/goose/simplestreams-endpoint/+merge/162918

(do not edit description out of merge proposal)

Please review this at https://codereview.appspot.com/9295043/

Affected files:
   A [revision details]
   M identity/local_test.go
   M testservices/openstackservice/openstack.go

Index: [revision details]
=== added file '[revision details]'
--- [revision details] 2012-01-01 00:00:00 +0000
+++ [revision details] 2012-01-01 00:00:00 +0000
@@ -0,0 +1,2 @@
+Old revision: tarmac-20130425123821-5bpn7goznnibt0uz
+New revision: <email address hidden>

Index: identity/local_test.go
=== modified file 'identity/local_test.go'
--- identity/local_test.go 2013-02-12 01:47:38 +0000
+++ identity/local_test.go 2013-05-08 02:25:45 +0000
@@ -6,6 +6,8 @@
   "launchpad.net/goose/testservices/openstackservice"
   "net/http"
   "net/http/httptest"
+ "net/url"
+ "strings"
  )

  func registerLocalTests() {
@@ -61,3 +63,13 @@
  }

  // Additional tests to be run against the service double only go here.
+
+func (s *localLiveSuite) TestProductStreamsEndpoint(c *C) {
+ err := s.client.Authenticate()
+ c.Assert(err, IsNil)
+ serviceURL, err := s.client.MakeServiceURL("product-streams", nil)
+ c.Assert(err, IsNil)
+ _, err = url.Parse(serviceURL)
+ c.Assert(err, IsNil)
+ c.Assert(strings.HasSuffix(serviceURL, "/imagemetadata"), Equals, true)
+}

Index: testservices/openstackservice/openstack.go
=== modified file 'testservices/openstackservice/openstack.go'
--- testservices/openstackservice/openstack.go 2013-02-08 02:23:27 +0000
+++ testservices/openstackservice/openstack.go 2013-05-08 02:26:12 +0000
@@ -1,6 +1,7 @@
  package openstackservice

  import (
+ "fmt"
   "launchpad.net/goose/identity"
   "launchpad.net/goose/testservices/identityservice"
   "launchpad.net/goose/testservices/novaservice"
@@ -31,6 +32,17 @@
   regionParts := strings.Split(cred.Region, ".")
   baseRegion := regionParts[len(regionParts)-1]
   openstack.Swift = swiftservice.New(cred.URL, "v1", userInfo.TenantId,
baseRegion, openstack.Identity)
+ // Create container and add image metadata endpoint so that
product-streams URLs are included
+ // in the keystone catalog.
+ err := openstack.Swift.AddContainer("imagemetadata")
+ if err != nil {
+ panic(fmt.Errorf("setting up image metadata container: %v", err))
+ }
+ url := openstack.Swift.Endpoints()[0].PublicURL
+ serviceDef := identityservice.Service{"simplestreams", "product-streams",
[]identityservice.Endpoint{
+ identityservice.Endpoint{PublicURL: url + "/imagemetadata", Region:
cred.Region},
+ }}
+ openstack.Identity.(*identityservice.UserPass).AddService(serviceDef)
   return &openstack
  }

Revision history for this message
John A Meinel (jameinel) wrote :
92. By Ian Booth

Merge trunk

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'identity/local_test.go'
2--- identity/local_test.go 2013-04-24 11:08:15 +0000
3+++ identity/local_test.go 2013-05-09 15:26:23 +0000
4@@ -6,6 +6,8 @@
5 "launchpad.net/goose/testservices/openstackservice"
6 "net/http"
7 "net/http/httptest"
8+ "net/url"
9+ "strings"
10 )
11
12 func registerLocalTests() {
13@@ -61,3 +63,13 @@
14 }
15
16 // Additional tests to be run against the service double only go here.
17+
18+func (s *localLiveSuite) TestProductStreamsEndpoint(c *C) {
19+ err := s.client.Authenticate()
20+ c.Assert(err, IsNil)
21+ serviceURL, err := s.client.MakeServiceURL("product-streams", nil)
22+ c.Assert(err, IsNil)
23+ _, err = url.Parse(serviceURL)
24+ c.Assert(err, IsNil)
25+ c.Assert(strings.HasSuffix(serviceURL, "/imagemetadata"), Equals, true)
26+}
27
28=== modified file 'testservices/openstackservice/openstack.go'
29--- testservices/openstackservice/openstack.go 2013-04-29 08:09:21 +0000
30+++ testservices/openstackservice/openstack.go 2013-05-09 15:26:23 +0000
31@@ -1,6 +1,7 @@
32 package openstackservice
33
34 import (
35+ "fmt"
36 "launchpad.net/goose/identity"
37 "launchpad.net/goose/testservices/identityservice"
38 "launchpad.net/goose/testservices/novaservice"
39@@ -38,6 +39,17 @@
40 regionParts := strings.Split(cred.Region, ".")
41 baseRegion := regionParts[len(regionParts)-1]
42 openstack.Swift = swiftservice.New(cred.URL, "v1", userInfo.TenantId, baseRegion, openstack.Identity)
43+ // Create container and add image metadata endpoint so that product-streams URLs are included
44+ // in the keystone catalog.
45+ err := openstack.Swift.AddContainer("imagemetadata")
46+ if err != nil {
47+ panic(fmt.Errorf("setting up image metadata container: %v", err))
48+ }
49+ url := openstack.Swift.Endpoints()[0].PublicURL
50+ serviceDef := identityservice.Service{"simplestreams", "product-streams", []identityservice.Endpoint{
51+ identityservice.Endpoint{PublicURL: url + "/imagemetadata", Region: cred.Region},
52+ }}
53+ openstack.Identity.(*identityservice.UserPass).AddService(serviceDef)
54 return &openstack
55 }
56

Subscribers

People subscribed via source and target branches