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 glance_store import backend
from oslo_config import cfg 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.exception
import glance.common.scripts.utils as script_utils import glance.common.scripts.utils as script_utils
from glance import domain from glance import domain

View File

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