# -*- coding: utf-8 -*- # Import python libs from __future__ import absolute_import import logging from salt.transport import MessageClientPool # Import Salt Testing libs from tests.support.unit import TestCase log = logging.getLogger(__name__) class MessageClientPoolTest(TestCase): class MockClass(object): def __init__(self, *args, **kwargs): self.args = args self.kwargs = kwargs def test_init(self): opts = {"sock_pool_size": 10} args = (0,) kwargs = {"kwarg": 1} message_client_pool = MessageClientPool( self.MockClass, opts, args=args, kwargs=kwargs ) self.assertEqual( opts["sock_pool_size"], len(message_client_pool.message_clients) ) for message_client in message_client_pool.message_clients: self.assertEqual(message_client.args, args) self.assertEqual(message_client.kwargs, kwargs) def test_init_without_config(self): opts = {} args = (0,) kwargs = {"kwarg": 1} message_client_pool = MessageClientPool( self.MockClass, opts, args=args, kwargs=kwargs ) # The size of pool is set as 1 by the MessageClientPool init method. self.assertEqual(1, len(message_client_pool.message_clients)) for message_client in message_client_pool.message_clients: self.assertEqual(message_client.args, args) self.assertEqual(message_client.kwargs, kwargs) def test_init_less_than_one(self): opts = {"sock_pool_size": -1} args = (0,) kwargs = {"kwarg": 1} message_client_pool = MessageClientPool( self.MockClass, opts, args=args, kwargs=kwargs ) # The size of pool is set as 1 by the MessageClientPool init method. self.assertEqual(1, len(message_client_pool.message_clients)) for message_client in message_client_pool.message_clients: self.assertEqual(message_client.args, args) self.assertEqual(message_client.kwargs, kwargs)