neutron/neutron/tests/unit/api/test_versions.py
tonytan4ever ebc7e1fb2f Pecan: Get loaded by paste deploy
This sets up the factory methods needed to have paste deploy create the
pecan app and return it.  It also changes the legacy factory methods to
conditionally use the pecan factory methods if the web_framework config
option is set to 'pecan'.  This way, all deployments of neutron will not
need to change their api-paste.ini files to get pecan toggled on.  It
should just happen without notice once pecan becomes the default.

Also, by moving this to be loaded by paste deploy, there is a good chunk of
code that has been removed because it is no longer necessary.

Co-Authored-By: Brandon Logan <brandon.logan@rackspace.com>
Change-Id: I8b1bbea8d90fdc62715cd8b6738ad955df53d7cd
2017-02-17 14:54:27 -06:00

35 lines
1.3 KiB
Python

# 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.
import mock
from oslo_config import cfg
from neutron.api import versions
from neutron.tests import base
@mock.patch('neutron.api.versions.Versions.__init__', return_value=None)
@mock.patch('neutron.pecan_wsgi.app.versions_factory')
class TestVersions(base.BaseTestCase):
def test_legacy_factory(self, pecan_mock, legacy_mock):
cfg.CONF.set_override('web_framework', 'legacy')
versions.Versions.factory({})
pecan_mock.assert_not_called()
legacy_mock.assert_called_once_with(app=None)
def test_pecan_factory(self, pecan_mock, legacy_mock):
cfg.CONF.set_override('web_framework', 'pecan')
versions.Versions.factory({})
pecan_mock.assert_called_once_with({})
legacy_mock.assert_not_called()