Use testtools instead of unittest for base classes.
part of blueprint grizzle-testtools Change-Id: Ic9b438b4224d945e080d1d6071742ddc47ee81ed
This commit is contained in:
		
							
								
								
									
										2
									
								
								HACKING
									
									
									
									
									
								
							
							
						
						
									
										2
									
								
								HACKING
									
									
									
									
									
								
							@@ -41,8 +41,8 @@ Human Alphabetical Order Examples
 | 
			
		||||
  import logging
 | 
			
		||||
  import random
 | 
			
		||||
  import StringIO
 | 
			
		||||
  import testtools
 | 
			
		||||
  import time
 | 
			
		||||
  import unittest
 | 
			
		||||
 | 
			
		||||
  import httplib2
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -19,7 +19,7 @@ import iso8601
 | 
			
		||||
import os
 | 
			
		||||
import string
 | 
			
		||||
import tempfile
 | 
			
		||||
import unittest2 as unittest
 | 
			
		||||
import testtools
 | 
			
		||||
 | 
			
		||||
import webob
 | 
			
		||||
 | 
			
		||||
@@ -335,9 +335,10 @@ class FakeApp(object):
 | 
			
		||||
        return resp(env, start_response)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
class BaseAuthTokenMiddlewareTest(unittest.TestCase):
 | 
			
		||||
class BaseAuthTokenMiddlewareTest(testtools.TestCase):
 | 
			
		||||
 | 
			
		||||
    def setUp(self, expected_env=None):
 | 
			
		||||
        super(BaseAuthTokenMiddlewareTest, self).setUp()
 | 
			
		||||
        expected_env = expected_env or {}
 | 
			
		||||
 | 
			
		||||
        conf = {
 | 
			
		||||
@@ -537,8 +538,8 @@ class AuthTokenMiddlewareTest(test.NoModule, BaseAuthTokenMiddlewareTest):
 | 
			
		||||
 | 
			
		||||
    def test_verify_signed_token_raises_exception_for_revoked_token(self):
 | 
			
		||||
        self.middleware.token_revocation_list = self.get_revocation_list_json()
 | 
			
		||||
        with self.assertRaises(auth_token.InvalidUserToken):
 | 
			
		||||
            self.middleware.verify_signed_token(REVOKED_TOKEN)
 | 
			
		||||
        self.assertRaises(auth_token.InvalidUserToken,
 | 
			
		||||
                          self.middleware.verify_signed_token, REVOKED_TOKEN)
 | 
			
		||||
 | 
			
		||||
    def test_verify_signed_token_succeeds_for_unrevoked_token(self):
 | 
			
		||||
        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):
 | 
			
		||||
        globals()['SIGNED_REVOCATION_LIST'] = "{}"
 | 
			
		||||
        with self.assertRaises(auth_token.ServiceError):
 | 
			
		||||
            self.middleware.fetch_revocation_list()
 | 
			
		||||
        self.assertRaises(auth_token.ServiceError,
 | 
			
		||||
                          self.middleware.fetch_revocation_list)
 | 
			
		||||
 | 
			
		||||
    def test_fetch_revocation_list(self):
 | 
			
		||||
        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))
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
class TokenEncodingTest(unittest.TestCase):
 | 
			
		||||
class TokenEncodingTest(testtools.TestCase):
 | 
			
		||||
    def test_unquoted_token(self):
 | 
			
		||||
        self.assertEqual('foo%20bar', auth_token.safe_quote('foo bar'))
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -14,11 +14,12 @@
 | 
			
		||||
# License for the specific language governing permissions and limitations
 | 
			
		||||
# under the License.
 | 
			
		||||
 | 
			
		||||
import unittest2 as unittest
 | 
			
		||||
import testtools
 | 
			
		||||
 | 
			
		||||
from keystoneclient.contrib.ec2.utils import Ec2Signer
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
class Ec2SignerTest(unittest.TestCase):
 | 
			
		||||
class Ec2SignerTest(testtools.TestCase):
 | 
			
		||||
 | 
			
		||||
    def setUp(self):
 | 
			
		||||
        super(Ec2SignerTest, self).setUp()
 | 
			
		||||
