aboutsummaryrefslogtreecommitdiffstats
path: root/tests/unit
diff options
context:
space:
mode:
authorchenjiankun <chenjiankun1@huawei.com>2016-11-28 01:51:47 +0000
committerchenjiankun <chenjiankun1@huawei.com>2016-11-30 03:05:23 +0000
commitc383ae3fa6ccb865575eacf78209fdd3ac7efa69 (patch)
treebe26b8357aa7a8c6af162dfe3beb61503efbda36 /tests/unit
parent893294646833bed300586ee36040d4fde3c20842 (diff)
Create API and command to create a influxDB container
JIRA: YARDSTICK-425 This API is used to create a influxDB Container Add command line to create a influxDB Container, too Change-Id: If9c2d04b779924d492a5d5ea91f7968fa959570e Signed-off-by: chenjiankun <chenjiankun1@huawei.com>
Diffstat (limited to 'tests/unit')
-rw-r--r--tests/unit/api/actions/test_env.py50
-rw-r--r--tests/unit/api/test_views.py12
-rw-r--r--tests/unit/cmd/commands/test_env.py29
-rw-r--r--tests/unit/common/test_httpClient.py33
4 files changed, 124 insertions, 0 deletions
diff --git a/tests/unit/api/actions/test_env.py b/tests/unit/api/actions/test_env.py
new file mode 100644
index 000000000..e674d73d2
--- /dev/null
+++ b/tests/unit/api/actions/test_env.py
@@ -0,0 +1,50 @@
+##############################################################################
+# Copyright (c) 2016 Huawei Technologies Co.,Ltd and others.
+#
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Apache License, Version 2.0
+# which accompanies this distribution, and is available at
+# http://www.apache.org/licenses/LICENSE-2.0
+##############################################################################
+import unittest
+import mock
+
+from api.actions import env
+
+
+class CreateInfluxDBContainerTestCase(unittest.TestCase):
+
+ @mock.patch('api.actions.env._create_influxdb_container')
+ def test_create_influxdb_container(self, mock_create_container):
+ env.createInfluxDBContainer({})
+ mock_create_container.assert_called_with()
+
+
+class CreateInfluxdbContainerTestCase(unittest.TestCase):
+
+ @mock.patch('api.actions.env.Client')
+ def test_create_influxdb_container(self, mock_influx_client):
+ env._create_influxdb_container()
+ self.assertFalse(mock_influx_client()._create_container.called)
+
+
+class ConfigInfluxdbTestCase(unittest.TestCase):
+
+ @mock.patch('api.actions.env.influx.get_data_db_client')
+ def test_config_influxdb(self, mock_influx_client):
+ env._config_influxdb()
+ mock_influx_client.assert_called_with()
+
+
+class ConfigOutputFile(unittest.TestCase):
+
+ def test_config_output_file(self):
+ pass
+
+
+def main():
+ unittest.main()
+
+
+if __name__ == '__main__':
+ main()
diff --git a/tests/unit/api/test_views.py b/tests/unit/api/test_views.py
index e57ec08a4..b83556713 100644
--- a/tests/unit/api/test_views.py
+++ b/tests/unit/api/test_views.py
@@ -12,6 +12,7 @@ import json
from api.views import Test
from api.views import Result
+from api.views import Env
class TestTestCase(unittest.TestCase):
@@ -37,6 +38,17 @@ class ResultTestCase(unittest.TestCase):
self.assertEqual('error', result['status'])
+class EnvTestCase(unittest.TestCase):
+
+ @mock.patch('api.views.request')
+ def test_post(self, mock_request):
+ mock_request.json.get.side_effect = ['hello', {}]
+
+ result = json.loads(Env().post())
+
+ self.assertEqual('error', result['status'])
+
+
def main():
unittest.main()
diff --git a/tests/unit/cmd/commands/test_env.py b/tests/unit/cmd/commands/test_env.py
new file mode 100644
index 000000000..af1ab8030
--- /dev/null
+++ b/tests/unit/cmd/commands/test_env.py
@@ -0,0 +1,29 @@
+##############################################################################
+# Copyright (c) 2016 Huawei Technologies Co.,Ltd and others.
+#
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Apache License, Version 2.0
+# which accompanies this distribution, and is available at
+# http://www.apache.org/licenses/LICENSE-2.0
+##############################################################################
+import unittest
+import mock
+
+from yardstick.cmd.commands.env import EnvCommand
+
+
+class EnvCommandTestCase(unittest.TestCase):
+
+ @mock.patch('yardstick.cmd.commands.env.HttpClient')
+ def test_do_influxdb(self, mock_http_client):
+ env = EnvCommand()
+ env.do_influxdb({})
+ self.assertTrue(mock_http_client().post.called)
+
+
+def main():
+ unittest.main()
+
+
+if __name__ == '__main__':
+ main()
diff --git a/tests/unit/common/test_httpClient.py b/tests/unit/common/test_httpClient.py
new file mode 100644
index 000000000..b39dc2332
--- /dev/null
+++ b/tests/unit/common/test_httpClient.py
@@ -0,0 +1,33 @@
+##############################################################################
+# Copyright (c) 2016 Huawei Technologies Co.,Ltd and others.
+#
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Apache License, Version 2.0
+# which accompanies this distribution, and is available at
+# http://www.apache.org/licenses/LICENSE-2.0
+##############################################################################
+import unittest
+import mock
+import json
+
+from yardstick.common import httpClient
+
+
+class HttpClientTestCase(unittest.TestCase):
+
+ @mock.patch('yardstick.common.httpClient.requests')
+ def test_post(self, mock_requests):
+ url = 'http://localhost:5000/hello'
+ data = {'hello': 'world'}
+ headers = {'Content-Type': 'application/json'}
+ httpClient.HttpClient().post(url, data)
+ mock_requests.post.assert_called_with(url, data=json.dumps(data),
+ headers=headers)
+
+
+def main():
+ unittest.main()
+
+
+if __name__ == '__main__':
+ main()