Przeglądaj źródła

Added sabre dav in webdav, modified skeleton to have parent and child folders

tags/v9.0beta1
Sergio Bertolin 8 lat temu
rodzic
commit
b99bd7f4fc

+ 2
- 1
build/integration/composer.json Wyświetl plik

@@ -3,6 +3,7 @@
"phpunit/phpunit": "~4.6",
"behat/behat": "^3.0",
"guzzlehttp/guzzle": "~5.0",
"jarnaiz/behat-junit-formatter": "^1.3"
"jarnaiz/behat-junit-formatter": "^1.3",
"sabre/dav": "3.0.x-dev"
}
}

+ 18
- 0
build/integration/features/bootstrap/BasicStructure.php Wyświetl plik

@@ -152,6 +152,14 @@ trait BasicStructure{
if (!file_exists("../../core/skeleton/FOLDER")) {
mkdir("../../core/skeleton/FOLDER", 0777, true);
}
if (!file_exists("../../core/skeleton/PARENT")) {
mkdir("../../core/skeleton/PARENT", 0777, true);
}
file_put_contents("../../core/skeleton/PARENT/" . "parent.txt", "ownCloud test text file\n");
if (!file_exists("../../core/skeleton/PARENT/CHILD")) {
mkdir("../../core/skeleton/PARENT/CHILD", 0777, true);
}
file_put_contents("../../core/skeleton/PARENT/CHILD/" . "child.txt", "ownCloud test text file\n");

}

@@ -165,6 +173,16 @@ trait BasicStructure{
if (is_dir("../../core/skeleton/FOLDER")) {
rmdir("../../core/skeleton/FOLDER");
}
self::removeFile("../../core/skeleton/PARENT/CHILD/", "child.txt");
if (is_dir("../../core/skeleton/PARENT/CHILD")) {
rmdir("../../core/skeleton/PARENT/CHILD");
}
self::removeFile("../../core/skeleton/PARENT/", "parent.txt");
if (is_dir("../../core/skeleton/PARENT")) {
rmdir("../../core/skeleton/PARENT");
}


}
}


+ 45
- 5
build/integration/features/bootstrap/WebDav.php Wyświetl plik

@@ -2,8 +2,9 @@

use Behat\Behat\Context\Context;
use Behat\Behat\Context\SnippetAcceptingContext;
use GuzzleHttp\Client;
use GuzzleHttp\Client as GClient;
use GuzzleHttp\Message\ResponseInterface;
use Sabre\DAV\Client as SClient;

require __DIR__ . '/../../vendor/autoload.php';

@@ -22,7 +23,7 @@ trait WebDav{

public function makeDavRequest($user, $method, $path, $headers){
$fullUrl = substr($this->baseUrl, 0, -4) . $this->davPath . "$path";
$client = new Client();
$client = new GClient();
$options = [];
if ($user === 'admin') {
$options['auth'] = $this->adminUser;
@@ -30,10 +31,11 @@ trait WebDav{
$options['auth'] = [$user, $this->regularUser];
}
$request = $client->createRequest($method, $fullUrl, $options);
foreach ($headers as $key => $value) {
$request->addHeader($key, $value);
if (!is_null($headers)){
foreach ($headers as $key => $value) {
$request->addHeader($key, $value);
}
}
//$this->response = $client->send($request);
return $client->send($request);
}

@@ -56,5 +58,43 @@ trait WebDav{
$this->response = $this->makeDavRequest($user, "MOVE", $fileSource, $headers);
}

public function listFolder($user, $path){
$fullUrl = substr($this->baseUrl, 0, -4);

$settings = array(
'baseUri' => $fullUrl,
'userName' => $user,
);

echo "password del admin: " . $this->adminUser[1] . "\n";
echo "fullUrl: " . $fullUrl . "\n";

if ($user === 'admin') {
$settings['password'] = $this->adminUser[1];
} else {
$settings['password'] = $this->regularUser;
}

$client = new SClient($settings);

$response = $client->propfind($this->davPath . "/", array(
'{DAV:}displayname',
));

print_r($response);
/*$features = $client->options();

print_r($features);*/
//return $this->response->xml();
}

/**
* @Then /^user "([^"]*)" should see following folders$/
*/
public function checkList($user){
$this->listFolder($user, '/');
}

}


+ 12
- 0
build/integration/features/sharing-v1.feature Wyświetl plik

@@ -363,6 +363,18 @@ Feature: sharing
Then the OCS status code should be "404"
And the HTTP status code should be "200"

Scenario: Share of folder and sub-folder to same user - core#20645
Given As an "admin"
And user "user0" exists
And user "user1" exists
And group "group0" exists
And user "user1" belongs to group "group0"
And file "/PARENT" from user "user0" is shared with user "user1"
When file "/PARENT/CHILD" from user "user0" is shared with group "group0"
And As an "admin"
Then user "user1" should see following folders
And the HTTP status code should be "200"

Scenario: Delete all group shares
Given As an "admin"
And user "user0" exists

Ładowanie…
Anuluj
Zapisz