From e3f9edb5064e280056addd6fc47535d3ee1a2435 Mon Sep 17 00:00:00 2001 From: dongwenjuan Date: Thu, 13 Apr 2017 09:09:41 +0800 Subject: add framework and tox JIRA: DOCTOR-93 Change-Id: Ife3255c4fe2d170c5d1b8354aaab24d5b1e3bc64 Signed-off-by: dongwenjuan --- tests/config.py | 24 ++++++++++++++++++++++++ tests/logger.py | 2 +- tests/main.py | 55 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 80 insertions(+), 1 deletion(-) create mode 100644 tests/config.py create mode 100644 tests/main.py (limited to 'tests') 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()) -- cgit