Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[tests-only][full-ci] Add tests for version disable config #10170

Merged
merged 1 commit into from
Oct 22, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
47 changes: 37 additions & 10 deletions tests/acceptance/bootstrap/FilesVersionsContext.php
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,25 @@
*/
class FilesVersionsContext implements Context {
private FeatureContext $featureContext;
private SpacesContext $spacesContext;

/**
* This will run before EVERY scenario.
* It will set the properties for this object.
*
* @BeforeScenario
*
* @param BeforeScenarioScope $scope
*
* @return void
*/
public function before(BeforeScenarioScope $scope):void {
// Get the environment
$environment = $scope->getEnvironment();
// Get all the contexts you need in this context
$this->featureContext = BehatHelper::getContext($scope, $environment, 'FeatureContext');
$this->spacesContext = BehatHelper::getContext($scope, $environment, 'SpacesContext');
}

/**
* @When user :user tries to get versions of file :file from :fileOwner
Expand Down Expand Up @@ -547,19 +566,27 @@ public function listVersionFolder(
}

/**
* This will run before EVERY scenario.
* It will set the properties for this object.
*
* @BeforeScenario
* @When user :user gets the number of versions of file :file from space :space
* @When user :user tries to get the number of versions of file :file from space :space
*
* @param BeforeScenarioScope $scope
* @param string $user
* @param string $file
* @param string $space
*
* @return void
*/
public function before(BeforeScenarioScope $scope):void {
// Get the environment
$environment = $scope->getEnvironment();
// Get all the contexts you need in this context
$this->featureContext = BehatHelper::getContext($scope, $environment, 'FeatureContext');
public function userGetsTheNumberOfVersionsOfFileFromSpace(string $user, string $file, string $space): void {
$fileId = $this->spacesContext->getFileId($user, $space, $file);
$this->featureContext->setResponse(
$this->featureContext->makeDavRequest(
$user,
"PROPFIND",
$fileId,
null,
null,
null,
"versions"
)
);
}
}
1 change: 1 addition & 0 deletions tests/acceptance/config/behat.yml
Original file line number Diff line number Diff line change
Expand Up @@ -615,6 +615,7 @@ default:
- WebDavPropertiesContext:
- TrashbinContext:
- SharingNgContext:
- OcisConfigContext:

coreApiWebdavDelete:
paths:
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
Feature: checking file versions using file id
As a user
I want to share file outside of the space
So that other users can access the file
I want the versions of files to be available
So that I can manage the changes made to the files

Background:
Given these users have been created with default attributes and without skeleton files:
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,83 @@
@env-config @skipOnReva
Feature: checking file versions
As a user
I want the versions of files to be available
So that I can manage the changes made to the files

Background:
Given these users have been created with default attributes and without skeleton files:
| username |
| Alice |
| Brian |
And using spaces DAV path


Scenario: check version number of a file when versioning is disabled
Given the config "OCIS_DISABLE_VERSIONING" has been set to "true"
And user "Alice" has uploaded file with content "test file version 1" to "/testfile.txt"
And user "Alice" has uploaded file with content "test file version 2" to "/testfile.txt"
When user "Alice" gets the number of versions of file "/testfile.txt"
Then the HTTP status code should be "207"
And the number of versions should be "0"


Scenario: file version number should not be added after disabling versioning
Given user "Alice" has uploaded file with content "test file version 1" to "/testfile.txt"
And user "Alice" has uploaded file with content "test file version 2" to "/testfile.txt"
And the config "OCIS_DISABLE_VERSIONING" has been set to "true"
And user "Alice" has uploaded file with content "test file version 3" to "/testfile.txt"
And user "Alice" has uploaded file with content "test file version 4" to "/testfile.txt"
When user "Alice" gets the number of versions of file "/testfile.txt"
Then the HTTP status code should be "207"
And the number of versions should be "1"


Scenario Outline: sharee tries to check version number of a file shared from project space when versioning is disabled
Given the config "OCIS_DISABLE_VERSIONING" has been set to "true"
And the administrator has assigned the role "Space Admin" to user "Alice" using the Graph API
And user "Alice" has created a space "Project1" with the default quota using the Graph API
And user "Alice" has uploaded a file inside space "Project1" with content "hello world version 1" to "text.txt"
And user "Alice" has uploaded a file inside space "Project1" with content "hello world version 1.1" to "text.txt"
And user "Alice" has sent the following resource share invitation:
| resource | text.txt |
| space | Project1 |
| sharee | Brian |
| shareType | user |
| permissionsRole | <role> |
And user "Brian" has a share "text.txt" synced
When user "Brian" tries to get the number of versions of file "/text.txt" from space "Shares"
Then the HTTP status code should be "403"
Examples:
| role |
| File Editor |
| Viewer |


Scenario Outline: sharee tries to check version number of a file shared from personal space when versioning is disabled
Given the config "OCIS_DISABLE_VERSIONING" has been set to "true"
And user "Alice" has uploaded file with content "test file version 2" to "/text.txt"
And user "Alice" has sent the following resource share invitation:
| resource | text.txt |
| space | Personal |
| sharee | Brian |
| shareType | user |
| permissionsRole | <permissionsRole> |
And user "Brian" has a share "text.txt" synced
When user "Brian" tries to get the number of versions of file "/text.txt" from space "Shares"
Then the HTTP status code should be "403"
Examples:
| permissionsRole |
| File Editor |
| Viewer |


Scenario: check file version number after disabling versioning, creating versions and then enabling versioning
Given the config "OCIS_DISABLE_VERSIONING" has been set to "true"
And user "Alice" has uploaded file with content "test file version 1" to "/testfile.txt"
And user "Alice" has uploaded file with content "test file version 2" to "/testfile.txt"
And the config "OCIS_DISABLE_VERSIONING" has been set to "false"
And user "Alice" has uploaded file with content "test file version 3" to "/testfile.txt"
And user "Alice" has uploaded file with content "test file version 4" to "/testfile.txt"
When user "Alice" gets the number of versions of file "/testfile.txt"
Then the HTTP status code should be "207"
And the number of versions should be "2"