Add tests for Python code #51

Merged
pfm merged 14 commits from 39-add-tests into master 2022-01-10 18:10:01 +01:00

14 Commits

Author SHA1 Message Date
Piotr F. Mieszkowski 3b9f714cdb Ignore random_seed
Do not keep test/keyhome/random_seed in repository.
2022-01-10 17:47:23 +01:00
Piotr F. Mieszkowski 1002da78fa Clean up test messages
Remove unused msgout files, fix addresses in msgin files.
2022-01-09 22:00:06 +01:00
Piotr F. Mieszkowski 2cf60dec40 Add unit tests for GnuPG command-line generator
Extract a function to calculate GPG commands to be executed and cover it with
unit tests.
2022-01-09 21:37:14 +01:00
Piotr F. Mieszkowski fc2779ef7d Improve test code structure
- Move things to configuration file where appropriate (logging format, etc.).

- Rework execute_e2e_test signature to simplify it and get rid of keyword
arguments.

- Simplify output.

- Include a header comment in configuration file.
2022-01-08 13:42:23 +01:00
Piotr F. Mieszkowski 98c4580775 Document E2E tests 2022-01-07 12:10:30 +01:00
Piotr F. Mieszkowski e90a29c9ff Ignore temporary test directory 2022-01-07 12:04:14 +01:00
Piotr F. Mieszkowski 01377f4dd2 Keep test/certs directory 2022-01-07 12:03:38 +01:00
Piotr F. Mieszkowski ff3f6aa793 Add a test overview, extract constants
To let the user know that tests produce logs, include a message at the end of
the test output informing about locations of E2E and Mailgate logs.

Also, extract some constants.
2022-01-07 12:00:50 +01:00
Piotr F. Mieszkowski f1a799d864 Adjust E2E tests to work with all scenarios
Since it's not so easy to encrypt a message exactly the same way twice, we
only verify if the message has been encrypted or not.

Introduce minor changes to the library itself, because it doesn't work very
well with modern GnuPG.

Also, include GnuPG directory (pointed at by --homedir option).
2022-01-06 16:34:47 +01:00
Piotr F. Mieszkowski f41adc0d53 Configure git to ignore temporary files and Emacs files 2022-01-06 16:34:47 +01:00
Piotr F. Mieszkowski 27d7481078 Set up ground for E2E tests
- Use an environment variable to point at the configuration file while
  strating gpg-mailgate.py.

- Unify paths: store temporary config, logs and anything else under 'test'
  directory.

- Configure more tests (RSA, Ed25519).

- Add test descriptions to be shown before they're started.
2022-01-06 16:33:21 +01:00
Piotr F. Mieszkowski 7a063a91b8 Polish E2E testing script and make it configurable 2021-11-09 21:25:41 +01:00
Piotr F. Mieszkowski f3f56a47bc Implement an E2E testing script 2021-11-08 22:52:22 +01:00
Piotr F. Mieszkowski a9506805fb Write a test mail relay
Provide a simple Python script that would linsten on a given port and print to
standard output any message received via SMTP on that port.

This script will then be used to automatically test gpg-mailgate with different
scenarios (unknown recipient key, RSA key, elliptic curve key).
2021-11-04 22:39:02 +01:00