예제 #1
0
    def test_get_manager_endpoint(self, mock_iter_entry_points):
        loader = mock.Mock()
        mock_iter_entry_points.return_value = [
            mock.Mock(**{"load.return_value": loader}),
        ]

        manager.get_manager('test', ('127.0.0.1', 8080))

        mock_iter_entry_points.assert_called_once_with('tendril.manager',
                                                       'test')
        for m in mock_iter_entry_points.return_value:
            m.load.assert_called_once_with()
        loader.assert_called_once_with(('127.0.0.1', 8080))
예제 #2
0
    def test_get_manager(self, mock_iter_entry_points):
        loader = mock.Mock()
        mock_iter_entry_points.return_value = [
            mock.Mock(**{"load.side_effect": ImportError}),
            mock.Mock(**{"load.side_effect": pkg_resources.UnknownExtra}),
            mock.Mock(**{"load.return_value": loader}),
        ]

        manager.get_manager('test')

        mock_iter_entry_points.assert_called_once_with('tendril.manager',
                                                       'test')
        for m in mock_iter_entry_points.return_value:
            m.load.assert_called_once_with()
        loader.assert_called_once_with(('', 0))
예제 #3
0
    def test_get_manager_existing(self, mock_iter_entry_points):
        mock_manager = mock.Mock()
        manager.TendrilManager._managers[('test', ('', 0))] = mock_manager

        result = manager.get_manager('TEST')

        self.assertEqual(id(result), id(mock_manager))
        self.assertFalse(mock_iter_entry_points.called)