mirror of
https://github.com/opencloud-eu/opencloud.git
synced 2026-05-01 16:30:02 -05:00
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:
@@ -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."
|
||||
Reference in New Issue
Block a user