1 # Licensed to the Apache Software Foundation (ASF) under one or more
2 # contributor license agreements. See the NOTICE file distributed with
3 # this work for additional information regarding copyright ownership.
4 # The ASF licenses this file to You under the Apache License, Version 2.0
5 # (the "License"); you may not use this file except in compliance with
6 # the License. You may obtain a copy of the License at
8 # http://www.apache.org/licenses/LICENSE-2.0
10 # Unless required by applicable law or agreed to in writing, software
11 # distributed under the License is distributed on an "AS IS" BASIS,
12 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 # See the License for the specific language governing permissions and
14 # limitations under the License.
18 from mock import MagicMock
20 from ..mock import models as mock_models
23 def setup_logger(logger_name,
26 remove_existing_handlers=True,
30 :param logger_name: Name of the logger.
31 :param level: Level for the logger (not for specific handler).
32 :param handlers: An optional list of handlers (formatter will be
33 overridden); If None, only a StreamHandler for
34 sys.stdout will be used.
35 :param remove_existing_handlers: Determines whether to remove existing
36 handlers before adding new ones
37 :param logger_format: the format this logger will have.
38 :param propagate: propagate the message the parent logger.
39 :return: A logger instance.
40 :rtype: logging.Logger
43 logger = logging.getLogger(logger_name)
45 if remove_existing_handlers:
46 for handler in logger.handlers:
47 logger.removeHandler(handler)
49 for handler in handlers:
51 formatter = logging.Formatter(fmt=logger_format)
52 handler.setFormatter(formatter)
53 logger.addHandler(handler)
55 logger.setLevel(level)
57 logger.propagate = False
62 class MockStorage(object):
65 self.service_template = MockServiceTemplateStorage()
66 self.service = MockServiceStorage()
67 self.node_template = MockNodeTemplateStorage()
68 self.node = MockNodeStorage()
71 class MockServiceTemplateStorage(object):
74 self.list = MagicMock(return_value=[mock_models.create_service_template()])
75 self.get_by_name = MagicMock(return_value=mock_models.create_service_template())
78 class MockServiceStorage(object):
82 self.s = mock_models.create_service_with_dependencies()
84 self.list = MagicMock(return_value=[self.s])
85 self.create = MagicMock(return_value=self.s)
87 return_value=mock_models.create_service_with_dependencies(include_node=True))
88 self.get_by_name = MagicMock(return_value=self.s)
89 self.delete = MagicMock()
92 class MockNodeTemplateStorage(object):
94 self.get = MagicMock(return_value=mock_models.create_node_template_with_dependencies())
95 self.list = MagicMock(return_value=[mock_models.create_node_template_with_dependencies()])
98 class MockNodeStorage(object):
100 self.get = MagicMock(return_value=mock_models.create_node_with_dependencies())
101 self.list = MagicMock(return_value=[mock_models.create_node_with_dependencies()])