Exemple #1
0
 def get_test_file(self):
     version = models.FileVersion(identifier='1')
     version.save()
     ret = TestFile(name='Test',
                    node=self.project,
                    path='/test/Test',
                    materialized_path='/test/Test',
                    versions=[version])
     ret.save()
     return ret
Exemple #2
0
 def touch(self, bearer, version=None, revision=None, **kwargs):
     if version:
         if self.versions:
             try:
                 return self.versions[int(version) - 1]
             except (IndexError, ValueError):
                 return None
         else:
             return None
     return models.FileVersion()
Exemple #3
0
 def _get_test_file(self):
     version = models.FileVersion(identifier='1', provider='osfstorage', metadata={'sha256': '2413fb3709b05939f04cf2e92f7d0897fc2596f9ad0b8a9ea855c7bfebaae892'})
     version.save()
     ret = models.FileNode(
         _id='5723787136b74e1a953d9612',
         name='file.txt',
         node=self.node,
         provider='osfstorage',
         path='/test/file.txt',
         materialized_path='/test/file.txt',
         versions=[version]
     )
     ret.save()
     return ret
Exemple #4
0
    def test_get_version(self):
        v1 = models.FileVersion(identifier='1')
        v2 = models.FileVersion(identifier='2')
        v1.save()
        v2.save()

        file = models.StoredFileNode(
            path='afile',
            name='name',
            is_file=True,
            node=self.node,
            provider='test',
            materialized_path='/long/path/to/name',
        ).wrapped()

        file.versions.extend([v1, v2])

        assert_equals(file.get_version('1'), v1)
        assert_equals(file.get_version('2', required=True), v2)

        assert_is(file.get_version('3'), None)

        with assert_raises(exceptions.VersionNotFoundError):
            file.get_version('3', required=True)
Exemple #5
0
def translate_version(version, index):
    version = models.FileVersion(
        _id=version._id,
        creator=version.creator,
        identifier=index + 1,
        date_created=version.date_created,
        location=version.location,
        metadata=version.metadata,
        size=version.size,
        content_type=version.content_type,
        date_modified=version.date_modified,
    )
    try:
        version.save()
    except KeyExistsException:
        version = models.FileVersion.load(version._id)

    return version
Exemple #6
0
    def test_update_version_metadata(self):
        v1 = models.FileVersion(identifier='1')
        v1.save()

        file = models.StoredFileNode(
            path='afile',
            name='name',
            is_file=True,
            node=self.node,
            provider='test',
            materialized_path='/long/path/to/name',
        ).wrapped()

        file.versions.append(v1)
        file.update_version_metadata(None, {'size': 1337})

        with assert_raises(exceptions.VersionNotFoundError):
            file.update_version_metadata('3', {})

        assert_equal(v1.size, 1337)
Exemple #7
0
 def touch(self, bearer, **kwargs):
     return models.FileVersion()
Exemple #8
0
 def touch(self, bearer, revision=None, **kwargs):
     if revision:
         return self.versions[0]
     return models.FileVersion()