annotate test/README.txt @ 6814:3f60a71b0812

Summary: Support selecion session/otk data store. Add redis as data store. Allow admin to select the backend data store. Compatibility matrix: main\/ session>| anydbm | sqlite | redis | mysql | postgresql | anydbm | D | | X | | | sqlite | X | D | X | | | mysql | | | | D | | postgresql | | | | | D | --------------------------------------------------------------+ D - default if unconfigured, X - compatible choice DETAILS roundup/configuration.py: add config.ini section sessiondb with settings: backend and redis_url. CHANGES.txt, doc/admin_guide.txt, doc/installation.txt, doc/upgrading.txt: doc on config of session db and redis. Plus some other fixes: admin - clarified why we do not drop __words and __testids table in native-fts conversion. TYpo fix. upgrading - doc how you can keep using anydbm for session data with sqlite. Fix dupe sentence in an upgrading config.ini section. roundup/backends/back_anydbm.py, roundup/backends/back_sqlite.py: code to support redis, redis/anydbm backends respectively. roundup/backends/sessions_redis.py new storage backend for redis. roundup/rest.py, roundup/cgi/actions.py, roundup/cgi/templating.py redis uses a different way of calculating lifetime/timestamp. Since expiration of an item occurred if its timestamp was more than 1 week old, code would calculate: now - 1 week + lifetime. But this results in faster expiration in redis if used for lifetime/timestamp. Convert code to use the lifetime() method in BasicDatabase that generates the right timestamp for each backend. test/session_common.py: added tests for more cases, get without default, getall non-existing key etc. timestamp test changed to use new self.get_ts which is overridden in other tests. Test that datatypes survive storage. test/test_redis_session.py: test redis session store with sqlite and anydbm primary databases test/test_anydbm.py, test/test_sqlite.py add test to make sure the databases are properly set up sqlite - add test cases where anydbm is used as datastore anydbm - remove updateTimestamp override add get_ts(). test/test_config.py tests on redis_url and compatibility on choice of sessiondb backend .travis.yml: add redis db and redis-py
author John Rouillard <rouilj@ieee.org>
date Thu, 04 Aug 2022 14:41:58 -0400
parents a86b0c02940d
children 132d450bdc00
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
4964
2c3cc4ccd024 Automatic tests: added some notes to the readme and a test_jinja2 stub.
Bernhard Reiter <bernhard@intevation.de>
parents: 4570
diff changeset
1 A number of tests uses the infrastructure of
2c3cc4ccd024 Automatic tests: added some notes to the readme and a test_jinja2 stub.
Bernhard Reiter <bernhard@intevation.de>
parents: 4570
diff changeset
2 db_test_base.py
2c3cc4ccd024 Automatic tests: added some notes to the readme and a test_jinja2 stub.
Bernhard Reiter <bernhard@intevation.de>
parents: 4570
diff changeset
3
2c3cc4ccd024 Automatic tests: added some notes to the readme and a test_jinja2 stub.
Bernhard Reiter <bernhard@intevation.de>
parents: 4570
diff changeset
4 grep "from db_test_base" -l *.py
2c3cc4ccd024 Automatic tests: added some notes to the readme and a test_jinja2 stub.
Bernhard Reiter <bernhard@intevation.de>
parents: 4570
diff changeset
5 benchmark.py
2c3cc4ccd024 Automatic tests: added some notes to the readme and a test_jinja2 stub.
Bernhard Reiter <bernhard@intevation.de>
parents: 4570
diff changeset
6 session_common.py
2c3cc4ccd024 Automatic tests: added some notes to the readme and a test_jinja2 stub.
Bernhard Reiter <bernhard@intevation.de>
parents: 4570
diff changeset
7 test_anydbm.py
2c3cc4ccd024 Automatic tests: added some notes to the readme and a test_jinja2 stub.
Bernhard Reiter <bernhard@intevation.de>
parents: 4570
diff changeset
8 test_indexer.py
2c3cc4ccd024 Automatic tests: added some notes to the readme and a test_jinja2 stub.
Bernhard Reiter <bernhard@intevation.de>
parents: 4570
diff changeset
9 test_memorydb.py
2c3cc4ccd024 Automatic tests: added some notes to the readme and a test_jinja2 stub.
Bernhard Reiter <bernhard@intevation.de>
parents: 4570
diff changeset
10 test_mysql.py
2c3cc4ccd024 Automatic tests: added some notes to the readme and a test_jinja2 stub.
Bernhard Reiter <bernhard@intevation.de>
parents: 4570
diff changeset
11 test_postgresql.py
2c3cc4ccd024 Automatic tests: added some notes to the readme and a test_jinja2 stub.
Bernhard Reiter <bernhard@intevation.de>
parents: 4570
diff changeset
12 test_security.py
2c3cc4ccd024 Automatic tests: added some notes to the readme and a test_jinja2 stub.
Bernhard Reiter <bernhard@intevation.de>
parents: 4570
diff changeset
13 test_sqlite.py
2c3cc4ccd024 Automatic tests: added some notes to the readme and a test_jinja2 stub.
Bernhard Reiter <bernhard@intevation.de>
parents: 4570
diff changeset
14 test_userauditor.py
2c3cc4ccd024 Automatic tests: added some notes to the readme and a test_jinja2 stub.
Bernhard Reiter <bernhard@intevation.de>
parents: 4570
diff changeset
15
2c3cc4ccd024 Automatic tests: added some notes to the readme and a test_jinja2 stub.
Bernhard Reiter <bernhard@intevation.de>
parents: 4570
diff changeset
16 grep "import db_test_base" -l *.py
2c3cc4ccd024 Automatic tests: added some notes to the readme and a test_jinja2 stub.
Bernhard Reiter <bernhard@intevation.de>
parents: 4570
diff changeset
17 test_cgi.py
2c3cc4ccd024 Automatic tests: added some notes to the readme and a test_jinja2 stub.
Bernhard Reiter <bernhard@intevation.de>
parents: 4570
diff changeset
18 test_jinja2.py
2c3cc4ccd024 Automatic tests: added some notes to the readme and a test_jinja2 stub.
Bernhard Reiter <bernhard@intevation.de>
parents: 4570
diff changeset
19 test_mailgw.py
2c3cc4ccd024 Automatic tests: added some notes to the readme and a test_jinja2 stub.
Bernhard Reiter <bernhard@intevation.de>
parents: 4570
diff changeset
20 test_xmlrpc.py
2c3cc4ccd024 Automatic tests: added some notes to the readme and a test_jinja2 stub.
Bernhard Reiter <bernhard@intevation.de>
parents: 4570
diff changeset
21
2c3cc4ccd024 Automatic tests: added some notes to the readme and a test_jinja2 stub.
Bernhard Reiter <bernhard@intevation.de>
parents: 4570
diff changeset
22 grep "import memory\|from memory" -l *.py
2c3cc4ccd024 Automatic tests: added some notes to the readme and a test_jinja2 stub.
Bernhard Reiter <bernhard@intevation.de>
parents: 4570
diff changeset
23 test_mailgw.py
2c3cc4ccd024 Automatic tests: added some notes to the readme and a test_jinja2 stub.
Bernhard Reiter <bernhard@intevation.de>
parents: 4570
diff changeset
24 test_memorydb.py
2c3cc4ccd024 Automatic tests: added some notes to the readme and a test_jinja2 stub.
Bernhard Reiter <bernhard@intevation.de>
parents: 4570
diff changeset
25
2c3cc4ccd024 Automatic tests: added some notes to the readme and a test_jinja2 stub.
Bernhard Reiter <bernhard@intevation.de>
parents: 4570
diff changeset
26
2c3cc4ccd024 Automatic tests: added some notes to the readme and a test_jinja2 stub.
Bernhard Reiter <bernhard@intevation.de>
parents: 4570
diff changeset
27 The remaining lines are an 2001 description from Richard,
2c3cc4ccd024 Automatic tests: added some notes to the readme and a test_jinja2 stub.
Bernhard Reiter <bernhard@intevation.de>
parents: 4570
diff changeset
28 which probably is outdated:
2c3cc4ccd024 Automatic tests: added some notes to the readme and a test_jinja2 stub.
Bernhard Reiter <bernhard@intevation.de>
parents: 4570
diff changeset
29
127
0791d13baea7 Added vim command to all source so that we don't get no steenkin' tabs :)
Richard Jones <richard@users.sourceforge.net>
parents: 95
diff changeset
30 Structure of the tests:
95
cd4f0415d0dc rename for consistency
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
31
cd4f0415d0dc rename for consistency
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
32 1 Test date classes
cd4f0415d0dc rename for consistency
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
33 1.1 Date
cd4f0415d0dc rename for consistency
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
34 1.2 Interval
cd4f0415d0dc rename for consistency
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
35 2 Set up schema
cd4f0415d0dc rename for consistency
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
36 3 Open with specific backend
cd4f0415d0dc rename for consistency
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
37 3.1 anydbm
cd4f0415d0dc rename for consistency
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
38 4 Create database base set (stati, priority, etc)
cd4f0415d0dc rename for consistency
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
39 5 Perform some actions
cd4f0415d0dc rename for consistency
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
40 6 Perform mail import
cd4f0415d0dc rename for consistency
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
41 6.1 text/plain
cd4f0415d0dc rename for consistency
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
42 6.2 multipart/mixed (with one text/plain)
cd4f0415d0dc rename for consistency
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
43 6.3 text/html
cd4f0415d0dc rename for consistency
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
44 6.4 multipart/alternative (with one text/plain)
cd4f0415d0dc rename for consistency
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
45 6.5 multipart/alternative (with no text/plain)

Roundup Issue Tracker: http://roundup-tracker.org/