From 15b8a4834ecab9c792143140066601d7331c04da Mon Sep 17 00:00:00 2001 From: Peter Prochaska Date: Mon, 6 Nov 2017 14:34:27 +0100 Subject: [PATCH] behat test for restoring a file --- .../integration/features/bootstrap/WebDav.php | 15 ++++++ .../integration/features/dav-versions.feature | 50 +++++++++++-------- 2 files changed, 45 insertions(+), 20 deletions(-) diff --git a/tests/integration/features/bootstrap/WebDav.php b/tests/integration/features/bootstrap/WebDav.php index e9b7d02d97a7..c2b4a9fb374e 100644 --- a/tests/integration/features/bootstrap/WebDav.php +++ b/tests/integration/features/bootstrap/WebDav.php @@ -188,6 +188,7 @@ public function downloadPublicFileInsideAFolderWithRange($path, $range) { * @param string $content */ public function downloadedContentShouldBe($content) { + die(); PHPUnit_Framework_Assert::assertEquals($content, (string)$this->response->getBody()); } @@ -530,6 +531,20 @@ public function theContentLengthOfFileForUserInVersionsFolderIs($path, $index, $ PHPUnit_Framework_Assert::assertEquals($length, $elements[1]['{DAV:}getcontentlength']); } + /** + * @When user :user restores version nr :versionIndex of file :path + * @param $user + * @param $versionIndex + * @param $path + */ + public function userRestoresVersionNrOfFile($user, $versionIndex, $path) { + $fileId = $this->getFileIdForPath($user, $path); + $client = $this->getSabreClient($user); + $versions = array_keys($this->listVersionFolder($user, '/meta/'.$fileId.'/v', 1)); + var_dump($versions[1], $this->makeSabrePath($user, $path));die(); + $client->request('COPY', $versions[1], null, ['Destination' => $this->makeSabrePath($user, $path)]); + } + /* Returns the elements of a report command * @param string $user * @param string $path diff --git a/tests/integration/features/dav-versions.feature b/tests/integration/features/dav-versions.feature index 613002fb3bd1..0c071709a862 100644 --- a/tests/integration/features/dav-versions.feature +++ b/tests/integration/features/dav-versions.feature @@ -3,26 +3,36 @@ Feature: dav-versions Given using api version "2" Given using new dav path - Scenario: Upload file and no version is available +# Scenario: Upload file and no version is available +# Given user "user0" exists +# And as an "user0" +# When user "user0" uploads file "data/davtest.txt" to "/davtest.txt" +# Then the version folder of file "/davtest.txt" for user "user0" contains "0" elements +# +# Scenario: Upload a file twice and versions are available +# Given user "user0" exists +# And as an "user0" +# When user "user0" uploads file "data/davtest.txt" to "/davtest.txt" +# Then user "user0" uploads file "data/davtest.txt" to "/davtest.txt" +# And the version folder of file "/davtest.txt" for user "user0" contains "1" elements +# And the content length of file "/davtest.txt" with version index "1" for user "user0" in versions folder is "8" +# +# Scenario: Remove a file +# Given user "user0" exists +# And as an "user0" +# And user "user0" uploads file "data/davtest.txt" to "/davtest.txt" +# And user "user0" uploads file "data/davtest.txt" to "/davtest.txt" +# And the version folder of file "/davtest.txt" for user "user0" contains "1" elements +# And user "user0" deletes file "/davtest.txt" +# When user "user0" uploads file "data/davtest.txt" to "/davtest.txt" +# Then the version folder of file "/davtest.txt" for user "user0" contains "0" elements +# + Scenario: Restore a file and check, if the content is now in the current file Given user "user0" exists And as an "user0" - When user "user0" uploads file "data/davtest.txt" to "/davtest.txt" - Then the version folder of file "/davtest.txt" for user "user0" contains "0" elements - - Scenario: Upload a file twice and versions are available - Given user "user0" exists - And as an "user0" - When user "user0" uploads file "data/davtest.txt" to "/davtest.txt" - Then user "user0" uploads file "data/davtest.txt" to "/davtest.txt" - And the version folder of file "/davtest.txt" for user "user0" contains "1" elements - And the content length of file "/davtest.txt" with version index "1" for user "user0" in versions folder is "8" - - Scenario: Remove a file - Given user "user0" exists - And as an "user0" - And user "user0" uploads file "data/davtest.txt" to "/davtest.txt" - And user "user0" uploads file "data/davtest.txt" to "/davtest.txt" + And user "user0" uploads file with content "123" to "/davtest.txt" + And user "user0" uploads file with content "12345" to "/davtest.txt" And the version folder of file "/davtest.txt" for user "user0" contains "1" elements - And user "user0" deletes file "/davtest.txt" - When user "user0" uploads file "data/davtest.txt" to "/davtest.txt" - Then the version folder of file "/davtest.txt" for user "user0" contains "0" elements + When user "user0" restores version nr "1" of file "/davtest.txt" + Then downloading file "davtest.txt" + And downloaded content should be "123" \ No newline at end of file