aboutsummaryrefslogtreecommitdiffstats
path: root/apps/files_versions/tests
diff options
context:
space:
mode:
authorLouis Chemineau <louis@chmn.me>2022-12-15 15:35:31 +0100
committerLouis (Rebase PR Action) <artonge@users.noreply.github.com>2023-01-26 10:12:23 +0000
commit88abb2d97c84211d4874aa02bf92580fbb1ae83e (patch)
treed5d5b04ee6a903bbd2ba45b2269a24b81df5fb34 /apps/files_versions/tests
parent3da63f4148898ec4bc9544a4a9ef07bac3e07669 (diff)
downloadnextcloud-server-88abb2d97c84211d4874aa02bf92580fbb1ae83e.tar.gz
nextcloud-server-88abb2d97c84211d4874aa02bf92580fbb1ae83e.zip
Fix versions restoring with S3
Signed-off-by: Louis Chemineau <louis@chmn.me>
Diffstat (limited to 'apps/files_versions/tests')
-rw-r--r--apps/files_versions/tests/VersioningTest.php33
1 files changed, 33 insertions, 0 deletions
diff --git a/apps/files_versions/tests/VersioningTest.php b/apps/files_versions/tests/VersioningTest.php
index 95498c9f2db..4f171031ab3 100644
--- a/apps/files_versions/tests/VersioningTest.php
+++ b/apps/files_versions/tests/VersioningTest.php
@@ -35,6 +35,9 @@
namespace OCA\Files_Versions\Tests;
use OC\Files\Storage\Temporary;
+use OCA\Files_Versions\Db\VersionEntity;
+use OCA\Files_Versions\Db\VersionsMapper;
+use OCP\Files\IMimeTypeLoader;
use OCP\IConfig;
use OCP\IUser;
use OCP\Share\IShare;
@@ -54,6 +57,14 @@ class VersioningTest extends \Test\TestCase {
* @var \OC\Files\View
*/
private $rootView;
+ /**
+ * @var VersionsMapper
+ */
+ private $versionsMapper;
+ /**
+ * @var IMimeTypeLoader
+ */
+ private $mimeTypeLoader;
private $user1;
private $user2;
@@ -108,6 +119,9 @@ class VersioningTest extends \Test\TestCase {
$this->rootView->mkdir(self::USERS_VERSIONS_ROOT);
}
+ $this->versionsMapper = \OCP\Server::get(VersionsMapper::class);
+ $this->mimeTypeLoader = \OCP\Server::get(IMimeTypeLoader::class);
+
$this->user1 = $this->createMock(IUser::class);
$this->user1->method('getUID')
->willReturn(self::TEST_VERSIONS_USER);
@@ -762,6 +776,7 @@ class VersioningTest extends \Test\TestCase {
$filePath = self::TEST_VERSIONS_USER . '/files/sub/test.txt';
$this->rootView->file_put_contents($filePath, 'test file');
+ $fileInfo = $this->rootView->getFileInfo($filePath);
$t0 = $this->rootView->filemtime($filePath);
// not exactly the same timestamp as the file
@@ -774,8 +789,26 @@ class VersioningTest extends \Test\TestCase {
$v2 = self::USERS_VERSIONS_ROOT . '/sub/test.txt.v' . $t2;
$this->rootView->mkdir(self::USERS_VERSIONS_ROOT . '/sub');
+
$this->rootView->file_put_contents($v1, 'version1');
+ $fileInfoV1 = $this->rootView->getFileInfo($v1);
+ $versionEntity = new VersionEntity();
+ $versionEntity->setFileId($fileInfo->getId());
+ $versionEntity->setTimestamp($t1);
+ $versionEntity->setSize($fileInfoV1->getSize());
+ $versionEntity->setMimetype($this->mimeTypeLoader->getId($fileInfoV1->getMimetype()));
+ $versionEntity->setMetadata([]);
+ $this->versionsMapper->insert($versionEntity);
+
$this->rootView->file_put_contents($v2, 'version2');
+ $fileInfoV2 = $this->rootView->getFileInfo($v2);
+ $versionEntity = new VersionEntity();
+ $versionEntity->setFileId($fileInfo->getId());
+ $versionEntity->setTimestamp($t2);
+ $versionEntity->setSize($fileInfoV2->getSize());
+ $versionEntity->setMimetype($this->mimeTypeLoader->getId($fileInfoV2->getMimetype()));
+ $versionEntity->setMetadata([]);
+ $this->versionsMapper->insert($versionEntity);
$oldVersions = \OCA\Files_Versions\Storage::getVersions(
self::TEST_VERSIONS_USER, '/sub/test.txt'