diff rhodecode/tests/api/api_base.py @ 3165:e1baadec6217 beta

fixes issue #702 API methods without arguments fail when "args":null
author Marcin Kuzminski <marcin@python-works.com>
date Wed, 16 Jan 2013 00:20:45 +0100
parents 28571535dd61
children cbc63abe7d59
line wrap: on
line diff
--- a/rhodecode/tests/api/api_base.py	Tue Jan 15 11:39:31 2013 +0800
+++ b/rhodecode/tests/api/api_base.py	Wed Jan 16 00:20:45 2013 +0100
@@ -155,6 +155,34 @@
         expected = 'Missing non optional `repoid` arg in JSON DATA'
         self._compare_error(id_, expected, given=response.body)
 
+    def test_api_missing_non_optional_param_args_null(self):
+        id_, params = _build_data(self.apikey, 'get_repo')
+        params = params.replace('"args": {}', '"args": null')
+        response = api_call(self, params)
+
+        expected = 'Missing non optional `repoid` arg in JSON DATA'
+        self._compare_error(id_, expected, given=response.body)
+
+    def test_api_missing_non_optional_param_args_bad(self):
+        id_, params = _build_data(self.apikey, 'get_repo')
+        params = params.replace('"args": {}', '"args": 1')
+        response = api_call(self, params)
+
+        expected = 'Missing non optional `repoid` arg in JSON DATA'
+        self._compare_error(id_, expected, given=response.body)
+
+    def test_api_args_is_null(self):
+        id_, params = _build_data(self.apikey, 'get_users',)
+        params = params.replace('"args": {}', '"args": null')
+        response = api_call(self, params)
+        self.assertEqual(response.status, '200 OK')
+
+    def test_api_args_is_bad(self):
+        id_, params = _build_data(self.apikey, 'get_users',)
+        params = params.replace('"args": {}', '"args": 1')
+        response = api_call(self, params)
+        self.assertEqual(response.status, '200 OK')
+
     def test_api_get_users(self):
         id_, params = _build_data(self.apikey, 'get_users',)
         response = api_call(self, params)