From b52984db6c9834d3bd883c91dc739a1a79a6e477 Mon Sep 17 00:00:00 2001 From: Alvaro Lopez Garcia Date: Fri, 17 Apr 2015 13:21:17 +0200 Subject: [PATCH] Comply with RFC5785 According to section 3.6.7, to comply with the RFC5785 we should implement the query interface functionality under the authrority path "/.well-known/org/ogf/occi/-/". --- ooi/tests/middleware/test_query_controller.py | 18 ++++++++++++++++++ ooi/wsgi/__init__.py | 4 ++++ 2 files changed, 22 insertions(+) diff --git a/ooi/tests/middleware/test_query_controller.py b/ooi/tests/middleware/test_query_controller.py index a445b42..2fa29d2 100644 --- a/ooi/tests/middleware/test_query_controller.py +++ b/ooi/tests/middleware/test_query_controller.py @@ -29,6 +29,24 @@ class TestQueryController(test_middleware.TestMiddleware): self.assertExpectedResult(fakes.fake_query_results(), result) self.assertEqual(200, result.status_code) + def test_query_rfc(self): + tenant_id = fakes.tenants["bar"]["id"] + result = self._build_req("/.well-known/org/ogf/occi/-/", + tenant_id).get_response(self.get_app()) + self.assertDefaults(result) + self.assertExpectedResult(fakes.fake_query_results(), result) + self.assertEqual(200, result.status_code) + + def test_query_rfc_equal(self): + tenant_id = fakes.tenants["bar"]["id"] + result_rfc = self._build_req("/.well-known/org/ogf/occi/-/", + tenant_id).get_response(self.get_app()) + result_query = self._build_req("/-/", + tenant_id).get_response(self.get_app()) + self.assertDefaults(result_rfc) + self.assertDefaults(result_query) + self.assertEqual(result_rfc.text, result_query.text) + class QueryControllerTextPlain(test_middleware.TestMiddlewareTextPlain, TestQueryController): diff --git a/ooi/wsgi/__init__.py b/ooi/wsgi/__init__.py index 717946d..7b0d648 100644 --- a/ooi/wsgi/__init__.py +++ b/ooi/wsgi/__init__.py @@ -136,6 +136,10 @@ class OCCIMiddleware(object): self.mapper.connect("query", "/-/", controller=self.resources["query"], action="index") + # RFC5785, OCCI section 3.6.7 + self.mapper.connect("query", "/.well-known/org/ogf/occi/-/", + controller=self.resources["query"], + action="index") self.resources["compute"] = self._create_resource( ooi.api.compute.Controller)