Esempio n. 1
0
    def test_open_startpath(self):
        """
        Test startpath option
        """

        self.opts['roots'][0]['startPath'] = 'files'
        connector = ElfinderConnector(self.opts)

        #************ init without tree ***********
        ret = connector.execute('open', target='dummy', init='1')

        #check files and cwd
        self.assertEqual(len(ret['files']), 2)
        self.assertNotEqual(ret['files'][0]['hash'], ret['files'][1]['hash'])
        self.assertEqual(ret['files'][0]['name'], '2bytes.txt')
        self.assertEqual(ret['files'][1]['name'], 'directory')
        self.assertEqual(ret['cwd']['dirs'], 1)
        self.assertEqual(ret['cwd']['name'], 'files')
        self.assertEqual(ret['cwd']['read'], 1)
        self.assertEqual(ret['cwd']['write'], 1)
        self.assertEqual(ret['cwd']['locked'], 0)
        self.assertEqual(ret['cwd']['hidden'], 0)
        self.assertEqual(ret['cwd']['size'], 'unknown')
        self.assertEqual(ret['cwd']['mime'], 'directory')
        self.assertNotIn('volumeid', ret['cwd'])
        self.assertIsInstance(ret['cwd']['ts'], float)
        self.assertGreater(len(ret['cwd']['phash']), 0)
        self.assertGreater(len(ret['cwd']['hash']), 0)

        #other response attributes
        self.assertNotIn('error', ret)
        self.assertIn('netDrivers', ret)
        self.assertEqual(ret['uplMaxSize'], 128 * 1048576)
        self.assertEqual(ret['api'], '2.1')
        self.assertEqual(ret['options']['pathUrl'],
                         '%sfiles' % settings.MEDIA_URL)
        self.assertEqual(ret['options']['tmbUrl'],
                         '%s.tmb/' % settings.MEDIA_URL)
        self.assertIn('create', ret['options']['archivers'])
        self.assertIn('extract', ret['options']['archivers'])
        self.assertEqual(ret['options']['disabled'], [])
        self.assertEqual(ret['options']['copyOverwrite'], 1)
        self.assertEqual(ret['options']['separator'], os.sep)
        self.assertEqual(ret['options']['path'],
                         '%s%sfiles' % (connector._default._root_name, os.sep))

        #********* init with tree ***********
        ret_tree = connector.execute('open',
                                     target='dummy',
                                     init='1',
                                     tree='1')
        self.check_root_tree(ret_tree, 5, connector._default._root_name)

        #cleanup startpath
        self.opts['startpath'] = ''
Esempio n. 2
0
    def test_open_startpath(self):
        """
        Test startpath option
        """
        
        self.opts['roots'][0]['startPath'] = 'files'
        connector = ElfinderConnector(self.opts)
        
        #************ init without tree ***********
        ret = connector.execute('open', target='dummy', init='1')

        #check files and cwd
        self.assertEqual(len(ret['files']), 2)
        self.assertNotEqual(ret['files'][0]['hash'], ret['files'][1]['hash'])
        self.assertEqual(ret['files'][0]['name'], '2bytes.txt')
        self.assertEqual(ret['files'][1]['name'], 'directory')
        self.assertEqual(ret['cwd']['dirs'], 1)
        self.assertEqual(ret['cwd']['name'], 'files')
        self.assertEqual(ret['cwd']['read'], 1)
        self.assertEqual(ret['cwd']['write'], 1)
        self.assertEqual(ret['cwd']['locked'], 0)
        self.assertEqual(ret['cwd']['hidden'], 0)
        self.assertEqual(ret['cwd']['size'], 'unknown')
        self.assertEqual(ret['cwd']['mime'], 'directory')
        self.assertNotIn('volumeid', ret['cwd'])
        self.assertIsInstance(ret['cwd']['ts'], float)
        self.assertGreater(len(ret['cwd']['phash']), 0)
        self.assertGreater(len(ret['cwd']['hash']), 0)
        
        #other response attributes
        self.assertNotIn('error', ret)
        self.assertIn('netDrivers', ret)
        self.assertEqual(ret['uplMaxSize'], 128 * 1048576)
        self.assertEqual(ret['api'], '2.0')
        self.assertEqual(ret['options']['pathUrl'], '%sfiles' % settings.MEDIA_URL)
        self.assertEqual(ret['options']['tmbUrl'], '%s.tmb/' % settings.MEDIA_URL)
        self.assertIn('create', ret['options']['archivers'])
        self.assertIn('extract', ret['options']['archivers'])
        self.assertEqual(ret['options']['disabled'], [])
        self.assertEqual(ret['options']['copyOverwrite'], 1)
        self.assertEqual(ret['options']['separator'], os.sep)
        self.assertEqual(ret['options']['path'], '%s%sfiles' % (connector._default._root_name, os.sep))
        
        #********* init with tree ***********
        ret_tree = connector.execute('open', target='dummy', init='1', tree='1')
        self.check_root_tree(ret_tree, 5, connector._default._root_name)

        #cleanup startpath
        self.opts['startpath'] = ''
