Commit graph

194 commits

Author SHA1 Message Date
bc53a2d24a Style fixes 2020-03-01 15:16:50 -05:00
06d3af0ac3 Fix remaining Picofeed-related test failures 2020-01-24 15:54:08 -05:00
bbace7a0ac Use void and nullable return types where practical 2020-01-20 13:34:03 -05:00
5838af892f Replace references to Zend with Laminas 2020-01-20 10:40:05 -05:00
524b1ca140 Merge branch 'master' into phpunit-8 2019-12-06 18:26:28 -05:00
737dd9f6b8 Fix foreign keys in MySQL 2019-12-01 15:00:28 -05:00
de424e42f6 Merge branch 'master' into phpunit-8 2019-11-14 11:51:38 -05:00
c59cdfef76 Whitespace fixes 2019-10-25 15:16:35 -04:00
71c7cd8fb1 Full coverage! Fixes #66 2019-10-19 18:51:01 -04:00
64c3ec3571 Coverage fixes and OPML bugfix 2019-10-17 13:00:56 -04:00
17a2fa96f8 Upgrade to PHPUnit 8 2019-10-16 14:42:43 -04:00
c5337b37b4 Consolidate creation of synthetic server requests 2019-09-25 18:30:53 -04:00
29667464a1 Remove unnecessary namespace imports 2019-09-05 10:03:32 -04:00
bab4174a17 Move database driver helps out of test cases 2019-08-25 13:19:11 -04:00
13b76dea0c Tests for generic importing 2019-07-25 13:14:29 -04:00
2aa16f3405 Merge branch 'fever' into opml 2019-07-24 14:04:04 -04:00
0480465e7e Test Fever XML responses
Fixes #158
2019-07-24 09:10:13 -04:00
103755cfb4 Test fixture for import tests 2019-07-05 19:01:34 -04:00
cb71a9efd7 Make database connections for testing configurable 2019-06-22 10:29:26 -04:00
2628ff7bf4 Make database test helpers generic 2019-06-21 18:52:27 -04:00
9ebaa20633 Tests for Fever password creation and removal 2019-03-20 22:24:35 -04:00
5cd84c4ab4 Validate configuration parameters on import, and other changes
- Each parameter is checked for type and normalized
- Interval strings are converted to DateInterval objects
- Timeouts can be specified as interval strings
- Most intervals can be null to signify infinity
- Driver classes are checked that they implement the correct interface
- Short driver names may be used, and are used by default
- Helpful errors messages are printed in case of erroneous configuration

Exporting is currently broken; this will be fixed in an upcoming commit
2019-01-20 22:40:49 -05:00
e501fbdc87 Remove the DatabaseInformation class in tests and use traits instead 2019-01-12 12:43:06 -05:00
81acba90dc Use strict equality when comparing strings 2019-01-11 10:38:06 -05:00
c4a41255b0 Experimental native MySQL driver
No testing has been performed yet, but changes are extensive enough to
warrant a commit. Of particular note:

- SQL states are enumerated in a separate trait to reduce duplication
- PDOStatement is now an abstract class to avoid duplication of
engine-specific error handling
- Error handling has been cleaned up somewhat
2019-01-10 19:01:32 -05:00
f0d30c2eee Make munging of queries a generic feature 2018-12-21 12:35:10 -05:00
24df564045 Mostly successful MySQL database function tests
Two failures remain, at least one requiring query munging.
2018-12-21 10:14:26 -05:00
4ef36643a4 Proof-of-concept PDO MySQL driver
- Configuration options were added
- Non-transactional locking was added to the savepoint handlers
- Tests were adjusted for MySQL's reserved words
2018-12-20 18:06:28 -05:00
2bebdd44cf Implementation of native PostgreSQL interface
Changes to the Database class were required to avoid outputting booleans
2018-12-13 19:47:51 -05:00
0513b606c2 Merge master 2018-12-07 19:21:44 -05:00
cf896121b2 Style fixes 2018-12-05 17:28:11 -05:00
4a1c23ba45 Munge PostgreSQL queries instead of adding explicit casts
PDO does not adequately inform PostgreSQL of a parameter's type, so type
casts are required. Rather than adding these to each query manually, the
queries are instead processed to add type hints automatically.

Unfortunately the queries are processed rather naively; question-mark
characters in string constants, identifiers, regex patterns, or geometry
operators will break things spectacularly.
2018-11-29 13:45:37 -05:00
93af381436 Test setting of schema name 2018-11-27 17:39:39 -05:00
1414f8979c Fix savepoint handling and locking in PostgreSQL driver 2018-11-27 17:16:00 -05:00
8a49202036 Use common cleanup code for all database-related tests 2018-11-27 14:26:33 -05:00
925560d4ba Cleanup 2018-11-25 00:06:20 -05:00
dccd4caede Convert one database function test series (articles) to a common harness
Also revert the dropping of tables in the schema files. This was for the
convenience of tests, but the risk of data loss is too great
2018-11-24 23:18:17 -05:00
7340d65c0e Make data clearing in tests static 2018-11-23 10:01:17 -05:00
39110858b7 Move database function test series as first step in re-organization 2018-11-23 09:29:06 -05:00
8c20411359 Align statement tests with other database driver tests 2018-11-22 23:18:20 -05:00
f22e53fdc9 Align result tests with driver tests 2018-11-22 19:55:54 -05:00
aa1b65b5d4 Take a different tack on shared database tests
Tests for different drivers will have their own files, but all derive
from a common prototype test series where applicable, similar to the
existing arrangement for database function tests. However, the prototype
will reside with other test cases rather than in the library path. The
database function test series will hopefully be moved as well in time.
2018-11-22 13:55:57 -05:00
4e444fd86c Generic database interface creation in tests 2018-11-21 13:06:01 -05:00
976672de5b Test cleanup 2018-11-16 21:32:27 -05:00
30d6f6db37 Consolidate Db result test series into single file 2018-11-08 14:50:58 -05:00
63ae6fb703 Merge remote-tracking branch 'remotes/origin/user-rewrite' 2018-11-06 16:36:50 -05:00
ba8e208d79 Partial CLI tests 2018-11-06 12:32:28 -05:00
d40243a84c Clean up configuration setting in tests 2018-11-04 09:16:34 -05:00
ffa7bd5a5d Fix error in previous commit 2018-11-02 12:01:03 -04:00
931fe3b585 Move password generation to the User class
This allows user drivers which wish to generate their own passwords to
do so, and those which do not to defer to the built-in generator
2018-11-02 11:52:55 -04:00