- Always default to 'python' if PYTHON env. var. unset.
- Enable SQLAlchemy warnings in daemon tests.
- Commit changes in schema initialisation script.
- Provide a new reuqired parameter: [database]pooling_mode and use it during
SQLAlchemy engine initialisation.
- Update tests and configuration (including sample configuration).
- Adjust repository unit test to load config during setup.
- Pass an engine instance to repository constructors instead of connections.
Engine keeps a connection pool and we rely on it.
It's possible to trick Lacre by sending PGP markers in message body, causing
it to classify that message being already encrypted. This test case is used
to reproduce this scenario.
- Add a dedicated configuration file for lacre.daemon.
- Implement test/daemon_test.py like test/e2e_test.py, to automate the
following procedure:
1. Start up lacre.daemon.
2. For each test case, send test message to the daemon and verify that the
output received by test/utils/relay.py contains expected pattern.
- Simplify Makefile.
- Fix indentation here and there.
In particular, move:
- test utilities to test/utils;
- unit tests to test/modules.
Also: start implementing the Lacre daemon test (just a stub for now).
- Add a new test input message for a new test identity, test scenario
configuration and a test key.
- While retrieving message payload, determine charset based on the
Content-Type header. When missing, default to UTF-8.
- Use more comprehensible variables names.
- Adjust logging levels.
- Replace custom logging code with calls to logging module.
- Use logging.config to provide configuration parameters.
To make Lacre's logging more flexible, use fileConfig from logging.config to
set up all parameters. If the configuration file is missing, use dictConfig
with hardcoded reasonable defaults.
- Let the user overwrite Python binary name while calling make.
- Use environment variable set by make to instruct e2e_test.py which binary it
should call to execute Python code.
- 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.
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.
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).
- 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.