Refactor: Initialize parser in setUp() in TestKeyValueAction
No need to initialize parser in each test case. Do it in setUp(). Also remove the test_default_values case because it could be tested in the test_good_values case. Change-Id: Ia2ed7c9e46bf6baabbd62b9d50511c5e8103e5e2
This commit is contained in:
parent
8210ba7a55
commit
f0a3b175a1
@ -20,34 +20,14 @@ from openstackclient.tests import utils
|
||||
|
||||
|
||||
class TestKeyValueAction(utils.TestCase):
|
||||
def test_good_values(self):
|
||||
parser = argparse.ArgumentParser()
|
||||
|
||||
def setUp(self):
|
||||
super(TestKeyValueAction, self).setUp()
|
||||
|
||||
self.parser = argparse.ArgumentParser()
|
||||
|
||||
# Set up our typical usage
|
||||
parser.add_argument(
|
||||
'--property',
|
||||
metavar='<key=value>',
|
||||
action=parseractions.KeyValueAction,
|
||||
help='Property to store for this volume '
|
||||
'(repeat option to set multiple properties)',
|
||||
)
|
||||
|
||||
results = parser.parse_args([
|
||||
'--property', 'red=',
|
||||
'--property', 'green=100%',
|
||||
'--property', 'blue=50%',
|
||||
])
|
||||
|
||||
actual = getattr(results, 'property', {})
|
||||
# All should pass through unmolested
|
||||
expect = {'red': '', 'green': '100%', 'blue': '50%'}
|
||||
self.assertDictEqual(expect, actual)
|
||||
|
||||
def test_default_values(self):
|
||||
parser = argparse.ArgumentParser()
|
||||
|
||||
# Set up our typical usage
|
||||
parser.add_argument(
|
||||
self.parser.add_argument(
|
||||
'--property',
|
||||
metavar='<key=value>',
|
||||
action=parseractions.KeyValueAction,
|
||||
@ -56,52 +36,29 @@ class TestKeyValueAction(utils.TestCase):
|
||||
'(repeat option to set multiple properties)',
|
||||
)
|
||||
|
||||
results = parser.parse_args([
|
||||
def test_good_values(self):
|
||||
results = self.parser.parse_args([
|
||||
'--property', 'red=',
|
||||
'--property', 'green=100%',
|
||||
'--property', 'blue=50%',
|
||||
])
|
||||
|
||||
actual = getattr(results, 'property', {})
|
||||
# Verify green default is changed, format default is unchanged
|
||||
# All should pass through unmolested
|
||||
expect = {'red': '', 'green': '100%', 'blue': '50%', 'format': '#rgb'}
|
||||
self.assertDictEqual(expect, actual)
|
||||
|
||||
def test_error_values(self):
|
||||
parser = argparse.ArgumentParser()
|
||||
|
||||
# Set up our typical usage
|
||||
parser.add_argument(
|
||||
'--property',
|
||||
metavar='<key=value>',
|
||||
action=parseractions.KeyValueAction,
|
||||
default={'green': '20%', 'blue': '40%'},
|
||||
help='Property to store for this volume '
|
||||
'(repeat option to set multiple properties)',
|
||||
)
|
||||
|
||||
results = parser.parse_args([
|
||||
results = self.parser.parse_args([
|
||||
'--property', 'red',
|
||||
'--property', 'green=100%',
|
||||
'--property', 'blue',
|
||||
])
|
||||
|
||||
failhere = None
|
||||
actual = getattr(results, 'property', {})
|
||||
# Verify non-existent red key
|
||||
try:
|
||||
failhere = actual['red']
|
||||
except Exception as e:
|
||||
self.assertTrue(type(e) == KeyError)
|
||||
# Verify removal of blue key
|
||||
try:
|
||||
failhere = actual['blue']
|
||||
except Exception as e:
|
||||
self.assertTrue(type(e) == KeyError)
|
||||
# There should be no red or blue
|
||||
expect = {'green': '100%'}
|
||||
expect = {'green': '100%', 'format': '#rgb'}
|
||||
self.assertDictEqual(expect, actual)
|
||||
self.assertIsNone(failhere)
|
||||
|
||||
|
||||
class TestNonNegativeAction(utils.TestCase):
|
||||
|
Loading…
x
Reference in New Issue
Block a user