= GpgOL Test Plan **Status: in progress** <> == Introduction The purpose of this test plan is to ensure GpgOL works well on all supported Microsoft Windows operating systems with all supported versions of Microsoft Outlook. == Test environment Choose one combination of the following target platforms supported by GpgOL. Microsoft Outlook: * 2003 (32bit) * 2007 (32bit) * 2010 (32 or 64bit) * 2013 (32 or 64bit) * 2016 (32 or 64bit) Operation system: * Windows Vista (32 or 64bit) * Windows 7 (32 or 64bit) * Windows 8 (32 or 64bit) * Windows 10 (32 or 64bit) For interoperability tests additional mail clients will be tested together with Outlook/GpgOL: * Thunderbird with Enigmail-Add-On (on Windows, MacOS or GNU/Linux) * Apple Mail with GPGTools (on MacOS) * Kontact Mail (KMail) enterprise 35 (on GNU/Linux) * Kontact Mail (KMail) of KDE 4.14 (on GNU/Linux) It is recommended to use a clean virtual test environment, e.g. with [[https://www.virtualbox.org/|VirtualBox]]. == Preconditions * email account A on IMAP/SMTP server * email account B on Exchange Server 2013 or later * ~OpenPGP public key (*.asc or *.gpg) and private key (*.asc or *.gpg) * S/~M~I~M~E certificate chain (*.pem) and private key (*.p12) == Tests === Testsuite 1: GpgOL basic crypto tests Send crypto mails from/to same Outlook account. ==== 1.1 PGP/MIME Send mails with P~G~P/~M~I~M~E:\\ a) sign and verify\\ b) encrypt and decrypt\\ c) sign/encrypt (with attachment*) and decrypt/verify (and check attachment) ==== 1.2 S/MIME Send mails with S/~M~I~M~E:\\ a) sign and verify\\ b) encrypt and decrypt\\ c) sign/encrypt (with attachment*) and decrypt/verify (and check attachment) (*) Attachment should contain umlauts in filename (e.g. fooäüö.txt) === Testsuite 2: GpgOL extended tests ==== 2.1 Exchange Server Run all tests from testsuite 1 via Exchange Server. ==== 2.2 Move Mails Move some encrypted mails from inbox into an other folder. Check with an other IMAP client that all mails are always encrypted. ==== 2.3 Drafts Create new message. Mark message with "sign" and "encrypt". Close and save mail as draft. Open draft again. Check if the message is still marked with "sign" and "encrypt". ==== 2.4 Cancel crypto operation Create a mew message. Mark as sign/encrypt. Click send. Cancel certificate selection dialog. Check if the message is not sent. ==== 2.5 Sent messages Send a signed/encrypted message. Check the sent folder ("Sent messages") if the mail is still signed/encrypted. ==== 2.6 Reply Reply to an encrypted mail. Check if the quoted text contains the decrypted message. ==== 2.7 Disable GpgOL Disable the GpgOL plugin in Outlook (via COM add-ons). Select a signed/encrypted mail. Check that the mail cannot decrypted/verify. ==== 2.8 Deactivate GpgOL's S/MIME (GpgSM) TODO === Testsuite 3. Interoperability tests (Kontact Mail) Send crypto mails from Kontact Mail (KMail) to Outlook (GpgOL). ==== 3.1 Using PGP/MIME a) sign (KMail) -> verify (GpgOL)\\ b) encrypt (KMail) -> decrypt (GpgOL)\\ c) sign/encrypt with attachment (KMail) -> decrypt/verify and check attachment (GpgOL)\\ d) answer to (a): sign (GpgOL) -> verify (KMail)\\ e) answer to (b): encrypt (GpgOL) -> decrypt (KMail)\\ f) answer to (c): sign/encrypt with attachment (GpgOL) -> decrypt/verify and check attachment (KMail) ==== 3.2 Using S/MIME a) sign (KMail) -> verify (GpgOL)\\ b) encrypt (KMail) -> decrypt (GpgOL)\\ c) sign/encrypt with attachment (KMail) -> decrypt/verify and check attachment (GpgOL)\\ d) answer to (a): sign (GpgOL) -> verify (KMail)\\ e) answer to (b): encrypt (GpgOL) -> decrypt (KMail)\\ f) answer to (c): sign/encrypt with attachment (GpgOL) -> decrypt/verify and check attachment (KMail) ==== 3.3 Using no-mime-PGP a) sign (KMail) -> verify (GpgOL)\\ b) encrypt (KMail) -> decrypt (GpgOL)\\ c) sign/encrypt without attachment (KMail) -> decrypt/verify (GpgOL)\\ === Testsuite 4. Interoperability tests (Thunderbird) Send crypto mails from Thunderbird (Enigmail) to Outlook (GpgOL). ==== 4.1 Using PGP/MIME a) sign (TB) -> verify (GpgOL)\\ b) encrypt (TB) -> decrypt (GpgOL)\\ c) sign/encrypt with attachment (TB) -> decrypt/verify and check attachment (GpgOL)\\ d) answer to (a): sign (GpgOL) -> verify (TB)\\ e) answer to (b): encrypt (GpgOL) -> decrypt (TB)\\ f) answer to (c): sign/encrypt with attachment (GpgOL) -> decrypt/verify and check attachment (TB) ==== 4.2 Using S/MIME (with Thunderbird's S/MIME implementation) a) sign (TB) -> verify (GpgOL)\\ b) encrypt (TB) -> decrypt (GpgOL)\\ c) sign/encrypt with attachment (TB) -> decrypt/verify and check attachment (GpgOL)\\ d) answer to (a): sign (GpgOL) -> verify (TB)\\ e) answer to (b): encrypt (GpgOL) -> decrypt (TB)\\ f) answer to (c): sign/encrypt with attachment (GpgOL) -> decrypt/verify and check attachment (TB) ==== 4.3 Using no-mime-PGP a) sign (TB) -> verify (GpgOL)\\ b) encrypt (TB) -> decrypt (GpgOL)\\ c) sign/encrypt with attachment (TB) -> decrypt/verify and check attachment (GpgOL)