404

[ Avaa Bypassed ]




Upload:

Command:

botdev@3.12.147.104: ~ $
# Copyright (C) 2009-2012  Lars Wirzenius
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License along
# with this program; if not, write to the Free Software Foundation, Inc.,
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.


import unittest

from cliapp import PluginManager


class PluginManagerInitialStateTests(unittest.TestCase):

    def setUp(self):
        self.pm = PluginManager()

    def test_locations_is_empty_list(self):
        self.assertEqual(self.pm.locations, [])

    def test_plugins_is_empty_list(self):
        self.assertEqual(self.pm.plugins, [])

    def test_application_version_is_zeroes(self):
        self.assertEqual(self.pm.application_version, '0.0.0')

    def test_plugin_files_is_empty(self):
        self.assertEqual(self.pm.plugin_files, [])

    def test_plugin_arguments_is_empty(self):
        self.assertEqual(self.pm.plugin_arguments, [])

    def test_plugin_keyword_arguments_is_empty(self):
        self.assertEqual(self.pm.plugin_keyword_arguments, {})


class PluginManagerTests(unittest.TestCase):

    def setUp(self):
        self.pm = PluginManager()
        self.pm.locations = ['test-plugins', 'not-exist']
        self.pm.plugin_arguments = ('fooarg',)
        self.pm.plugin_keyword_arguments = {'bar': 'bararg'}

        self.files = sorted(['test-plugins/hello_plugin.py',
                             'test-plugins/aaa_hello_plugin.py',
                             'test-plugins/oldhello_plugin.py',
                             'test-plugins/wrongversion_plugin.py'])

    def test_finds_the_right_plugin_files(self):
        self.assertEqual(self.pm.find_plugin_files(), self.files)

    def test_plugin_files_attribute_implicitly_searches(self):
        self.assertEqual(self.pm.plugin_files, self.files)

    def test_loads_hello_plugin(self):
        plugins = self.pm.load_plugins()
        self.assertEqual(len(plugins), 1)
        self.assertEqual(plugins[0].name, 'Hello')

    def test_plugins_attribute_implicitly_searches(self):
        self.assertEqual(len(self.pm.plugins), 1)
        self.assertEqual(self.pm.plugins[0].name, 'Hello')

    def test_initializes_hello_with_correct_args(self):
        plugin = self.pm['Hello']
        self.assertEqual(plugin.foo, 'fooarg')
        self.assertEqual(plugin.bar, 'bararg')

    def test_raises_keyerror_for_unknown_plugin(self):
        self.assertRaises(KeyError, self.pm.__getitem__, 'Hithere')


class PluginManagerCompatibleApplicationVersionTests(unittest.TestCase):

    def setUp(self):
        self.pm = PluginManager()
        self.pm.application_version = '1.2.3'

    def test_rejects_zero(self):
        self.assertFalse(self.pm.compatible_version('0'))

    def test_rejects_two(self):
        self.assertFalse(self.pm.compatible_version('2'))

    def test_rejects_one_two_four(self):
        self.assertFalse(self.pm.compatible_version('1.2.4'))

    def test_accepts_one(self):
        self.assertTrue(self.pm.compatible_version('1'))

    def test_accepts_one_two_three(self):
        self.assertTrue(self.pm.compatible_version('1.2.3'))

Filemanager

Name Type Size Permission Actions
__init__.py File 1.63 KB 0644
__init__.pyc File 1.36 KB 0644
app.py File 23.3 KB 0644
app.pyc File 24.72 KB 0644
app_tests.py File 11.56 KB 0644
app_tests.pyc File 21.51 KB 0644
fmt.py File 3.43 KB 0644
fmt.pyc File 4.29 KB 0644
fmt_tests.py File 2.06 KB 0644
fmt_tests.pyc File 2.72 KB 0644
genman.py File 6.82 KB 0644
genman.pyc File 6.37 KB 0644
hook.py File 2.39 KB 0644
hook.pyc File 2.52 KB 0644
hook_tests.py File 2.73 KB 0644
hook_tests.pyc File 3.67 KB 0644
hookmgr.py File 1.56 KB 0644
hookmgr.pyc File 1.64 KB 0644
hookmgr_tests.py File 2.05 KB 0644
hookmgr_tests.pyc File 2.71 KB 0644
plugin.py File 3.95 KB 0644
plugin.pyc File 4.48 KB 0644
plugin_tests.py File 1.96 KB 0644
plugin_tests.pyc File 3.06 KB 0644
pluginmgr.py File 5.54 KB 0644
pluginmgr.pyc File 5.88 KB 0644
pluginmgr_tests.py File 3.52 KB 0644
pluginmgr_tests.pyc File 5.89 KB 0644
runcmd.py File 11.38 KB 0644
runcmd.pyc File 8.82 KB 0644
runcmd_tests.py File 6.21 KB 0644
runcmd_tests.pyc File 8.76 KB 0644
settings.py File 29.27 KB 0644
settings.pyc File 31.88 KB 0644
settings_tests.py File 22.37 KB 0644
settings_tests.pyc File 31.32 KB 0644
util.py File 2.83 KB 0644
util.pyc File 2.5 KB 0644
version.py File 60 B 0644
version.pyc File 228 B 0644