diff options
-rw-r--r-- | oslo_middleware/tests/test_entry_points.py | 47 | ||||
-rw-r--r-- | setup.cfg | 11 |
2 files changed, 58 insertions, 0 deletions
diff --git a/oslo_middleware/tests/test_entry_points.py b/oslo_middleware/tests/test_entry_points.py new file mode 100644 index 0000000..b39678b --- /dev/null +++ b/oslo_middleware/tests/test_entry_points.py @@ -0,0 +1,47 @@ +# Licensed under the Apache License, Version 2.0 (the "License"); you may +# not use this file except in compliance with the License. You may obtain +# a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# License for the specific language governing permissions and limitations +# under the License. + +from oslotest import base +import stevedore +from testtools import matchers + +import oslo_middleware + + +class TestPasteDeploymentEntryPoints(base.BaseTestCase): + + def test_entry_points(self): + factory_classes = { + 'catch_errors': 'CatchErrors', + 'correlation_id': 'CorrelationId', + 'cors': 'CORS', + 'debug': 'Debug', + 'healthcheck': 'Healthcheck', + 'http_proxy_to_wsgi': 'HTTPProxyToWSGI', + 'request_id': 'RequestId', + 'sizelimit': 'RequestBodySizeLimiter', + 'ssl': 'SSLMiddleware', + } + + em = stevedore.ExtensionManager('paste.filter_factory') + + # Ensure all the factories are defined by their names + factory_names = [extension.name for extension in em] + self.assertThat(factory_names, + matchers.ContainsAll(factory_classes)) + + # Ensure that we can create instances of the filter factories + for factory_name, class_name in factory_classes.items(): + e = [m for m in em if m.name == factory_name][0] + factory = getattr(oslo_middleware, factory_name) + factory_class = getattr(factory, class_name).factory + self.assertEqual(factory_class, e.plugin) @@ -38,6 +38,17 @@ oslo.middleware.healthcheck = disable_by_file = oslo_middleware.healthcheck.disable_by_file:DisableByFileHealthcheck disable_by_files_ports = oslo_middleware.healthcheck.disable_by_file:DisableByFilesPortsHealthcheck +paste.filter_factory = + catch_errors = oslo_middleware:CatchErrors.factory + correlation_id = oslo_middleware:CorrelationId.factory + cors = oslo_middleware:CORS.factory + debug = oslo_middleware:Debug.factory + healthcheck = oslo_middleware:Healthcheck.factory + http_proxy_to_wsgi = oslo_middleware:HTTPProxyToWSGI.factory + request_id = oslo_middleware:RequestId.factory + sizelimit = oslo_middleware:RequestBodySizeLimiter.factory + ssl = oslo_middleware:SSLMiddleware.factory + [build_sphinx] source-dir = doc/source build-dir = doc/build |