Example #1
0
    def test_add_agent_queues_cat_only(self, fake_get):
        fake_collection = Mock()
        fake_collection.find = Mock(return_value=[{'id': 'dog'}, {'id': 'cat'}])
        fake_get.return_value = fake_collection
        fake_broker = Mock()
        fake_broker.getQueue.side_effect = [None, Mock()]

        # test
        migration = MigrationModule(MIGRATION)._module
        migration._add_agent_queues(fake_broker)

        fake_broker.getQueue.assert_any('pulp.agent.dog')
        fake_broker.getQueue.assert_any('pulp.agent.cat')
        fake_broker.addQueue.assert_calle_with('pulp.agent.cat')
Example #2
0
    def test_add_agent_queues(self, fake_get):
        fake_collection = Mock()
        fake_collection.find = Mock(return_value=[{
            'id': 'dog'
        }, {
            'id': 'cat'
        }])
        fake_get.return_value = fake_collection
        fake_broker = Mock()
        fake_broker.getQueue.side_effect = [None, None]

        # test
        migration = MigrationModule(MIGRATION)._module
        migration._add_agent_queues(fake_broker)

        fake_broker.getQueue.assert_any('pulp.agent.dog')
        fake_broker.getQueue.assert_any('pulp.agent.cat')
        fake_broker.addQueue.assert_any('pulp.agent.dog')
        fake_broker.addQueue.assert_any('pulp.agent.cat')
Example #3
0
class TestMigration(TestCase):

    def setUp(self):
        # Remove dependencies on qpidtoollibs and qpid.messaging
        self.migration = MigrationModule(MIGRATION)._module
        if self.migration.QPIDTOOLLIBS_AVAILABLE:
            self.broker = self.migration.BrokerAgent
        if self.migration.QPID_MESSAGING_AVAILABLE:
            self.connection = self.migration.Connection

        self.qpidtoollibs = self.migration.QPIDTOOLLIBS_AVAILABLE
        self.qpid_messaging = self.migration.QPID_MESSAGING_AVAILABLE
        self.migration.QPIDTOOLLIBS_AVAILABLE = True
        self.migration.QPID_MESSAGING_AVAILABLE = True
        self.migration.BrokerAgent = Mock()
        self.migration.Connection = Mock()

    def tearDown(self):
        self.migration.QPIDTOOLLIBS_AVAILABLE = self.qpidtoollibs
        self.migration.QPID_MESSAGING_AVAILABLE = self.qpid_messaging
        if self.migration.QPIDTOOLLIBS_AVAILABLE:
            self.migration.BrokerAgent = self.broker
        if self.migration.QPID_MESSAGING_AVAILABLE:
            self.migration.Connection = self.connection

    @patch(MIGRATION + '._migrate_reply_queue')
    @patch(MIGRATION + '._migrate_agent_queues')
    @patch(MIGRATION + '.pulp_conf', PULP_CONF)
    def test_migrate(self, fake_migrate_agent_queues, fake_migrate_reply_queue):
        # test
        self.migration.migrate()

        # validation
        self.migration.Connection.assert_called_with(
            host='myhost',
            port=1234,
            transport='tcp',
            reconnect=False,
            ssl_certfile='TEST-CERTIFICATE',
            ssl_skip_hostname_check=True)

        self.migration.Connection().attach.assert_called_with()
        self.migration.BrokerAgent.assert_called_with(self.migration.Connection())
        fake_migrate_reply_queue.assert_called_with(self.migration.BrokerAgent())
        fake_migrate_agent_queues.assert_called_with(self.migration.BrokerAgent())
        self.migration.Connection().detach.assert_called_with()

    @patch(MIGRATION + '._migrate_reply_queue')
    @patch(MIGRATION + '._migrate_agent_queues')
    @patch(MIGRATION + '.pulp_conf')
    def test_migrate_not_qpid(self, fake_conf, fake_migrate_agent_queues,
                              fake_migrate_reply_queue,):

        fake_conf.get.return_value = 'not-qpid'

        # test
        self.migration.migrate()

        # validation
        self.assertFalse(self.migration.Connection.called)
        self.assertFalse(self.migration.BrokerAgent.called)
        self.assertFalse(fake_migrate_reply_queue.called)
        self.assertFalse(fake_migrate_agent_queues.called)

    @patch(MIGRATION + '._del_agent_queues')
    @patch(MIGRATION + '._add_agent_queues')
    def test_migrate_agent_queues(self, fake_add_agent_queues, fake_del_agent_queues):
        fake_broker = Mock()

        # test
        self.migration._migrate_agent_queues(fake_broker)

        # validation
        fake_add_agent_queues.assert_called_with(fake_broker)
        fake_del_agent_queues.assert_called_with(fake_broker)

    @patch('pulp.server.db.model.consumer.Consumer.get_collection')
    def test_add_agent_queues(self, fake_get):
        fake_collection = Mock()
        fake_collection.find = Mock(return_value=[{'id': 'dog'}, {'id': 'cat'}])
        fake_get.return_value = fake_collection
        fake_broker = Mock()
        fake_broker.getQueue.side_effect = [None, None]

        # test
        self.migration._add_agent_queues(fake_broker)

        fake_broker.getQueue.assert_any('pulp.agent.dog')
        fake_broker.getQueue.assert_any('pulp.agent.cat')
        fake_broker.addQueue.assert_any('pulp.agent.dog')
        fake_broker.addQueue.assert_any('pulp.agent.cat')

    @patch('pulp.server.db.model.consumer.Consumer.get_collection')
    def test_add_agent_queues_cat_only(self, fake_get):
        fake_collection = Mock()
        fake_collection.find = Mock(return_value=[{'id': 'dog'}, {'id': 'cat'}])
        fake_get.return_value = fake_collection
        fake_broker = Mock()
        fake_broker.getQueue.side_effect = [None, Mock()]

        # test
        self.migration._add_agent_queues(fake_broker)

        fake_broker.getQueue.assert_any('pulp.agent.dog')
        fake_broker.getQueue.assert_any('pulp.agent.cat')
        fake_broker.addQueue.assert_called__once_with('pulp.agent.dog', durable=True)
