You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Enter "Ligo" as search term. Confirm only LIGO tale displays (by K. Kowalik)
Clear search term. Confirm all tales display
View tale
Select "View" button on LIGO Tale
Confirm that Metadata page displays by default
Confirm that you cannot delete or edit Tale properties
Select Back button. Confirm that you are taken back to My Tales page
Select "View" button on Tale you own
Confirm that the Run and Close buttons are present
Confirm that you can edit Tale properties
Select "Close"
Confirm that you are taken back to "Public Tales"
FAIL: Interact page displayed by default, instead of Metadata
Currently, clicking on View leads to interact, while clicking the Tale's title will bring you to metadata. This is probably too obscure / confusing, so I can change these to point to metadata and match the test case.
Also noting that this is inconsistent with "Running Tales", where the two destinations are swapped. I think it definitely makes sense for this to be consistent across cards, at the very least.
Launch instance
Select "Run Tale" button on "Ligo" tale
Confirm you are prompted to Copy and Run
Select "Confirm"
Confirm that you are redirected to the Tale's "Metadata" page
Confirm that the "Edit" button is present
Select "Run Tale"
Confirm that the "Interact" page is displayed with spinner
Confirm that the notification dialog appears
Confirm that the step progression is correct
Confirm that the "View Logs" button shows the build logs in a modal
Navigate to the "My Tales" page
Confirm that the Tale is shown under "Currently Running"
Select "View" on the Tale card
Select "Stop" to end the Tale instance
Confirm that the Tale has stopped
Confirm that the button has changed to Run
Navigate to Browse
Confirm that there are no Tales under "Currently Running"
Select the "Run Tale" button on a Tale you own
After the instance is launched, navigate back to the Browse page
Try to delete the Tale (not instance)
Confirm you cannot select the delete button on the browse page
Confirm that the "Run Tale" button has been replaced with "Stop Tale"
Confirm that the Tale is shown at the top of the page under "Currently running"
FAIL: Redirected to Interact, instead of Metadata (likely due to previous test failure)
Noting that copyOnLaunch does redirect to the run view, but does not explicitly specify a tab. We can add a queryParam here to specify an explicit tab destination, if it would make sense. Interact seems like the sensible choice to me, since a user would only encounter copyOnLaunch when trying to actually Run the Tale, which for me is enough to indicate that a user wants to Interact with it.
Managing Data
Preconditions
Empty home directory
No registered data
Register General
Open an owned Tale
Open the data registration panel from the 'External Data' tab
Confirm list of providers matches list of supported providers (Globus, DataONE, Dataverse, Zenodo)
Register DataONE data
Open an owned Tale
Open the data registration panel from the 'External Data' tab
Confirm "Search for Data Sources" modal displays
Search for DOI 10.5065/D6862DM8
Confirm "Humans and Hydrology" dataset is found on DataONE.
Launch (Copy and Run) the Ligo Tale and wait for the instance to start
Confirm you are redirected to the Run page
Confirm that the Run panel displays the Tale icon, title, and author
Confirm that the Run page displays the Interact, Files, Metadata tabs
Select the "..." menu.
Confirm that menu options exist for "Rebuild Tale", "Restart Tale", "Save Tale Version", "Duplicate Tale", "Publish Tale", "Export Tale", "Connect to Git Repository..."
Confirm that the "View Fullscren" link displays the Run panel in full screen
TEST: latest now used, instead of stable
Interact tab
Select the "Interact" tab
Confirm Jupyter environment is displayed in iframe
Select "popout" icon. Confirm Jupyter is opened in new Tab
Files tab
Select "Files" tab
You should see a vertical navigation menu with three tabs: "Home", "External Data", and "Tale Workspace".
Metadata tab - Owned Tale
Open a Tale that you own
Navigate to the metadata page
Add multiple datasets that have DOIs to the Tale
Navigate to Run > Metadata
Valid environments should be listed in the Environment dropdown menu
Valid licenses should be listed in the License dropdown
Confirm that you see Created by <your_name> under Authors
Confirm that your Tale has the CC4 license assigned to it
Confirm that the Tale's Published Location reads This Tale has not been published
Confirm that there are citations for the external datasets
Click the "Edit" button to edit the metadata fields
Change the name of the Tale, Category, Description, Illustration, Public, License, and add multiple authors
Select Save. Confirm that you see a notification telling you that the Tale was saved.
Refresh the page. Your changes should be preserved between page refreshes, confirming that they are being properly persisted.
Confirm that the new Tale authors are displayed on the Tale card
TEST: Reorder test steps to reflect reality - e.g. need to click edit before seeing dropdowns, "Created By" no longer listed under authors (see whole-tale/ngx-dashboard#157), etc
Metadata tab - Non-Owned Tale
Open a Tale that you don't own
Navigate to the metadata page
Note that there isn't an 'Edit' button present
Home
Select Files > Home. Confirm that your home directory displays
Create a folder and upload a file to the folder
Confirm file operations:
Copy, rename, remove, download, Move To...
FAIL: Copy does not work properly if file is inside of a subfolder of Home folder (copy is placed in the root of the Home folder, UI state is mismatched and invalid)
FAIL: minor note that I still encounter whole-tale/ngx-dashboard#8
External data
Precondition: Register one or more Datasets (e.g. doi:10.18739/A29G5GD0V)
Confirm notification progress and success
Confirm "External Data" list is initially empty
Confirm (+) button ("Select Data modal") behavior
Confirm that "WT Data Catalog" shows all registered datasets
Confirm that "My External Data" filters to only show your registered datasets
Select a dataset
Confirm that clicking "Add Selected" adds the dataset to the "Selected Data" column
Confirm that "Remove Selected" data to dissociate it with a Tale
Using the dataset above, add the dataset to the Tale, by clicking "Save"
Confirm that the Tale's "External Data" list matches what was saved
Remove the dataset from the Tale
Confirm "External Data" list matches what was saved
Select a dataset but then click out of the modal or click "Cancel"
Confirm that the changes weren't saved
Workspaces
Confirm create folder
Confirm upload file
Select "+" button has options "New folder", "Upload file", Import Tale Data..."
Folder operations
Confirm context menu Copy, Rename, Download, Remove
Confirm rename folder
Confirm download folder (this should result in a zip file)
Confirm remove folder
File operations
Upload a file
Confirm context menu Copy, Rename, Download, Remove
Confirm rename folder
Confirm download file
Confirm remove file
Select "Select Data..."
Note vertical navigation with Tale Workspaces
Copy to Workspace from another workspace
Move to workspace from another workspace
FAIL: Copy folder fails with a 500: {"message": "Folder 'folder' already exists at /tmp/data/workspaces/5/5bdb63616141bc0001cc1b59/folder", "type": "girder"}
TEST: No test steps to exercise File/Folder "Move-To..."
FAIL: UI not automatically refreshed after "copy to workspace" or "move to workspace" completed
Files - Non-Owned Tale
Open a Tale that you don't have write permissions to
Attempt to add data to the workspace and external data
Note that the "+" icons are greyed out, preventing you from doing so
Export Tale
View a Tale that you own
Select "Export Tale" from Tale menu
Confirm that a download starts for the ZIP archive
Open the archive
Confirm bagit format and contents
Run the exported tale and confirm that it builds and runs as expected
FAIL: Export worked, but running locally appeared to hang and never finished:
Confirm there are empty settings for DataONE, Dataverse, and Zenodo
Connect to Zenodo
Click "Connect Account" in the Zenodo section
Confirm that the connection modal opens
Confirm that sandbox.zenodo.org and zenodo.org are listed
Enter your API key for one of the repositories
Click "Connect"
Confirm that you see "Authorized on "
Select disconnect, confirmation window should appear
Repeat test with invalid key, confirm error message appears
Repeat for each Zenodo server
Connect to Dataverse
Click "Connect Account" in the Dataverse section
Confirm that the connection modal opens
Enter your API key for one of the repositories
Click "Connect"
Confirm that you see "Authorized on "
Select disconnect, confirmation window should appear
Repeat test with invalid key, confirm error message appears
Repeat for each Dataverse server
FAIL: Unable to login/signup for demo.dataverse.org
FAIL: The following request timed out: POST https://girder.stage.wholetale.org/api/v1/account/dataverse/key?resource_server=dev2.dataverse.org&key=MY_REAL_API_KEY_VALUE&key_type=apikey:
{"message": "ConnectionError: ConnectionError(MaxRetryError(\"HTTPSConnectionPool(host='dev2.dataverse.org', port=443): Max retries exceeded with url: /api/users/token (Caused by NewConnectionError('<urllib3.connection.HTTPSConnection object at 0x7f8bcc566c40>: Failed to establish a new connection: [Errno 110] Connection timed out'))\"))", "trace": ["<FrameSummary file /girder/girder/api/rest.py, line 630 in endpointDecorator>", "<FrameSummary file /girder/girder/api/rest.py, line 1230 in POST>", "<FrameSummary file /girder/girder/api/rest.py, line 970 in handleRoute>", "<FrameSummary file /girder/girder/api/access.py, line 63 in wrapped>", "<FrameSummary file /girder/girder/api/describe.py, line 709 in wrapped>", "<FrameSummary file /girder/plugins/wholetale/server/rest/account.py, line 339 in addAccountKey>", "<FrameSummary file /girder/plugins/wholetale/server/lib/dataverse/auth.py, line 16 in verify>", "<FrameSummary file /girder/venv/lib/python3.9/site-packages/requests/api.py, line 76 in get>", "<FrameSummary file /girder/venv/lib/python3.9/site-packages/requests/api.py, line 61 in request>", "<FrameSummary file /girder/venv/lib/python3.9/site-packages/requests/sessions.py, line 542 in request>", "<FrameSummary file /girder/venv/lib/python3.9/site-packages/requests/sessions.py, line 655 in send>", "<FrameSummary file /girder/venv/lib/python3.9/site-packages/requests/adapters.py, line 516 in send>"], "type": "internal"}
Connect to DataONE
Click "Connect Account" under the DataONE repository
Confirm that you're redirected to the DataONE login
Log in with ORCID
Confirm that you're redirected back to Whole Tale
Confirm that you see "Authorized" under the DataONE server
Confirm that the "Connect Account" Button is disabled
Using Swagger UI, hit the /user/me endpoint to confirm tokens are still present
Tale Creation
Create RStudio Tale
Select the Create New Tale button on the 'Browse' page
Enter title "Test Tale"
Select on of the RStudio instances
Select "Create New Tale"
Confirm that you're brought to the 'Run' page and that the Tale isn't building
Click 'Run Tale'
Confirm notification dialog opens
Confirm that the build/launch steps are correct
Wait for the building to complete
Navigate to the Browse page
Confirm the Tale is shown under "Currently running"
TEST: There are two different RStudio images, so one is missing a test case
Tale failed to Build the first time, but worked when trying again
#4 sha256:c797c633effb523ebfce4b651d3e8cbdc155fdfee8bdc7f1658d9be0a63dca97 238.87MB / 444.78MB 23.3sHTTPError: 502 Server Error: Bad Gateway for url: https://girder.stage.wholetale.org/api/v1/job/6089dfee22bad715637ae558
File "/usr/local/lib/python3.8/dist-packages/celery/app/trace.py", line 412, in trace_task
R = retval = fun(*args, **kwargs)
File "/usr/local/lib/python3.8/dist-packages/girder_worker/task.py", line 148, in __call__
results = super(Task, self).__call__(*_t_args, **_t_kwargs)
File "/usr/local/lib/python3.8/dist-packages/celery/app/trace.py", line 704, in __protected_call__
return self.run(*args, **kwargs)
File "/gwvolman/gwvolman/tasks.py", line 433, in build_tale_image
ret = _build_image(
File "/gwvolman/gwvolman/utils.py", line 356, in _build_image
print(line.decode('utf-8').strip())
File "/usr/local/lib/python3.8/dist-packages/girder_worker/utils.py", line 158, in write
self._write_func(*args, **kwargs)
File "/usr/local/lib/python3.8/dist-packages/girder_worker/utils.py", line 259, in write
self._flush()
File "/usr/local/lib/python3.8/dist-packages/girder_worker/utils.py", line 237, in _flush
req.raise_for_status()
File "/usr/lib/python3/dist-packages/requests/models.py", line 940, in raise_for_status
raise HTTPError(http_error_msg, response=self)
Compose Jupyter Notebook Tale
TODO: Needs test case
This is my default env
Compose JupyterLab Tale
TODO: Needs test case
Tale built and ran successfully
Compose JupyterLab with Spark
TODO: Needs test case
It builds, I guess? I don't know anything about Spark, so not sure how to test this
Run example.ipynb, confirm outputs match example.html
FAIL: %help summarize hangs, everything else up to that and after appear to work properly
WARN: warning appears in example notebook towards the end
NOTE: A newer version of stata_kernel exists. Run
pip install stata_kernel --upgrade
to install the latest version.
Compose OpenRefine Tale
TODO: Needs test case
WARN: Newer version available
It builds and runs, I guess? I don't know anything about OpenRefine, so not sure how else to test this.. additional steps needed
Too many instances
Make sure you have two launched Tales
Attempt to create a Tale
Confirm that you receive an error that you have the max limit
Confirm that the Tale is created, but not the instance
Analyze in Whole Tale
Task 1: Importing a Dataset from Dataverse
These test cases cover potential situations that can occur when importing datasets from Dataverse.
Confirm that the Tale title reads as Replication Data for: "Agricultural Fires and Health at Birth"
Confirm that the only item in the Input data section matches the uri with Data Source appended
Confirm that no environment is selected
Confirm that the Create New Tale button is disabled
Select an environment
Confirm that READ/WRITE is selected
Click Create New Tale
Confirm notification progress and success
Confirm that you are redirected to the run page
Confirm that the Tale name matches the Tale Name in the Create Tale Modal
Confirm that the data exists under Tale Workspace
Confirm that the Tale's category is science
FAIL: Not automatically redirected
FAIL: Tale creation/import hangs at "Initializing..."
FAIL: Tale is automatically launched with AiWT cases (is this expected?)
Task 2: Importing a Dataset from DataONE
These test cases cover different scenarios that may happen when importing datasets from DataONE.
Case 1: Ideal Scenario:
This test covers the ideal case where dataset importing has all of the needed information
to properly run. This includes the dataset location, title, and selected environment.
Confirm that the Tale title reads as Fire influences on forest recovery and associated climate feedbacks in Siberian Larch Forests, Russia
Confirm that the only item in the Selected data section matches the uri with Data Source appended
Confirm that Rstudio is selected in the Environments widget
Confirm that the Create New Tale button is enabled
Confirm READ ONLY is selected
Click Create New Tale
Confirm that you are redirected to the run page
Confirm that the Tale name matches the Tale Name in the Create Tale Modal
Confirm that the data exists in the Tale under External Data
Confirm that the Tale's category is science
FAIL: Not automatically redirected
FAIL: Strange delay before Tale goes into Initializing...
FAIL: Tale creation/import hangs at "Initializing..."
WARN: Tale is automatically launched with AiWT cases (is this expected?)
Case 2: Testing Different DataONE Deployments
The Analyze in Whole Tale feature is deployed across a few DataONE test sites. This test ensures Whole Tale has the ability to import
data from each of them.
Confirm that the correct data exists in the Tale under External Data
WARN: No convenient way (via the UI) to abort while "starting" a Tale
FAIL: AiWT cases may no longer respect the instance limit:
Task 3: Shared Behavior
These cases show errors that are common between Dataverse and DataONE. Although they are tested using DataONE URIs, the errors should be the same when replacing it with a Dataverse URI.
Case 1: Missing Dataset Title Query Param:
This test covers the case where the name query parameter is missing. The expected behavior is
that the uri query parameter is used instead.
Confirm that the only item in the Selected data section matches the uri with Data Source appended
Confirm that the Create New Tale button is disabled
Select READ/WRITE
Click Create New Tale
Confirm that the notification bar appears & properly updates
Confirm that you are redirected to the run page
Confirm that the Tale name matches the Tale Name in the Create Tale Modal
Confirm that the data exists in the Tale Workspace
Tale metadata tests
The purpose of these tests are to confirm that the metadata files (manifest.json, environment.json, LICENSE) we generate are correct.
manifest.json
Launch a Tale that you own
Add a dataset to the Tale
Add at least one author
Add at least one file to the workspace
Export the Tale (as BagIt)
Open the manifest.json file under metadata/
Confirm that the author is listed under schema:author
Confirm that you are listed under createdBy
Confirm that the file(s) in the workspace are properly listed in aggregates
Confirm that the external dataset is referenced in aggregates
Confirm that the dataset is also listed under Datasets
FAIL: No "Datasets" section (but there is "wt:usesDataset"? are these the same?)
environment.json
Open the archive from the manifest.json test
Navigate to metadata/environment.json
Open the girder web API
Locate and GET the Image that the Tale used
Confirm that the config section from girder matches the config section in environment.json
LICENSE
Open the archive from the manifest.json test
Open the LICENSE file
Navigate to Run > metadata
Confirm that the opened LICENSE file matches the selected license on the metadata page
Change the Tale's license
Export the Tale
Confirm that the LICENSE changed appropriately
FAIL: LICENSE file in exported Tale always has CC 4.0 text, even after changing, saving, and re-exporting
Tale Sharing Tests
These tests are centered around the feature for sharing Tales with other Whole Tale
users. To run these tests, register at least one other account, referred to as User B.
Case 1: Sharing with 'Can View' permissions
Create a new Tale
Add data to the workspace and add at least one dataset
Navigate to the 'Share' tab
Share the Tale with User B
Confirm that the default permission is 'Can View'
Switch the account to User B
Navigate to the 'Shared with Me' tab on the Browse page
Confirm that you see the Tale from step 1
Confirm that you can't edit the Workspace, External Data, or metadata
Case 2: Sharing with 'Can Edit' permissions
Create a new Tale
Add data to the workspace and add at least one dataset
Navigate to the 'Share' tab
Share the Tale with User B
Set the permissions to 'Can Edit'
Switch the account to User B
Navigate to the 'Shared with Me' tab on the Browse page
Confirm that you see the Tale from step 1
Remove one of the files from the Workspace
Add a dataset to External Data
Change a field in the metadata (title, description, etc)
Switch to User A
Confirm that the changes made to the Tale persisted
Publishing tests
Case 1: No Accounts Configured
Disconnect all of your external accounts
Launch a Tale that you own
Click the ellipsis dropdown on the Run page
Click Publish tale...
Confirm that your are notified to link accounts on the settings page
Click Go to Settings
Confirm you are re-directed to settings
Case 2: Publishing to a Third Party
Connect to a third party provider (make sure it's a dev server)
Launch a Tale that you own
Add some data to it
Click Publish tale...
Confirm that the publishing modal opens
Confirm that the third party that you are connected to appears in the dropdown
Select the third party
Click Publish
Once complete, navigate to the metadata page
Confirm that the published location is present
Visit the published location
Confirm that you see the following files plus yours
metadata.xml
LICENSE
README.md
manifest.json
environment.json
Repeat for each third party provider
a. After publishing to DataONE, use girder to query the Tale
b. Ensure that the 'pid' field in the 'publishInfo' object has an identifier in a doi format
Zenodo: PASS
DataONE: FAIL - "Not enough segments" error returned when publishing.. re-authed with DataONE to refresh my token, but same behavior. Cannot publish to DataONE.
Case 3: Re-published Tale
Launch a Tale that has been published before
Take note of the Published Location in Run > metadata
Re-publish the Tale to the third party
Confirm that the Published Location has changed to the correct package landing page
Zenodo integration tests
Register Zenodo data
Select Manage > Data tab
Select "+". Confirm "Search for Data Sources" modal displays
Search for Concept DOI doi:10.5281/zenodo.16384
Confirm "Belmont Forum..." dataset is found on Zenodo with suffix ver_1
Search for URL https://zenodo.org/record/1172960#.XidIvlNKh24
Confirm "Belmont Forum..." dataset is found on Zenodo with suffix ver_2
Search for DOI doi:10.5281/zenodo.1172960
Confirm "Belmont Forum..." dataset is found on Zenodo with suffix ver_2
Search for Concept DOI doi:10.5281/zenodo.608984
Confirm "Belmont Forum..." dataset is found on Zenodo with suffix ver_2
Select Register
Confirm dataset appears in Manage Data list
Add to tale and confirm contents match
The register tests the following cases.
Datasets with multiple files
Datasets with multiple versions
Concept DOI
TEST: There is no Manage > Data tab
TEST: Cannot browse contents of External Data via the UI, not sure how to verify contents
COnfirm Source Data and Title match URL and "READ WRITE" is selected
Select 'Create Tale'
Confirm image builds and notebook can run
FAIL: Image failed to build, cannot view build logs {"message": "Read access denied for job 608b1fc622bad715637af6e5 (user 608b1a8f22bad715637af658).", "type": "access"}
(iirc, this also happened during review, but we couldn't figure out what had happened)
Use the Swagger UI to confirm the publishInfo field on the tale object contains pid, repository, repository_id, uri
Run the tale and and notebook, confirm it works as expected (produces glorious map of Texas)
Publish/import to/from Zenodo Sandbox
Follow instructions above to configure your API key for Zenodo sandbox
Create your own Tale and publish to sandbox.zenodo.org
Confirm publishInfo contains Sandbox entry
Delete tale
Import tale from Zenodo
Confirm publishInfo
Modify the tale
Re-publish to sandbox.zenodo.org
Delete tale
Import tale from Zenodo
Confirm publishInfo
Download and extract the exported Tale
Execute the run-local.sh command to run the Tale locally
FAIL: Publish works, import hangs on "Copying files to workspace" (noting that the workspace in my case is completely empty: https://sandbox.zenodo.org/record/804485)
Versioning Tests
Tale Versioning
View a Tale that you own
Expand Tale Version panel (on the right)
Create a New Version: init
Modify metadata, upload a file, and attach a dataset to the Tale
Create another new version: modified
While viewing Run > Files > External Data, restore from init - you should see no datasets
Rename the modified Version to something else
In the same view, restore back to something else - you should see the dataset you added
Run the tale. Confirm the versions are available under ../versions and that the contents including metadata are as expected
View Info for a version
Rename a version. Confirm rename in container.
Export a version. Confirm exported version matches selected version.
Delete a version. Confirm deletion in container.
FAIL: Datasets / Metadata changes are not preserved when renaming a version. Oddly, Tale Workspace was preserved correctly.
Copy versions
Login as a user with view-only permissions of a tale with versions.
Run the tale and confirm versions are copied
FAIL: Versions are copied, but "created" timestamps are not preserved
Publish/export version
Create a new tale
Upload files but do not create a version
Publish the tale
Note that there is a new version in the version panel
Confirm that the data files in the published artifact are correct
Repeat for export
Confirm manifest contents including vocabulary
Git Integration Tests
Compose Tale from Git Repository
Select the Create New Tale button on the 'Browse' page
Select the Create Tale from Git Repository option
Paste a link to a Git repository in the correct field
Add a name and pick a compute environment
Create the Tale
Confirm notification progress and success
Confirm that the git repository was cloned to the workspace/ root
Run the tale
Confirm interaction via git tools (may require environment customization)
Overlaps with "Compose XX Tale" Tale tests, whose Git capabilities functioned as expected 👍
Connect to Git
Create a new empty tale
Select "Connect to Git Repository" menu item from Tale menu
Confirm notification progress and success
Once complete, navigate to the Tale workspace and confirm that the repository has been cloned
WARN: Log output says "Tale created" - this is likely a copy paste error
Other tests
Citations
Add files from multiple external datasets (e.g.: doi:10.5281/zenodo.3381658, doi:10.5065/D6862DM8, doi:10.5063/F10K26VR)
Confirm Datasets Used citations and related identifiers are updated
Event Notification Tests
Tale sharing/unsharing
Login as user1 and user2 in separate browser sessions
As user2, select "Shared with me"
As user1, share a tale with user2; as user2 confirm the tale appears
As user2, select "View" on the shared tale
As user1 and 2 edit the tale metadata
As user1 save changes; as user2 confirm Tale edited modal
As user1, unshare the tale; as user2 confirm Tale unshared modal
As user1, re-share with user2
As user2, select "Shared with Me"
As user1, delete the shared tale; as user2 confirm that the tale disappears
Import tale
Import a tale from Github, Zenodo, and as Binder
Confirm metadata updates accordingly after import completes
FAIL: See AiWT Test Cases - too many import cases broken, and I suspect that those failing cases will affect this one
Test Plan
https://github.com/whole-tale/wt-design-docs/issues/new?template=TEST_PLAN.md
Note: For all tests, repeat for supported browser/OS combinations.
Preconditions:
Splash page
Authentication
Navigation
Tale Dashboard
Preconditions:
Assumes production Tales present (e.g., LIGO, materials, etc).
No running instances
General
FAIL: Interact page displayed by default, instead of Metadata
Currently, clicking on View leads to
interact
, while clicking the Tale's title will bring you tometadata
. This is probably too obscure / confusing, so I can change these to point tometadata
and match the test case.Also noting that this is inconsistent with "Running Tales", where the two destinations are swapped. I think it definitely makes sense for this to be consistent across cards, at the very least.
FAIL: Redirected to Interact, instead of Metadata (likely due to previous test failure)
Noting that
copyOnLaunch
does redirect to therun
view, but does not explicitly specify a tab. We can add a queryParam here to specify an explicit tab destination, if it would make sense. Interact seems like the sensible choice to me, since a user would only encounter copyOnLaunch when trying to actually Run the Tale, which for me is enough to indicate that a user wants to Interact with it.Managing Data
Preconditions
Empty home directory
No registered data
Register General
10.5065/D6862DM8
FAIL: Dataset name is incorrect, data appears invalid (none of these 5 produced correct results for me on stage)
FAIL: Found 0 results
Run Tale
Preconditions:
No running Tale instances
General
TEST: latest now used, instead of stable
Environment
dropdown menuLicense
dropdownCreated by <your_name>
underAuthors
Published Location
readsThis Tale has not been published
TEST: Reorder test steps to reflect reality - e.g. need to click edit before seeing dropdowns, "Created By" no longer listed under authors (see whole-tale/ngx-dashboard#157), etc
FAIL: Copy does not work properly if file is inside of a subfolder of Home folder (copy is placed in the root of the Home folder, UI state is mismatched and invalid)
FAIL: minor note that I still encounter whole-tale/ngx-dashboard#8
doi:10.18739/A29G5GD0V
)FAIL: Copy folder fails with a 500:
{"message": "Folder 'folder' already exists at /tmp/data/workspaces/5/5bdb63616141bc0001cc1b59/folder", "type": "girder"}
TEST: No test steps to exercise File/Folder "Move-To..."
FAIL: UI not automatically refreshed after "copy to workspace" or "move to workspace" completed
FAIL: Export worked, but running locally appeared to hang and never finished:
Settings
FAIL: Unable to login/signup for demo.dataverse.org
FAIL: The following request timed out:
POST https://girder.stage.wholetale.org/api/v1/account/dataverse/key?resource_server=dev2.dataverse.org&key=MY_REAL_API_KEY_VALUE&key_type=apikey
:#370
/user/me
endpoint to confirm tokens are still presentTale Creation
TEST: There are two different RStudio images, so one is missing a test case
Tale failed to Build the first time, but worked when trying again
This is my default env
Tale built and ran successfully
It builds, I guess? I don't know anything about Spark, so not sure how to test this
multiplicative_arima_example.m
, confirm outputsTEST: Are these the Content Security Policy settings in the browser? How do I check these? Need more steps here
FAIL: MATLAB could not run the script:
multiplicative_arima_example.ipynb
, confirm outputs matchmultiplicative_arima_example.html
multiplicative_arima_example.m
, confirm outputsTEST: Duplicated test case
FAIL: MATLAB could not run the script:
example.do
, confirm outputsexample.ipynb
, confirm outputs matchexample.html
FAIL: %help summarize hangs, everything else up to that and after appear to work properly
WARN: warning appears in example notebook towards the end
WARN: Newer version available
It builds and runs, I guess? I don't know anything about OpenRefine, so not sure how else to test this.. additional steps needed
Analyze in Whole Tale
Task 1: Importing a Dataset from Dataverse
These test cases cover potential situations that can occur when importing datasets from Dataverse.
Testing Steps:
Replication Data for: "Agricultural Fires and Health at Birth"
Input data
section matches the uri withData Source
appendedCreate New Tale
button is disabledCreate New Tale
science
FAIL: Not automatically redirected
FAIL: Tale creation/import hangs at "Initializing..."
FAIL: Tale is automatically launched with AiWT cases (is this expected?)
Task 2: Importing a Dataset from DataONE
These test cases cover different scenarios that may happen when importing datasets from DataONE.
This test covers the ideal case where dataset importing has all of the needed information
to properly run. This includes the dataset location, title, and selected environment.
Testing Steps:
Fire influences on forest recovery and associated climate feedbacks in Siberian Larch Forests, Russia
Selected data
section matches the uri withData Source
appendedRstudio
is selected in the Environments widgetCreate New Tale
button is enabledCreate New Tale
science
FAIL: Not automatically redirected
FAIL: Strange delay before Tale goes into Initializing...
FAIL: Tale creation/import hangs at "Initializing..."
WARN: Tale is automatically launched with AiWT cases (is this expected?)
The
Analyze in Whole Tale
feature is deployed across a few DataONE test sites. This test ensures Whole Tale has the ability to importdata from each of them.
Links:
Testing Steps:
Create New Tale
WARN: No convenient way (via the UI) to abort while "starting" a Tale
FAIL: AiWT cases may no longer respect the instance limit:
Task 3: Shared Behavior
These cases show errors that are common between Dataverse and DataONE. Although they are tested using DataONE URIs, the errors should be the same when replacing it with a Dataverse URI.
This test covers the case where the name query parameter is missing. The expected behavior is
that the uri query parameter is used instead.
Testing Steps:
https://dataverse.harvard.edu/api/access/datafile/3323458
Selected data
section matches the uri withData Source
appendedCreate New Tale
button is disabledCreate New Tale
FAIL: Tale name not defaulted to uri
This test covers the case where a user imports data from an external source and selects READ/WRITE in the Create Tale Modal.
Testing Steps (Variant 1):
Selected data
section matches the uri withData Source
appendedCreate New Tale
button is disabledREAD/WRITE
Create New Tale
FAIL: Not redirected to run page
Testing Steps (Variant 2):
Selected data
section matches the uri withData Source
appendedCreate New Tale
button is disabledREAD/WRITE
Create New Tale
Tale metadata tests
The purpose of these tests are to confirm that the metadata files (manifest.json, environment.json, LICENSE) we generate are correct.
manifest.json
file undermetadata/
schema:author
createdBy
aggregates
aggregates
Datasets
FAIL: No "Datasets" section (but there is "wt:usesDataset"? are these the same?)
metadata/environment.json
config
section from girder matches theconfig
section inenvironment.json
LICENSE
fileLICENSE
file matches the selected license on the metadata pageLICENSE
changed appropriatelyFAIL: LICENSE file in exported Tale always has CC 4.0 text, even after changing, saving, and re-exporting
Tale Sharing Tests
These tests are centered around the feature for sharing Tales with other Whole Tale
users. To run these tests, register at least one other account, referred to as User B.
Case 1: Sharing with 'Can View' permissions
Case 2: Sharing with 'Can Edit' permissions
Publishing tests
Case 1: No Accounts Configured
Publish tale...
Go to Settings
Case 2: Publishing to a Third Party
Connect to a third party provider (make sure it's a dev server)
Launch a Tale that you own
Add some data to it
Click
Publish tale...
Confirm that the publishing modal opens
Confirm that the third party that you are connected to appears in the dropdown
Select the third party
Click
Publish
Once complete, navigate to the metadata page
Confirm that the published location is present
Visit the published location
Confirm that you see the following files plus yours
metadata.xml
LICENSE
README.md
manifest.json
environment.json
Repeat for each third party provider
a. After publishing to DataONE, use girder to query the Tale
b. Ensure that the 'pid' field in the 'publishInfo' object has an identifier in a doi format
Zenodo: PASS
DataONE: FAIL - "Not enough segments" error returned when publishing.. re-authed with DataONE to refresh my token, but same behavior. Cannot publish to DataONE.
Published Location
in Run > metadataPublished Location
has changed to the correct package landing pageZenodo integration tests
doi:10.5281/zenodo.16384
ver_1
https://zenodo.org/record/1172960#.XidIvlNKh24
ver_2
doi:10.5281/zenodo.1172960
ver_2
doi:10.5281/zenodo.608984
ver_2
The register tests the following cases.
TEST: There is no Manage > Data tab
TEST: Cannot browse contents of External Data via the UI, not sure how to verify contents
The register tests the following cases.
FAIL: No /data (or /home or /workspace) mounted to notebook, cannot run notebook
FAIL: Image failed to build, cannot view build logs
{"message": "Read access denied for job 608b1fc622bad715637af6e5 (user 608b1a8f22bad715637af658).", "type": "access"}
(iirc, this also happened during review, but we couldn't figure out what had happened)
publishInfo
field on the tale object contains pid, repository, repository_id, urirun-local.sh
command to run the Tale locallyFAIL: Publish works, import hangs on "Copying files to workspace" (noting that the workspace in my case is completely empty: https://sandbox.zenodo.org/record/804485)
Versioning Tests
init
modified
init
- you should see no datasetsmodified
Version tosomething else
something else
- you should see the dataset you added../versions
and that the contents including metadata are as expectedFAIL: Datasets / Metadata changes are not preserved when renaming a version. Oddly, Tale Workspace was preserved correctly.
FAIL: Versions are copied, but "created" timestamps are not preserved
Git Integration Tests
Create Tale from Git Repository
optionworkspace/
rootOverlaps with "Compose XX Tale" Tale tests, whose Git capabilities functioned as expected 👍
WARN: Log output says "Tale created" - this is likely a copy paste error
Other tests
Datasets Used
citations and related identifiers are updatedEvent Notification Tests
FAIL: See AiWT Test Cases - too many import cases broken, and I suspect that those failing cases will affect this one
Vocabulary Tests
FAIL:
https://vocabularies.stage.wholetale.org/wt/1.0/index.html
only returns404 page not found
Forward Authentication Test
FAIL: I am correctly prompted for login when accessing (for example) https://tmp-zf2ypkftc9yu.stage.wholetale.org/login?next=%2Ftree, but after authing I see this view indicating that I require access to the container logs to continue:
The text was updated successfully, but these errors were encountered: