mirror of
https://github.com/beetbox/beets.git
synced 2025-12-07 09:04:33 +01:00
73 lines
2.3 KiB
Python
73 lines
2.3 KiB
Python
"""Tests for the 'permissions' plugin.
|
|
"""
|
|
from __future__ import (division, absolute_import, print_function,
|
|
unicode_literals)
|
|
|
|
from test._common import unittest
|
|
from test.helper import TestHelper
|
|
from beetsplug.permissions import (check_permissions,
|
|
convert_perm,
|
|
dirs_in_library)
|
|
|
|
|
|
class PermissionsPluginTest(unittest.TestCase, TestHelper):
|
|
def setUp(self):
|
|
self.setup_beets()
|
|
self.load_plugins('permissions')
|
|
|
|
self.config['permissions'] = {
|
|
'file': 777,
|
|
'dir': 777}
|
|
|
|
def tearDown(self):
|
|
self.teardown_beets()
|
|
self.unload_plugins()
|
|
|
|
def test_permissions_on_album_imported(self):
|
|
self.importer = self.create_importer()
|
|
self.importer.run()
|
|
item = self.lib.items().get()
|
|
|
|
file_perm = self.config['permissions']['file'].get()
|
|
file_perm = convert_perm(file_perm)
|
|
|
|
dir_perm = self.config['permissions']['dir'].get()
|
|
dir_perm = convert_perm(dir_perm)
|
|
|
|
music_dirs = dirs_in_library(self.lib.directory, item.path)
|
|
|
|
self.assertTrue(check_permissions(item.path, file_perm))
|
|
self.assertFalse(check_permissions(item.path, convert_perm(644)))
|
|
|
|
for path in music_dirs:
|
|
self.assertTrue(check_permissions(path, dir_perm))
|
|
self.assertFalse(check_permissions(path, convert_perm(644)))
|
|
|
|
def test_permissions_on_item_imported(self):
|
|
self.config['import']['singletons'] = True
|
|
self.importer = self.create_importer()
|
|
self.importer.run()
|
|
item = self.lib.items().get()
|
|
|
|
file_perm = self.config['permissions']['file'].get()
|
|
file_perm = convert_perm(file_perm)
|
|
|
|
dir_perm = self.config['permissions']['dir'].get()
|
|
dir_perm = convert_perm(dir_perm)
|
|
|
|
music_dirs = dirs_in_library(self.lib.directory, item.path)
|
|
|
|
self.assertTrue(check_permissions(item.path, file_perm))
|
|
self.assertFalse(check_permissions(item.path, convert_perm(644)))
|
|
|
|
for path in music_dirs:
|
|
self.assertTrue(check_permissions(path, dir_perm))
|
|
self.assertFalse(check_permissions(path, convert_perm(644)))
|
|
|
|
|
|
def suite():
|
|
return unittest.TestLoader().loadTestsFromName(__name__)
|
|
|
|
|
|
if __name__ == b'__main__':
|
|
unittest.main(defaultTest='suite')
|