Esempio n. 3
0
    def test_open_specs(self):
        """
        Test the command compiles to the API specification
        """
        
        connector = ElfinderConnector(self.opts)

        #command accepts the specification arguments
        argslist = connector.commandArgsList('open')
        self.assertIn('target', argslist)
        self.assertIn('init', argslist)
        self.assertIn('tree', argslist)
        self.assertIn('mimes', argslist)
        
        #test invalid keyword arguments
        self.assertEqual(ElfinderErrorMessages.ERROR_INV_PARAMS in connector.execute('open')['error'], True)
        
        #test invalid target
        self.assertEqual(ElfinderErrorMessages.ERROR_OPEN in connector.execute('open', target='dummy')['error'], True)
Esempio n. 4
0
    def test_execute(self):
        """
        Test the execute method.
        """

        #test invalid configuration
        connector = ElfinderConnector({})
        self.assertEqual(
            ElfinderErrorMessages.ERROR_CONF
            in connector.execute('open')['error'], True)

        connector = ElfinderConnector(
            ls.ELFINDER_CONNECTOR_OPTION_SETS['default'])
        #test invalid command
        self.assertEqual(
            ElfinderErrorMessages.ERROR_UNKNOWN_CMD
            in connector.execute('dummy')['error'], True)
        #test missing arguments
        self.assertEqual(
            ElfinderErrorMessages.ERROR_INV_PARAMS
            in connector.execute('ls')['error'], True)
        #test it is actually doing something
        self.assertEqual(
            'error' in connector.execute('open', mimes=['image'], init=True),
            False)
        #test debug keyword
        self.assertEqual('debug' in connector.execute('open', init=True),
                         False)
        self.assertEqual(
            'debug' in connector.execute('open', init=True, debug=True), True)
Esempio n. 5
0
    def test_open_specs(self):
        """
        Test the command compiles to the API specification
        """

        connector = ElfinderConnector(self.opts)

        #command accepts the specification arguments
        argslist = connector.commandArgsList('open')
        self.assertIn('target', argslist)
        self.assertIn('init', argslist)
        self.assertIn('tree', argslist)
        self.assertIn('mimes', argslist)

        #test invalid keyword arguments
        self.assertEqual(
            ElfinderErrorMessages.ERROR_INV_PARAMS
            in connector.execute('open')['error'], True)

        #test invalid target
        self.assertEqual(
            ElfinderErrorMessages.ERROR_OPEN
            in connector.execute('open', target='dummy')['error'], True)
