~sandy-walsh/nova/zones3

« back to all changes in this revision

Viewing changes to nova/tests/api/openstack/test_flavors.py

  • Committer: Sandy Walsh
  • Date: 2011-03-23 19:31:49 UTC
  • mfrom: (635.1.218 nova)
  • Revision ID: sandy.walsh@rackspace.com-20110323193149-ru7x3l3mabrssaup
trunk merge

Show diffs side-by-side

added added

removed removed

Lines of Context:
22
22
from nova import test
23
23
import nova.api
24
24
from nova import context
 
25
from nova.api.openstack import flavors
25
26
from nova import db
26
 
from nova.api.openstack import flavors
27
27
from nova.tests.api.openstack import fakes
28
28
 
29
29
 
 
30
def stub_flavor(flavorid, name, memory_mb="256", local_gb="10"):
 
31
    return {
 
32
        "flavorid": str(flavorid),
 
33
        "name": name,
 
34
        "memory_mb": memory_mb,
 
35
        "local_gb": local_gb,
 
36
    }
 
37
 
 
38
 
 
39
def return_instance_type_by_flavor_id(context, flavorid):
 
40
    return stub_flavor(flavorid, "flavor %s" % (flavorid,))
 
41
 
 
42
 
 
43
def return_instance_types(context, num=2):
 
44
    instance_types = {}
 
45
    for i in xrange(1, num + 1):
 
46
        name = "flavor %s" % (i,)
 
47
        instance_types[name] = stub_flavor(i, name)
 
48
    return instance_types
 
49
 
 
50
 
30
51
class FlavorsTest(test.TestCase):
31
52
    def setUp(self):
32
53
        super(FlavorsTest, self).setUp()
36
57
        fakes.stub_out_networking(self.stubs)
37
58
        fakes.stub_out_rate_limiting(self.stubs)
38
59
        fakes.stub_out_auth(self.stubs)
 
60
        self.stubs.Set(nova.db.api, "instance_type_get_all",
 
61
                       return_instance_types)
 
62
        self.stubs.Set(nova.db.api, "instance_type_get_by_flavor_id",
 
63
                       return_instance_type_by_flavor_id)
39
64
        self.context = context.get_admin_context()
40
65
 
41
66
    def tearDown(self):
46
71
        req = webob.Request.blank('/v1.0/flavors')
47
72
        res = req.get_response(fakes.wsgi_app())
48
73
        self.assertEqual(res.status_int, 200)
 
74
        flavors = json.loads(res.body)["flavors"]
 
75
        expected = [
 
76
            {
 
77
                "id": "1",
 
78
                "name": "flavor 1",
 
79
            },
 
80
            {
 
81
                "id": "2",
 
82
                "name": "flavor 2",
 
83
            },
 
84
        ]
 
85
        self.assertEqual(flavors, expected)
 
86
 
 
87
    def test_get_flavor_list_detail(self):
 
88
        req = webob.Request.blank('/v1.0/flavors/detail')
 
89
        res = req.get_response(fakes.wsgi_app())
 
90
        self.assertEqual(res.status_int, 200)
 
91
        flavors = json.loads(res.body)["flavors"]
 
92
        expected = [
 
93
            {
 
94
                "id": "1",
 
95
                "name": "flavor 1",
 
96
                "ram": "256",
 
97
                "disk": "10",
 
98
            },
 
99
            {
 
100
                "id": "2",
 
101
                "name": "flavor 2",
 
102
                "ram": "256",
 
103
                "disk": "10",
 
104
            },
 
105
        ]
 
106
        self.assertEqual(flavors, expected)
49
107
 
50
108
    def test_get_flavor_by_id(self):
51
 
        req = webob.Request.blank('/v1.0/flavors/1')
 
109
        req = webob.Request.blank('/v1.0/flavors/12')
52
110
        res = req.get_response(fakes.wsgi_app())
53
111
        self.assertEqual(res.status_int, 200)
54
 
        body = json.loads(res.body)
55
 
        self.assertEqual(body['flavor']['id'], 1)
 
112
        flavor = json.loads(res.body)["flavor"]
 
113
        expected = {
 
114
            "id": "12",
 
115
            "name": "flavor 12",
 
116
            "ram": "256",
 
117
            "disk": "10",
 
118
        }
 
119
        self.assertEqual(flavor, expected)