diff options
| author | Cerberus <matt.dietz@rackspace.com> | 2010-09-23 16:55:51 -0500 |
|---|---|---|
| committer | Cerberus <matt.dietz@rackspace.com> | 2010-09-23 16:55:51 -0500 |
| commit | d4edbd26b27de3df6bf8af98486714d1cee5b594 (patch) | |
| tree | 9069462d1cbf2c0a2135a574557c2789211fb69b /nova | |
| parent | c14fef2fbb28bffc9a5507f2a23e0c7c0ecb6c2c (diff) | |
| parent | be214c0ecece6d9cffced02f397ba9ce42be6d9f (diff) | |
Merging in changes from rs_auth, since I needed something modern to develop on while waiting for Hudson to right itself
Diffstat (limited to 'nova')
| -rw-r--r-- | nova/api/rackspace/__init__.py | 2 | ||||
| -rw-r--r-- | nova/api/rackspace/servers.py | 3 | ||||
| -rw-r--r-- | nova/tests/api/rackspace/servers.py | 13 | ||||
| -rw-r--r-- | nova/tests/api/rackspace/test_helper.py | 22 |
4 files changed, 36 insertions, 4 deletions
diff --git a/nova/api/rackspace/__init__.py b/nova/api/rackspace/__init__.py index bd31bbc2f..63b0edc6a 100644 --- a/nova/api/rackspace/__init__.py +++ b/nova/api/rackspace/__init__.py @@ -145,7 +145,7 @@ class APIRouter(wsgi.Router): def __init__(self): mapper = routes.Mapper() - mapper.resource("server", "servers", controller=servers.Controller() + mapper.resource("server", "servers", controller=servers.Controller(), collection={'detail': 'GET'}) mapper.resource("image", "images", controller=images.Controller(), collection={'detail': 'GET'}) diff --git a/nova/api/rackspace/servers.py b/nova/api/rackspace/servers.py index 3ba5af8cf..08b6768f9 100644 --- a/nova/api/rackspace/servers.py +++ b/nova/api/rackspace/servers.py @@ -20,6 +20,7 @@ from nova import db from nova import flags from nova import rpc from nova import utils +from nova import compute from nova.api.rackspace import base from webob import exc from nova import flags @@ -121,7 +122,7 @@ class Controller(base.Controller): 'reservation_id', 'project_id', 'launch_time', 'bridge_name', 'mac_address', 'user_id'] - for key in filtered_keys:: + for key in filtered_keys: del inst[key] if allowed_keys: diff --git a/nova/tests/api/rackspace/servers.py b/nova/tests/api/rackspace/servers.py index 6d628e78a..2cfb8d45f 100644 --- a/nova/tests/api/rackspace/servers.py +++ b/nova/tests/api/rackspace/servers.py @@ -16,19 +16,25 @@ # under the License. import unittest - +import stubout from nova.api.rackspace import servers +import nova.api.rackspace from nova.tests.api.test_helper import * +from nova.tests.api.rackspace import test_helper class ServersTest(unittest.TestCase): def setUp(self): self.stubs = stubout.StubOutForTesting() + test_helper.FakeAuthManager.auth_data = {} + test_helper.FakeAuthDatabase.data = {} + test_helper.stub_out_auth(self.stubs) def tearDown(self): self.stubs.UnsetAll() def test_get_server_list(self): - pass + req = webob.Request.blank('/v1.0/servers') + req.get_response(nova.api.API()) def test_create_instance(self): pass @@ -56,3 +62,6 @@ class ServersTest(unittest.TestCase): def test_delete_server_instance(self): pass + +if __name__ == "__main__": + unittest.main() diff --git a/nova/tests/api/rackspace/test_helper.py b/nova/tests/api/rackspace/test_helper.py index be14e2de8..1fb2a19cc 100644 --- a/nova/tests/api/rackspace/test_helper.py +++ b/nova/tests/api/rackspace/test_helper.py @@ -3,6 +3,7 @@ import webob.dec import datetime from nova.wsgi import Router from nova import auth +import nova.api.rackspace.auth class Context(object): pass @@ -24,6 +25,27 @@ def fake_auth_init(self): self.auth = FakeAuthManager() self.host = 'foo' +def stub_out_auth(stubs): + def fake_auth_init(self, app): + self.application = app + + def fake_rate_init(self, app): + super(nova.api.rackspace.RateLimitingMiddleware, self).__init__(app) + self.application = app + + @webob.dec.wsgify + def fake_wsgi(self, req): + return self.application + + stubs.Set(nova.api.rackspace.AuthMiddleware, + '__init__', fake_auth_init) + stubs.Set(nova.api.rackspace.RateLimitingMiddleware, + '__init__', fake_rate_init) + stubs.Set(nova.api.rackspace.AuthMiddleware, + '__call__', fake_wsgi) + stubs.Set(nova.api.rackspace.RateLimitingMiddleware, + '__call__', fake_wsgi) + class FakeAuthDatabase(object): data = {} |
