storage-provider-webdav
Test plan for component: storage-provider-webdav
Component Checklist: <backlink to your component checklist>
Trunk URL: lp:storage-provider-webdav
Ubuntu Package URL (LP): https://launchpad.net/ubuntu/+source/storage-provider-webdav
Dependents/Clients
Preparation
To run this test plan, start with a clean system (e.g. a virtual machine) running either Xenial with stable-phone-overlay enabled (i.e. ppa:ci-train-ppa-service/stable-phone-overlay), or the current development version of Ubuntu. While the software under test is primarily non-graphical, it depends on the D-Bus session bus so needs to be run from a normal login session (it shouldn't matter whether it is Unity 7 or 8).
Set up NextCloud
This step can be skipped if you've already got a NextCloud or OwnCloud system set up. If you do use your own installation, ensure that it has a valid certificate if using TLS.
Install the NextCloud snap:
sudo snap install nextcloud
Open a web browser and direct it to http://localhost/ to bring up the NextCloud web interface.
- You will be prompted to pick an administrator account name and password.
- Once you've logged in, click your account name in the top right corner of the page and pick "Users" from the menu.
- Create a normal user account.
- Log out and then verify that you can log in as the normal user account.
Install the silo under testing
sudo add-apt-repository ppa:ci-train-ppa-service/$TICKET_ID sudo apt update
Ensure software and dependencies are installed
sudo apt install storage-provider-owncloud keeper keeper-cli \ ubuntu-app-launch ubuntu-system-settings
Test Plan
This test plan is not supposed to be complete; use it to guide your manual testing so they dont miss big functional areas that are part in the component; also this should be used as guideline to inspire the exploratory testing which should be adapted smartly based on the real content of a MP
Perform a Keeper Backup
- Configure an online account:
Run the Unity 8 System Settings app. If you are running the tests under Unity 7, it can be started by running system-settings from a terminal.
- Pick "Accounts", "Add Account...", then "ownCloud".
Enter the details for your unprivileged ownCloud/nextcloud account. Use http://localhost/ as the URL (or whatever the URL of your personal instance is).
- Select the newly created account, and ensure that the storage provider has been granted access to the account.
- Check that the account is visible to Keeper via its command line tool:
/usr/lib/x86_64-linux-gnu/keeper/keeper list-storage-configs
This should print out something like storage-provider-owncloud:user@localhost. If it doesn't print anything, there is a problem with the account configuration.
Copy some files to ~/Music and ~/Videos.
- Start a backup with keeper:
/usr/lib/x86_64-linux-gnu/keeper/keeper backup --sections=Music,Videos
After the backup has completed, open the NextCloud/OwnCloud web interface and check that the backup has been uploaded.
Alternative test: Direct D-Bus access
This test doesn't exercise any additional code paths over the above Keeper tests. So if they pass, these extra tests can be skipped. They are primarily here to help narrow down problems if the full stack test fails.
- Configure an online account as described in (1) from the above test plan.
- Verify that the account is visible to the to the storage-framework registry:
gdbus call --session \ --dest com.canonical.StorageFramework.Registry \ --object-path /com/canonical/StorageFramework/Registry \ --method com.canonical.StorageFramework.Registry.ListAccounts
([('com.canonical.StorageFramework.Provider.OwnCloud', objectpath '/provider/1', uint32 1, 'storage-provider-owncloud', 'user@localhost', 'ownCloud', ''), ('com.canonical.StorageFramework.Provider.Local', '/provider/0', 0, '', 'james', 'Local Provider', '')],)
Take note of the object path for the OwnCloud account (shown as /provider/1 above). The account number may be different, so is referred to as /provider/$ID below.
- Retrieve the list of root folders of the account:
gdbus call --session \ --dest com.canonical.StorageFramework.Provider.OwnCloud \ --object-path /provider/$ID \ --method com.canonical.StorageFramework.Provider.Roots '[]'
([('.', @as [], 'Root', '"58d8bc0d3f5be"', 2, {'last_modified_time': <'2017-03-27T07:15:25Z'>})],)
- List the contents of the root folder:
gdbus call --session \ --dest com.canonical.StorageFramework.Provider.OwnCloud \ --object-path /provider/$ID \ --method com.canonical.StorageFramework.Provider.List '.' '' '[]'
([('Documents/', ['.'], 'Documents', '"58d8bc0ca3c10"', 1, {'last_modified_time': <'2017-03-27T07:15:24Z'>}), ('Nextcloud%20Manual.pdf', ['.'], 'Nextcloud Manual.pdf', '"4357ce3c77812f965f1dca90624313ac"', 0, {'last_modified_time': <'2017-03-27T07:15:24Z'>, 'size_in_bytes': <int64 4098507>}), ('Nextcloud.mp4', ['.'], 'Nextcloud.mp4', '"0ea6e35821b5ead8e4ebc94ea67aa63c"', 0, {'last_modified_time': <'2017-03-27T07:15:24Z'>, 'size_in_bytes': <int64 462413>}), ('Photos/', ['.'], 'Photos', '"58d8bc0d3f5be"', 1, {'last_modified_time': <'2017-03-27T07:15:25Z'>})], '')
Process/Merges/TestPlan/storage-provider-webdav (last edited 2017-03-28 04:39:04 by jamesh)