From f82edf87219bc0b411e702d773e0b764a1d2ce5b Mon Sep 17 00:00:00 2001 From: Brant Knudson Date: Mon, 6 Jan 2014 16:06:17 -0600 Subject: [PATCH] Tests use cleanUp rather than tearDown The tests were putting clean-up code in tearDown. Using tearDown causes problems with developing and testing because if there's an exception raised in setUp then tearDown is not called and this can affect other tests and make it hard to figure out what the problem was. Also, this should make it easier to switch to using fixtures since fixtures use cleanUp. Change-Id: Ifc22dfd9012402c895a09534f4b1d9bd7a2ec931 --- .../tests/test_auth_token_middleware.py | 25 ++++--------------- keystoneclient/tests/test_ec2utils.py | 3 --- keystoneclient/tests/test_https.py | 5 +--- keystoneclient/tests/test_utils.py | 7 ++---- 4 files changed, 8 insertions(+), 32 deletions(-) diff --git a/keystoneclient/tests/test_auth_token_middleware.py b/keystoneclient/tests/test_auth_token_middleware.py index ae68d23f3..25e90e1b2 100644 --- a/keystoneclient/tests/test_auth_token_middleware.py +++ b/keystoneclient/tests/test_auth_token_middleware.py @@ -378,6 +378,7 @@ class DiabloAuthTokenMiddlewareTest(BaseAuthTokenMiddlewareTest, httpretty.httpretty.reset() httpretty.enable() + self.addCleanup(httpretty.disable) httpretty.register_uri(httpretty.GET, "%s/" % BASE_URI, @@ -397,10 +398,6 @@ class DiabloAuthTokenMiddlewareTest(BaseAuthTokenMiddlewareTest, self.set_middleware() - def tearDown(self): - httpretty.disable() - super(DiabloAuthTokenMiddlewareTest, self).tearDown() - def test_valid_diablo_response(self): req = webob.Request.blank('/') req.headers['X-Auth-Token'] = self.token_id @@ -1083,6 +1080,7 @@ class CertDownloadMiddlewareTest(BaseAuthTokenMiddlewareTest, def setUp(self): super(CertDownloadMiddlewareTest, self).setUp() self.base_dir = tempfile.mkdtemp() + self.addCleanup(shutil.rmtree, self.base_dir) self.cert_dir = os.path.join(self.base_dir, 'certs') os.mkdir(self.cert_dir) conf = { @@ -1091,11 +1089,7 @@ class CertDownloadMiddlewareTest(BaseAuthTokenMiddlewareTest, self.set_middleware(conf=conf) httpretty.enable() - - def tearDown(self): - httpretty.disable() - shutil.rmtree(self.base_dir) - super(CertDownloadMiddlewareTest, self).tearDown() + self.addCleanup(httpretty.disable) # Usually we supply a signed_dir with pre-installed certificates, # so invocation of /usr/bin/openssl succeeds. This time we give it @@ -1226,6 +1220,7 @@ class v2AuthTokenMiddlewareTest(BaseAuthTokenMiddlewareTest, httpretty.httpretty.reset() httpretty.enable() + self.addCleanup(httpretty.disable) httpretty.register_uri(httpretty.GET, "%s/" % BASE_URI, @@ -1257,10 +1252,6 @@ class v2AuthTokenMiddlewareTest(BaseAuthTokenMiddlewareTest, self.set_middleware() - def tearDown(self): - httpretty.disable() - super(v2AuthTokenMiddlewareTest, self).tearDown() - def assert_unscoped_default_tenant_auto_scopes(self, token): """Unscoped v2 requests with a default tenant should "auto-scope." @@ -1411,6 +1402,7 @@ class v3AuthTokenMiddlewareTest(BaseAuthTokenMiddlewareTest, httpretty.httpretty.reset() httpretty.enable() + self.addCleanup(httpretty.disable) httpretty.register_uri(httpretty.GET, "%s" % BASE_URI, @@ -1435,10 +1427,6 @@ class v3AuthTokenMiddlewareTest(BaseAuthTokenMiddlewareTest, self.set_middleware() - def tearDown(self): - httpretty.disable() - super(v3AuthTokenMiddlewareTest, self).tearDown() - def token_response(self, request, uri, headers): auth_id = request.headers.get('X-Auth-Token') token_id = request.headers.get('X-Subject-Token') @@ -1516,9 +1504,6 @@ class TokenExpirationTest(BaseAuthTokenMiddlewareTest): self.one_hour_earlier = timeutils.isotime(self.now + self.delta, subsecond=True) - def tearDown(self): - super(TokenExpirationTest, self).tearDown() - def create_v2_token_fixture(self, expires=None): v2_fixture = { 'access': { diff --git a/keystoneclient/tests/test_ec2utils.py b/keystoneclient/tests/test_ec2utils.py index d4346a499..6fbc71961 100644 --- a/keystoneclient/tests/test_ec2utils.py +++ b/keystoneclient/tests/test_ec2utils.py @@ -29,9 +29,6 @@ class Ec2SignerTest(testtools.TestCase): self.secret = '89cdf9e94e2643cab35b8b8ac5a51f83' self.signer = utils.Ec2Signer(self.secret) - def tearDown(self): - super(Ec2SignerTest, self).tearDown() - def test_v4_creds_header(self): auth_str = 'AWS4-HMAC-SHA256 blah' credentials = {'host': '127.0.0.1', diff --git a/keystoneclient/tests/test_https.py b/keystoneclient/tests/test_https.py index b4a955ba3..5cc5803b6 100644 --- a/keystoneclient/tests/test_https.py +++ b/keystoneclient/tests/test_https.py @@ -50,10 +50,7 @@ class ClientTest(utils.TestCase): self.request_patcher = mock.patch.object(requests, 'request', self.mox.CreateMockAnything()) self.request_patcher.start() - - def tearDown(self): - self.request_patcher.stop() - super(ClientTest, self).tearDown() + self.addCleanup(self.request_patcher.stop) @mock.patch.object(session.requests.Session, 'request') def test_get(self, MOCK_REQUEST): diff --git a/keystoneclient/tests/test_utils.py b/keystoneclient/tests/test_utils.py index 18554c127..aa4978b8c 100644 --- a/keystoneclient/tests/test_utils.py +++ b/keystoneclient/tests/test_utils.py @@ -108,12 +108,9 @@ class PrintTestCase(test_utils.TestCase): super(PrintTestCase, self).setUp() self.old_stdout = sys.stdout self.stdout = six.moves.cStringIO() + self.addCleanup(setattr, self, 'stdout', None) sys.stdout = self.stdout - - def tearDown(self): - super(PrintTestCase, self).tearDown() - sys.stdout = self.old_stdout - self.stdout = None + self.addCleanup(setattr, sys, 'stdout', self.old_stdout) def test_print_list_unicode(self): name = u'\u540d\u5b57'