@@ -26,9 +27,6 @@ class Ec2SignerTest(unittest.TestCase):
 | 
			
		||||
        self.secret = '89cdf9e94e2643cab35b8b8ac5a51f83'
 | 
			
		||||
        self.signer = Ec2Signer(self.secret)
 | 
			
		||||
 | 
			
		||||
    def tearDown(self):
 | 
			
		||||
        super(Ec2SignerTest, self).tearDown()
 | 
			
		||||
 | 
			
		||||
    def test_generate_0(self):
 | 
			
		||||
        """Test generate function for v0 signature"""
 | 
			
		||||
        credentials = {'host': '127.0.0.1',
 | 
			
		||||
 
 | 
			
		||||
@@ -1,6 +1,7 @@
 | 
			
		||||
import os
 | 
			
		||||
import mock
 | 
			
		||||
 | 
			
		||||
import fixtures
 | 
			
		||||
import requests
 | 
			
		||||
 | 
			
		||||
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):
 | 
			
		||||
 | 
			
		||||
    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.
 | 
			
		||||
    def setUp(self):
 | 
			
		||||
        global _old_env
 | 
			
		||||
        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,
 | 
			
		||||
        }
 | 
			
		||||
        _old_env, os.environ = os.environ, fake_env.copy()
 | 
			
		||||
 | 
			
		||||
        super(ShellTest, self).setUp()
 | 
			
		||||
        for var in self.FAKE_ENV:
 | 
			
		||||
            self.useFixture(fixtures.EnvironmentVariable(var,
 | 
			
		||||
                            self.FAKE_ENV[var]))
 | 
			
		||||
 | 
			
		||||
        # Make a fake shell object, a helping wrapper to call it, and a quick
 | 
			
		||||
        # way of asserting that certain API calls were made.
 | 
			
		||||
@@ -36,10 +41,6 @@ class ShellTest(utils.TestCase):
 | 
			
		||||
        _shell = openstack_shell.OpenStackIdentityShell()
 | 
			
		||||
        shell = lambda cmd: _shell.main(cmd.split())
 | 
			
		||||
 | 
			
		||||
    def tearDown(self):
 | 
			
		||||
        global _old_env
 | 
			
		||||
        os.environ = _old_env
 | 
			
		||||
 | 
			
		||||
    def test_help_unknown_command(self):
 | 
			
		||||
        self.assertRaises(exceptions.CommandError, shell, 'help foofoo')
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -2,12 +2,12 @@ import time
 | 
			
		||||
 | 
			
		||||
import mox
 | 
			
		||||
import requests
 | 
			
		||||
import unittest2 as unittest
 | 
			
		||||
import testtools
 | 
			
		||||
 | 
			
		||||
from keystoneclient.v2_0 import client
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
class TestCase(unittest.TestCase):
 | 
			
		||||
class TestCase(testtools.TestCase):
 | 
			
		||||
    TEST_TENANT_ID = '1'
 | 
			
		||||
    TEST_TENANT_NAME = 'aTenant'
 | 
			
		||||
    TEST_TOKEN = 'aToken'
 | 
			
		||||
@@ -82,12 +82,12 @@ class TestCase(unittest.TestCase):
 | 
			
		||||
 | 
			
		||||
    def tearDown(self):
 | 
			
		||||
        time.time = self._original_time
 | 
			
		||||
        super(TestCase, self).tearDown()
 | 
			
		||||
        self.mox.UnsetStubs()
 | 
			
		||||
        self.mox.VerifyAll()
 | 
			
		||||
        super(TestCase, self).tearDown()
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
class UnauthenticatedTestCase(unittest.TestCase):
 | 
			
		||||
class UnauthenticatedTestCase(testtools.TestCase):
 | 
			
		||||
    """ Class used as base for unauthenticated calls """
 | 
			
		||||
    TEST_ROOT_URL = 'http://127.0.0.1:5000/'
 | 
			
		||||
    TEST_URL = '%s%s' % (TEST_ROOT_URL, 'v2.0')
 | 
			
		||||
@@ -107,9 +107,9 @@ class UnauthenticatedTestCase(unittest.TestCase):
 | 
			
		||||
 | 
			
		||||
    def tearDown(self):
 | 
			
		||||
        time.time = self._original_time
 | 
			
		||||
        super(UnauthenticatedTestCase, self).tearDown()
 | 
			
		||||
        self.mox.UnsetStubs()
 | 
			
		||||
        self.mox.VerifyAll()
 | 
			
		||||
        super(UnauthenticatedTestCase, self).tearDown()
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
class TestResponse(requests.Response):
 | 
			
		||||
 
 | 
			
		||||
@@ -1,3 +1,4 @@
 | 
			
		||||
import testtools
 | 
			
		||||
import uuid
 | 
			
		||||
 | 
			
		||||
from keystoneclient.v3 import endpoints
 | 
			
		||||
@@ -36,8 +37,8 @@ class EndpointTests(utils.TestCase, utils.CrudTests):
 | 
			
		||||
 | 
			
		||||
    def test_create_invalid_interface(self):
 | 
			
		||||
        ref = self.new_ref(interface=uuid.uuid4().hex)
 | 
			
		||||
        with self.assertRaises(Exception):
 | 
			
		||||
            self.manager.create(**utils.parameterize(ref))
 | 
			
		||||
        self.assertRaises(Exception, self.manager.create,
 | 
			
		||||
                          **utils.parameterize(ref))
 | 
			
		||||
 | 
			
		||||
    def test_update_public_interface(self):
 | 
			
		||||
        ref = self.new_ref(interface='public')
 | 
			
		||||
