Browse Source

Migrate test base class to testtools.

This is stricter, but also provides plumbing for more advanced things
like fixtures and testscenarios.

Change-Id: I607b50390708ca3caa9799ef0b27007df5045a6c
changes/31/30531/1
Monty Taylor 8 years ago
parent
commit
77afc90b5d
  1. 2
      HACKING.rst
  2. 5
      heat/tests/test_api_cloudwatch.py
  3. 4
      heat/tests/test_cli.py
  4. 4
      heat/tests/test_dependencies.py
  5. 5
      heat/tests/test_event.py
  6. 8
      heat/tests/test_identifier.py
  7. 6
      heat/tests/test_parameters.py
  8. 4
      heat/tests/test_plugin_loader.py
  9. 9
      heat/tests/test_properties.py
  10. 5
      heat/tests/test_resource.py
  11. 4
      heat/tests/test_rpc_client.py
  12. 3
      heat/tests/test_security_group.py
  13. 4
      heat/tests/test_short_id.py
  14. 1
      test-requirements.txt

2
HACKING.rst

@ -86,9 +86,9 @@ Example::
import random
import StringIO
import time
import unittest
import eventlet
import testtools
import webob.exc
import heat.api.ec2

5
heat/tests/test_api_cloudwatch.py

@ -524,7 +524,4 @@ class WatchControllerTest(HeatTestCase):
cfgopts = DummyConfig()
self.controller = watches.WatchController(options=cfgopts)
self.controller.policy.policy_path = None
def tearDown(self):
self.m.VerifyAll()
super(WatchControllerTest, self).tearDown()
self.addCleanup(self.m.VerifyAll)

4
heat/tests/test_cli.py

@ -13,7 +13,7 @@
# under the License.
import unittest
import testtools
import heat
import os
import subprocess
@ -21,7 +21,7 @@ import subprocess
basepath = os.path.join(heat.__path__[0], os.path.pardir)
class CliTest(unittest.TestCase):
class CliTest(testtools.TestCase):
def test_heat_cfn(self):
self.bin_test_run('heat-cfn')

4
heat/tests/test_dependencies.py

@ -13,13 +13,13 @@
# under the License.
import unittest
import testtools
from heat.engine.dependencies import Dependencies
from heat.engine.dependencies import CircularDependencyException
class dependenciesTest(unittest.TestCase):
class dependenciesTest(testtools.TestCase):
def _dep_test(self, func, checkorder, deps):
nodes = set.union(*[set(e) for e in deps])

5
heat/tests/test_event.py

@ -61,10 +61,7 @@ class EventTest(HeatTestCase):
self.resource = self.stack['EventTestResource']
self.resource._store()
def tearDown(self):
db_api.stack_delete(self.ctx, self.stack.id)
super(EventTest, self).tearDown()
self.addCleanup(db_api.stack_delete, self.ctx, self.stack.id)
def test_load(self):
self.resource.resource_id_set('resource_physical_id')

8
heat/tests/test_identifier.py

@ -13,12 +13,12 @@
# under the License.
import unittest
import testtools
from heat.common import identifier
class IdentifierTest(unittest.TestCase):
class IdentifierTest(testtools.TestCase):
url_prefix = 'http://1.2.3.4/foo/'
def test_attrs(self):
@ -354,7 +354,7 @@ class IdentifierTest(unittest.TestCase):
self.assertEqual(hi._path_components(), ['p1', 'p2', 'p3'])
class ResourceIdentifierTest(unittest.TestCase):
class ResourceIdentifierTest(testtools.TestCase):
def test_resource_init_no_path(self):
si = identifier.HeatIdentifier('t', 's', 'i')
ri = identifier.ResourceIdentifier(resource_name='r', **si)
@ -385,7 +385,7 @@ class ResourceIdentifierTest(unittest.TestCase):
't', 's', 'i', 'p', 'r/r')
class EventIdentifierTest(unittest.TestCase):
class EventIdentifierTest(testtools.TestCase):
def test_event_init(self):
si = identifier.HeatIdentifier('t', 's', 'i')
pi = identifier.ResourceIdentifier(resource_name='p', **si)

6
heat/tests/test_parameters.py

