summaryrefslogtreecommitdiffstats
path: root/nova/tests
diff options
context:
space:
mode:
Diffstat (limited to 'nova/tests')
-rw-r--r--nova/tests/api/openstack/extensions/widgets.py27
-rw-r--r--nova/tests/api/openstack/test_extensions.py19
2 files changed, 46 insertions, 0 deletions
diff --git a/nova/tests/api/openstack/extensions/widgets.py b/nova/tests/api/openstack/extensions/widgets.py
new file mode 100644
index 000000000..bc0947223
--- /dev/null
+++ b/nova/tests/api/openstack/extensions/widgets.py
@@ -0,0 +1,27 @@
+from nova import wsgi
+
+class WidgetController(wsgi.Controller):
+
+ def index(self, req):
+ return "Buy more widgets!"
+
+class WidgetExtensionResource(object):
+
+ def __init__(self):
+ pass
+
+ def add_routes(self, mapper):
+ mapper.resource('widget', 'widgets', controller=WidgetController())
+
+
+class WidgetExtension(object):
+
+ def __init__(self):
+ pass
+
+ def get_resources(self):
+ return WidgetExtensionResource()
+
+
+def get_extension():
+ return WidgetExtension()
diff --git a/nova/tests/api/openstack/test_extensions.py b/nova/tests/api/openstack/test_extensions.py
index f5332c84a..ff41d6d99 100644
--- a/nova/tests/api/openstack/test_extensions.py
+++ b/nova/tests/api/openstack/test_extensions.py
@@ -16,12 +16,16 @@
# under the License.
import unittest
+import os.path
import webob
+from nova import flags
from nova.api import openstack
import nova.wsgi
+FLAGS = flags.FLAGS
+
class StubController(nova.wsgi.Controller):
def __init__(self, body):
@@ -81,3 +85,18 @@ class ExtensionTest(unittest.TestCase):
self.assertEqual(response_body, response.body)
+class ExtensionManagerTest(unittest.TestCase):
+
+ def setUp(self):
+ FLAGS.osapi_extensions_path = os.path.join(os.path.dirname(__file__),
+ "extensions")
+
+ def test_get_resources(self):
+ router = openstack.APIRouter()
+ request = webob.Request.blank("/widgets")
+ response = request.get_response(router)
+ self.assertEqual(200, response.status_int)
+ self.assertEqual("Buy more widgets!", response.body)
+
+
+