summaryrefslogtreecommitdiffstats
path: root/tests/consumer
diff options
context:
space:
mode:
authorRyota MIBU <r-mibu@cq.jp.nec.com>2017-09-11 13:45:47 +0000
committerdongwenjuan <dong.wenjuan@zte.com.cn>2017-09-13 09:14:16 +0800
commit44d1e135eced7afe13b8772a610ae5cdae310b68 (patch)
treed75782b7b9fe95f245654dd98662e3fa6d47dbb2 /tests/consumer
parent5ffd957a87858e026011e4bbde9b493c62c11b8e (diff)
fix package path and move files under doctor_tests
Change-Id: Ibde6a36c43064e5fbea1a0b7a9b49349c343e42f Signed-off-by: Ryota MIBU <r-mibu@cq.jp.nec.com>
Diffstat (limited to 'tests/consumer')
-rw-r--r--tests/consumer/__init__.py37
-rw-r--r--tests/consumer/base.py26
-rw-r--r--tests/consumer/sample.py71
3 files changed, 0 insertions, 134 deletions
diff --git a/tests/consumer/__init__.py b/tests/consumer/__init__.py
deleted file mode 100644
index ccec8644..00000000
--- a/tests/consumer/__init__.py
+++ /dev/null
@@ -1,37 +0,0 @@
-##############################################################################
-# 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
-from oslo_utils import importutils
-
-
-OPTS = [
- cfg.StrOpt('type',
- default='sample',
- choices=['sample'],
- help='the component of doctor consumer',
- required=True),
- cfg.StrOpt('ip',
- default='127.0.0.1',
- help='the ip of consumer',
- required=True),
- cfg.IntOpt('port',
- default='12346',
- help='the port of doctor consumer',
- required=True),
-]
-
-
-_consumer_name_class_mapping = {
- 'sample': 'consumer.sample.SampleConsumer'
-}
-
-
-def get_consumer(conf, log):
- consumer_class = _consumer_name_class_mapping.get(conf.consumer.type)
- return importutils.import_object(consumer_class, conf, log) \ No newline at end of file
diff --git a/tests/consumer/base.py b/tests/consumer/base.py
deleted file mode 100644
index 35170748..00000000
--- a/tests/consumer/base.py
+++ /dev/null
@@ -1,26 +0,0 @@
-##############################################################################
-# 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 abc
-import six
-
-
-@six.add_metaclass(abc.ABCMeta)
-class BaseConsumer(object):
-
- def __init__(self, conf, log):
- self.conf = conf
- self.log = log
-
- @abc.abstractmethod
- def start(self):
- pass
-
- @abc.abstractmethod
- def stop(self):
- pass \ No newline at end of file
diff --git a/tests/consumer/sample.py b/tests/consumer/sample.py
deleted file mode 100644
index 20ad9d57..00000000
--- a/tests/consumer/sample.py
+++ /dev/null
@@ -1,71 +0,0 @@
-##############################################################################
-# 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 flask import Flask
-from flask import request
-import json
-import time
-from threading import Thread
-import requests
-
-from consumer.base import BaseConsumer
-
-
-class SampleConsumer(BaseConsumer):
-
- def __init__(self, conf, log):
- super(SampleConsumer, self).__init__(conf, log)
- self.app = None
-
- def start(self):
- self.log.info('sample consumer start......')
- self.app = ConsumerApp(self.conf.consumer.port, self, self.log)
- self.app.start()
-
- def stop(self):
- self.log.info('sample consumer stop......')
- if not self.app:
- return
- headers = {
- 'Content-Type': 'application/json',
- 'Accept': 'application/json',
- }
- url = 'http://%s:%d/shutdown'\
- % (self.conf.consumer.ip,
- self.conf.consumer.port)
- requests.post(url, data='', headers=headers)
-
-
-class ConsumerApp(Thread):
-
- def __init__(self, port, consumer, log):
- Thread.__init__(self)
- self.port = port
- self.consumer = consumer
- self.log = log
-
- def run(self):
- app = Flask('consumer')
-
- @app.route('/failure', methods=['POST'])
- def event_posted():
- self.log.info('doctor consumer notified at %s' % time.time())
- self.log.info('sample consumer received data = %s' % request.data)
- data = json.loads(request.data.decode('utf8'))
- return 'OK'
-
- @app.route('/shutdown', methods=['POST'])
- def shutdown():
- self.log.info('shutdown consumer app server at %s' % time.time())
- func = request.environ.get('werkzeug.server.shutdown')
- if func is None:
- raise RuntimeError('Not running with the Werkzeug Server')
- func()
- return 'consumer app shutting down...'
-
- app.run(host="0.0.0.0", port=self.port) \ No newline at end of file