Skip to content

Commit 1614736

Browse files
committed
Added tests for Flavor updating.
1 parent c618af9 commit 1614736

2 files changed

Lines changed: 47 additions & 0 deletions

File tree

api/models.py

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -206,6 +206,11 @@ class Flavor(UuidAuditedModel):
206206
'us-west-2': 'ami-ea1e82da',
207207
}
208208

209+
def save(self, *args, **kwargs):
210+
print args, kwargs
211+
print self.params
212+
return super(Flavor, self).save(*args, **kwargs)
213+
209214
class Meta:
210215
unique_together = (('owner', 'id'),)
211216

api/tests/flavor.py

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -69,3 +69,45 @@ def test_flavor_contents(self):
6969
self.assertEqual(params['zone'], 'any')
7070
self.assertEqual(params['size'], 'm1.medium')
7171
self.assertTrue(params['image'])
72+
73+
def test_flavor_update(self):
74+
"""Tests that flavors can be updated by the client."""
75+
url = '/api/flavors'
76+
params = {
77+
'region': 'us-west-2',
78+
'size': 't1.micro',
79+
}
80+
body = {'id': 'autotest', 'provider': 'autotest', 'params': json.dumps(params)}
81+
response = self.client.post(url, json.dumps(body), content_type='application/json')
82+
self.assertEqual(response.status_code, 201)
83+
flavor_id = response.data['id']
84+
response = self.client.get('/api/flavors')
85+
self.assertEqual(response.status_code, 200)
86+
self.assertEqual(len(response.data['results']), 1)
87+
url = "/api/flavors/{flavor_id}".format(**locals())
88+
response = self.client.get(url)
89+
self.assertEqual(response.status_code, 200)
90+
params = json.loads(response.data['params'])
91+
self.assertEqual(params['region'], 'us-west-2')
92+
self.assertEqual(params['zone'], 'any')
93+
self.assertEqual(params['size'], 't1.micro')
94+
self.assertTrue(params['image'])
95+
params = {
96+
'size': 'c1.xlarge',
97+
'image': 'ami-c98d1bf9',
98+
}
99+
body = {'id': flavor_id, 'params': json.dumps(params)}
100+
response = self.client.patch(url, json.dumps(body), content_type='application/json')
101+
self.assertEqual(response.status_code, 200)
102+
flavor_id = response.data['id']
103+
response = self.client.get('/api/flavors')
104+
self.assertEqual(response.status_code, 200)
105+
self.assertEqual(len(response.data['results']), 1)
106+
url = "/api/flavors/{flavor_id}".format(**locals())
107+
response = self.client.get(url)
108+
self.assertEqual(response.status_code, 200)
109+
params = json.loads(response.data['params'])
110+
self.assertEqual(params['region'], 'us-west-2')
111+
self.assertEqual(params['zone'], 'any')
112+
self.assertEqual(params['size'], 'c1.xlarge')
113+
self.assertEqual(params['image'], 'ami-c98d1bf9')

0 commit comments

Comments
 (0)