Example #4
0
class TestMigration(TestCase):
    def setUp(self):
        # Remove dependencies on qpidtoollibs and qpid.messaging
        self.migration = MigrationModule(MIGRATION)._module
        if self.migration.QPIDTOOLLIBS_AVAILABLE:
            self.broker = self.migration.BrokerAgent
        if self.migration.QPID_MESSAGING_AVAILABLE:
            self.connection = self.migration.Connection

        self.qpidtoollibs = self.migration.QPIDTOOLLIBS_AVAILABLE
        self.qpid_messaging = self.migration.QPID_MESSAGING_AVAILABLE
        self.migration.QPIDTOOLLIBS_AVAILABLE = True
        self.migration.QPID_MESSAGING_AVAILABLE = True
        self.migration.BrokerAgent = Mock()
        self.migration.Connection = Mock()

    def tearDown(self):
        self.migration.QPIDTOOLLIBS_AVAILABLE = self.qpidtoollibs
        self.migration.QPID_MESSAGING_AVAILABLE = self.qpid_messaging
        if self.migration.QPIDTOOLLIBS_AVAILABLE:
            self.migration.BrokerAgent = self.broker
        if self.migration.QPID_MESSAGING_AVAILABLE:
            self.migration.Connection = self.connection

    @patch(MIGRATION + '._migrate_reply_queue')
    @patch(MIGRATION + '._migrate_agent_queues')
    @patch(MIGRATION + '.pulp_conf', PULP_CONF)
    def test_migrate(self, fake_migrate_agent_queues,
                     fake_migrate_reply_queue):
        # test
        self.migration.migrate()

        # validation
        self.migration.Connection.assert_called_with(
            host='myhost',
            port=1234,
            transport='tcp',
            reconnect=False,
            ssl_certfile='TEST-CERTIFICATE',
            ssl_skip_hostname_check=True)

        self.migration.Connection().attach.assert_called_with()
        self.migration.BrokerAgent.assert_called_with(
            self.migration.Connection())
        fake_migrate_reply_queue.assert_called_with(
            self.migration.BrokerAgent())
        fake_migrate_agent_queues.assert_called_with(
            self.migration.BrokerAgent())
        self.migration.Connection().detach.assert_called_with()

    @patch(MIGRATION + '._migrate_reply_queue')
    @patch(MIGRATION + '._migrate_agent_queues')
    @patch(MIGRATION + '.pulp_conf')
    def test_migrate_not_qpid(
        self,
        fake_conf,
        fake_migrate_agent_queues,
        fake_migrate_reply_queue,
    ):

        fake_conf.get.return_value = 'not-qpid'

        # test
        self.migration.migrate()

        # validation
        self.assertFalse(self.migration.Connection.called)
        self.assertFalse(self.migration.BrokerAgent.called)
        self.assertFalse(fake_migrate_reply_queue.called)
        self.assertFalse(fake_migrate_agent_queues.called)

    @patch(MIGRATION + '._del_agent_queues')
    @patch(MIGRATION + '._add_agent_queues')
    def test_migrate_agent_queues(self, fake_add_agent_queues,
                                  fake_del_agent_queues):
        fake_broker = Mock()

        # test
        self.migration._migrate_agent_queues(fake_broker)

        # validation
        fake_add_agent_queues.assert_called_with(fake_broker)
        fake_del_agent_queues.assert_called_with(fake_broker)

    @patch('pulp.server.db.model.consumer.Consumer.get_collection')
    def test_add_agent_queues(self, fake_get):
        fake_collection = Mock()
        fake_collection.find = Mock(return_value=[{
            'id': 'dog'
        }, {
            'id': 'cat'
        }])
        fake_get.return_value = fake_collection
        fake_broker = Mock()
        fake_broker.getQueue.side_effect = [None, None]

        # test
        self.migration._add_agent_queues(fake_broker)

        fake_broker.getQueue.assert_any('pulp.agent.dog')
        fake_broker.getQueue.assert_any('pulp.agent.cat')
        fake_broker.addQueue.assert_any('pulp.agent.dog')
        fake_broker.addQueue.assert_any('pulp.agent.cat')

    @patch('pulp.server.db.model.consumer.Consumer.get_collection')
    def test_add_agent_queues_cat_only(self, fake_get):
        fake_collection = Mock()
        fake_collection.find = Mock(return_value=[{
            'id': 'dog'
        }, {
            'id': 'cat'
        }])
        fake_get.return_value = fake_collection
        fake_broker = Mock()
        fake_broker.getQueue.side_effect = [None, Mock()]

        # test
        self.migration._add_agent_queues(fake_broker)

        fake_broker.getQueue.assert_any('pulp.agent.dog')
        fake_broker.getQueue.assert_any('pulp.agent.cat')
        fake_broker.addQueue.assert_called__once_with('pulp.agent.dog',
                                                      durable=True)