On 2014年01月18日 02:07, Aline Manera wrote:
On 01/14/2014 01:47 PM, lvroyce0210(a)gmail.com wrote:
> From: Royce Lv <lvroyce(a)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(a)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):
> """