Esempio n. 6
0
    def test_open_path(self):

        connector = ElfinderConnector(self.opts)

        #************ init without tree ***********
        ret = connector.execute('open',
                                target=connector._default.encode(
                                    connector._default._join_path(
                                        settings.MEDIA_ROOT,
                                        connector._default._join_path(
                                            'files', 'directory'))),
                                init='1')

        #check files and cwd
        self.assertEqual(len(ret['files']), 1)
        self.assertEqual(ret['files'][0]['name'], 'yawd-logo.png')
        self.assertNotIn('dirs', ret['cwd'])
        self.assertEqual(ret['cwd']['name'], 'directory')
        self.assertEqual(ret['cwd']['read'], 1)
        self.assertEqual(ret['cwd']['write'], 1)
        self.assertEqual(ret['cwd']['locked'], 0)
        self.assertEqual(ret['cwd']['hidden'], 0)
        self.assertEqual(ret['cwd']['size'], 'unknown')
        self.assertEqual(ret['cwd']['mime'], 'directory')
        self.assertNotIn('volumeid', ret['cwd'])
        self.assertIsInstance(ret['cwd']['ts'], float)
        self.assertGreater(len(ret['cwd']['phash']), 0)
        self.assertGreater(len(ret['cwd']['hash']), 0)

        #other response attributes
        self.assertNotIn('error', ret)
        self.assertIn('netDrivers', ret)
        self.assertEqual(ret['uplMaxSize'], 128 * 1048576)
        self.assertEqual(ret['api'], '2.1')
        self.assertEqual(ret['options']['pathUrl'],
                         '%sfiles/directory' % settings.MEDIA_URL)
        self.assertEqual(ret['options']['tmbUrl'],
                         '%s.tmb/' % settings.MEDIA_URL)
        self.assertIn('create', ret['options']['archivers'])
        self.assertIn('extract', ret['options']['archivers'])
        self.assertEqual(ret['options']['disabled'], [])
        self.assertEqual(ret['options']['copyOverwrite'], 1)
        self.assertEqual(ret['options']['separator'], os.sep)
        self.assertEqual(
            ret['options']['path'], '%s%sfiles%sdirectory' %
            (connector._default._root_name, os.sep, os.sep))
Esempio n. 7
0
    def test_open_path(self):
        
        connector = ElfinderConnector(self.opts)
        
        #************ init without tree ***********
        ret = connector.execute('open', target=connector._default.encode(
            connector._default._join_path(settings.MEDIA_ROOT, 
                connector._default._join_path('files', 'directory'))),
            init='1')

        #check files and cwd
        self.assertEqual(len(ret['files']), 1)
        self.assertEqual(ret['files'][0]['name'], 'yawd-logo.png')
        self.assertNotIn('dirs', ret['cwd'])
        self.assertEqual(ret['cwd']['name'], 'directory')
        self.assertEqual(ret['cwd']['read'], 1)
        self.assertEqual(ret['cwd']['write'], 1)
        self.assertEqual(ret['cwd']['locked'], 0)
        self.assertEqual(ret['cwd']['hidden'], 0)
        self.assertEqual(ret['cwd']['size'], 'unknown')
        self.assertEqual(ret['cwd']['mime'], 'directory')
        self.assertNotIn('volumeid', ret['cwd'])
        self.assertIsInstance(ret['cwd']['ts'], float)
        self.assertGreater(len(ret['cwd']['phash']), 0)
        self.assertGreater(len(ret['cwd']['hash']), 0)
        
        #other response attributes
        self.assertNotIn('error', ret)
        self.assertIn('netDrivers', ret)
        self.assertEqual(ret['uplMaxSize'], 128 * 1048576)
        self.assertEqual(ret['api'], '2.0')
        self.assertEqual(ret['options']['pathUrl'], '%sfiles/directory' % settings.MEDIA_URL)
        self.assertEqual(ret['options']['tmbUrl'], '%s.tmb/' % settings.MEDIA_URL)
        self.assertIn('create', ret['options']['archivers'])
        self.assertIn('extract', ret['options']['archivers'])
        self.assertEqual(ret['options']['disabled'], [])
        self.assertEqual(ret['options']['copyOverwrite'], 1)
        self.assertEqual(ret['options']['separator'], os.sep)
        self.assertEqual(ret['options']['path'], '%s%sfiles%sdirectory' % (connector._default._root_name, os.sep, os.sep))
