Merge pull request #9578 from owncloud/backup-consistency-cli-test

[tests-only][full-ci]adding test for backup consistency cli command
This commit is contained in:
Sawjan Gurung
2024-07-11 15:25:52 +05:45
committed by GitHub
4 changed files with 59 additions and 0 deletions
+2
View File
@@ -397,6 +397,8 @@ default:
contexts:
- FeatureContext: *common_feature_context_params
- CliContext:
- OcisConfigContext:
- SharingNgContext:
extensions:
rdx\behatvars\BehatVariablesExtension: ~
@@ -89,6 +89,20 @@ class CliContext implements Context {
$this->featureContext->updateUserPassword($user, $password);
}
/**
* @When the administrator checks the backup consistency using the CLI
*
* @return void
*/
public function theAdministratorChecksTheBackupConsistencyUsingTheCli():void {
$path = $this->featureContext->getStorageUsersRoot();
$command = "backup consistency -p $path";
$body = [
"command" => $command
];
$this->featureContext->setResponse(CliHelper::runCommand($body));
}
/**
* @Then the command should be successful
*
@@ -115,6 +129,7 @@ class CliContext implements Context {
public function theCommandOutputShouldContain(string $shouldOrNot, string $output): void {
$response = $this->featureContext->getResponse();
$jsonResponse = $this->featureContext->getJsonDecodedResponse($response);
$output = $this->featureContext->substituteInLineCodes($output);
if ($shouldOrNot === "should") {
Assert::assertStringContainsString($output, $jsonResponse["message"]);
@@ -794,6 +794,14 @@ class FeatureContext extends BehatVariablesContext {
return $this->baseUrl;
}
/**
* @return string
*/
public function getStorageUsersRoot(): string {
$ocisDataPath = getenv("OCIS_BASE_DATA_PATH") ? getenv("OCIS_BASE_DATA_PATH") : getenv("HOME") . '/.ocis';
return getenv("STORAGE_USERS_OCIS_ROOT") ? getenv("STORAGE_USERS_OCIS_ROOT") : $ocisDataPath . "/storage/users";
}
/**
* returns the path of the base URL
* e.g. owncloud-core/10 if the baseUrl is http://localhost/owncloud-core/10
@@ -2072,6 +2080,14 @@ class FeatureContext extends BehatVariablesContext {
],
"parameter" => []
],
[
"code" => "%storage_path%",
"function" => [
$this,
"getStorageUsersRoot"
],
"parameter" => []
],
[
"code" => "%base_url_without_scheme%",
"function" => [
@@ -0,0 +1,26 @@
@env-config
Feature: backup consistency
As a user
I want to check my data for inconsistencies
So that I can backup my data
Scenario: check backup consistency via CLI command
Given these users have been created with default attributes and without skeleton files:
| username |
| Alice |
| Brian |
| Carol |
And user "Alice" has created folder "/uploadFolder"
And user "Carol" has created folder "/uploadFolder"
And user "Alice" has sent the following resource share invitation:
| resource | uploadFolder |
| space | Personal |
| sharee | Brian |
| shareType | user |
| permissionsRole | Editor |
And user "Carol" has deleted file "/uploadFolder"
And the administrator has stopped the server
When the administrator checks the backup consistency using the CLI
Then the command should be successful
And the command output should contain "💚 No inconsistency found. The backup in '%storage_path%' seems to be valid."