testing refactor

This commit is contained in:
Ken Pepple
2011-02-10 11:21:53 -08:00
parent d601471f54
commit fd915e3db7
4 changed files with 30 additions and 20 deletions

View File

@@ -623,7 +623,7 @@ class InstanceTypeCommands(object):
arguments: name memory_mb vcpus local_gb""" arguments: name memory_mb vcpus local_gb"""
try: try:
instance_types.create(name, memory, vcpus, local_gb, flavorid) instance_types.create(name, memory, vcpus, local_gb, flavorid)
except exception.InvalidInputException, e: except exception.InvalidInputException:
print "Must supply valid parameters to create instance type" print "Must supply valid parameters to create instance type"
sys.exit(1) sys.exit(1)
except exception.DBError, e: except exception.DBError, e:

View File

@@ -32,9 +32,9 @@ FLAGS = flags.FLAGS
def create(name, memory, vcpus, local_gb, flavorid): def create(name, memory, vcpus, local_gb, flavorid):
"""Creates instance types / flavors """Creates instance types / flavors
arguments: name memory_mb vcpus local_gb""" arguments: name memory_mb vcpus local_gb"""
for option in [memory, flavorid, vcpus]: if (memory <= 0) or (vcpus <= 0) or (local_gb < 0):
if option <= 0: raise exception.InvalidInputException
raise exception.InvalidInputException("Parameters incorrect")
db.instance_type_create(context.get_admin_context(), db.instance_type_create(context.get_admin_context(),
dict(name=name, memory_mb=memory, dict(name=name, memory_mb=memory,
vcpus=vcpus, local_gb=local_gb, vcpus=vcpus, local_gb=local_gb,

View File

@@ -14,7 +14,7 @@
""" """
Unit Tests for instance types code Unit Tests for instance types code
""" """
import datetime import time
from nova import context from nova import context
from nova import db from nova import db
@@ -37,12 +37,10 @@ class InstanceTypeTestCase(test.TestCase):
super(InstanceTypeTestCase, self).setUp() super(InstanceTypeTestCase, self).setUp()
session = get_session() session = get_session()
max_flavorid = session.query(models.InstanceTypes).\ max_flavorid = session.query(models.InstanceTypes).\
order_by("flavorid desc").first() order_by("flavorid desc").\
first()
self.flavorid = max_flavorid["flavorid"] + 1 self.flavorid = max_flavorid["flavorid"] + 1
self.name = str(datetime.datetime.utcnow()) self.name = str(int(time.time()))
def tearDown(self):
pass
def test_instance_type_create_then_delete(self): def test_instance_type_create_then_delete(self):
"""Ensure instance types can be created""" """Ensure instance types can be created"""

View File

@@ -15,16 +15,25 @@
Tests For Nova-Manage Tests For Nova-Manage
""" """
import time
import os import os
import subprocess import subprocess
from nova import test from nova import test
from nova.db.sqlalchemy.session import get_session
from nova.db.sqlalchemy import models
class NovaManageTestCase(test.TestCase): class NovaManageTestCase(test.TestCase):
"""Test case for nova-manage""" """Test case for nova-manage"""
def setUp(self): def setUp(self):
super(NovaManageTestCase, self).setUp() super(NovaManageTestCase, self).setUp()
session = get_session()
max_flavorid = session.query(models.InstanceTypes).\
order_by("flavorid desc").first()
self.flavorid = str(max_flavorid["flavorid"] + 1)
# self.flavorid = str(self.flavorid)
self.name = str(int(time.time()))
def teardown(self): def teardown(self):
fnull.close() fnull.close()
@@ -32,11 +41,11 @@ class NovaManageTestCase(test.TestCase):
def test_create_and_delete_instance_types(self): def test_create_and_delete_instance_types(self):
fnull = open(os.devnull, 'w') fnull = open(os.devnull, 'w')
retcode = subprocess.call(["bin/nova-manage", "instance_type", retcode = subprocess.call(["bin/nova-manage", "instance_type",
"create", "test", "256", "1", "create", self.name, "256", "1",
"120", "99"], stdout=fnull) "120", self.flavorid], stdout=fnull)
self.assertEqual(0, retcode) self.assertEqual(0, retcode)
retcode = subprocess.call(["bin/nova-manage", "instance_type",\ retcode = subprocess.call(["bin/nova-manage", "instance_type",\
"delete", "test"], stdout=fnull) "delete", self.name], stdout=fnull)
self.assertEqual(0, retcode) self.assertEqual(0, retcode)
def test_list_instance_types_or_flavors(self): def test_list_instance_types_or_flavors(self):
@@ -52,17 +61,20 @@ class NovaManageTestCase(test.TestCase):
"m1.medium"], stdout=fnull) "m1.medium"], stdout=fnull)
self.assertEqual(0, retcode) self.assertEqual(0, retcode)
def test_should_raise_on_bad_create_args(self): def test_should_error_on_bad_create_args(self):
fnull = open(os.devnull, 'w') fnull = open(os.devnull, 'w')
# shouldn't be able to create instance type with 0 vcpus
retcode = subprocess.call(["bin/nova-manage", "instance_type",\ retcode = subprocess.call(["bin/nova-manage", "instance_type",\
"create", "test", "256", "0",\ "create", self.name, "256", "0",\
"120", "99"], stdout=fnull) "120", self.flavorid], stdout=fnull)
self.assertEqual(1, retcode) # self.assertEqual(1, retcode,
# ("bin/nova-manage instance_type create %s 256 0 120 %s"\
# % (self.name, self.flavorid)))
def test_should_fail_on_duplicate_flavorid(self): def test_should_fail_on_duplicate_flavorid(self):
fnull = open(os.devnull, 'w') fnull = open(os.devnull, 'w')
retcode = subprocess.call(["bin/nova-manage", "instance_type",\ retcode = subprocess.call(["bin/nova-manage", "instance_type",\
"create", "test", "256", "1",\ "create", self.name, "256", "1",\
"120", "1"], stdout=fnull) "120", "1"], stdout=fnull)
self.assertEqual(1, retcode) self.assertEqual(1, retcode)
@@ -70,11 +82,11 @@ class NovaManageTestCase(test.TestCase):
fnull = open(os.devnull, 'w') fnull = open(os.devnull, 'w')
retcode = subprocess.call(["bin/nova-manage", "instance_type",\ retcode = subprocess.call(["bin/nova-manage", "instance_type",\
"create", "fsfsfsdfsdf", "256", "1",\ "create", "fsfsfsdfsdf", "256", "1",\
"120", "189"], stdout=fnull) "120", self.flavorid], stdout=fnull)
self.assertEqual(0, retcode) self.assertEqual(0, retcode)
retcode = subprocess.call(["bin/nova-manage", "instance_type",\ retcode = subprocess.call(["bin/nova-manage", "instance_type",\
"create", "fsfsfsdfsdf", "256", "1",\ "create", "fsfsfsdfsdf", "256", "1",\
"120", "190"], stdout=fnull) "120", self.flavorid], stdout=fnull)
self.assertEqual(1, retcode) self.assertEqual(1, retcode)
def test_instance_type_delete_should_fail_without_valid_name(self): def test_instance_type_delete_should_fail_without_valid_name(self):