From 8d66710a9b919fd7c42944ced79b1e25bc6c5482 Mon Sep 17 00:00:00 2001 From: SerenaFeng Date: Wed, 7 Mar 2018 19:23:30 +0800 Subject: refactor config process in testapiclient substitue config file with env variable Change-Id: Ie8243a7dd429708998bde9d612c9a4552a76c14f Signed-off-by: SerenaFeng --- testapi/testapi-client/etc/client.creds | 3 +++ testapi/testapi-client/etc/config.ini | 6 ------ testapi/testapi-client/setup.cfg | 3 --- testapi/testapi-client/testapiclient/config.py | 14 -------------- testapi/testapi-client/testapiclient/http_client.py | 2 +- testapi/testapi-client/testapiclient/identity.py | 9 ++++----- testapi/testapi-client/testapiclient/main.py | 3 --- testapi/testapi-client/testapiclient/pods.py | 4 ++-- testapi/testapi-client/testapiclient/projects.py | 4 ++-- 9 files changed, 12 insertions(+), 36 deletions(-) create mode 100644 testapi/testapi-client/etc/client.creds delete mode 100644 testapi/testapi-client/etc/config.ini delete mode 100644 testapi/testapi-client/testapiclient/config.py (limited to 'testapi') diff --git a/testapi/testapi-client/etc/client.creds b/testapi/testapi-client/etc/client.creds new file mode 100644 index 0000000..a082047 --- /dev/null +++ b/testapi/testapi-client/etc/client.creds @@ -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 index dde4bdd..0000000 --- a/testapi/testapi-client/etc/config.ini +++ /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 diff --git a/testapi/testapi-client/setup.cfg b/testapi/testapi-client/setup.cfg index 8174720..672c9ae 100644 --- a/testapi/testapi-client/setup.cfg +++ b/testapi/testapi-client/setup.cfg @@ -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 index 7bc165f..0000000 --- a/testapi/testapi-client/testapiclient/config.py +++ /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)) diff --git a/testapi/testapi-client/testapiclient/http_client.py b/testapi/testapi-client/testapiclient/http_client.py index e086f9b..59b4f8e 100644 --- a/testapi/testapi-client/testapiclient/http_client.py +++ b/testapi/testapi-client/testapiclient/http_client.py @@ -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) diff --git a/testapi/testapi-client/testapiclient/identity.py b/testapi/testapi-client/testapiclient/identity.py index 5456697..9101090 100644 --- a/testapi/testapi-client/testapiclient/identity.py +++ b/testapi/testapi-client/testapiclient/identity.py @@ -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 diff --git a/testapi/testapi-client/testapiclient/main.py b/testapi/testapi-client/testapiclient/main.py index 0298e99..6c6cf56 100644 --- a/testapi/testapi-client/testapiclient/main.py +++ b/testapi/testapi-client/testapiclient/main.py @@ -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') diff --git a/testapi/testapi-client/testapiclient/pods.py b/testapi/testapi-client/testapiclient/pods.py index 47e2b59..0e58324 100644 --- a/testapi/testapi-client/testapiclient/pods.py +++ b/testapi/testapi-client/testapiclient/pods.py @@ -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): diff --git a/testapi/testapi-client/testapiclient/projects.py b/testapi/testapi-client/testapiclient/projects.py index be40341..0e52b09 100644 --- a/testapi/testapi-client/testapiclient/projects.py +++ b/testapi/testapi-client/testapiclient/projects.py @@ -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): -- cgit 1.2.3-korg