Skip to content

SDW test scenario: Export and Print

deeplow edited this page May 6, 2025 · 5 revisions

SDW Test Scenario: Export and Print

Setup:

  • the sd-devices VM is not running (shut down manually if necessary)
  • a supported printer is available, but not attached.
  • all VMs are up-to-date

Login

  • when SecureDrop desktop icon is double-clicked, preflight updater is displayed
  • After preflight updater runs, when user clicks Continue, login dialog is displayed
  • In login dialog:
    • valid credentials and 2FA can log in

Export

  • When Export is first clicked on a submission:
    • the "Preparing to export..." message is displayed
    • the sd-devices VM is started
    • the user is prompted to insert an Export USB
    • On clicking Cancel, the prompt closes and the file is not exported
  • When Export is clicked on the submission again:
    • the "Preparing to export..." message is displayed
    • the user is prompted to insert an Export USB
    • When the user inserts an invalid Export USB, attaches it to the sd-devices VM and clicks Next:
      • a message is displayed indicating that the Export USB is invalid and the user is prompted to insert a valid device
  • When Export is clicked on the submission again:
    • the "Preparing to export..." message is displayed
    • the user is prompted to insert an Export USB
    • When the user inserts a valid Export USB, attaches it to the sd-devices VM, and clicks Next:
      • the user is prompted for the Export USB's password if the (LUKS) device is locked
      • the user is not prompted for the USB's password, if the (LUKS or VeraCrypt) device is unlocked
      • the user is not prompted for the USB's password, if the (LUKS or VeraCrypt) device is unlocked and mounted
    • When the user enters an invalid Export USB password and clicks Next:
      • a failure message is displayed and the user is prompted to enter the password again
    • When the user enters an valid Export USB password and clicks Next:
      • the file is saved to the Export USB and a success message is shown
    • When the user encounters error state(s) during export:
      • a user-facing message (rather than an EXPORT_ERROR_CODE style message) is shown
  • When the user detaches the Export USB and mounts it on another VM or computer:
    • the decrypted submission(s) is available in on the Export USB, in a directory sd-export-<timestamp>/export_data
Batch submission actions
  • For a given source:
    • "Download all" is available
    • "Export all" is available
    • "Export all" shows a modal warning when not all files have been downloaded prior to export
      • Accepting the warning opens the export dialog (there is a known UI bug with export dialog size when the dialog is launched this way)
    • "Export conversation transcript" generates and exports a plaintext transcript that includes message text and file information
      • For downloaded files, the filename as submitted is included in the transcript

Print

Printing a simple text file:

  • When the user clicks Print on a downloaded submission:
    • a "Preparing to print..." message is displayed
    • the sd-devices VM is started
    • the user is prompted to connect a supported printer
  • When the user connects a printer, attaches it to the sd-devices VM, and clicks Continue:
    • a print dialog is displayed (not X Printer Panel) with no printer selected
  • When the user clicks Print:
    • Print dialog disappears and the main client application is in focus
    • the submission is printed successfully.
  • When choosing other print settings (double-sided, black-and-white, etc.)
    • they are applied

Printing a multi-page Word document:

  • a "Printing..." message is displayed
  • after some seconds a print dialog shows up with a printer available
  • Selecting a page-range of "1,3-4" shows a dialog message about this not being possible (due to upstream bug)
  • Selecting page-range "1-3" prints the first 3 pages

Failing printing - empty printer tray (no sheets left):

  • (optional) After selecting the printer and giving it some seconds, it indicates that the printer is out of sheets
  • Clicking print makes the print dialog go away
  • A notification on the top-right corner of the screen is visible indicating the error
  • A new printer icon in the tray menu (in red). When clicked it shows the print queue and error status.
Batch submission actions
  • For a given source:
    • "Print Transcript" is available
    • "Print conversation transcript" generates and prints a plaintext transcript that includes message text and file information
      • For downloaded files, the filename as submitted is included in the transcript

Closing the client

  • When the user clicks the main window close button:
    • the client exits.