added tests to ensure the easy api works as a backend for Compute API

This commit is contained in:
Andy Smith
2010-12-22 17:53:42 -08:00
parent 614526b7d3
commit 89df9c1e9d
3 changed files with 26 additions and 4 deletions

View File

@@ -22,6 +22,7 @@ import logging
from M2Crypto import BIO
from M2Crypto import RSA
import os
import shutil
import tempfile
import time
@@ -293,6 +294,7 @@ class CloudTestCase(test.TestCase):
self.assertEqual('Foo Img', img.metadata['description'])
self._fake_set_image_description(self.context, 'ami-testing', '')
self.assertEqual('', img.metadata['description'])
shutil.rmtree(pathdir)
def test_update_of_instance_display_fields(self):
inst = db.instance_create(self.context, {})

View File

@@ -75,7 +75,7 @@ class ComputeTestCase(test.TestCase):
ref = self.compute_api.create_instances(self.context,
FLAGS.default_instance_type, None, **instance)
try:
self.assertNotEqual(ref[0].display_name, None)
self.assertNotEqual(ref[0]['display_name'], None)
finally:
db.instance_destroy(self.context, ref[0]['id'])
@@ -87,9 +87,12 @@ class ComputeTestCase(test.TestCase):
'project_id': self.project.id}
group = db.security_group_create(self.context, values)
ref = self.compute_api.create_instances(self.context,
FLAGS.default_instance_type, None, security_group=['default'])
instance_type=FLAGS.default_instance_type,
image_id=None,
security_group=['default'])
try:
self.assertEqual(len(ref[0]['security_groups']), 1)
self.assertEqual(len(db.security_group_get_by_instance(
self.context, ref[0]['id'])), 1)
finally:
db.security_group_destroy(self.context, group['id'])
db.instance_destroy(self.context, ref[0]['id'])

View File

@@ -28,7 +28,8 @@ from nova import exception
from nova import test
from nova import utils
from nova.api import easy
from nova.compute import api as compute_api
from nova.tests import cloud_unittest
class FakeService(object):
def echo(self, context, data):
@@ -83,3 +84,19 @@ class EasyTestCase(test.TestCase):
proxy = easy.Proxy(self.router)
rv = proxy.fake.echo(self.context, data='baz')
self.assertEqual(rv['data'], 'baz')
class EasyCloudTestCase(cloud_unittest.CloudTestCase):
def setUp(self):
super(EasyCloudTestCase, self).setUp()
compute_handle = compute_api.ComputeAPI(self.cloud.network_manager,
self.cloud.image_service)
easy.register_service('compute', compute_handle)
self.router = easy.JsonParamsMiddleware(easy.SundayMorning())
proxy = easy.Proxy(self.router)
self.cloud.compute_api = proxy.compute
def tearDown(self):
super(EasyCloudTestCase, self).tearDown()
easy.EASY_ROUTES = {}