Fixing tests to work with python 2.6

This commit is contained in:
Andrew Melton 2013-08-07 12:02:24 -04:00
parent aee274cc6e
commit 6ea311bea1
13 changed files with 87 additions and 35 deletions

View File

@ -19,7 +19,9 @@
# IN THE SOFTWARE. # IN THE SOFTWARE.
import os import os
import re
import sys import sys
import unittest
def setup_sys_path(): def setup_sys_path():
@ -45,3 +47,57 @@ setup_environment()
from stacktach import stacklog from stacktach import stacklog
stacklog.set_default_logger_location("/tmp/%s.log") stacklog.set_default_logger_location("/tmp/%s.log")
class _AssertRaisesContext(object):
"""A context manager used to implement TestCase.assertRaises* methods."""
def __init__(self, expected, test_case, expected_regexp=None):
self.expected = expected
self.failureException = test_case.failureException
self.expected_regexp = expected_regexp
def __enter__(self):
return self
def __exit__(self, exc_type, exc_value, tb):
if exc_type is None:
try:
exc_name = self.expected.__name__
except AttributeError:
exc_name = str(self.expected)
raise self.failureException(
"{0} not raised".format(exc_name))
if not issubclass(exc_type, self.expected):
# let unexpected exceptions pass through
return False
self.exception = exc_value # store for later retrieval
if self.expected_regexp is None:
return True
expected_regexp = self.expected_regexp
if isinstance(expected_regexp, basestring):
expected_regexp = re.compile(expected_regexp)
if not expected_regexp.search(str(exc_value)):
raise self.failureException('"%s" does not match "%s"' %
(expected_regexp.pattern, str(exc_value)))
return True
class StacktachBaseTestCase(unittest.TestCase):
def assertIsNotNone(self, obj, msg=None):
self.assertTrue(obj is not None, msg)
def assertIsNone(self, obj, msg=None):
self.assertTrue(obj is None, msg)
def assertIsInstance(self, obj, cls, msg=None):
self.assertTrue(isinstance(obj, cls), msg)
def assertRaises(self, excClass, callableObj=None, *args, **kwargs):
context = _AssertRaisesContext(excClass, self)
if callableObj is None:
return context
with context:
callableObj(*args, **kwargs)

View File

@ -20,11 +20,11 @@
import datetime import datetime
import decimal import decimal
import unittest
from stacktach import datetime_to_decimal from stacktach import datetime_to_decimal
from tests.unit import StacktachBaseTestCase
class DatetimeToDecimalTestCase(unittest.TestCase): class DatetimeToDecimalTestCase(StacktachBaseTestCase):
def test_datetime_to_decimal(self): def test_datetime_to_decimal(self):
expected_decimal = decimal.Decimal('1356093296.123') expected_decimal = decimal.Decimal('1356093296.123')

View File

@ -20,7 +20,6 @@
import datetime import datetime
import json import json
import unittest
from django.db.models import FieldDoesNotExist from django.db.models import FieldDoesNotExist
from django.db import transaction from django.db import transaction
@ -29,13 +28,14 @@ import mox
from stacktach import dbapi from stacktach import dbapi
from stacktach import models from stacktach import models
from stacktach import utils as stacktach_utils from stacktach import utils as stacktach_utils
from tests.unit import StacktachBaseTestCase
import utils import utils
from utils import INSTANCE_ID_1 from utils import INSTANCE_ID_1
from utils import MESSAGE_ID_1 from utils import MESSAGE_ID_1
from utils import MESSAGE_ID_2 from utils import MESSAGE_ID_2
class DBAPITestCase(unittest.TestCase): class DBAPITestCase(StacktachBaseTestCase):
def setUp(self): def setUp(self):
self.mox = mox.Mox() self.mox = mox.Mox()
dne_exception = models.InstanceExists.DoesNotExist dne_exception = models.InstanceExists.DoesNotExist

View File