@ -13,13 +13,13 @@
# under the License.
import unittest
import testtools
import json
from heat.engine import parameters
class ParameterTest(unittest.TestCase):
class ParameterTest(testtools.TestCase):
def test_new_string(self):
p = parameters.Parameter('p', {'Type': 'String'})
self.assertTrue(isinstance(p, parameters.StringParam))
@ -268,7 +268,7 @@ params_schema = json.loads('''{
}''')
class ParametersTest(unittest.TestCase):
class ParametersTest(testtools.TestCase):
def test_pseudo_params(self):
params = parameters.Parameters('test_stack', {"Parameters": {}})

4
heat/tests/test_plugin_loader.py

@ -15,13 +15,13 @@
import pkgutil
import sys
import unittest
import testtools
import heat.engine
from heat.common import plugin_loader
class PluginLoaderTest(unittest.TestCase):
class PluginLoaderTest(testtools.TestCase):
def test_module_name(self):
self.assertEqual(plugin_loader._module_name('foo.bar', 'blarg.wibble'),
'foo.bar.blarg.wibble')

9
heat/tests/test_properties.py

@ -13,13 +13,13 @@
# under the License.
import unittest
import testtools
from heat.engine import properties
from heat.common import exception
class PropertyTest(unittest.TestCase):
class PropertyTest(testtools.TestCase):
def test_required_default(self):
p = properties.Property({'Type': 'String'})
self.assertFalse(p.required())
@ -256,8 +256,9 @@ class PropertyTest(unittest.TestCase):
self.assertRaises(TypeError, p.validate_data, [42, 'fish'])
class PropertiesTest(unittest.TestCase):
class PropertiesTest(testtools.TestCase):
def setUp(self):
super(PropertiesTest, self).setUp()
schema = {
'int': {'Type': 'Integer'},
'string': {'Type': 'String'},
@ -301,7 +302,7 @@ class PropertiesTest(unittest.TestCase):
self.assertEqual(self.props.get('foo', 'wibble'), 'wibble')
class PropertiesValidationTest(unittest.TestCase):
class PropertiesValidationTest(testtools.TestCase):
def test_required(self):
schema = {'foo': {'Type': 'String', 'Required': True}}
props = properties.Properties(schema, {'foo': 'bar'})

5
heat/tests/test_resource.py

@ -376,10 +376,7 @@ class MetadataTest(HeatTestCase):
self.res = generic_rsrc.GenericResource('metadata_resource',
tmpl, self.stack)
scheduler.TaskRunner(self.res.create)()
def tearDown(self):
self.stack.delete()
super(HeatTestCase, self).tearDown()
self.addCleanup(self.stack.delete)
def test_read_initial(self):
self.assertEqual(self.res.metadata, {'Test': 'Initial metadata'})

4
heat/tests/test_rpc_client.py

@ -21,7 +21,7 @@ Unit Tests for heat.rpc.client
from oslo.config import cfg
import stubout
import unittest
import testtools
from heat.common import config
from heat.common import context
@ -31,7 +31,7 @@ from heat.rpc import client as rpc_client
from heat.openstack.common import rpc
class EngineRpcAPITestCase(unittest.TestCase):
class EngineRpcAPITestCase(testtools.TestCase):
def setUp(self):
config.register_engine_opts()

3
heat/tests/test_security_group.py

@ -101,9 +101,6 @@ Resources:
quantumclient.Client, 'delete_security_group_rule')
self.m.StubOutWithMock(quantumclient.Client, 'delete_security_group')
def tearDown(self):
super(SecurityGroupTest, self).tearDown()
def create_stack(self, template):
t = template_format.parse(template)
self.stack = self.parse_stack(t)

4
heat/tests/test_short_id.py

@ -13,13 +13,13 @@
# under the License.
import unittest
import testtools
from heat.common import short_id
import uuid
class ShortIdTest(unittest.TestCase):
class ShortIdTest(testtools.TestCase):
def test_byte_string_8(self):
self.assertEqual(short_id._to_byte_string(0xab, 8), '\xab')

1
test-requirements.txt

@ -10,6 +10,7 @@ hacking>=0.5.3,<0.6
coverage
discover
mox==0.5.3
testtools>=0.9.29
testrepository>=0.0.13
paramiko
python-glanceclient

Loading…
Cancel
Save