Reviewed-by: Daniel Barboza <danielhb(a)linux.vnet.ibm.com>
On 04/25/2017 04:06 PM, Aline Manera wrote:
It may be useful when UI differs depending on system arch.
It is part of solution to remove Ginger Base dependency from Kimchi.
Signed-off-by: Aline Manera <alinefm(a)linux.vnet.ibm.com>
---
docs/API/config.md | 2 ++
src/wok/model/config.py | 4 ++++
tests/test_api.py | 2 +-
tests/test_config_model.py | 2 +-
tests/test_server_root.py | 6 +++---
5 files changed, 11 insertions(+), 5 deletions(-)
diff --git a/docs/API/config.md b/docs/API/config.md
index d1d1007..b810f2a 100644
--- a/docs/API/config.md
+++ b/docs/API/config.md
@@ -12,6 +12,8 @@ Contains information about the application environment and
configuration.
* proxy_port: SSL port to list on
* websockets_port: Port for websocket proxy to listen on
* auth: Authentication method used to log in to Wok
+ * server_root: Wok root API path
+ * arch: System architecture
* version: Wok version
* **POST**: *See Task Actions*
diff --git a/src/wok/model/config.py b/src/wok/model/config.py
index b69f2dd..54aaf54 100644
--- a/src/wok/model/config.py
+++ b/src/wok/model/config.py
@@ -18,12 +18,15 @@
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
import cherrypy
+import platform
import time
from wok.config import config, get_version
from wok.model.notifications import add_notification
from wok.utils import wok_log
+ARCH = platform.machine()
+
class ConfigModel(object):
def __init__(self, **kargs):
@@ -34,6 +37,7 @@ class ConfigModel(object):
'websockets_port': config.get('server',
'websockets_port'),
'auth': config.get('authentication',
'method'),
'server_root': config.get('server',
'server_root'),
+ 'arch': ARCH,
'version': get_version()}
def reload(self, name):
diff --git a/tests/test_api.py b/tests/test_api.py
index 6fbee75..4e2e413 100644
--- a/tests/test_api.py
+++ b/tests/test_api.py
@@ -52,7 +52,7 @@ class APITests(unittest.TestCase):
def test_config(self):
resp = self.request('/config').read()
conf = json.loads(resp)
- keys = ["auth", "proxy_port", "websockets_port",
"version",
+ keys = ["arch", "auth", "proxy_port",
"websockets_port", "version",
"server_root"]
self.assertEquals(sorted(keys), sorted(conf.keys()))
diff --git a/tests/test_config_model.py b/tests/test_config_model.py
index f8b0848..df2b058 100644
--- a/tests/test_config_model.py
+++ b/tests/test_config_model.py
@@ -30,7 +30,7 @@ class ConfigModelTests(unittest.TestCase):
config = inst.config_lookup('')
self.assertItemsEqual(
['proxy_port', 'websockets_port', 'auth',
- 'server_root', 'version'],
+ 'server_root', 'arch', 'version'],
config.keys()
)
diff --git a/tests/test_server_root.py b/tests/test_server_root.py
index e95a13b..89f34d3 100644
--- a/tests/test_server_root.py
+++ b/tests/test_server_root.py
@@ -1,7 +1,7 @@
#
# Project Wok
#
-# Copyright IBM Corp, 2016
+# Copyright IBM Corp, 2016-2017
#
# This library is free software; you can redistribute it and/or
# modify it under the terms of the GNU Lesser General Public
@@ -49,7 +49,7 @@ class ServerRootTests(unittest.TestCase):
# check if server_root in config is the same used to start server
resp = request(server_root + '/config').read()
conf = json.loads(resp)
- self.assertEquals(len(conf), 5)
+ self.assertEquals(len(conf), 6)
def test_development_env(self):
"""
@@ -61,4 +61,4 @@ class ServerRootTests(unittest.TestCase):
# check if server_root in config is the same used to start server
resp = request(server_root + '/config').read()
conf = json.loads(resp)
- self.assertEquals(len(conf), 5)
+ self.assertEquals(len(conf), 6)