@ -18,12 +18,11 @@
# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS # FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
# IN THE SOFTWARE. # IN THE SOFTWARE.
import unittest
from stacktach import image_type from stacktach import image_type
from tests.unit import StacktachBaseTestCase
class ImageTypeTestCase(unittest.TestCase): class ImageTypeTestCase(StacktachBaseTestCase):
# Abstractions # Abstractions
def _test_get_numeric_code(self, image, os_type, os_distro, expected, def _test_get_numeric_code(self, image, os_type, os_distro, expected,

View File

@ -18,11 +18,11 @@
# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS # FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
# IN THE SOFTWARE. # IN THE SOFTWARE.
import unittest
from stacktach.models import RawData, GlanceRawData, GenericRawData from stacktach.models import RawData, GlanceRawData, GenericRawData
from tests.unit import StacktachBaseTestCase
class ModelsTestCase(unittest.TestCase): class ModelsTestCase(StacktachBaseTestCase):
def test_get_name_for_rawdata(self): def test_get_name_for_rawdata(self):
self.assertEquals(RawData.get_name(), 'RawData') self.assertEquals(RawData.get_name(), 'RawData')

View File

@ -18,8 +18,6 @@
# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS # FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
# IN THE SOFTWARE. # IN THE SOFTWARE.
import unittest
import mox import mox
from stacktach import notification from stacktach import notification
@ -29,6 +27,7 @@ from stacktach.notification import Notification
from stacktach.notification import NovaNotification from stacktach.notification import NovaNotification
from stacktach.notification import GlanceNotification from stacktach.notification import GlanceNotification
from stacktach import db from stacktach import db
from tests.unit import StacktachBaseTestCase
from tests.unit.utils import REQUEST_ID_1 from tests.unit.utils import REQUEST_ID_1
from tests.unit.utils import DECIMAL_DUMMY_TIME from tests.unit.utils import DECIMAL_DUMMY_TIME
from tests.unit.utils import DUMMY_TIME from tests.unit.utils import DUMMY_TIME
@ -38,7 +37,7 @@ from tests.unit.utils import INSTANCE_ID_1
from tests.unit.utils import MESSAGE_ID_1 from tests.unit.utils import MESSAGE_ID_1
class NovaNotificationTestCase(unittest.TestCase): class NovaNotificationTestCase(StacktachBaseTestCase):
def setUp(self): def setUp(self):
self.mox = mox.Mox() self.mox = mox.Mox()
@ -150,7 +149,7 @@ class NovaNotificationTestCase(unittest.TestCase):
self.mox.VerifyAll() self.mox.VerifyAll()
class GlanceNotificationTestCase(unittest.TestCase): class GlanceNotificationTestCase(StacktachBaseTestCase):
def setUp(self): def setUp(self):
self.mox = mox.Mox() self.mox = mox.Mox()
@ -423,7 +422,7 @@ class GlanceNotificationTestCase(unittest.TestCase):
self.mox.VerifyAll() self.mox.VerifyAll()
class NotificationTestCase(unittest.TestCase): class NotificationTestCase(StacktachBaseTestCase):
def setUp(self): def setUp(self):
self.mox = mox.Mox() self.mox = mox.Mox()

View File

@ -19,7 +19,6 @@
# IN THE SOFTWARE. # IN THE SOFTWARE.
import datetime import datetime
import unittest
import mox import mox
import requests import requests
@ -30,6 +29,7 @@ from stacktach import utils as stackutils
from stacktach.reconciler import exceptions from stacktach.reconciler import exceptions
from stacktach.reconciler import nova from stacktach.reconciler import nova
from stacktach.reconciler import utils as rec_utils from stacktach.reconciler import utils as rec_utils
from tests.unit import StacktachBaseTestCase
from tests.unit import utils from tests.unit import utils
from tests.unit.utils import INSTANCE_ID_1 from tests.unit.utils import INSTANCE_ID_1
from tests.unit.utils import TENANT_ID_1 from tests.unit.utils import TENANT_ID_1
@ -45,7 +45,7 @@ DEFAULT_OS_VERSION = "1.1"
DEFAULT_RAX_OPTIONS = "rax_ops" DEFAULT_RAX_OPTIONS = "rax_ops"
class ReconcilerTestCase(unittest.TestCase): class ReconcilerTestCase(StacktachBaseTestCase):
def setUp(self): def setUp(self):
self.mox = mox.Mox() self.mox = mox.Mox()
self.client = self.mox.CreateMockAnything() self.client = self.mox.CreateMockAnything()
@ -415,7 +415,7 @@ json_bridge_config = {
} }
class NovaJSONBridgeClientTestCase(unittest.TestCase): class NovaJSONBridgeClientTestCase(StacktachBaseTestCase):
def setUp(self): def setUp(self):
self.mox = mox.Mox() self.mox = mox.Mox()
self.client = nova.JSONBridgeClient(json_bridge_config) self.client = nova.JSONBridgeClient(json_bridge_config)

View File

@ -20,7 +20,6 @@
import datetime import datetime
import json import json
import unittest
import mox import mox
@ -40,9 +39,10 @@ from utils import IMAGE_UUID_1
from stacktach import stacklog from stacktach import stacklog
from stacktach import notification from stacktach import notification
from stacktach import views from stacktach import views
from tests.unit import StacktachBaseTestCase
class StacktachRawParsingTestCase(unittest.TestCase): class StacktachRawParsingTestCase(StacktachBaseTestCase):
def setUp(self): def setUp(self):
self.mox = mox.Mox() self.mox = mox.Mox()
views.STACKDB = self.mox.CreateMockAnything() views.STACKDB = self.mox.CreateMockAnything()
@ -101,7 +101,7 @@ class StacktachRawParsingTestCase(unittest.TestCase):
self.mox.VerifyAll() self.mox.VerifyAll()
class StacktachLifecycleTestCase(unittest.TestCase): class StacktachLifecycleTestCase(StacktachBaseTestCase):
def setUp(self): def setUp(self):
self.mox = mox.Mox() self.mox = mox.Mox()
views.STACKDB = self.mox.CreateMockAnything() views.STACKDB = self.mox.CreateMockAnything()
@ -287,7 +287,7 @@ class StacktachLifecycleTestCase(unittest.TestCase):
self.mox.VerifyAll() self.mox.VerifyAll()
class StacktachUsageParsingTestCase(unittest.TestCase): class StacktachUsageParsingTestCase(StacktachBaseTestCase):
def setUp(self): def setUp(self):
self.mox = mox.Mox() self.mox = mox.Mox()
views.STACKDB = self.mox.CreateMockAnything() views.STACKDB = self.mox.CreateMockAnything()
@ -830,7 +830,7 @@ class StacktachUsageParsingTestCase(unittest.TestCase):
self.mox.VerifyAll() self.mox.VerifyAll()
class StacktachImageUsageParsingTestCase(unittest.TestCase): class StacktachImageUsageParsingTestCase(StacktachBaseTestCase):
def setUp(self): def setUp(self):
self.mox = mox.Mox() self.mox = mox.Mox()
views.STACKDB = self.mox.CreateMockAnything() views.STACKDB = self.mox.CreateMockAnything()

View File

@ -18,17 +18,15 @@
# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS # FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
# IN THE SOFTWARE. # IN THE SOFTWARE.
import datetime
import unittest
import mox import mox
from stacktach import db from stacktach import db
from stacktach import stacklog from stacktach import stacklog
from stacktach import models from stacktach import models
from tests.unit import StacktachBaseTestCase
class StacktachDBTestCase(unittest.TestCase): class StacktachDBTestCase(StacktachBaseTestCase):
def setUp(self): def setUp(self):
self.mox = mox.Mox() self.mox = mox.Mox()
self.log = self.mox.CreateMockAnything() self.log = self.mox.CreateMockAnything()

View File

@ -18,17 +18,16 @@
# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS # FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
# IN THE SOFTWARE. # IN THE SOFTWARE.
import unittest
import mox import mox
from stacktach import utils as stacktach_utils from stacktach import utils as stacktach_utils
from utils import INSTANCE_ID_1 from utils import INSTANCE_ID_1
from utils import MESSAGE_ID_1 from utils import MESSAGE_ID_1
from utils import REQUEST_ID_1 from utils import REQUEST_ID_1
from tests.unit import StacktachBaseTestCase
class StacktachUtilsTestCase(unittest.TestCase): class StacktachUtilsTestCase(StacktachBaseTestCase):
def setUp(self): def setUp(self):
self.mox = mox.Mox() self.mox = mox.Mox()

View File

@ -21,7 +21,6 @@
import datetime import datetime
import decimal import decimal
import json import json
import unittest
import mox import mox
@ -33,8 +32,10 @@ from utils import INSTANCE_ID_1
from utils import INSTANCE_ID_2 from utils import INSTANCE_ID_2
from utils import REQUEST_ID_1 from utils import REQUEST_ID_1
from tests.unit import StacktachBaseTestCase
class StackyServerTestCase(unittest.TestCase):
class StackyServerTestCase(StacktachBaseTestCase):
def setUp(self): def setUp(self):
self.mox = mox.Mox() self.mox = mox.Mox()
self.mox.StubOutWithMock(models, 'RawData', use_mock_anything=True) self.mox.StubOutWithMock(models, 'RawData', use_mock_anything=True)

View File

@ -22,7 +22,6 @@ import datetime
import decimal import decimal
import json import json
import time import time
import unittest
import uuid import uuid
@ -51,9 +50,10 @@ from verifier import AmbiguousResults
from verifier import FieldMismatch from verifier import FieldMismatch
from verifier import NotFound from verifier import NotFound
from verifier import VerificationException from verifier import VerificationException
from tests.unit import StacktachBaseTestCase
class VerifierTestCase(unittest.TestCase): class VerifierTestCase(StacktachBaseTestCase):
def setUp(self): def setUp(self):
self.mox = mox.Mox() self.mox = mox.Mox()
self.mox.StubOutWithMock(models, 'RawData', use_mock_anything=True) self.mox.StubOutWithMock(models, 'RawData', use_mock_anything=True)

View File

@ -19,7 +19,6 @@
# IN THE SOFTWARE. # IN THE SOFTWARE.
import json import json
import unittest
import kombu import kombu
import mox import mox
@ -27,9 +26,10 @@ import mox
from stacktach import db from stacktach import db
from stacktach import views from stacktach import views
import worker.worker as worker import worker.worker as worker
from tests.unit import StacktachBaseTestCase
class ConsumerTestCase(unittest.TestCase): class ConsumerTestCase(StacktachBaseTestCase):
def setUp(self): def setUp(self):
self.mox = mox.Mox() self.mox = mox.Mox()