diff options
author | Roeland Jago Douma <roeland@famdouma.nl> | 2016-12-02 10:43:11 +0100 |
---|---|---|
committer | Roeland Jago Douma <roeland@famdouma.nl> | 2016-12-02 13:17:53 +0100 |
commit | 4630ff536ea433d2e81ebe18b04f202bbe6b89ea (patch) | |
tree | 06cc7d9e95d6141379e786b94ffd5e558ca848e6 /build/integration/features | |
parent | 1f387ad1e6f8f0a14a63bb0c9734c305b1d6ced1 (diff) | |
download | nextcloud-server-4630ff536ea433d2e81ebe18b04f202bbe6b89ea.tar.gz nextcloud-server-4630ff536ea433d2e81ebe18b04f202bbe6b89ea.zip |
Add intergration tests
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
Diffstat (limited to 'build/integration/features')
-rw-r--r-- | build/integration/features/bootstrap/FilesDropContext.php | 72 |
1 files changed, 72 insertions, 0 deletions
diff --git a/build/integration/features/bootstrap/FilesDropContext.php b/build/integration/features/bootstrap/FilesDropContext.php new file mode 100644 index 00000000000..760d76ac5e5 --- /dev/null +++ b/build/integration/features/bootstrap/FilesDropContext.php @@ -0,0 +1,72 @@ +<?php + +use Behat\Behat\Context\Context; +use Behat\Behat\Context\SnippetAcceptingContext; +use Behat\Behat\Tester\Exception\PendingException; +use GuzzleHttp\Client; + +require __DIR__ . '/../../vendor/autoload.php'; + +class FilesDropContext implements Context, SnippetAcceptingContext { + use WebDav; + + /** + * @When Dropping file :path with :content + */ + public function droppingFileWith($path, $content) { + $client = new Client(); + $options = []; + if (count($this->lastShareData->data->element) > 0){ + $token = $this->lastShareData->data[0]->token; + } else { + $token = $this->lastShareData->data[0]->token; + } + + $base = substr($this->baseUrl, 0, -4); + $fullUrl = $base . '/public.php/webdav' . $path; + + $options['auth'] = [$token, '']; + $options['headers'] = [ + 'X-REQUESTED-WITH' => 'XMLHttpRequest' + ]; + + $request = $client->createRequest('PUT', $fullUrl, $options); + $file = \GuzzleHttp\Stream\Stream::factory($content); + $request->setBody($file); + + try { + $this->response = $client->send($request); + } catch (\GuzzleHttp\Exception\ClientException $e) { + $this->response = $e->getResponse(); + } + } + + /** + * @When Creating folder :folder in drop + */ + public function creatingFolderInDrop($folder) { + $client = new Client(); + $options = []; + if (count($this->lastShareData->data->element) > 0){ + $token = $this->lastShareData->data[0]->token; + } else { + $token = $this->lastShareData->data[0]->token; + } + + $base = substr($this->baseUrl, 0, -4); + $fullUrl = $base . '/public.php/webdav/' . $folder; + + $options['auth'] = [$token, '']; + $options['headers'] = [ + 'X-REQUESTED-WITH' => 'XMLHttpRequest' + ]; + + $request = $client->createRequest('MKCOL', $fullUrl, $options); + + try { + $this->response = $client->send($request); + } catch (\GuzzleHttp\Exception\ClientException $e) { + $this->response = $e->getResponse(); + } + } +} |