Exemplo n.º 1
0
 def test_init_no_notifications(self, driver, serializer_mock):
     self.override_config('driver',
                          driver,
                          group='oslo_messaging_notifications')
     rpc.init(test.CONF)
     self.assertEqual(rpc.utils.DO_NOTHING, rpc.NOTIFIER)
     serializer_mock.assert_not_called()
Exemplo n.º 2
0
    def __init__(self, name, loader=None, coordination=False):
        """Initialize, but do not start the WSGI server.

        :param name: The name of the WSGI server given to the loader.
        :param loader: Loads the WSGI application using the given name.
        :returns: None

        """
        self.name = name
        self.manager = self._get_manager()
        self.loader = loader or wsgi.Loader(CONF)
        if not rpc.initialized():
            rpc.init(CONF)
        self.app = self.loader.load_app(name)
        self.host = getattr(CONF, '%s_listen' % name, "0.0.0.0")
        self.port = getattr(CONF, '%s_listen_port' % name, 0)
        self.workers = getattr(CONF, '%s_workers' % name, None)
        self.use_ssl = getattr(CONF, '%s_use_ssl' % name, False)
        if self.workers is not None and self.workers < 1:
            LOG.warning(
                "Value of config option %(name)s_workers must be integer "
                "greater than 1.  Input value ignored.", {'name': name})
            # Reset workers to default
            self.workers = None
        self.server = wsgi.Server(
            CONF,
            name,
            self.app,
            host=self.host,
            port=self.port,
            use_ssl=self.use_ssl
        )
        self.coordinator = coordination
Exemplo n.º 3
0
 def __init__(self,
              host,
              binary,
              topic,
              manager,
              periodic_enable=None,
              periodic_interval=None,
              periodic_fuzzy_delay=None,
              service_name=None,
              coordination=False,
              *args,
              **kwargs):
     super(Service, self).__init__()
     if not rpc.initialized():
         rpc.init(CONF)
     self.host = host
     self.binary = binary
     self.topic = topic
     self.manager_class_name = manager
     manager_class = importutils.import_class(self.manager_class_name)
     self.manager = manager_class(host=self.host,
                                  service_name=service_name,
                                  *args,
                                  **kwargs)
     self.periodic_enable = periodic_enable
     self.periodic_interval = periodic_interval
     self.periodic_fuzzy_delay = periodic_fuzzy_delay
     self.saved_args, self.saved_kwargs = args, kwargs
     self.timers = []
     self.coordinator = coordination
Exemplo n.º 4
0
    def setUp(self):
        """Run before each test method to initialize test environment."""
        super(TestCase, self).setUp()

        conf_fixture.set_defaults(CONF)
        CONF([], default_config_files=[])

        global _DB_CACHE
        if not _DB_CACHE:
            _DB_CACHE = Database(db_api,
                                 sql_connection=CONF.database.connection)
        self.useFixture(_DB_CACHE)

        self.injected = []
        self._services = []
        # This will be cleaned up by the NestedTempfile fixture
        lock_path = '/' + self.useFixture(fixtures.TempDir()).path
        self.fixture = self.useFixture(config_fixture.Config(lockutils.CONF))
        self.fixture.config(lock_path=lock_path, group='oslo_concurrency')
        self.fixture.config(disable_process_locking=True,
                            group='oslo_concurrency')

        rpc.add_extra_exmods('delfin.tests')
        self.addCleanup(rpc.clear_extra_exmods)
        self.addCleanup(rpc.cleanup)

        self.messaging_conf = messaging_conffixture.ConfFixture(CONF)
        self.messaging_conf.transport_url = 'fake:/'
        self.messaging_conf.response_timeout = 15
        self.useFixture(self.messaging_conf)

        oslo_messaging.get_notification_transport(CONF)
        self.override_config('driver', ['test'],
                             group='oslo_messaging_notifications')

        rpc.init(CONF)

        fake_notifier.stub_notifier(self)

        # Locks must be cleaned up after tests
        CONF.set_override('backend_type', 'file', group='coordination')
        CONF.set_override('backend_server', lock_path, group='coordination')
        coordination.LOCK_COORDINATOR.start()
        self.addCleanup(coordination.LOCK_COORDINATOR.stop)
Exemplo n.º 5
0
 def test_init_notifications(self, messaging_mock):
     rpc.init(test.CONF)
     self.assertTrue(messaging_mock.JsonPayloadSerializer.called)
     self.assertTrue(messaging_mock.Notifier.called)
     self.assertEqual(rpc.NOTIFIER, messaging_mock.Notifier.return_value)