Clean the web-download tests

Web-download tests introduced in
e54622ca72 did have some ignored
settings that did not get tested. Cleaned them out of the tests
that did not verify them and added test doing so. Also flattening
the path by one layer.

Co-authored-by: Brian Rosmaita <rosmaita.fossdev@gmail.com>
Co-authored-by: Erno Kuvaja <jokke@usr.fi>

Change-Id: I01a73d41ae293e8204b0ea87e42922ba6a1bf9d2
This commit is contained in:
Erno Kuvaja 2018-03-09 13:06:16 +00:00 committed by Brian Rosmaita
parent d1a75cf9e6
commit b9af22b92f
3 changed files with 37 additions and 9 deletions

View File

@ -19,7 +19,8 @@ from glance_store._drivers import filesystem
from glance_store import backend
from oslo_config import cfg
import glance.async.flows._internal_plugins.web_download as web_download
from glance.async.flows._internal_plugins import web_download
import glance.common.exception
import glance.common.scripts.utils as script_utils
from glance import domain

View File

@ -14,9 +14,11 @@
# License for the specific language governing permissions and limitations
# under the License.
import mock
import os
import tempfile
from oslo_log import log as logging
import six
import webob
@ -502,22 +504,15 @@ class ImportURITestCase(test_utils.BaseTestCase):
def test_validate_import_uri(self):
self.assertTrue(utils.validate_import_uri("http://foo.com"))
self.config(allowed_schemes=['http'],
group='import_filtering_opts')
self.config(disallowed_schemes=['ftp'],
group='import_filtering_opts')
self.config(allowed_hosts=['example.com'],
group='import_filtering_opts')
self.config(disallowed_hosts=['foo.com'],
group='import_filtering_opts')
self.assertTrue(utils.validate_import_uri("http://example.com"))
self.config(allowed_ports=['8080'],
group='import_filtering_opts')
self.config(disallowed_ports=['8484'],
group='import_filtering_opts')
self.assertTrue(utils.validate_import_uri("http://example.com:8080"))
def test_invalid_import_uri(self):
@ -535,3 +530,35 @@ class ImportURITestCase(test_utils.BaseTestCase):
self.config(disallowed_ports=['8484'],
group='import_filtering_opts')
self.assertFalse(utils.validate_import_uri("http://localhost:8484"))
def test_ignored_filtering_options(self):
LOG = logging.getLogger('glance.common.utils')
with mock.patch.object(LOG, 'debug') as mock_run:
self.config(allowed_schemes=['https', 'ftp'],
group='import_filtering_opts')
self.config(disallowed_schemes=['ftp'],
group='import_filtering_opts')
self.assertTrue(utils.validate_import_uri("ftp://foo.com"))
mock_run.assert_called_once()
with mock.patch.object(LOG, 'debug') as mock_run:
self.config(allowed_schemes=[],
group='import_filtering_opts')
self.config(disallowed_schemes=[],
group='import_filtering_opts')
self.config(allowed_hosts=['example.com', 'foo.com'],
group='import_filtering_opts')
self.config(disallowed_hosts=['foo.com'],
group='import_filtering_opts')
self.assertTrue(utils.validate_import_uri("ftp://foo.com"))
mock_run.assert_called_once()
with mock.patch.object(LOG, 'debug') as mock_run:
self.config(allowed_hosts=[],
group='import_filtering_opts')
self.config(disallowed_hosts=[],
group='import_filtering_opts')
self.config(allowed_ports=[8080, 8484],
group='import_filtering_opts')
self.config(disallowed_ports=[8484],
group='import_filtering_opts')
self.assertTrue(utils.validate_import_uri("ftp://foo.com:8484"))
mock_run.assert_called_once()