Esempio n. 8
0
 def test_execute(self):
     """
     Test the execute method.
     """
     
     #test invalid configuration
     connector = ElfinderConnector({})
     self.assertEqual(ElfinderErrorMessages.ERROR_CONF in connector.execute('open')['error'], True)
     
     connector = ElfinderConnector(ls.ELFINDER_CONNECTOR_OPTION_SETS['default'])
     #test invalid command
     self.assertEqual(ElfinderErrorMessages.ERROR_UNKNOWN_CMD in connector.execute('dummy')['error'], True)
     #test missing arguments
     self.assertEqual(ElfinderErrorMessages.ERROR_INV_PARAMS in connector.execute('ls')['error'], True)
     #test it is actually doing something
     self.assertEqual('error' in connector.execute('open', mimes=['image'], init=True), False)
     #test debug keyword
     self.assertEqual('debug' in connector.execute('open', init=True), False)
     self.assertEqual('debug' in connector.execute('open', init=True, debug=True), True)
Esempio n. 9
0
    def test_open_default(self):
        """
        Test the default optionset
        """
        
        connector = ElfinderConnector(self.opts)
        
        #************ init without tree ***********
        ret = connector.execute('open', target='dummy', init='1')

        #check files and cwd
        self.assertEqual(len(ret['files']), 2)
        self.assertNotEqual(ret['files'][0]['hash'], ret['files'][1]['hash'])
        self.assertEqual(ret['files'][0]['name'], 'files')
        self.assertEqual(ret['files'][1]['name'], 'test')
        self.assertEqual(ret['cwd']['dirs'], 1)
        self.assertEqual(ret['cwd']['name'], connector._default._root_name)
        self.assertEqual(ret['cwd']['read'], 1)
        self.assertEqual(ret['cwd']['write'], 1)
        self.assertEqual(ret['cwd']['locked'], 1)
        self.assertEqual(ret['cwd']['hidden'], 0)
        self.assertEqual(ret['cwd']['size'], 'unknown')
        self.assertEqual(ret['cwd']['mime'], 'directory')
        self.assertEqual(ret['cwd']['volumeid'], 'llff_')
        self.assertIsInstance(ret['cwd']['ts'], float)
        self.assertNotIn('phash', ret['cwd'])
        self.assertGreater(len(ret['cwd']['hash']), 0)
        
        #other response attributes
        self.assertNotIn('error', ret)
        self.assertIn('netDrivers', ret)
        self.assertEqual(ret['uplMaxSize'], 128 * 1048576)
        self.assertEqual(ret['api'], '2.0')
        self.assertEqual(ret['options']['pathUrl'], settings.MEDIA_URL)
        self.assertEqual(ret['options']['tmbUrl'], '%s.tmb/' % settings.MEDIA_URL)
        self.assertIn('create', ret['options']['archivers'])
        self.assertIn('extract', ret['options']['archivers'])
        self.assertEqual(ret['options']['disabled'], [])
        self.assertEqual(ret['options']['copyOverwrite'], 1)
        self.assertEqual(ret['options']['separator'], os.sep)
        self.assertEqual(ret['options']['path'], connector._default._root_name)
        
        
        #********* init with tree ***********
        ret_tree = connector.execute('open', target='dummy', init='1', tree='1')
        self.check_root_tree(ret_tree, 3, connector._default._root_name)
        
        ret['files'][:0] = [ret['cwd']]
        self.assertEqual(ret, ret_tree)
        
        #******** init with tree and debug *******
        ret_tree_debug = connector.execute('open', target='dummy', init='1', tree='1', debug='1')
        
        self.assertEqual(ret_tree_debug['debug']['connector'], 'yawd-elfinder')
        self.assertEqual(ret_tree_debug['debug']['mountErrors'], [])
        self.assertEqual(ret_tree_debug['debug']['upload'], '')
        self.assertEqual(ret_tree_debug['debug']['volumes'], [{'id': 'llff_', 'name': 'localfilesystem'}])
        self.assertIsInstance(ret_tree_debug['debug']['time'], float)
        
        del ret_tree_debug['debug']
        self.assertEqual(ret_tree, ret_tree_debug)
