summaryrefslogtreecommitdiff
path: root/glance/tests/unit/common/test_wsgi_app.py
diff options
context:
space:
mode:
Diffstat (limited to 'glance/tests/unit/common/test_wsgi_app.py')
-rw-r--r--glance/tests/unit/common/test_wsgi_app.py25
1 files changed, 25 insertions, 0 deletions
diff --git a/glance/tests/unit/common/test_wsgi_app.py b/glance/tests/unit/common/test_wsgi_app.py
index 87afc40d7..3de42cb77 100644
--- a/glance/tests/unit/common/test_wsgi_app.py
+++ b/glance/tests/unit/common/test_wsgi_app.py
@@ -19,6 +19,7 @@ from unittest import mock
from glance.api import common
from glance.api.v2 import cached_images
import glance.async_
+from glance.common import exception
from glance.common import wsgi_app
from glance.tests import utils as test_utils
@@ -114,3 +115,27 @@ class TestWsgiAppInit(test_utils.BaseTestCase):
mock_conf.return_value = []
wsgi_app.init_app()
mock_Timer.assert_not_called()
+
+ @mock.patch('glance.common.wsgi_app._get_config_files')
+ @mock.patch('glance.async_._THREADPOOL_MODEL', new=None)
+ @mock.patch('glance.common.config.load_paste_app', new=mock.MagicMock())
+ def test_staging_store_uri_assertion(self, mock_conf):
+ self.config(node_staging_uri='http://good.luck')
+ mock_conf.return_value = []
+ # Make sure a staging URI with a bad scheme will abort startup
+ self.assertRaises(exception.GlanceException, wsgi_app.init_app)
+
+ @mock.patch('glance.common.wsgi_app._get_config_files')
+ @mock.patch('glance.async_._THREADPOOL_MODEL', new=None)
+ @mock.patch('glance.common.config.load_paste_app', new=mock.MagicMock())
+ @mock.patch('os.path.exists')
+ def test_staging_store_path_check(self, mock_exists, mock_conf):
+ mock_exists.return_value = False
+ mock_conf.return_value = []
+ with mock.patch.object(wsgi_app, 'LOG') as mock_log:
+ wsgi_app.init_app()
+ # Make sure that a missing staging directory will log a warning.
+ mock_log.warning.assert_called_once_with(
+ 'Import methods are enabled but staging directory '
+ '%(path)s does not exist; Imports will fail!',
+ {'path': '/tmp/staging/'})