Test Plan¶
Items that considered tests of high importance are highlighted in bold. Those prefixed with [Automated] have been automated.
General¶
- The app must work with custom root endpoints
- The app has a description
- The app has an icon
- The app is visible
- The app works on all applicable versions of Splunk (6.4+)
- 6.4 and earlier does not support the persistent REST handler
- The print and edit controls are not displayed on the lister and editor
- The app works with IE, Safari, FireFox, and Chrome
File Lister¶
- Lookup files appear including both user-based and app-based files and the list is complete (isn't missing files)
- A warning is shown if the user does not have permission to view the lookup files
- Both KV store and CSV lookup files are included
- KV store lookup options are not listed on hosts that are pre-6.2
- The list has functional pagination
- Files can be exported
- User-specific lookups can be exported
- Global lookups can be exported
- Lookups in the app directory but re-assigned ownership to a user can be exported (lookups that are in the app directory but are re-assigned to an owner that isn't nobody via meta-data)
- Both KV store and CSV lookups can be exported
- Filters work
- [Automated] Edit permissions page works
- Link successfully opens
- Permissions page redirects back to the lister
- [Automated] Search link opens
File Editor¶
- [Automated] Users can create new lookups
- Disabled apps are not listed in the apps list
- The editor warns users if the name or namespace is not provided (when creating a new lookup)
- A warning is shown if the lookup file or collection already exists
- [Automated] A warning is shown if no fields are defined for a KV store lookup file
- [Automated] A warning is shown if the KV store field names are not unique
- [Automated] A warning is shown if the KV store fields include a lineage that conflicts with other fields (e.g. cannot have "a" and "a.b")
- Importing a lookup file into a new lookup file should fill out the name with the file name if it was not yet completed
- [Automated] Lookup files are saved with the correct name and in the correct app
- When a lookup is created, the URL is modified such that it matches a URL that link to editing the lookup
- All arguments are present: type, owner, name, namespace
- Importation functions
- Files can be imported by dragging a file onto the editor or on the import dialog (for CSV lookups only)
- KV store shouldn't load a file by dragging into the editor (since it isn't supported yet)
- User lookups are created in the users directory; these lookups are listed in the list UI for that user
- Users can edit lookups
- CSV files are replicated (by making the necessary calls to force replication)
- [Automated] The files can be modified in the editor (both KV store and CSV)
- New empty rows can be edited (in both KV store and CSV lookups)
- Lookups entries can be loaded from other users (KV store only)
- Entries are saved in the user selected
- Entries from a given user are displayed
- The URL is modified when switching user contexts
- Rows are deleted under the loaded user
- Adding a new row works and doesn't show "null"
- [Automated] The user is provided messaging regarding saving edits (that it is in-progress and/or completed)
- [Automated] KV store with a hierarchy can be edited
- [Automated] KV store that enforces types can be edited (and a warning is shown if an incorrect types)
- [Automated] Incorrect values for fields when a lookup has defined types can be edited
- Making multiple KV store lookups with the same name is not allowed
- A warning is shown if the user does not have permission to view the lookup files
- A warning is shown if the lookup file does not exist
- [Automated] A warning is shown if the lookup file is too large to modify
- Users cannot remove the header
- Lookup files that are owned by a user but are actually in the apps directory are saved in the correct location
- The lookup backup list is refreshed when saving (CSV only)
- [Automated] The editor recognizes the field types (if available) for KV lookups and shows that the value is incorrect (e.g. entering "foo" in a field that expects an number is shown as invalid)
- Header is fixed so that it always appears at the top of the editor
- If a lookup has no rows, then the editor will display at least one empty row
- A warning is displayed if attempting to remove the first row (CSV lookups only)
- CSV _time fields can be edited and converted accordingly
- KV collection time fields can be edited and converted accordingly
- Entering a epoch time gets converted to the appropriate string value
- Entering a string value gets converted to the appropriate epoch value
- Values are loaded upon page load correctly
- KV collection boolean fields can be edited and are loaded correctly
- KV collection array fields can be edited and are loaded correctly
- Users can view and load backups of files (CSV only)
- Backups are automatically made when a lookup is saved
- Loading a backup causes it to be loaded into the editor
- A message is shown when a lookup is loaded
- Backups for user lookups work
- XSS prevention
- An imported CSV with scripting doesn't get executed
- [Automated] A CSV or KV store lookup with scripting doesn't get executed