[Kimchi-devel] [PATCH v2][Wok 7/8] Fix test utils imports and add auth tests

Aline Manera alinefm at linux.vnet.ibm.com
Wed Jun 8 19:11:56 UTC 2016



On 06/06/2016 04:13 PM, Rodrigo Trujillo wrote:
> This patch add auth test to GET and POST requests in API of Plugins
> Manager. It also fixes imports in tests/utils.py
>
> Signed-off-by: Rodrigo Trujillo <rodrigo.trujillo at linux.vnet.ibm.com>
> ---
>   tests/test_plugin.py |  5 +++--
>   tests/test_server.py | 10 +++++++++-
>   tests/utils.py       |  7 ++++---
>   3 files changed, 16 insertions(+), 6 deletions(-)
>
> diff --git a/tests/test_plugin.py b/tests/test_plugin.py
> index 7c5e8e8..d785cfa 100644
> --- a/tests/test_plugin.py
> +++ b/tests/test_plugin.py
> @@ -23,7 +23,8 @@ import json
>   import unittest
>   from functools import partial
>
> -from wok.utils import get_enabled_plugins
> +#from wok.pluginsmanager import get_enabled_plugins
> +from wok.pluginsmanager import Plugins
>
>   import utils
>
> @@ -50,7 +51,7 @@ def tearDownModule():
>
>
>   @unittest.skipUnless(
> -    'sample' in [plugin for plugin, _config in get_enabled_plugins()],
> +    'sample' in Plugins().get_enabled_plugins(),
>       'sample plugin is not enabled, skip this test!')
>   class PluginTests(unittest.TestCase):
>
> diff --git a/tests/test_server.py b/tests/test_server.py
> index 1f5a236..6e4749e 100644
> --- a/tests/test_server.py
> +++ b/tests/test_server.py
> @@ -188,12 +188,20 @@ class ServerTests(unittest.TestCase):
>
>       def test_auth_protected(self):
>           hdrs = {'AUTHORIZATION': ''}
> -        uris = ['/tasks']
> +        uris = ['/tasks',
> +                '/pluginsmanager',
> +                '/pluginsmanager/sample']
>
>           for uri in uris:
>               resp = self.request(uri, None, 'GET', hdrs)
>               self.assertEquals(401, resp.status)
>
> +        uris = ['/pluginsmanager/sample/disable']
> +
> +        for uri in uris:
> +            resp = self.request(uri, {}, 'POST', hdrs)
> +            self.assertEquals(401, resp.status)
> +
>       def test_auth_bad_creds(self):
>           # Test HTTPBA
>           hdrs = {'AUTHORIZATION': "Basic " + base64.b64encode("nouser:badpass")}
> diff --git a/tests/utils.py b/tests/utils.py
> index d158ba1..ed709e1 100644
> --- a/tests/utils.py
> +++ b/tests/utils.py
> @@ -38,8 +38,9 @@ from lxml import etree
>
>   import wok.server
>   from wok.config import config, PluginPaths

> -from wok.auth import User, USER_NAME, USER_GROUPS, USER_ROLES, tabs

Keep importing 'tabs' to do not parse the file multiple times.

> +from wok.auth import User, USER_NAME, USER_GROUPS, USER_ROLES
>   from wok.exception import NotFoundError, OperationFailed
> +from wok.pluginsmanager import get_all_tabs
>   from wok.utils import wok_log
>
>
> @@ -192,14 +193,14 @@ class FakeUser(User):
>           self.user = {}
>           self.user[USER_NAME] = username
>           self.user[USER_GROUPS] = None
> -        self.user[USER_ROLES] = dict.fromkeys(tabs, 'user')
> +        self.user[USER_ROLES] = dict.fromkeys(get_all_tabs(), 'user')
>
>       def get_groups(self):
>           return sorted([group.gr_name for group in grp.getgrall()])[0:3]
>
>       def get_roles(self):
>           if self.sudo:
> -            self.user[USER_ROLES] = dict.fromkeys(tabs, 'admin')
> +            self.user[USER_ROLES] = dict.fromkeys(get_all_tabs(), 'admin')
>           return self.user[USER_ROLES]
>
>       def get_user(self):




More information about the Kimchi-devel mailing list