@@ -53,8 +54,8 @@ class EndpointTests(utils.TestCase, utils.CrudTests):
 | 
			
		||||
 | 
			
		||||
    def test_update_invalid_interface(self):
 | 
			
		||||
        ref = self.new_ref(interface=uuid.uuid4().hex)
 | 
			
		||||
        with self.assertRaises(Exception):
 | 
			
		||||
            self.manager.update(**utils.parameterize(ref))
 | 
			
		||||
        self.assertRaises(Exception, self.manager.update,
 | 
			
		||||
                          **utils.parameterize(ref))
 | 
			
		||||
 | 
			
		||||
    def test_list_public_interface(self):
 | 
			
		||||
        interface = 'public'
 | 
			
		||||
@@ -74,5 +75,5 @@ class EndpointTests(utils.TestCase, utils.CrudTests):
 | 
			
		||||
    def test_list_invalid_interface(self):
 | 
			
		||||
        interface = uuid.uuid4().hex
 | 
			
		||||
        expected_path = 'v3/%s?interface=%s' % (self.collection_key, interface)
 | 
			
		||||
        with self.assertRaises(Exception):
 | 
			
		||||
            self.manager.list(expected_path=expected_path, interface=interface)
 | 
			
		||||
        self.assertRaises(Exception, self.manager.list,
 | 
			
		||||
                          expected_path=expected_path, interface=interface)
 | 
			
		||||
 
 | 
			
		||||
@@ -6,7 +6,7 @@ import urlparse
 | 
			
		||||
 | 
			
		||||
import mox
 | 
			
		||||
import requests
 | 
			
		||||
import unittest2 as unittest
 | 
			
		||||
import testtools
 | 
			
		||||
 | 
			
		||||
from keystoneclient.v3 import client
 | 
			
		||||
 | 
			
		||||
@@ -31,7 +31,7 @@ class TestClient(client.Client):
 | 
			
		||||
        return json.dumps(entity, sort_keys=True)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
class TestCase(unittest.TestCase):
 | 
			
		||||
class TestCase(testtools.TestCase):
 | 
			
		||||
    TEST_TENANT_NAME = 'aTenant'
 | 
			
		||||
    TEST_TOKEN = 'aToken'
 | 
			
		||||
    TEST_USER = 'test'
 | 
			
		||||
@@ -58,12 +58,12 @@ class TestCase(unittest.TestCase):
 | 
			
		||||
 | 
			
		||||
    def tearDown(self):
 | 
			
		||||
        time.time = self._original_time
 | 
			
		||||
        super(TestCase, self).tearDown()
 | 
			
		||||
        self.mox.UnsetStubs()
 | 
			
		||||
        self.mox.VerifyAll()
 | 
			
		||||
        super(TestCase, self).tearDown()
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
class UnauthenticatedTestCase(unittest.TestCase):
 | 
			
		||||
class UnauthenticatedTestCase(testtools.TestCase):
 | 
			
		||||
    """ Class used as base for unauthenticated calls """
 | 
			
		||||
    TEST_ROOT_URL = 'http://127.0.0.1:5000/'
 | 
			
		||||
    TEST_URL = '%s%s' % (TEST_ROOT_URL, 'v3')
 | 
			
		||||
@@ -83,12 +83,12 @@ class UnauthenticatedTestCase(unittest.TestCase):
 | 
			
		||||
 | 
			
		||||
    def tearDown(self):
 | 
			
		||||
        time.time = self._original_time
 | 
			
		||||
        super(UnauthenticatedTestCase, self).tearDown()
 | 
			
		||||
        self.mox.UnsetStubs()
 | 
			
		||||
        self.mox.VerifyAll()
 | 
			
		||||
        super(UnauthenticatedTestCase, self).tearDown()
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
class CrudTests(object):
 | 
			
		||||
class CrudTests(testtools.TestCase):
 | 
			
		||||
    key = None
 | 
			
		||||
    collection_key = None
 | 
			
		||||
    model = None
 | 
			
		||||
 
 | 
			
		||||
@@ -1,6 +1,7 @@
 | 
			
		||||
distribute>=0.6.24
 | 
			
		||||
 | 
			
		||||
coverage
 | 
			
		||||
fixtures
 | 
			
		||||
keyring
 | 
			
		||||
mock
 | 
			
		||||
mox
 | 
			
		||||
@@ -10,7 +11,7 @@ openstack.nose_plugin
 | 
			
		||||
nosehtmloutput
 | 
			
		||||
pep8==1.3.3
 | 
			
		||||
sphinx>=1.1.2
 | 
			
		||||
unittest2>=0.5.1
 | 
			
		||||
testtools>=0.9.22
 | 
			
		||||
WebOb==1.0.8
 | 
			
		||||
iso8601>=0.1.4
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user