Project

General

Profile

Test Plan

Items that considered tests of high importance are highlighted in bold. Those prefixed with [Automated] have been automated.

General

  1. The app must work with custom root endpoints
  2. The app has a description
  3. The app has an icon
  4. The app is visible
  5. The app works on all applicable versions of Splunk (6.4+)
    1. 6.4 and earlier does not support the persistent REST handler
  6. The print and edit controls are not displayed on the lister and editor
  7. The app works with IE, Safari, FireFox, and Chrome

File Lister

  1. Lookup files appear including both user-based and app-based files and the list is complete (isn't missing files)
  2. A warning is shown if the user does not have permission to view the lookup files
  3. Both KV store and CSV lookup files are included
    1. KV store lookup options are not listed on hosts that are pre-6.2
  4. The list has functional pagination
  5. Files can be exported
    1. User-specific lookups can be exported
    2. Global lookups can be exported
    3. 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)
    4. Both KV store and CSV lookups can be exported
  6. Filters work
  7. [Automated] Edit permissions page works
    1. Link successfully opens
    2. Permissions page redirects back to the lister
  8. [Automated] Search link opens

File Editor

  1. [Automated] Users can create new lookups
    1. Disabled apps are not listed in the apps list
    2. The editor warns users if the name or namespace is not provided (when creating a new lookup)
    3. A warning is shown if the lookup file or collection already exists
    4. [Automated] A warning is shown if no fields are defined for a KV store lookup file
    5. [Automated] A warning is shown if the KV store field names are not unique
    6. [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")
    7. Importing a lookup file into a new lookup file should fill out the name with the file name if it was not yet completed
    8. [Automated] Lookup files are saved with the correct name and in the correct app
    9. When a lookup is created, the URL is modified such that it matches a URL that link to editing the lookup
      1. All arguments are present: type, owner, name, namespace
  2. Importation functions
    1. Files can be imported by dragging a file onto the editor or on the import dialog (for CSV lookups only)
    2. KV store shouldn't load a file by dragging into the editor (since it isn't supported yet)
    3. User lookups are created in the users directory; these lookups are listed in the list UI for that user
  3. Users can edit lookups
    1. CSV files are replicated (by making the necessary calls to force replication)
    2. [Automated] The files can be modified in the editor (both KV store and CSV)
      1. New empty rows can be edited (in both KV store and CSV lookups)
    3. Lookups entries can be loaded from other users (KV store only)
      1. Entries are saved in the user selected
      2. Entries from a given user are displayed
      3. The URL is modified when switching user contexts
      4. Rows are deleted under the loaded user
    4. Adding a new row works and doesn't show "null"
    5. [Automated] The user is provided messaging regarding saving edits (that it is in-progress and/or completed)
    6. [Automated] KV store with a hierarchy can be edited
    7. [Automated] KV store that enforces types can be edited (and a warning is shown if an incorrect types)
      1. [Automated] Incorrect values for fields when a lookup has defined types can be edited
    8. Making multiple KV store lookups with the same name is not allowed
    9. A warning is shown if the user does not have permission to view the lookup files
    10. A warning is shown if the lookup file does not exist
    11. [Automated] A warning is shown if the lookup file is too large to modify
    12. Users cannot remove the header
    13. Lookup files that are owned by a user but are actually in the apps directory are saved in the correct location
    14. The lookup backup list is refreshed when saving (CSV only)
    15. [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)
    16. Header is fixed so that it always appears at the top of the editor
    17. If a lookup has no rows, then the editor will display at least one empty row
    18. A warning is displayed if attempting to remove the first row (CSV lookups only)
    19. CSV _time fields can be edited and converted accordingly
    20. KV collection time fields can be edited and converted accordingly
      1. Entering a epoch time gets converted to the appropriate string value
      2. Entering a string value gets converted to the appropriate epoch value
      3. Values are loaded upon page load correctly
    21. KV collection boolean fields can be edited and are loaded correctly
    22. KV collection array fields can be edited and are loaded correctly
  4. Users can view and load backups of files (CSV only)
    1. Backups are automatically made when a lookup is saved
    2. Loading a backup causes it to be loaded into the editor
    3. A message is shown when a lookup is loaded
    4. Backups for user lookups work
  5. XSS prevention
    1. An imported CSV with scripting doesn't get executed
    2. [Automated] A CSV or KV store lookup with scripting doesn't get executed

xss-rsnake.txt View (4.3 KB) Luke Murphey, 11/30/2015 08:58 PM