diff options
-rw-r--r-- | .gitignore | 3 | ||||
-rw-r--r-- | test-requirements.txt | 22 | ||||
-rw-r--r-- | tests/config.py | 24 | ||||
-rw-r--r-- | tests/logger.py | 2 | ||||
-rw-r--r-- | tests/main.py | 55 | ||||
-rw-r--r-- | tox.ini | 13 |
6 files changed, 118 insertions, 1 deletions
@@ -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 index 00000000..a2ce1d9b --- /dev/null +++ b/test-requirements.txt @@ -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 index 00000000..2a062c22 --- /dev/null +++ b/tests/config.py @@ -0,0 +1,24 @@ +##############################################################################
+# 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
+##############################################################################
+from oslo_config import cfg
+
+
+def list_opts():
+ return []
+
+
+def prepare_conf(conf=None):
+ if conf is None:
+ conf = cfg.ConfigOpts()
+
+ for group, options in list_opts():
+ conf.register_opts(list(options),
+ group=None if group == 'DEFAULT' else group)
+
+ return conf
diff --git a/tests/logger.py b/tests/logger.py index a4f33234..72043ab3 100644 --- a/tests/logger.py +++ b/tests/logger.py @@ -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 index 00000000..e36bb4f0 --- /dev/null +++ b/tests/main.py @@ -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 index 00000000..c859582e --- /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 |