refactor config process in testapiclient 27/53227/1
authorSerenaFeng <feng.xiaowei@zte.com.cn>
Wed, 7 Mar 2018 11:23:30 +0000 (19:23 +0800)
committerSerenaFeng <feng.xiaowei@zte.com.cn>
Wed, 7 Mar 2018 11:23:30 +0000 (19:23 +0800)
substitue config file with env variable

Change-Id: Ie8243a7dd429708998bde9d612c9a4552a76c14f
Signed-off-by: SerenaFeng <feng.xiaowei@zte.com.cn>
testapi/testapi-client/etc/client.creds [new file with mode: 0644]
testapi/testapi-client/etc/config.ini [deleted file]
testapi/testapi-client/setup.cfg
testapi/testapi-client/testapiclient/config.py [deleted file]
testapi/testapi-client/testapiclient/http_client.py
testapi/testapi-client/testapiclient/identity.py
testapi/testapi-client/testapiclient/main.py
testapi/testapi-client/testapiclient/pods.py
testapi/testapi-client/testapiclient/projects.py

diff --git a/testapi/testapi-client/etc/client.creds b/testapi/testapi-client/etc/client.creds
new file mode 100644 (file)
index 0000000..a082047
--- /dev/null
@@ -0,0 +1,3 @@
+export testapi_url=http://localhost:8000/api/v1
+export testapi_cas_signin_return=/auth/signin_return
+export testapi_cas_auth_url=https://identity.linuxfoundation.org/user/login?destination=cas/login%3Fservice%3D
\ No newline at end of file
diff --git a/testapi/testapi-client/etc/config.ini b/testapi/testapi-client/etc/config.ini
deleted file mode 100644 (file)
index dde4bdd..0000000
+++ /dev/null
@@ -1,6 +0,0 @@
-[api]
-url = http://localhost:8000/api/v1
-
-[cas]
-signin_return = /auth/signin_return
-auth_url = https://identity.linuxfoundation.org/user/login?destination=cas/login%3Fservice%3D
\ No newline at end of file
index 8174720..672c9ae 100644 (file)
@@ -9,9 +9,6 @@ setup-hooks =
 packages =
     testapiclient
 
-data_files =
-    /etc/testapiclient = etc/config.ini
-
 [entry_points]
 console_scripts =
     testapi = testapiclient.main:main
diff --git a/testapi/testapi-client/testapiclient/config.py b/testapi/testapi-client/testapiclient/config.py
deleted file mode 100644 (file)
index 7bc165f..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
-import ConfigParser
-import io
-
-
-class Config:
-    # Load the configuration file
-    config = ''
-
-    @staticmethod
-    def parse_conf():
-        with open("/etc/testapiclient/config.ini") as f:
-            sample_config = f.read()
-        Config.config = ConfigParser.RawConfigParser(allow_no_value=True)
-        Config.config.readfp(io.BytesIO(sample_config))
index e086f9b..59b4f8e 100644 (file)
@@ -70,5 +70,5 @@ def put(url, data):
     return http_request('put', url, data)
 
 
-def delete(url, data):
+def delete(url, data=None):
     return http_request('delete', url, data)
index 5456697..9101090 100644 (file)
@@ -1,18 +1,17 @@
 import functools
+import os
 import urllib
 
 import requests
-
-from testapiclient import config
 from testapiclient import user
 
 
 def _authenticate(username, password):
     session = requests.Session()
     hostname = '{}{}{}'.format(
-        config.Config.config.get("cas", "auth_url"),
-        urllib.quote(config.Config.config.get("api", "url")),
-        config.Config.config.get("cas", "signin_return"))
+        os.environ.get('testapi_cas_auth_url'),
+        urllib.quote(os.environ.get('testapi_url')),
+        os.environ.get('testapi_cas_signin_return'))
     data = {'name': username, 'pass': password, 'form_id': 'user_login'}
     response = session.post(hostname, data)
     user.User.session = session
index 0298e99..6c6cf56 100644 (file)
@@ -4,7 +4,6 @@ from cliff.app import App
 from cliff.commandmanager import CommandManager
 import requests
 
-from testapiclient import config
 from testapiclient import user
 
 
@@ -18,8 +17,6 @@ class TestAPIClient(App):
             deferred_help=True,
             )
         user.User.session = requests.Session()
-        # Configure development or Production mode
-        config.Config.parse_conf()
 
     def initialize_app(self, argv):
         self.LOG.debug('initialize_app')
index 47e2b59..0e58324 100644 (file)
@@ -1,11 +1,11 @@
 import json
+import os
 
 from testapiclient import command
-from testapiclient import config
 from testapiclient import http_client
 from testapiclient import identity
 
-PODS_URL = config.Config.config.get("api", "url") + "/pods"
+PODS_URL = os.environ.get('testapi_url') + "/pods"
 
 
 class PodGet(command.Lister):
index be40341..0e52b09 100644 (file)
@@ -1,11 +1,11 @@
 import json
+import os
 
 from testapiclient import command
-from testapiclient import config
 from testapiclient import http_client
 from testapiclient import identity
 
-PROJECTS_URL = config.Config.config.get("api", "url") + "/projects"
+PROJECTS_URL = os.environ.get('testapi_url') + "/projects"
 
 
 class ProjectGet(command.Lister):