-
Notifications
You must be signed in to change notification settings - Fork 46
KOG 15 11 2018 1 testplan
Kevin O'Gorman edited this page Nov 15, 2018
·
1 revision
- The sd-svs AppVM does not have a net VM configured.
- The sd-svs-disp AppVM does not have a net VM configured.
- The sd-proxy AppVM uses sd-whonix as its NetVM
- Daily system updates occur without issue. - untested
- In Fedora-based VMs
- In Debian-based VMs
- For dom0 packages
- Each AppVM is based on the correct templateVM - sd-whonix?
- /etc/qubes-rpc/policy files deny by default on sd-svs and sd-gpg
- I am able to log in to the client and sync (I.e. sources appear in the left hand sidebar)
- In a subsequent visit I am able to access the conversation view for sources that were
- In the file manager for sd-svs, a user cannot easily accidentally open a file in the sd-svs VM (i.e. test mime type handling by clicking on the relevant file).
- I am able to download and decrypt a file from a source (click on the file in the client).
- I am able to view the conversation history between a source and a journalist.
- I am able to open a file from a source and it opens in a new disp VM.
- When logged in, a user is able to star a source.
- When logged in, a user is able to unstar a source - "Failed to apply change"
- When logged in, a user is able to reply to a source.
- Test sending empty reply
- Test sending very long reply
- When not logged in, a user is not able to reply to a source.
- When not logged in, a user is not able to star a source.
- Changes made via the Source (SI) and Journalist Interface (JI) are reflected in the client:
- When a message, file, or collection is deleted, it's removed from the client at next refresh - see below, files deleted but client crashes on source deletion
- When a reply is entered in the JI, it’s reflected in the client at next refresh
- When a source ‘deletes’ a reply, it’s flagged as read in the client - no indicator
- Starred and unstarred entries in the JI are reflected in the client
- Start the dev container.
- Log into the client.
- Make sure that one downloads a file from a source.
- This files should now be in the data folder (inside the SecureDrop homedir).
- Log into the journalist interface and delete the submission you downloaded (NOT a reply, we will run through that - separately).
- Back in the client, click Refresh.
- Now look in the data directory: the file associated with the submission you deleted should be gone.
- Now using the journalist interface, submit a reply to a source.
- Wait until that reply downloads and decrypts.
- Verify the file is there in the data folder locally.
- Now delete the reply from the journalist interface.
- Back in the client, click Refresh.
- Now look in the data directory: the file associated with the reply you deleted should be gone.
- Now, make sure there is at least a reply and submission associated with a given source.
- Refresh the client again, make sure the documents associated with the source are downloaded.
- Verify the files associated with that source’s submissions are in the data folder locally.
- Now delete the source from the journalist interface.
- Back in the client, click refresh.
- Now look in the data directory: all files associated with all sources documents should be gone. - source is deleted but client crashes with message
Running app with home directory: /home/user/test_data_dir
Traceback (most recent call last):
File "/home/user/securedrop-client/securedrop_client/logic.py", line 424, in update_conversation_view
self.session.refresh(self.gui.current_source)
File "/home/user/.local/share/virtualenvs/securedrop-client-g9KXN1tj/lib/python3.5/site-packages/sqlalchemy/orm/session.py", line 1498, in refresh
self._expire_state(state, attribute_names)
File "/home/user/.local/share/virtualenvs/securedrop-client-g9KXN1tj/lib/python3.5/site-packages/sqlalchemy/orm/session.py", line 1600, in _expire_state
self._validate_persistent(state)
File "/home/user/.local/share/virtualenvs/securedrop-client-g9KXN1tj/lib/python3.5/site-packages/sqlalchemy/orm/session.py", line 2047, in _validate_persistent
state_str(state))
sqlalchemy.exc.InvalidRequestError: Instance '<Source at 0x3acaf98fda0>' is not persistent within this Session