175 lines
12 KiB
Gherkin
175 lines
12 KiB
Gherkin
@skipOnLinux
|
|
Feature: VFS support
|
|
As a user
|
|
I want to sync files with vfs
|
|
So that I can decide which files to download
|
|
|
|
|
|
Scenario: Default VFS sync
|
|
Given user "Alice" has been created in the server with default attributes
|
|
And user "Alice" has uploaded file with content "openCloud" to "testFile.txt" in the server
|
|
And user "Alice" has created folder "parent" in the server
|
|
And user "Alice" has uploaded file with content "some contents" to "parent/lorem.txt" in the server
|
|
And user "Alice" has set up a client with default settings
|
|
Then the placeholder file "testFile.txt" should exist on the file system
|
|
And the placeholder file "parent/lorem.txt" should exist on the file system
|
|
When user "Alice" reads the content of file "parent/lorem.txt"
|
|
Then the file "parent/lorem.txt" should be downloaded
|
|
And the placeholder file "testFile.txt" should exist on the file system
|
|
|
|
|
|
Scenario: Copy placeholder file
|
|
Given user "Alice" has been created in the server with default attributes
|
|
And user "Alice" has uploaded file with content "sample file" to "sampleFile.txt" in the server
|
|
And user "Alice" has uploaded file with content "lorem file" to "lorem.txt" in the server
|
|
And user "Alice" has uploaded file with content "test file" to "testFile.txt" in the server
|
|
And user "Alice" has created folder "Folder" in the server
|
|
And user "Alice" has set up a client with default settings
|
|
Then the placeholder file "lorem.txt" should exist on the file system
|
|
And the placeholder file "sampleFile.txt" should exist on the file system
|
|
And the placeholder file "testFile.txt" should exist on the file system
|
|
When user "Alice" copies file "sampleFile.txt" to temp folder
|
|
And the user copies file "lorem.txt" into folder "Folder"
|
|
And the user copies file "testFile.txt" into the same directory
|
|
And the user waits for file "Folder/lorem.txt" to be synced
|
|
Then the file "sampleFile.txt" should be downloaded
|
|
And the file "Folder/lorem.txt" should be downloaded
|
|
And the file "lorem.txt" should be downloaded
|
|
And the file "testFile.txt" should be downloaded
|
|
And the file "testFile (Copy).txt" should be downloaded
|
|
And as "Alice" file "Folder/lorem.txt" should exist in the server
|
|
And as "Alice" file "lorem.txt" should exist in the server
|
|
And as "Alice" file "sampleFile.txt" should exist in the server
|
|
And as "Alice" file "testFile.txt" should exist in the server
|
|
And as "Alice" file "testFile (Copy).txt" should exist in the server
|
|
|
|
|
|
Scenario: Move placeholder file
|
|
Given user "Alice" has been created in the server with default attributes
|
|
And user "Alice" has uploaded file with content "lorem file" to "lorem.txt" in the server
|
|
And user "Alice" has uploaded file with content "some contents" to "sampleFile.txt" in the server
|
|
And user "Alice" has created folder "Folder" in the server
|
|
And user "Alice" has set up a client with default settings
|
|
When user "Alice" moves file "lorem.txt" to "Folder" in the sync folder
|
|
And user "Alice" moves file "sampleFile.txt" to the temp folder
|
|
And the user waits for file "Folder/lorem.txt" to be synced
|
|
Then the placeholder file "Folder/lorem.txt" should exist on the file system
|
|
And as "Alice" file "Folder/lorem.txt" should exist in the server
|
|
And as "Alice" file "lorem.txt" should not exist in the server
|
|
And as "Alice" file "sampleFile.txt" should not exist in the server
|
|
|
|
|
|
Scenario: Hydration and dehydration of files via file explorer
|
|
Given user "Alice" has been created in the server with default attributes
|
|
And user "Alice" has uploaded file with content "test content" to "testFile.txt" in the server
|
|
And user "Alice" has uploaded file with content "test content" to "simple.txt" in the server
|
|
And user "Alice" has uploaded file with content "test content" to "large.txt" in the server
|
|
And user "Alice" has created folder "parent" in the server
|
|
And user "Alice" has uploaded file with content "test content" to "parent/lorem.txt" in the server
|
|
And user "Alice" has uploaded file with content "test content" to "parent/epsum.txt" in the server
|
|
And user "Alice" has set up a client with default settings
|
|
Then the placeholder file "testFile.txt" should exist on the file system
|
|
And the placeholder file "simple.txt" should exist on the file system
|
|
And the placeholder file "large.txt" should exist on the file system
|
|
And the placeholder file "parent/lorem.txt" should exist on the file system
|
|
And the placeholder file "parent/epsum.txt" should exist on the file system
|
|
|
|
# Hydrate some files by reading the content
|
|
When user "Alice" reads the content of file "testFile.txt"
|
|
And user "Alice" reads the content of file "parent/lorem.txt"
|
|
Then the file "testFile.txt" should be downloaded
|
|
And the file "parent/lorem.txt" should be downloaded
|
|
And the placeholder file "parent/epsum.txt" should exist on the file system
|
|
|
|
# mark files "Always keep on this device"
|
|
When user "Alice" marks file "testFile.txt" as "Always keep on this device" from the file explorer
|
|
And the user waits for file "testFile.txt" to be synced
|
|
Then the file "testFile.txt" should be downloaded
|
|
When user "Alice" marks file "simple.txt" as "Always keep on this device" from the file explorer
|
|
And the user waits for file "simple.txt" to be synced
|
|
Then the file "simple.txt" should be downloaded
|
|
And the placeholder file "large.txt" should exist on the file system
|
|
|
|
# mark files "Free up space"
|
|
When user "Alice" marks file "testFile.txt" as "Free up space" from the file explorer
|
|
And the user waits for file "testFile.txt" to be synced
|
|
Then the placeholder file "testFile.txt" should exist on the file system
|
|
When user "Alice" marks file "parent/lorem.txt" as "Free up space" from the file explorer
|
|
And the user waits for file "parent/lorem.txt" to be synced
|
|
Then the placeholder file "parent/lorem.txt" should exist on the file system
|
|
When user "Alice" marks file "simple.txt" as "Free up space" from the file explorer
|
|
And the user waits for file "simple.txt" to be synced
|
|
Then the placeholder file "simple.txt" should exist on the file system
|
|
|
|
|
|
Scenario: Hydration and dehydration of folders via file explorer
|
|
Given user "Alice" has been created in the server with default attributes
|
|
And user "Alice" has created folder "testFol" in the server
|
|
And user "Alice" has created folder "nested" in the server
|
|
And user "Alice" has created folder "nested/subfol1" in the server
|
|
And user "Alice" has created folder "nested/subfol1/subfol2" in the server
|
|
And user "Alice" has created folder "nested/subfol1/subfol2/subfol3" in the server
|
|
And user "Alice" has created folder "nested/subfol1/subfol2/subfol3/subfol4" in the server
|
|
And user "Alice" has uploaded file with content "test content" to "simple.txt" in the server
|
|
And user "Alice" has uploaded file with content "some contents" to "nested/lorem.txt" in the server
|
|
And user "Alice" has uploaded file with content "some contents" to "nested/subfol1/subfile1.txt" in the server
|
|
And user "Alice" has uploaded file with content "some contents" to "nested/subfol1/subfol2/subfile2.txt" in the server
|
|
And user "Alice" has uploaded file with content "some contents" to "nested/subfol1/subfol2/subfol3/subfile3.txt" in the server
|
|
And user "Alice" has uploaded file with content "some contents" to "nested/subfol1/subfol2/subfol3/subfol4/subfile4.txt" in the server
|
|
And user "Alice" has set up a client with default settings
|
|
Then the placeholder file "simple.txt" should exist on the file system
|
|
And the placeholder file "nested/lorem.txt" should exist on the file system
|
|
And the placeholder file "nested/subfol1/subfol2/subfol3/subfol4/subfile4.txt" should exist on the file system
|
|
|
|
# mark sub folder as "Always keep on this device"
|
|
When user "Alice" reads the content of file "nested/subfol1/subfol2/subfile2.txt"
|
|
And user "Alice" marks folder "nested/subfol1" as "Always keep on this device" from the file explorer
|
|
And the user waits for folder "nested/subfol1" to be synced
|
|
Then the file "nested/subfol1/subfile1.txt" should be downloaded
|
|
And the file "nested/subfol1/subfol2/subfile2.txt" should be downloaded
|
|
And the file "nested/subfol1/subfol2/subfol3/subfile3.txt" should be downloaded
|
|
And the file "nested/subfol1/subfol2/subfol3/subfol4/subfile4.txt" should be downloaded
|
|
And the placeholder file "nested/lorem.txt" should exist on the file system
|
|
|
|
# create local files and folders in "Always keep on this device" folder
|
|
When user "Alice" creates a folder "nested/subfol1/subfol2/localFol" inside the sync folder
|
|
And user "Alice" creates a file "nested/subfol1/subfol2/local.txt" with the following content inside the sync folder
|
|
"""
|
|
local file
|
|
"""
|
|
And the user waits for folder "nested/subfol1/subfol2/localFol" to be synced
|
|
And the user waits for file "nested/subfol1/subfol2/local.txt" to be synced
|
|
Then the file "nested/subfol1/subfol2/local.txt" should be downloaded
|
|
|
|
# create local files and folders in "Free up space" folder
|
|
When user "Alice" creates a folder "nested/localFol" inside the sync folder
|
|
And user "Alice" creates a file "nested/local.txt" with the following content inside the sync folder
|
|
"""
|
|
local file
|
|
"""
|
|
And the user waits for folder "nested/localFol" to be synced
|
|
And the user waits for file "nested/local.txt" to be synced
|
|
Then the file "nested/local.txt" should be downloaded
|
|
|
|
# upload files to "Always keep on this device" folder in the server
|
|
When user "Alice" uploads file with content "server content" to "nested/subfol1/subfol2/localFol/fromServer.txt" in the server
|
|
And the user waits for file "nested/subfol1/subfol2/localFol/fromServer.txt" to be synced
|
|
Then the file "nested/subfol1/subfol2/localFol/fromServer.txt" should be downloaded
|
|
|
|
# upload files to "Free up space" folder in the server
|
|
When user "Alice" uploads file with content "server content" to "nested/fromServer.txt" in the server
|
|
And user "Alice" uploads file with content "server content" to "nested/localFol/fromServer.txt" in the server
|
|
And the user waits for file "nested/localFol/fromServer.txt" to be synced
|
|
Then the placeholder file "nested/fromServer.txt" should exist on the file system
|
|
And the placeholder file "nested/localFol/fromServer.txt" should exist on the file system
|
|
|
|
# mark sub folder as "Free up space"
|
|
When user "Alice" marks folder "nested/subfol1/subfol2" as "Free up space" from the file explorer
|
|
And the user waits for folder "nested/subfol1/subfol2" to be synced
|
|
Then the placeholder file "nested/subfol1/subfol2/subfile2.txt" should exist on the file system
|
|
And the placeholder file "nested/subfol1/subfol2/local.txt" should exist on the file system
|
|
And the placeholder file "nested/subfol1/subfol2/localFol/fromServer.txt" should exist on the file system
|
|
And the placeholder file "nested/subfol1/subfol2/subfol3/subfile3.txt" should exist on the file system
|
|
And the placeholder file "nested/subfol1/subfol2/subfol3/subfol4/subfile4.txt" should exist on the file system
|
|
And the file "nested/subfol1/subfile1.txt" should be downloaded
|