Refactoring nova.tests.api.openstack.test_flavors

Change-Id: I668e7b7fb379a99edee8a8f5ca948a32c0ba9896
This commit is contained in:
Brian Waldon
2011-10-17 14:49:28 -04:00
parent 821fae95d6
commit d04007efd2
2 changed files with 26 additions and 44 deletions

View File

@@ -69,7 +69,7 @@ class Controller(object):
ctxt = req.environ['nova.context'] ctxt = req.environ['nova.context']
flavor = db.api.instance_type_get_by_flavor_id(ctxt, id) flavor = db.api.instance_type_get_by_flavor_id(ctxt, id)
except exception.NotFound: except exception.NotFound:
return webob.exc.HTTPNotFound() raise webob.exc.HTTPNotFound()
builder = self._get_view_builder(req) builder = self._get_view_builder(req)
values = builder.build(flavor, is_detail=True) values = builder.build(flavor, is_detail=True)

View File

@@ -85,6 +85,8 @@ class FlavorsTest(test.TestCase):
self.stubs.Set(nova.db.api, "instance_type_get_by_flavor_id", self.stubs.Set(nova.db.api, "instance_type_get_by_flavor_id",
fake_instance_type_get_by_flavor_id) fake_instance_type_get_by_flavor_id)
self.controller = flavors.Controller()
def tearDown(self): def tearDown(self):
self.stubs.UnsetAll() self.stubs.UnsetAll()
super(FlavorsTest, self).tearDown() super(FlavorsTest, self).tearDown()
@@ -92,15 +94,13 @@ class FlavorsTest(test.TestCase):
def test_get_flavor_by_invalid_id(self): def test_get_flavor_by_invalid_id(self):
self.stubs.Set(nova.db.api, "instance_type_get_by_flavor_id", self.stubs.Set(nova.db.api, "instance_type_get_by_flavor_id",
return_instance_type_not_found) return_instance_type_not_found)
req = webob.Request.blank('/v1.1/fake/flavors/asdf') req = fakes.HTTPRequest.blank('/v1.1/fake/flavors/asdf')
res = req.get_response(fakes.wsgi_app()) self.assertRaises(webob.exc.HTTPNotFound,
self.assertEqual(res.status_int, 404) self.controller.show, req, 'asdf')
def test_get_flavor_by_id(self): def test_get_flavor_by_id(self):
req = webob.Request.blank('/v1.1/fake/flavors/1') req = fakes.HTTPRequest.blank('/v1.1/fake/flavors/1')
res = req.get_response(fakes.wsgi_app()) flavor = self.controller.show(req, '1')
self.assertEqual(res.status_int, 200)
flavor = json.loads(res.body)
expected = { expected = {
"flavor": { "flavor": {
"id": "1", "id": "1",
@@ -126,10 +126,8 @@ class FlavorsTest(test.TestCase):
self.assertEqual(flavor, expected) self.assertEqual(flavor, expected)
def test_get_flavor_list(self): def test_get_flavor_list(self):
req = webob.Request.blank('/v1.1/fake/flavors') req = fakes.HTTPRequest.blank('/v1.1/fake/flavors')
res = req.get_response(fakes.wsgi_app()) flavor = self.controller.index(req)
self.assertEqual(res.status_int, 200)
flavor = json.loads(res.body)
expected = { expected = {
"flavors": [ "flavors": [
{ {
@@ -165,10 +163,8 @@ class FlavorsTest(test.TestCase):
self.assertEqual(flavor, expected) self.assertEqual(flavor, expected)
def test_get_flavor_list_detail(self): def test_get_flavor_list_detail(self):
req = webob.Request.blank('/v1.1/fake/flavors/detail') req = fakes.HTTPRequest.blank('/v1.1/fake/flavors/detail')
res = req.get_response(fakes.wsgi_app()) flavor = self.controller.detail(req)
self.assertEqual(res.status_int, 200)
flavor = json.loads(res.body)
expected = { expected = {
"flavors": [ "flavors": [
{ {
@@ -219,19 +215,15 @@ class FlavorsTest(test.TestCase):
self.stubs.Set(nova.db.api, "instance_type_get_all", self.stubs.Set(nova.db.api, "instance_type_get_all",
empty_instance_type_get_all) empty_instance_type_get_all)
req = webob.Request.blank('/v1.1/fake/flavors') req = fakes.HTTPRequest.blank('/v1.1/fake/flavors')
res = req.get_response(fakes.wsgi_app()) flavors = self.controller.index(req)
self.assertEqual(res.status_int, 200) expected = {'flavors': []}
flavors = json.loads(res.body)["flavors"]
expected = []
self.assertEqual(flavors, expected) self.assertEqual(flavors, expected)
def test_get_flavor_list_filter_min_ram(self): def test_get_flavor_list_filter_min_ram(self):
"""Flavor lists may be filtered by minRam""" """Flavor lists may be filtered by minRam"""
req = webob.Request.blank('/v1.1/fake/flavors?minRam=512') req = fakes.HTTPRequest.blank('/v1.1/fake/flavors?minRam=512')
res = req.get_response(fakes.wsgi_app()) flavor = self.controller.index(req)
self.assertEqual(res.status_int, 200)
flavor = json.loads(res.body)
expected = { expected = {
"flavors": [ "flavors": [
{ {
@@ -254,10 +246,8 @@ class FlavorsTest(test.TestCase):
def test_get_flavor_list_filter_min_disk(self): def test_get_flavor_list_filter_min_disk(self):
"""Flavor lists may be filtered by minRam""" """Flavor lists may be filtered by minRam"""
req = webob.Request.blank('/v1.1/fake/flavors?minDisk=20') req = fakes.HTTPRequest.blank('/v1.1/fake/flavors?minDisk=20')
res = req.get_response(fakes.wsgi_app()) flavor = self.controller.index(req)
self.assertEqual(res.status_int, 200)
flavor = json.loads(res.body)
expected = { expected = {
"flavors": [ "flavors": [
{ {
@@ -282,11 +272,9 @@ class FlavorsTest(test.TestCase):
"""Tests that filtering work on flavor details and that minRam and """Tests that filtering work on flavor details and that minRam and
minDisk filters can be combined minDisk filters can be combined
""" """
req = webob.Request.blank( req = fakes.HTTPRequest.blank('/v1.1/fake/flavors/detail'
'/v1.1/fake/flavors/detail?minRam=256&minDisk=20') '?minRam=256&minDisk=20')
res = req.get_response(fakes.wsgi_app()) flavor = self.controller.detail(req)
self.assertEqual(res.status_int, 200)
flavor = json.loads(res.body)
expected = { expected = {
"flavors": [ "flavors": [
{ {
@@ -315,11 +303,8 @@ class FlavorsTest(test.TestCase):
def test_get_flavor_list_detail_bogus_min_ram(self): def test_get_flavor_list_detail_bogus_min_ram(self):
"""Tests that bogus minRam filtering values are ignored""" """Tests that bogus minRam filtering values are ignored"""
req = webob.Request.blank( req = fakes.HTTPRequest.blank('/v1.1/fake/flavors/detail?minRam=16GB')
'/v1.1/fake/flavors/detail?minRam=16GB') flavor = self.controller.detail(req)
res = req.get_response(fakes.wsgi_app())
self.assertEqual(res.status_int, 200)
flavor = json.loads(res.body)
expected = { expected = {
"flavors": [ "flavors": [
{ {
@@ -368,11 +353,8 @@ class FlavorsTest(test.TestCase):
def test_get_flavor_list_detail_bogus_min_disk(self): def test_get_flavor_list_detail_bogus_min_disk(self):
"""Tests that bogus minDisk filtering values are ignored""" """Tests that bogus minDisk filtering values are ignored"""
req = webob.Request.blank( req = fakes.HTTPRequest.blank('/v1.1/fake/flavors/detail?minDisk=16GB')
'/v1.1/fake/flavors/detail?minDisk=16GB') flavor = self.controller.detail(req)
res = req.get_response(fakes.wsgi_app())
self.assertEqual(res.status_int, 200)
flavor = json.loads(res.body)
expected = { expected = {
"flavors": [ "flavors": [
{ {