Esempio n. 1
0
class FileLocatorTest(unittest.TestCase):
    """
    Тестируем работу класса FileLocator
    """
    def setUp(self):
        self.simplePluginManager = PluginManager()
        self.locator = FileLocator()
        self.simplePluginManager.locator = self.locator
        self.validator = SimpleValidator()
        self.simplePluginManager.validator = self.validator
        self.storage = SimpleStorage()
        self.simplePluginManager.storage = self.storage
        self.installer = TestInstaller()
        self.simplePluginManager.installer = self.installer

    def test_set_directories_list(self):
        """"""
        self.assertEqual(self.simplePluginManager.locator.directories_list, [])
        # проверяем чо на вход разрешено подавать только список
        self.assertRaises(MPException, setattr, self.locator,
                          'directories_list', 1)
        # проверяем что список должен содержать только адреса директрий
        self.assertRaises(MPException, setattr, self.locator,
                          'directories_list', [1])
        # проверяемчто список содержит сущесвующие директоории
        self.assertRaises(MPException, setattr, self.locator,
                          'directories_list', ['/tmp/ttmp'])

        path = os.path.dirname(os.path.abspath(__file__))
        self.locator.directories_list = [path]
        self.assertEqual(self.simplePluginManager.locator.directories_list,
                         [path])
        #второй раз добавить эту же папку не даст
        self.assertRaises(MPException, setattr, self.locator,
                          'directories_list', [path, ])

    def test_find(self):
        """"""
        path = os.path.join(os.path.dirname(os.path.abspath(__file__)),
                            'directoty_for_test_locator')
        self.locator.directories_list = [path]
        result = self.locator.run()
        self.assertEqual(len(result), 2)