Updates keystone.catalog.core.format_url tests
Since the tests were unit tests I moved them into the new directory structure. I also added a few tests to increase the coverage to 100%. Change-Id: I063f0712b83ddd7773458a5bb3d4f483c20eb2a2
This commit is contained in:
parent
8737b43d2c
commit
7c1a342107
@ -22,7 +22,6 @@ from keystoneclient.common import cms
|
||||
import six
|
||||
from testtools import matchers
|
||||
|
||||
from keystone.catalog import core
|
||||
from keystone.common import driver_hints
|
||||
from keystone import config
|
||||
from keystone import exception
|
||||
@ -3639,26 +3638,6 @@ class TrustTests(object):
|
||||
self.assertIsNone(self.trust_api.get_trust(trust_data['id']))
|
||||
|
||||
|
||||
class CommonHelperTests(tests.TestCase):
|
||||
def test_format_helper_raises_malformed_on_missing_key(self):
|
||||
self.assertRaises(exception.MalformedEndpoint,
|
||||
core.format_url,
|
||||
"http://%(foo)s/%(bar)s",
|
||||
{"foo": "1"})
|
||||
|
||||
def test_format_helper_raises_malformed_on_wrong_type(self):
|
||||
self.assertRaises(exception.MalformedEndpoint,
|
||||
core.format_url,
|
||||
"http://%foo%s",
|
||||
{"foo": "1"})
|
||||
|
||||
def test_format_helper_raises_malformed_on_incomplete_format(self):
|
||||
self.assertRaises(exception.MalformedEndpoint,
|
||||
core.format_url,
|
||||
"http://%(foo)",
|
||||
{"foo": "1"})
|
||||
|
||||
|
||||
class CatalogTests(object):
|
||||
def test_region_crud(self):
|
||||
# create
|
||||
|
0
keystone/tests/unit/catalog/__init__.py
Normal file
0
keystone/tests/unit/catalog/__init__.py
Normal file
54
keystone/tests/unit/catalog/test_core.py
Normal file
54
keystone/tests/unit/catalog/test_core.py
Normal file
@ -0,0 +1,54 @@
|
||||
# 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 testtools
|
||||
|
||||
from keystone.catalog import core
|
||||
from keystone import exception
|
||||
|
||||
|
||||
class FormatUrlTests(testtools.TestCase):
|
||||
|
||||
def test_successful_formatting(self):
|
||||
url_template = 'http://%(host)s:%(port)d/%(part1)s/%(part2)s'
|
||||
values = {'host': 'server', 'port': 9090, 'part1': 'A', 'part2': 'B'}
|
||||
actual_url = core.format_url(url_template, values)
|
||||
|
||||
expected_url = 'http://server:9090/A/B'
|
||||
self.assertEqual(actual_url, expected_url)
|
||||
|
||||
def test_raises_malformed_on_missing_key(self):
|
||||
self.assertRaises(exception.MalformedEndpoint,
|
||||
core.format_url,
|
||||
"http://%(foo)s/%(bar)s",
|
||||
{"foo": "1"})
|
||||
|
||||
def test_raises_malformed_on_wrong_type(self):
|
||||
self.assertRaises(exception.MalformedEndpoint,
|
||||
core.format_url,
|
||||
"http://%foo%s",
|
||||
{"foo": "1"})
|
||||
|
||||
def test_raises_malformed_on_incomplete_format(self):
|
||||
self.assertRaises(exception.MalformedEndpoint,
|
||||
core.format_url,
|
||||
"http://%(foo)",
|
||||
{"foo": "1"})
|
||||
|
||||
def test_formatting_a_non_string(self):
|
||||
def _test(url_template):
|
||||
expected_url = None
|
||||
actual_url = core.format_url(url_template, {})
|
||||
self.assertEqual(actual_url, expected_url)
|
||||
|
||||
_test(None)
|
||||
_test(object())
|
Loading…
Reference in New Issue
Block a user