Merge "Beef up address scope functional tests"
This commit is contained in:
commit
e6e3cd295c
@ -10,6 +10,7 @@
|
|||||||
# 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 re
|
||||||
import uuid
|
import uuid
|
||||||
|
|
||||||
from openstackclient.tests.functional import base
|
from openstackclient.tests.functional import base
|
||||||
@ -17,33 +18,138 @@ from openstackclient.tests.functional import base
|
|||||||
|
|
||||||
class AddressScopeTests(base.TestCase):
|
class AddressScopeTests(base.TestCase):
|
||||||
"""Functional tests for address scope. """
|
"""Functional tests for address scope. """
|
||||||
NAME = uuid.uuid4().hex
|
|
||||||
HEADERS = ['Name']
|
# NOTE(dtroyer): Do not normalize the setup and teardown of the resource
|
||||||
FIELDS = ['name']
|
# creation and deletion. Little is gained when each test
|
||||||
|
# has its own needs and there are collisions when running
|
||||||
|
# tests in parallel.
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def setUpClass(cls):
|
def setUpClass(cls):
|
||||||
opts = cls.get_opts(cls.FIELDS)
|
# Set up some regex for matching below
|
||||||
raw_output = cls.openstack('address scope create ' + cls.NAME + opts)
|
cls.re_name = re.compile("name\s+\|\s+([^|]+?)\s+\|")
|
||||||
cls.assertOutput(cls.NAME + "\n", raw_output)
|
cls.re_ip_version = re.compile("ip_version\s+\|\s+(\S+)")
|
||||||
|
cls.re_shared = re.compile("shared\s+\|\s+(\S+)")
|
||||||
|
|
||||||
@classmethod
|
def test_address_scope_delete(self):
|
||||||
def tearDownClass(cls):
|
"""Test create, delete multiple"""
|
||||||
raw_output = cls.openstack('address scope delete ' + cls.NAME)
|
name1 = uuid.uuid4().hex
|
||||||
cls.assertOutput('', raw_output)
|
raw_output = self.openstack(
|
||||||
|
'address scope create ' + name1,
|
||||||
|
)
|
||||||
|
self.assertEqual(
|
||||||
|
name1,
|
||||||
|
re.search(self.re_name, raw_output).group(1),
|
||||||
|
)
|
||||||
|
# Check the default values
|
||||||
|
self.assertEqual(
|
||||||
|
'False',
|
||||||
|
re.search(self.re_shared, raw_output).group(1),
|
||||||
|
)
|
||||||
|
|
||||||
|
name2 = uuid.uuid4().hex
|
||||||
|
raw_output = self.openstack(
|
||||||
|
'address scope create ' + name2,
|
||||||
|
)
|
||||||
|
self.assertEqual(
|
||||||
|
name2,
|
||||||
|
re.search(self.re_name, raw_output).group(1),
|
||||||
|
)
|
||||||
|
|
||||||
|
raw_output = self.openstack(
|
||||||
|
'address scope delete ' + name1 + ' ' + name2,
|
||||||
|
)
|
||||||
|
self.assertOutput('', raw_output)
|
||||||
|
|
||||||
def test_address_scope_list(self):
|
def test_address_scope_list(self):
|
||||||
opts = self.get_opts(self.HEADERS)
|
"""Test create defaults, list filters, delete"""
|
||||||
raw_output = self.openstack('address scope list' + opts)
|
name1 = uuid.uuid4().hex
|
||||||
self.assertIn(self.NAME, raw_output)
|
raw_output = self.openstack(
|
||||||
|
'address scope create --ip-version 4 --share ' + name1,
|
||||||
|
)
|
||||||
|
self.addCleanup(self.openstack, 'address scope delete ' + name1)
|
||||||
|
self.assertEqual(
|
||||||
|
'4',
|
||||||
|
re.search(self.re_ip_version, raw_output).group(1),
|
||||||
|
)
|
||||||
|
self.assertEqual(
|
||||||
|
'True',
|
||||||
|
re.search(self.re_shared, raw_output).group(1),
|
||||||
|
)
|
||||||
|
|
||||||
def test_address_scope_show(self):
|
name2 = uuid.uuid4().hex
|
||||||
opts = self.get_opts(self.FIELDS)
|
raw_output = self.openstack(
|
||||||
raw_output = self.openstack('address scope show ' + self.NAME + opts)
|
'address scope create --ip-version 6 --no-share ' + name2,
|
||||||
self.assertEqual(self.NAME + "\n", raw_output)
|
)
|
||||||
|
self.addCleanup(self.openstack, 'address scope delete ' + name2)
|
||||||
|
self.assertEqual(
|
||||||
|
'6',
|
||||||
|
re.search(self.re_ip_version, raw_output).group(1),
|
||||||
|
)
|
||||||
|
self.assertEqual(
|
||||||
|
'False',
|
||||||
|
re.search(self.re_shared, raw_output).group(1),
|
||||||
|
)
|
||||||
|
|
||||||
|
# Test list
|
||||||
|
raw_output = self.openstack('address scope list')
|
||||||
|
self.assertIsNotNone(re.search(name1 + "\s+\|\s+4", raw_output))
|
||||||
|
self.assertIsNotNone(re.search(name2 + "\s+\|\s+6", raw_output))
|
||||||
|
|
||||||
|
# Test list --share
|
||||||
|
# TODO(dtroyer): returns 'HttpException: Bad Request'
|
||||||
|
# raw_output = self.openstack('address scope list --share')
|
||||||
|
# self.assertIsNotNone(re.search(name1 + "\s+\|\s+4", raw_output))
|
||||||
|
# self.assertIsNotNone(re.search(name2 + "\s+\|\s+6", raw_output))
|
||||||
|
|
||||||
|
# Test list --no-share
|
||||||
|
# TODO(dtroyer): returns 'HttpException: Bad Request'
|
||||||
|
# raw_output = self.openstack('address scope list --no-share')
|
||||||
|
# self.assertIsNotNone(re.search(name1 + "\s+\|\s+4", raw_output))
|
||||||
|
# self.assertIsNotNone(re.search(name2 + "\s+\|\s+6", raw_output))
|
||||||
|
|
||||||
def test_address_scope_set(self):
|
def test_address_scope_set(self):
|
||||||
self.openstack('address scope set --share ' + self.NAME)
|
"""Tests create options, set, show, delete"""
|
||||||
opts = self.get_opts(['shared'])
|
name = uuid.uuid4().hex
|
||||||
raw_output = self.openstack('address scope show ' + self.NAME + opts)
|
newname = name + "_"
|
||||||
self.assertEqual("True\n", raw_output)
|
raw_output = self.openstack(
|
||||||
|
'address scope create ' +
|
||||||
|
'--ip-version 4 ' +
|
||||||
|
'--no-share ' +
|
||||||
|
name,
|
||||||
|
)
|
||||||
|
self.addCleanup(self.openstack, 'address scope delete ' + newname)
|
||||||
|
self.assertEqual(
|
||||||
|
name,
|
||||||
|
re.search(self.re_name, raw_output).group(1),
|
||||||
|
)
|
||||||
|
self.assertEqual(
|
||||||
|
'4',
|
||||||
|
re.search(self.re_ip_version, raw_output).group(1),
|
||||||
|
)
|
||||||
|
self.assertEqual(
|
||||||
|
'False',
|
||||||
|
re.search(self.re_shared, raw_output).group(1),
|
||||||
|
)
|
||||||
|
|
||||||
|
raw_output = self.openstack(
|
||||||
|
'address scope set ' +
|
||||||
|
'--name ' + newname +
|
||||||
|
' --share ' +
|
||||||
|
name,
|
||||||
|
)
|
||||||
|
self.assertOutput('', raw_output)
|
||||||
|
|
||||||
|
raw_output = self.openstack('address scope show ' + newname)
|
||||||
|
self.assertEqual(
|
||||||
|
newname,
|
||||||
|
re.search(self.re_name, raw_output).group(1),
|
||||||
|
)
|
||||||
|
self.assertEqual(
|
||||||
|
'4',
|
||||||
|
re.search(self.re_ip_version, raw_output).group(1),
|
||||||
|
)
|
||||||
|
self.assertEqual(
|
||||||
|
'True',
|
||||||
|
re.search(self.re_shared, raw_output).group(1),
|
||||||
|
)
|
||||||
|
Loading…
Reference in New Issue
Block a user