$this->response = $this->makeDavRequest($user, "MOVE", $fileSource, $headers);
}
- public function listFolder($user, $path){
+ /*Returns the elements of a propfind, $folderDepth requires 1 to see elements without children*/
+ public function listFolder($user, $path, $folderDepth){
$fullUrl = substr($this->baseUrl, 0, -4);
$settings = array(
'userName' => $user,
);
- echo "password del admin: " . $this->adminUser[1] . "\n";
- echo "fullUrl: " . $fullUrl . "\n";
-
if ($user === 'admin') {
$settings['password'] = $this->adminUser[1];
} else {
$client = new SClient($settings);
$response = $client->propfind($this->davPath . "/", array(
- '{DAV:}getetag',
- 1
- ));
-
- print_r($response);
- /*$features = $client->options();
+ '{DAV:}getetag'
+ ), $folderDepth);
- print_r($features);*/
- //return $this->response->xml();
+ return $response;
}
/**
- * @Then /^user "([^"]*)" should see following folders$/
+ * @Then /^user "([^"]*)" should see following elements$/
+ * @param \Behat\Gherkin\Node\TableNode|null $expectedElements
*/
- public function checkList($user){
- $this->listFolder($user, '/');
+ public function checkElementList($user, $expectedElements){
+ $elementList = $this->listFolder($user, '/', 2);
+ if ($expectedElements instanceof \Behat\Gherkin\Node\TableNode) {
+ $elementRows = $expectedElements->getRows();
+ $elementsSimplified = $this->simplifyArray($elementRows);
+ foreach($elementsSimplified as $expectedElement) {
+ $webdavPath = "/" . $this->davPath . $expectedElement;
+ if (!array_key_exists($webdavPath,$elementList)){
+ PHPUnit_Framework_Assert::fail("$webdavPath" . " is not in propfind answer");
+ }
+ }
+ }
}
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
+ Then user "user1" should see following elements
+ | /FOLDER/ |
+ | /PARENT/ |
+ | /CHILD/ |
+ | /PARENT/parent.txt |
+ | /CHILD/child.txt |
And the HTTP status code should be "200"
Scenario: Delete all group shares