[Kimchi-devel] [PATCHv7 2/8] Add testcase for GET param

Royce Lv lvroyce at linux.vnet.ibm.com
Mon Jan 20 03:08:26 UTC 2014


On 2014年01月18日 02:07, Aline Manera wrote:
> On 01/14/2014 01:47 PM, lvroyce0210 at gmail.com wrote:
>> From: Royce Lv <lvroyce at linux.vnet.ibm.com>
>>
>> Add a testcase to test GET param passing to demo how GET param work
>> with current model implementation.
>>
>> Signed-off-by: Royce Lv <lvroyce at linux.vnet.ibm.com>
>> ---
>> tests/test_rest.py | 34 ++++++++++++++++++++++++++++++++++
>> 1 file changed, 34 insertions(+)
>>
>> diff --git a/tests/test_rest.py b/tests/test_rest.py
>> index 8732781..4d161d9 100644
>> --- a/tests/test_rest.py
>> +++ b/tests/test_rest.py
>> @@ -1132,6 +1132,40 @@ class RestTests(unittest.TestCase):
>> self.assertIn('net_recv_rate', stats)
>> self.assertIn('net_sent_rate', stats)
>>
>> + def test_get_param(self):
>
>> + def hack_model(func):
>> + def _get_param_func(*args, **kwargs):
>> + res = func()
>> + return res
>> + return _get_param_func
>> +
>> + global model
>> + old_handler = model.vms_get_list
>> + model.vms_get_list = hack_model(model.vms_get_list)
>
> Why is it needed?
>
> GET /vms?name=test-vm1 will run vms_get_list() which will return all 
> vm names
>
> then filter_data() will return only the element with name 'test-vm1'
This wrapper is for I pass filter param to get_list(). I will change it 
in next version and dump this wrapper.
>
>> +
>> + req = json.dumps({'name': 'test', 'cdrom': '/nonexistent.iso'})
>> + self.request('/templates', req, 'POST')
>> +
>> + # Create a VM
>> + req = json.dumps({'name': 'test-vm1', 'template': '/templates/test'})
>> + resp = self.request('/vms', req, 'POST')
>> + self.assertEquals(201, resp.status)
>> + req = json.dumps({'name': 'test-vm2', 'template': '/templates/test'})
>> + resp = self.request('/vms', req, 'POST')
>> + self.assertEquals(201, resp.status)
>> +
>> + resp = request(host, port, '/vms')
>> + self.assertEquals(200, resp.status)
>> + res = json.loads(resp.read())
>> + self.assertEquals(2, len(res))
>> +
>> + resp = request(host, port, '/vms?name=test-vm1')
>> + self.assertEquals(200, resp.status)
>> + res = json.loads(resp.read())
>> + self.assertEquals(1, len(res))
>> + self.assertEquals('test-vm1', res[0]['name'])
>> +
>> + model.vms_get_list = old_handler
>>
>> class HttpsRestTests(RestTests):
>> """
>




More information about the Kimchi-devel mailing list