add framework and tox 81/33381/8
authordongwenjuan <dong.wenjuan@zte.com.cn>
Thu, 13 Apr 2017 01:09:41 +0000 (09:09 +0800)
committerdongwenjuan <dong.wenjuan@zte.com.cn>
Wed, 26 Apr 2017 01:57:43 +0000 (09:57 +0800)
JIRA: DOCTOR-93

Change-Id: Ife3255c4fe2d170c5d1b8354aaab24d5b1e3bc64
Signed-off-by: dongwenjuan <dong.wenjuan@zte.com.cn>
.gitignore
test-requirements.txt [new file with mode: 0644]
tests/config.py [new file with mode: 0644]
tests/logger.py
tests/main.py [new file with mode: 0644]
tox.ini [new file with mode: 0644]

index d2ded27..65b51a6 100644 (file)
@@ -5,3 +5,6 @@
 /docs_output/
 /releng/
 /tests/*.img
+
+#Build results
+.tox
diff --git a/test-requirements.txt b/test-requirements.txt
new file mode 100644 (file)
index 0000000..a2ce1d9
--- /dev/null
@@ -0,0 +1,22 @@
+Flask==0.10.1
+paramiko==1.16.0
+scp==0.10.2
+requests>=2.8.0
+oslo.config==3.22.0 # Apache-2.0
+python-openstackclient==2.3.0
+python-ceilometerclient==2.6.2
+python-heatclient==1.7.0
+python-keystoneclient==3.5.0
+python-neutronclient==6.0.0
+python-novaclient==6.0.0
+python-congressclient==1.5.0
+virtualenv==15.1.0
+coverage>=4.0 # Apache-2.0
+oslotest>=1.10.0 # Apache-2.0
+python-subunit>=0.0.18 # Apache-2.0/BSD
+testtools>=1.4.0 # MIT
+oslotest>=1.10.0 # Apache-2.0
+testrepository>=0.0.18 # Apache-2.0/BSD
+testresources>=0.2.4 # Apache-2.0/BSD
+testscenarios>=0.4 # Apache-2.0/BSD
+oslosphinx>=4.7.0 # Apache-2.0
\ No newline at end of file
diff --git a/tests/config.py b/tests/config.py
new file mode 100644 (file)
index 0000000..2a062c2
--- /dev/null
@@ -0,0 +1,24 @@
+##############################################################################\r
+# Copyright (c) 2017 ZTE Corporation and others.\r
+#\r
+# All rights reserved. This program and the accompanying materials\r
+# are made available under the terms of the Apache License, Version 2.0\r
+# which accompanies this distribution, and is available at\r
+# http://www.apache.org/licenses/LICENSE-2.0\r
+##############################################################################\r
+from oslo_config import cfg\r
+\r
+\r
+def list_opts():\r
+    return []\r
+\r
+\r
+def prepare_conf(conf=None):\r
+    if conf is None:\r
+        conf = cfg.ConfigOpts()\r
+\r
+    for group, options in list_opts():\r
+        conf.register_opts(list(options),\r
+                           group=None if group == 'DEFAULT' else group)\r
+\r
+    return conf\r
index a4f3323..72043ab 100644 (file)
@@ -16,7 +16,7 @@ import logging
 import os
 
 
-class Logger:
+class Logger(object):
     def __init__(self, logger_name):
 
         CI_DEBUG = os.getenv('CI_DEBUG')
diff --git a/tests/main.py b/tests/main.py
new file mode 100644 (file)
index 0000000..e36bb4f
--- /dev/null
@@ -0,0 +1,55 @@
+##############################################################################
+# Copyright (c) 2017 ZTE Corporation 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 sys
+
+import config
+import logger as doctor_log
+
+
+LOG = doctor_log.Logger(__name__).getLogger()
+
+
+class DoctorTest(object):
+
+    def __init__(self, conf):
+        self.conf = conf
+
+    def run(self):
+        """run doctor test"""
+        try:
+            LOG.info('doctor test starting.......')
+            # prepare the cloud env
+
+            # preparing VM image...
+
+            # creating test user...
+
+            # creating VM...
+
+            # creating alarm...
+
+            # starting doctor sample components...
+
+            # injecting host failure...
+
+            # verify the test results
+        except Exception as e:
+            LOG.error('doctor test failed: %s ', e)
+
+
+def main():
+    """doctor main"""
+    conf = config.prepare_conf()
+
+    doctor = DoctorTest(conf)
+    doctor.run()
+
+
+if __name__ == '__main__':
+    sys.exit(main())
diff --git a/tox.ini b/tox.ini
new file mode 100644 (file)
index 0000000..c859582
--- /dev/null
+++ b/tox.ini
@@ -0,0 +1,13 @@
+[tox]
+minversion = 2.3.1
+envlist = verify
+skipsdist = True
+
+[testenv]
+install_command = pip install -U {opts} {packages}
+setenv = VIRTUAL_ENV={envdir}
+deps = -r{toxinidir}/test-requirements.txt
+
+[testenv:verify]
+changedir = {toxinidir}/tests
+commands = python main.py