Merge "Use testtools instead of unittest for base classes."

This commit is contained in:
Jenkins
2013-01-08 22:00:53 +00:00
committed by Gerrit Code Review
8 changed files with 46 additions and 44 deletions

View File

@@ -41,8 +41,8 @@ Human Alphabetical Order Examples
import logging import logging
import random import random
import StringIO import StringIO
import testtools
import time import time
import unittest
import httplib2 import httplib2

View File

@@ -19,7 +19,7 @@ import iso8601
import os import os
import string import string
import tempfile import tempfile
import unittest2 as unittest import testtools
import webob import webob
@@ -335,9 +335,10 @@ class FakeApp(object):
return resp(env, start_response) return resp(env, start_response)
class BaseAuthTokenMiddlewareTest(unittest.TestCase): class BaseAuthTokenMiddlewareTest(testtools.TestCase):
def setUp(self, expected_env=None): def setUp(self, expected_env=None):
super(BaseAuthTokenMiddlewareTest, self).setUp()
expected_env = expected_env or {} expected_env = expected_env or {}
conf = { conf = {
@@ -537,8 +538,8 @@ class AuthTokenMiddlewareTest(test.NoModule, BaseAuthTokenMiddlewareTest):
def test_verify_signed_token_raises_exception_for_revoked_token(self): def test_verify_signed_token_raises_exception_for_revoked_token(self):
self.middleware.token_revocation_list = self.get_revocation_list_json() self.middleware.token_revocation_list = self.get_revocation_list_json()
with self.assertRaises(auth_token.InvalidUserToken): self.assertRaises(auth_token.InvalidUserToken,
self.middleware.verify_signed_token(REVOKED_TOKEN) self.middleware.verify_signed_token, REVOKED_TOKEN)
def test_verify_signed_token_succeeds_for_unrevoked_token(self): def test_verify_signed_token_succeeds_for_unrevoked_token(self):
self.middleware.token_revocation_list = self.get_revocation_list_json() self.middleware.token_revocation_list = self.get_revocation_list_json()
@@ -579,8 +580,8 @@ class AuthTokenMiddlewareTest(test.NoModule, BaseAuthTokenMiddlewareTest):
def test_invalid_revocation_list_raises_service_error(self): def test_invalid_revocation_list_raises_service_error(self):
globals()['SIGNED_REVOCATION_LIST'] = "{}" globals()['SIGNED_REVOCATION_LIST'] = "{}"
with self.assertRaises(auth_token.ServiceError): self.assertRaises(auth_token.ServiceError,
self.middleware.fetch_revocation_list() self.middleware.fetch_revocation_list)
def test_fetch_revocation_list(self): def test_fetch_revocation_list(self):
fetched_list = jsonutils.loads(self.middleware.fetch_revocation_list()) fetched_list = jsonutils.loads(self.middleware.fetch_revocation_list())
@@ -696,7 +697,7 @@ class AuthTokenMiddlewareTest(test.NoModule, BaseAuthTokenMiddlewareTest):
self.assertFalse(auth_token.will_expire_soon(fortyseconds)) self.assertFalse(auth_token.will_expire_soon(fortyseconds))
class TokenEncodingTest(unittest.TestCase): class TokenEncodingTest(testtools.TestCase):
def test_unquoted_token(self): def test_unquoted_token(self):
self.assertEqual('foo%20bar', auth_token.safe_quote('foo bar')) self.assertEqual('foo%20bar', auth_token.safe_quote('foo bar'))

View File

@@ -14,11 +14,12 @@
# 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 unittest2 as unittest import testtools
from keystoneclient.contrib.ec2.utils import Ec2Signer from keystoneclient.contrib.ec2.utils import Ec2Signer
class Ec2SignerTest(unittest.TestCase): class Ec2SignerTest(testtools.TestCase):
def setUp(self): def setUp(self):
super(Ec2SignerTest, self).setUp() super(Ec2SignerTest, self).setUp()
@@ -26,9 +27,6 @@ class Ec2SignerTest(unittest.TestCase):
self.secret = '89cdf9e94e2643cab35b8b8ac5a51f83' self.secret = '89cdf9e94e2643cab35b8b8ac5a51f83'
self.signer = Ec2Signer(self.secret) self.signer = Ec2Signer(self.secret)
def tearDown(self):
super(Ec2SignerTest, self).tearDown()
def test_generate_0(self): def test_generate_0(self):
"""Test generate function for v0 signature""" """Test generate function for v0 signature"""
credentials = {'host': '127.0.0.1', credentials = {'host': '127.0.0.1',

View File

@@ -1,6 +1,7 @@
import os import os
import mock import mock
import fixtures
import requests import requests
from keystoneclient import shell as openstack_shell from keystoneclient import shell as openstack_shell
@@ -18,17 +19,21 @@ DEFAULT_AUTH_URL = 'http://127.0.0.1:5000/v2.0/'
class ShellTest(utils.TestCase): class ShellTest(utils.TestCase):
FAKE_ENV = {
'OS_USERNAME': DEFAULT_USERNAME,
'OS_PASSWORD': DEFAULT_PASSWORD,
'OS_TENANT_ID': DEFAULT_TENANT_ID,
'OS_TENANT_NAME': DEFAULT_TENANT_NAME,
'OS_AUTH_URL': DEFAULT_AUTH_URL,
}
# Patch os.environ to avoid required auth info. # Patch os.environ to avoid required auth info.
def setUp(self): def setUp(self):
global _old_env
fake_env = { super(ShellTest, self).setUp()
'OS_USERNAME': DEFAULT_USERNAME, for var in self.FAKE_ENV:
'OS_PASSWORD': DEFAULT_PASSWORD, self.useFixture(fixtures.EnvironmentVariable(var,
'OS_TENANT_ID': DEFAULT_TENANT_ID, self.FAKE_ENV[var]))
'OS_TENANT_NAME': DEFAULT_TENANT_NAME,
'OS_AUTH_URL': DEFAULT_AUTH_URL,
}
_old_env, os.environ = os.environ, fake_env.copy()
# Make a fake shell object, a helping wrapper to call it, and a quick # Make a fake shell object, a helping wrapper to call it, and a quick
# way of asserting that certain API calls were made. # way of asserting that certain API calls were made.
@@ -36,10 +41,6 @@ class ShellTest(utils.TestCase):
_shell = openstack_shell.OpenStackIdentityShell() _shell = openstack_shell.OpenStackIdentityShell()
shell = lambda cmd: _shell.main(cmd.split()) shell = lambda cmd: _shell.main(cmd.split())
def tearDown(self):
global _old_env
os.environ = _old_env
def test_help_unknown_command(self): def test_help_unknown_command(self):
self.assertRaises(exceptions.CommandError, shell, 'help foofoo') self.assertRaises(exceptions.CommandError, shell, 'help foofoo')

View File

@@ -2,12 +2,12 @@ import time
import mox import mox
import requests import requests
import unittest2 as unittest import testtools
from keystoneclient.v2_0 import client from keystoneclient.v2_0 import client
class TestCase(unittest.TestCase): class TestCase(testtools.TestCase):
TEST_TENANT_ID = '1' TEST_TENANT_ID = '1'
TEST_TENANT_NAME = 'aTenant' TEST_TENANT_NAME = 'aTenant'
TEST_TOKEN = 'aToken' TEST_TOKEN = 'aToken'
@@ -82,12 +82,12 @@ class TestCase(unittest.TestCase):
def tearDown(self): def tearDown(self):
time.time = self._original_time time.time = self._original_time
super(TestCase, self).tearDown()
self.mox.UnsetStubs() self.mox.UnsetStubs()
self.mox.VerifyAll() self.mox.VerifyAll()
super(TestCase, self).tearDown()
class UnauthenticatedTestCase(unittest.TestCase): class UnauthenticatedTestCase(testtools.TestCase):
""" Class used as base for unauthenticated calls """ """ Class used as base for unauthenticated calls """
TEST_ROOT_URL = 'http://127.0.0.1:5000/' TEST_ROOT_URL = 'http://127.0.0.1:5000/'
TEST_URL = '%s%s' % (TEST_ROOT_URL, 'v2.0') TEST_URL = '%s%s' % (TEST_ROOT_URL, 'v2.0')
@@ -107,9 +107,9 @@ class UnauthenticatedTestCase(unittest.TestCase):
def tearDown(self): def tearDown(self):
time.time = self._original_time time.time = self._original_time
super(UnauthenticatedTestCase, self).tearDown()
self.mox.UnsetStubs() self.mox.UnsetStubs()
self.mox.VerifyAll() self.mox.VerifyAll()
super(UnauthenticatedTestCase, self).tearDown()
class TestResponse(requests.Response): class TestResponse(requests.Response):

View File

@@ -1,3 +1,4 @@
import testtools
import uuid import uuid
from keystoneclient.v3 import endpoints from keystoneclient.v3 import endpoints
@@ -36,8 +37,8 @@ class EndpointTests(utils.TestCase, utils.CrudTests):
def test_create_invalid_interface(self): def test_create_invalid_interface(self):
ref = self.new_ref(interface=uuid.uuid4().hex) ref = self.new_ref(interface=uuid.uuid4().hex)
with self.assertRaises(Exception): self.assertRaises(Exception, self.manager.create,
self.manager.create(**utils.parameterize(ref)) **utils.parameterize(ref))
def test_update_public_interface(self): def test_update_public_interface(self):
ref = self.new_ref(interface='public') ref = self.new_ref(interface='public')
@@ -53,8 +54,8 @@ class EndpointTests(utils.TestCase, utils.CrudTests):
def test_update_invalid_interface(self): def test_update_invalid_interface(self):
ref = self.new_ref(interface=uuid.uuid4().hex) ref = self.new_ref(interface=uuid.uuid4().hex)
with self.assertRaises(Exception): self.assertRaises(Exception, self.manager.update,
self.manager.update(**utils.parameterize(ref)) **utils.parameterize(ref))
def test_list_public_interface(self): def test_list_public_interface(self):
interface = 'public' interface = 'public'
@@ -74,5 +75,5 @@ class EndpointTests(utils.TestCase, utils.CrudTests):
def test_list_invalid_interface(self): def test_list_invalid_interface(self):
interface = uuid.uuid4().hex interface = uuid.uuid4().hex
expected_path = 'v3/%s?interface=%s' % (self.collection_key, interface) expected_path = 'v3/%s?interface=%s' % (self.collection_key, interface)
with self.assertRaises(Exception): self.assertRaises(Exception, self.manager.list,
self.manager.list(expected_path=expected_path, interface=interface) expected_path=expected_path, interface=interface)

View File

@@ -6,7 +6,7 @@ import urlparse
import mox import mox
import requests import requests
import unittest2 as unittest import testtools
from keystoneclient.v3 import client from keystoneclient.v3 import client
@@ -31,7 +31,7 @@ class TestClient(client.Client):
return json.dumps(entity, sort_keys=True) return json.dumps(entity, sort_keys=True)
class TestCase(unittest.TestCase): class TestCase(testtools.TestCase):
TEST_TENANT_NAME = 'aTenant' TEST_TENANT_NAME = 'aTenant'
TEST_TOKEN = 'aToken' TEST_TOKEN = 'aToken'
TEST_USER = 'test' TEST_USER = 'test'
@@ -58,12 +58,12 @@ class TestCase(unittest.TestCase):
def tearDown(self): def tearDown(self):
time.time = self._original_time time.time = self._original_time
super(TestCase, self).tearDown()
self.mox.UnsetStubs() self.mox.UnsetStubs()
self.mox.VerifyAll() self.mox.VerifyAll()
super(TestCase, self).tearDown()
class UnauthenticatedTestCase(unittest.TestCase): class UnauthenticatedTestCase(testtools.TestCase):
""" Class used as base for unauthenticated calls """ """ Class used as base for unauthenticated calls """
TEST_ROOT_URL = 'http://127.0.0.1:5000/' TEST_ROOT_URL = 'http://127.0.0.1:5000/'
TEST_URL = '%s%s' % (TEST_ROOT_URL, 'v3') TEST_URL = '%s%s' % (TEST_ROOT_URL, 'v3')
@@ -83,12 +83,12 @@ class UnauthenticatedTestCase(unittest.TestCase):
def tearDown(self): def tearDown(self):
time.time = self._original_time time.time = self._original_time
super(UnauthenticatedTestCase, self).tearDown()
self.mox.UnsetStubs() self.mox.UnsetStubs()
self.mox.VerifyAll() self.mox.VerifyAll()
super(UnauthenticatedTestCase, self).tearDown()
class CrudTests(object): class CrudTests(testtools.TestCase):
key = None key = None
collection_key = None collection_key = None
model = None model = None

View File

@@ -1,6 +1,7 @@
distribute>=0.6.24 distribute>=0.6.24
coverage coverage
fixtures
keyring keyring
mock mock
mox mox
@@ -10,7 +11,7 @@ openstack.nose_plugin
nosehtmloutput nosehtmloutput
pep8==1.3.3 pep8==1.3.3
sphinx>=1.1.2 sphinx>=1.1.2
unittest2>=0.5.1 testtools>=0.9.22
WebOb==1.0.8 WebOb==1.0.8
iso8601>=0.1.4 iso8601>=0.1.4