From f0a3b175a1a7a8d537f6f8023dd8ff8155375f60 Mon Sep 17 00:00:00 2001 From: Tang Chen <tangchen@cn.fujitsu.com> Date: Mon, 28 Dec 2015 17:28:04 +0800 Subject: [PATCH] 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 --- .../tests/common/test_parseractions.py | 65 ++++--------------- 1 file changed, 11 insertions(+), 54 deletions(-) diff --git a/openstackclient/tests/common/test_parseractions.py b/openstackclient/tests/common/test_parseractions.py index 0afbdb7af7..0d9961bcb1 100644 --- a/openstackclient/tests/common/test_parseractions.py +++ b/openstackclient/tests/common/test_parseractions.py @@ -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):