Esempio n. 10
0
    def test_open_default(self):
        """
        Test the default optionset
        """

        connector = ElfinderConnector(self.opts)

        #************ init without tree ***********
        ret = connector.execute('open', target='dummy', init='1')

        #check files and cwd
        self.assertEqual(len(ret['files']), 2)
        self.assertNotEqual(ret['files'][0]['hash'], ret['files'][1]['hash'])
        self.assertEqual(ret['files'][0]['name'], 'files')
        self.assertEqual(ret['files'][1]['name'], 'test')
        self.assertEqual(ret['cwd']['dirs'], 1)
        self.assertEqual(ret['cwd']['name'], connector._default._root_name)
        self.assertEqual(ret['cwd']['read'], 1)
        self.assertEqual(ret['cwd']['write'], 1)
        self.assertEqual(ret['cwd']['locked'], 1)
        self.assertEqual(ret['cwd']['hidden'], 0)
        self.assertEqual(ret['cwd']['size'], 'unknown')
        self.assertEqual(ret['cwd']['mime'], 'directory')
        self.assertEqual(ret['cwd']['volumeid'], 'llff_')
        self.assertIsInstance(ret['cwd']['ts'], float)
        self.assertNotIn('phash', ret['cwd'])
        self.assertGreater(len(ret['cwd']['hash']), 0)

        #other response attributes
        self.assertNotIn('error', ret)
        self.assertIn('netDrivers', ret)
        self.assertEqual(ret['uplMaxSize'], 128 * 1048576)
        self.assertEqual(ret['api'], '2.1')
        self.assertEqual(ret['options']['pathUrl'], settings.MEDIA_URL)
        self.assertEqual(ret['options']['tmbUrl'],
                         '%s.tmb/' % settings.MEDIA_URL)
        self.assertIn('create', ret['options']['archivers'])
        self.assertIn('extract', ret['options']['archivers'])
        self.assertEqual(ret['options']['disabled'], [])
        self.assertEqual(ret['options']['copyOverwrite'], 1)
        self.assertEqual(ret['options']['separator'], os.sep)
        self.assertEqual(ret['options']['path'], connector._default._root_name)

        #********* init with tree ***********
        ret_tree = connector.execute('open',
                                     target='dummy',
                                     init='1',
                                     tree='1')
        self.check_root_tree(ret_tree, 3, connector._default._root_name)

        ret['files'][:0] = [ret['cwd']]
        self.assertEqual(ret, ret_tree)

        #******** init with tree and debug *******
        ret_tree_debug = connector.execute('open',
                                           target='dummy',
                                           init='1',
                                           tree='1',
                                           debug='1')

        self.assertEqual(ret_tree_debug['debug']['connector'], 'yawd-elfinder')
        self.assertEqual(ret_tree_debug['debug']['mountErrors'], [])
        self.assertEqual(ret_tree_debug['debug']['upload'], '')
        self.assertEqual(ret_tree_debug['debug']['volumes'],
                         [{
                             'id': 'llff_',
                             'name': 'localfilesystem'
                         }])
        self.assertIsInstance(ret_tree_debug['debug']['time'], float)

        del ret_tree_debug['debug']
        self.assertEqual(ret_tree, ret_tree_debug)