From 74df27b7a756d948e6df94cda3fda9585ae78f7c Mon Sep 17 00:00:00 2001 From: Thomas Müller Date: Thu, 10 Aug 2017 12:14:02 +0200 Subject: Add integration tests for length header on new chunking MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Daniel Calviño Sánchez --- build/integration/features/bootstrap/WebDav.php | 17 +++++++++++++++++ build/integration/features/webdav-related.feature | 20 ++++++++++++++++++++ 2 files changed, 37 insertions(+) (limited to 'build') diff --git a/build/integration/features/bootstrap/WebDav.php b/build/integration/features/bootstrap/WebDav.php index 5d6ca0633b6..1354c0b1978 100644 --- a/build/integration/features/bootstrap/WebDav.php +++ b/build/integration/features/bootstrap/WebDav.php @@ -595,6 +595,23 @@ trait WebDav { ], null, "uploads"); } + /** + * @Then user :user moves new chunk file with id :id to :dest with size :size + */ + public function userMovesNewChunkFileWithIdToMychunkedfileWithSize($user, $id, $dest, $size) + { + $source = '/uploads/' . $user . '/' . $id . '/.file'; + $destination = substr($this->baseUrl, 0, -4) . $this->getDavFilesPath($user) . $dest; + + try { + $this->response = $this->makeDavRequest($user, 'MOVE', $source, [ + 'Destination' => $destination, + 'OC-Total-Length' => $size + ], null, "uploads"); + } catch(\GuzzleHttp\Exception\BadResponseException $ex) { + $this->response = $ex->getResponse(); + } + } /** * @Given /^Downloading file "([^"]*)" as "([^"]*)"$/ diff --git a/build/integration/features/webdav-related.feature b/build/integration/features/webdav-related.feature index b8ed1c4a778..77fe811fada 100644 --- a/build/integration/features/webdav-related.feature +++ b/build/integration/features/webdav-related.feature @@ -578,3 +578,23 @@ Feature: webdav-related And user "user0" created a folder "/testshare" When User "user0" moves folder "/testshare" to "/hola%5Chola" Then the HTTP status code should be "400" + + Scenario: Upload file via new chunking endpoint with wrong size header + Given using new dav path + And user "user0" exists + And user "user0" creates a new chunking upload with id "chunking-42" + And user "user0" uploads new chunk file "1" with "AAAAA" to id "chunking-42" + And user "user0" uploads new chunk file "2" with "BBBBB" to id "chunking-42" + And user "user0" uploads new chunk file "3" with "CCCCC" to id "chunking-42" + When user "user0" moves new chunk file with id "chunking-42" to "/myChunkedFile.txt" with size 5 + Then the HTTP status code should be "400" + + Scenario: Upload file via new chunking endpoint with correct size header + Given using new dav path + And user "user0" exists + And user "user0" creates a new chunking upload with id "chunking-42" + And user "user0" uploads new chunk file "1" with "AAAAA" to id "chunking-42" + And user "user0" uploads new chunk file "2" with "BBBBB" to id "chunking-42" + And user "user0" uploads new chunk file "3" with "CCCCC" to id "chunking-42" + When user "user0" moves new chunk file with id "chunking-42" to "/myChunkedFile.txt" with size 15 + Then the HTTP status code should be "201" -- cgit v1.2.3