Beispiel #1
0
    def test_listdir(self):
        self.assertEqual(self.storage.listdir(''), [[], []])

        self.filesystem.add_child('dir0', InMemoryDir())
        self.filesystem.add_child('file0', InMemoryFile())

        self.assertEqual(self.storage.listdir(''), [['dir0'], ['file0']])
        self.assertEqual(self.storage.listdir('dir0'), [[], []])

        self.filesystem.resolve('dir0').add_child('subdir', InMemoryDir())
        self.assertEqual(self.storage.listdir('dir0'), [['subdir'], []])
    def test_delete(self):
        self.filesystem.add_child('dir0', InMemoryDir())
        self.filesystem.resolve('dir0').add_child('nested_file',
                                                  InMemoryFile())
        self.filesystem.add_child('file0', InMemoryFile())
        self.assertEqual(self.filesystem.resolve('dir0').ls(), ['nested_file'])

        self.storage.delete('dir0/nested_file')
        self.assertEqual(self.filesystem.resolve('dir0').ls(), [])
        self.assertEqual(set(self.filesystem.ls()), set(['dir0', 'file0']))

        self.storage.delete('dir0')
        self.assertEqual(set(self.filesystem.ls()), set(['file0']))
Beispiel #3
0
def inmemorystorage(mocker):
    """
    Makes the InMemoryStorage backend persist its filesystem across multiple
    instantiations.
    """
    filesystem = InMemoryDir()

    MockedInMemoryStorage = functools.partial(
        InMemoryStorage,
        filesystem=filesystem,
        base_url='http://www.example.com/media/',
    )
    mocker.patch(
        'inmemorystorage.storage.InMemoryStorage',
        new=MockedInMemoryStorage,
    )

    return MockedInMemoryStorage()
Beispiel #4
0
 def tearDown(self):
     # Clear file storage between tests.
     default_storage.filesystem = InMemoryDir()