allow authentication to be disabled 17/46017/2
authorSerenaFeng <feng.xiaowei@zte.com.cn>
Fri, 20 Oct 2017 08:13:29 +0000 (16:13 +0800)
committerSerenaFeng <feng.xiaowei@zte.com.cn>
Fri, 20 Oct 2017 08:33:11 +0000 (16:33 +0800)
in local deployment situation, authentication can be disabled by
setting authenticate=False of ui section in config.ini

JIRA: RELENG-324

Change-Id: I9157d1723851feb12435033dbdd59035e3eb5777
Signed-off-by: SerenaFeng <feng.xiaowei@zte.com.cn>
utils/test/testapi/etc/config.ini
utils/test/testapi/opnfv_testapi/cmd/server.py
utils/test/testapi/opnfv_testapi/common/check.py
utils/test/testapi/opnfv_testapi/tests/unit/common/test_config.py
utils/test/testapi/opnfv_testapi/ui/auth/user.py

index 8d0bde2..86cb0ca 100644 (file)
@@ -16,7 +16,8 @@ results_per_page = 20
 
 # With debug_on set to true, error traces will be shown in HTTP responses
 debug = True
-authenticate = False
+token_check = False
+authenticate = True
 
 [ui]
 url = http://localhost:8000
index b7d3caa..011a6cd 100644 (file)
@@ -42,7 +42,7 @@ def make_app():
     return swagger.Application(
         url_mappings.mappings,
         debug=CONF.api_debug,
-        auth=CONF.api_authenticate,
+        auth=CONF.api_token_check,
         cookie_secret='opnfv-testapi',
     )
 
index e80b1c6..fd30c9b 100644 (file)
@@ -14,13 +14,14 @@ from tornado import gen
 from opnfv_testapi.common import constants
 from opnfv_testapi.common import message
 from opnfv_testapi.common import raises
+from opnfv_testapi.common.config import CONF
 from opnfv_testapi.db import api as dbapi
 
 
 def is_authorized(method):
     @functools.wraps(method)
     def wrapper(self, *args, **kwargs):
-        if self.table in ['pods']:
+        if CONF.api_authenticate and self.table in ['pods']:
             testapi_id = self.get_secure_cookie(constants.TESTAPI_ID)
             if not testapi_id:
                 raises.Unauthorized(message.not_login())
index ea22972..6d160ce 100644 (file)
@@ -12,7 +12,8 @@ def test_config_normal(mocker, config_normal):
     assert CONF.mongo_dbname == 'test_results_collection'
     assert CONF.api_port == 8000
     assert CONF.api_debug is True
-    assert CONF.api_authenticate is False
+    assert CONF.api_token_check is False
+    assert CONF.api_authenticate is True
     assert CONF.ui_url == 'http://localhost:8000'
 
 
index ab86007..ff2c2a9 100644 (file)
@@ -1,5 +1,6 @@
 from opnfv_testapi.common import constants
 from opnfv_testapi.common import raises
+from opnfv_testapi.common.config import CONF
 from opnfv_testapi.resources import handlers
 from opnfv_testapi.resources import models
 
@@ -19,8 +20,14 @@ class UserHandler(handlers.GenericApiHandler):
         self.table_cls = User
 
     def get(self):
-        username = self.get_secure_cookie(constants.TESTAPI_ID)
-        if username:
-            self._get_one(query={'user': username})
+        if CONF.api_authenticate:
+            username = self.get_secure_cookie(constants.TESTAPI_ID)
+            if username:
+                self._get_one(query={'user': username})
+            else:
+                raises.Unauthorized('Unauthorized')
         else:
-            raises.Unauthorized('Unauthorized')
+            self.finish_request(User('anonymous',
+                                     'anonymous@linuxfoundation.com',
+                                     'anonymous lf',
+                                     constants.TESTAPI_USERS).format())