Skip to content

Commit

Permalink
cli test for delete empty trash bin directory
Browse files Browse the repository at this point in the history
  • Loading branch information
S-Panta committed Jul 24, 2024
1 parent ad0e8a6 commit 0548adc
Show file tree
Hide file tree
Showing 4 changed files with 61 additions and 0 deletions.
1 change: 1 addition & 0 deletions tests/acceptance/config/behat.yml
Original file line number Diff line number Diff line change
Expand Up @@ -403,6 +403,7 @@ default:
- SharingNgContext:
- SearchContext:
- TagContext:
- TrashbinContext:

extensions:
rdx\behatvars\BehatVariablesExtension: ~
Expand Down
14 changes: 14 additions & 0 deletions tests/acceptance/features/bootstrap/CliContext.php
Original file line number Diff line number Diff line change
Expand Up @@ -92,6 +92,20 @@ public function theAdministratorResetsThePasswordOfUserUsingTheCLI(string $statu
$this->featureContext->updateUserPassword($user, $password);
}

/**
* @When the administrator deletes the empty trashbin folders using the CLI
*
* @return void
*/
public function theAdministratorDeletesEmptyTrashbinFoldersUsingTheCli():void {
$path = $this->featureContext->getStorageUsersRoot();
$command = "trash purge-empty-dirs -p $path --dry-run=false";
$body = [
"command" => $command
];
$this->featureContext->setResponse(CliHelper::runCommand($body));
}

/**
* @When the administrator checks the backup consistency using the CLI
*
Expand Down
22 changes: 22 additions & 0 deletions tests/acceptance/features/bootstrap/TrashbinContext.php
Original file line number Diff line number Diff line change
Expand Up @@ -671,6 +671,28 @@ public function deleteFileFromTrashbin(string $user, string $originalPath):void
$this->featureContext->pushToLastStatusCodesArrays();
}

/**
* @Given /^user "([^"]*)" has deleted the (?:file|folder|entry) with original path "([^"]*)" from the trashbin$/
*
* @param string $user
* @param string $originalPath
*
* @return void
* @throws Exception
*/
public function userHasDeletedTheFolderWithOriginalPathFromTheTrashbinUsingTheTrashbinApi(string $user, string $originalPath) {
$responseArray = $this->tryToDeleteFileFromTrashbin($user, $originalPath);
$numItemDeleted = \count($responseArray);
Assert::assertEquals(
1,
$numItemDeleted,
"Expected to delete exactly one item from the trashbin but $numItemDeleted were deleted"
);
foreach ($responseArray as $response) {
$this->featureContext->theHTTPStatusCodeShouldBe(204, '', $response);
}
}

/**
* @When /^user "([^"]*)" deletes the following (?:files|folders|entries) with original path from the trashbin$/
*
Expand Down
24 changes: 24 additions & 0 deletions tests/acceptance/features/cliCommands/cleanupEmptyTrashBin.feature
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
@env-config
Feature: delete empty trash bin folder via CLI command


Scenario: delete empty trashbin folders
Given the user "Admin" has created a new user with the following attributes:
| userName | Alice |
| displayName | Alice Hansen |
| password | %alt1% |
And user "Alice" has created the following folders
| path |
| folder-to-delete |
| folder-to-restore |
And user "Alice" has uploaded file with content "test file" to "testfile.txt"
And user "Alice" has deleted the following resources
| path |
| folder-to-delete |
| folder-to-restore |
| testfile.txt |
And user "Alice" has restored the folder with original path "folder-to-restore"
And user "Alice" has deleted the folder with original path "folder-to-delete" from the trashbin
And the administrator has stopped the server
When the administrator deletes the empty trashbin folders using the CLI
Then the command should be successful

0 comments on commit 0548adc

Please sign in to comment.