1
1
Fork 0
mirror of https://code.mensbeam.com/MensBeam/Arsse.git synced 2024-12-23 17:12:41 +00:00
Commit graph

487 commits

Author SHA1 Message Date
J. King
2a0d6e6599 OPTIONS tests 2020-12-01 12:08:45 -05:00
J. King
7fa5523a7d Simplify handling of invalid paths and methods 2020-12-01 11:06:29 -05:00
J. King
def07bb1ad Tests for Miniflux authentication
This appears to match Miniflux's behaviour
2020-11-30 10:52:32 -05:00
J. King
90117b5cd7 Fix Miniflux strip value 2020-11-26 08:42:35 -05:00
J. King
06dee77bac First tests for Miniflux 2020-11-23 09:31:50 -05:00
J. King
d4bcdcdadd Fix TTRSS coverage 2020-11-18 10:01:20 -05:00
J. King
d3ebb1bd56 Last set of tests for user management. Fixes #180 2020-11-17 16:23:36 -05:00
J. King
e16df90bae Style fixes 2020-11-16 10:26:14 -05:00
J. King
180b4ecc9b More user tests 2020-11-16 10:24:06 -05:00
J. King
27d9c046d5 More work on user management 2020-11-16 00:11:19 -05:00
J. King
7f2117adaa Differentiate between duplicate/missing users and other failure modes 2020-11-15 16:24:26 -05:00
J. King
351f972512 Tests for internal user driver 2020-11-13 21:41:27 -05:00
J. King
4baf5fa2f9 Tests for new user functionality in Database 2020-11-13 19:30:23 -05:00
J. King
5a17efc7b5 Clean up user driver API
- It is no longer assumed a driver knows whether a user exists
- The $password param is now required (but nullable when setting
2020-11-09 18:14:03 -05:00
J. King
771f79323c Strip out remnants of the authorizer 2020-11-09 16:51:30 -05:00
J. King
576d7e16a8 Fix handling of bytea-typed nulls 2020-11-09 16:49:42 -05:00
J. King
b62c11a43e Lasts tests for icon cache; fixes #177 2020-11-07 08:11:06 -05:00
J. King
311910795a More tests for icon cache 2020-11-06 17:06:01 -05:00
J. King
424b14d2b4 Clean up use of subscriptionFavicon 2020-11-06 10:27:30 -05:00
J. King
4fc208d940 More consistent icon API 2020-11-05 16:51:46 -05:00
J. King
c3a57ca68b Tests for icon cache population 2020-11-05 14:19:17 -05:00
J. King
bd650765e1 Generalize icon fetching tests 2020-11-05 12:12:01 -05:00
J. King
50fd127ac4 Test for icon fetching 2020-11-05 10:14:42 -05:00
J. King
2438f35f3d Add icon cache to database
Feed updating has not yet been adapted to store
icon data (nor their URLs anymore)
2020-11-04 18:34:22 -05:00
J. King
5e60da00a9 Merge branch 'master' into miniflux 2020-11-03 18:58:09 -05:00
J. King
b5f959aabf Fix blob tests 2020-11-03 18:57:26 -05:00
J. King
41bcffd6fb Correctly query PostgreSQL byte arrays
This required different workarouynd for the native and PDO interfaces
2020-11-03 17:52:20 -05:00
J. King
c21ae3eca9 Correctly send binary data to PostgreSQL
This finally brings PostgreSQL to parity with SQLite and MySQL.
Two tests casting binary data to text were removed since behaviour here
should in fact be undefined

Accountinf for any encoding when retrieving data will be addressed by
a later commit
2020-11-02 15:21:04 -05:00
J. King
4db1b95cf4 Add numeric IDs and other Miniflux data to SQLite schema 2020-10-30 15:25:22 -04:00
J. King
3ac010d5b6 Fix tests in absence of database extensions 2020-10-30 12:16:03 -04:00
J. King
0117e7f9bf Relax Fever's HTTP correctness for client compat
- Unread on iOS appears to send all API requests as GETs
- Newsflash on Linux sends multipart/form-data input
2020-10-27 10:49:54 -04:00
J. King
66a4f71ef3 Minor simplification 2020-04-25 11:42:23 -04:00
J. King
1268e5fd73 Finally fix DST error in tests 2020-03-11 16:21:42 -04:00
J. King
e60f7ea03f Add class constant visibility 2020-03-01 18:32:01 -05:00
J. King
bc53a2d24a Style fixes 2020-03-01 15:16:50 -05:00
J. King
3aa17ee70f Whitespace 2020-03-01 10:17:16 -05:00
J. King
39a1895867 Refine and cover new Guzzle error handling 2020-02-03 16:54:45 -05:00
J. King
06d3af0ac3 Fix remaining Picofeed-related test failures 2020-01-24 15:54:08 -05:00
J. King
49d003082d Fix problems with nicolus/picofeed
This involved multiple fixes to Picofeed itself, not all of which have
been merged upstream yet
2020-01-23 17:07:20 -05:00
J. King
e583ffea67 Start on integrating well-maintained picofeed fork
Picofeed configuration does not seem to get passed to Guzzle.
2020-01-21 08:42:38 -05:00
J. King
b5f118e8cb Cleanup 2020-01-20 13:52:48 -05:00
J. King
bbace7a0ac Use void and nullable return types where practical 2020-01-20 13:34:03 -05:00
J. King
5838af892f Replace references to Zend with Laminas 2020-01-20 10:40:05 -05:00
J. King
14ef33879b Re-arrange database tests by engine 2020-01-19 18:13:32 -05:00
J. King
c4ee7254cd Refactor some tests to use data providers 2020-01-08 12:02:43 -05:00
J. King
fb2602fe04 Don't load actual configuration during CLI tests 2019-12-27 09:00:22 -05:00
J. King
524b1ca140 Merge branch 'master' into phpunit-8 2019-12-06 18:26:28 -05:00
J. King
bbe70b6abc Corect CamelCase references to Nextcloud 2019-12-05 13:02:02 -05:00
J. King
5df89009e6 Merge branch 'master' of https://code.mensbeam.com/MensBeam/arsse 2019-12-02 19:09:16 -05:00
J. King
c1a3e64bfa Fix new tests to work with PHPUnit 8 2019-11-14 12:05:10 -05:00
J. King
de424e42f6 Merge branch 'master' into phpunit-8 2019-11-14 11:51:38 -05:00
J. King
c59cdfef76 Whitespace fixes 2019-10-25 15:16:35 -04:00
J. King
71c7cd8fb1 Full coverage! Fixes #66 2019-10-19 18:51:01 -04:00
J. King
728eecfbb5 Additional service tests 2019-10-19 12:14:13 -04:00
J. King
bad86cedb3 Tests for bootstrapper 2019-10-19 12:13:42 -04:00
J. King
3ef1177f06 Remove driver lists 2019-10-18 13:20:28 -04:00
J. King
b6dd8ab20d Improvements to and proper tests for query builder 2019-10-18 13:11:03 -04:00
J. King
c706a76057 Simplify array flattening 2019-10-18 13:10:03 -04:00
J. King
c3643fba10 Tests for URL::absolute() 2019-10-17 16:23:41 -04:00
J. King
64c3ec3571 Coverage fixes and OPML bugfix 2019-10-17 13:00:56 -04:00
J. King
17a2fa96f8 Upgrade to PHPUnit 8 2019-10-16 14:42:43 -04:00
J. King
b8b8a6aa70 Also adjust test for MySQL connection failure 2019-10-16 10:26:39 -04:00
J. King
cb1039326c Fix PostgreSQL tests when using "trust" authentication 2019-10-11 13:04:15 -04:00
J. King
1809fb254e Deal with trailing whitespace in media types 2019-09-27 22:54:33 -04:00
J. King
4f5a8e3180 Make media type checking more robust 2019-09-27 22:38:03 -04:00
J. King
5f993187ea Be explicit with HTTP challenge character encoding 2019-09-27 17:16:34 -04:00
J. King
c5337b37b4 Consolidate creation of synthetic server requests 2019-09-25 18:30:53 -04:00
J. King
a143c86136 Set up test better 2019-09-12 11:14:30 -04:00
J. King
3da884dfbc Don't embed ito SQL strings with question marks
Fixes #175
2019-09-12 09:53:43 -04:00
J. King
be5ad50f54 Tests for text search clause generator 2019-09-12 09:41:01 -04:00
J. King
d0f780d4e6 Unit tests for IN() clause generator 2019-09-11 15:25:26 -04:00
J. King
53aa7a4d0d Style fixes 2019-09-05 10:21:36 -04:00
J. King
d9c769d40e Remove Target class 2019-09-05 10:19:05 -04:00
J. King
6235cb0be6 Fix errors in last commit 2019-09-05 10:13:17 -04:00
J. King
29667464a1 Remove unnecessary namespace imports 2019-09-05 10:03:32 -04:00
J. King
0eb0fbcc0d Also normalize relative URLs 2019-09-03 19:34:56 -04:00
J. King
3439895779 Normalize URLs before establishing feed uniqueness 2019-09-03 19:04:23 -04:00
J. King
bd71ddb929 Percent-encoding and IPv6 normalization 2019-09-03 13:16:05 -04:00
J. King
d4802bcdb6 Handle IDNs
While IPv6 address normalization was originally planned, this was deemed
too much effort to bother with such a niche feature; IPv6 addresses are
instead passed through unmodified
2019-08-27 15:18:02 -04:00
J. King
dc750acf07 Handle ports, paths, and credentials correctly 2019-08-27 11:08:13 -04:00
J. King
13c27c2536 Start on URL normalizer 2019-08-26 22:13:30 -04:00
J. King
bab4174a17 Move database driver helps out of test cases 2019-08-25 13:19:11 -04:00
J. King
16530b9a66 Probably test for feed redirection bug 2019-08-06 14:17:56 -04:00
J. King
b8b559b0f8 Correct spuriously failing tests 2019-08-05 16:33:48 -04:00
J. King
eb120b4629 Fetch in three hours if caching is via etag 2019-07-27 11:03:17 -04:00
J. King
45a43488ee Increase compatibility with misbehaving Fever clients 2019-07-26 23:23:22 -04:00
J. King
db5bcb78a3 Fix lookup of evergreen tokens 2019-07-26 20:06:47 -04:00
J. King
f7240301e4 Basic database maintenance
Closes #169
2019-07-26 09:37:51 -04:00
J. King
422eaf9605 Invalidate sessions on password change; closes #170 2019-07-25 22:34:58 -04:00
J. King
faf524c54f CLI test for import
Fixes #35
2019-07-25 15:45:18 -04:00
J. King
13b76dea0c Tests for generic importing 2019-07-25 13:14:29 -04:00
J. King
0e95892aea Do not necessarily ignore blank tags in import
We still make them practically impossible in OPML imports, however
2019-07-24 14:20:17 -04:00
J. King
2aa16f3405 Merge branch 'fever' into opml 2019-07-24 14:04:04 -04:00
J. King
56bb460820 Test answering OPTIONS requests in Fever 2019-07-24 12:32:00 -04:00
J. King
61b942df70 Defer Fever favicons to a future release 2019-07-24 12:27:50 -04:00
J. King
0480465e7e Test Fever XML responses
Fixes #158
2019-07-24 09:10:13 -04:00
J. King
8f9678b8a4 Tests for baasic import errors 2019-07-05 21:18:30 -04:00
J. King
103755cfb4 Test fixture for import tests 2019-07-05 19:01:34 -04:00
J. King
30cede9ea4 Make OPML parser protected 2019-07-05 14:58:05 -04:00
J. King
61fe673e20 Skeleton for import tests 2019-06-23 18:45:24 -04:00
J. King
cb71a9efd7 Make database connections for testing configurable 2019-06-22 10:29:26 -04:00
J. King
2628ff7bf4 Make database test helpers generic 2019-06-21 18:52:27 -04:00
J. King
12ef3e649f Mock AbstractImportExport directly 2019-06-21 13:55:49 -04:00
J. King
7046ce163c More format-neutral code out of OPML class 2019-06-21 13:47:34 -04:00
J. King
c1e13e6199 Tests for file imports 2019-05-12 16:33:19 -04:00
J. King
be5a1fb94f Mixed content test for OPML 2019-05-08 20:24:16 -04:00
J. King
0f7d49c21e More OPML tests and fixes 2019-05-06 19:36:39 -04:00
J. King
644750487c Command line documentation and fixes 2019-05-06 00:02:59 -04:00
J. King
a30114807f Tests and fixed for OPML feed parsing 2019-05-05 20:29:44 -04:00
J. King
cdd9f4dfbe More OPML parser tests 2019-05-02 21:54:49 -04:00
J. King
5ba009cfed First set of OPML parser tests 2019-05-02 12:52:52 -04:00
J. King
6ef13d0880 Style fixes 2019-05-01 22:52:20 -04:00
J. King
3899ee6b4e Allow for replacing label and tag associations
This supplements adding and removing
2019-04-27 18:32:15 -04:00
J. King
2d18be959c Tests for undoing read marks 2019-04-10 18:27:57 -04:00
J. King
daeff63239 Test basic Fever responses 2019-04-10 16:01:58 -04:00
J. King
efd8492573 Tests for various invalid requests 2019-04-10 15:07:34 -04:00
J. King
52bc5fbda6 Tests for simple marking 2019-04-10 09:48:28 -04:00
J. King
98fc3f4940 Test for hot links 2019-04-08 19:21:21 -04:00
J. King
e8f4732b1f Tests for saved and unread item ID lists 2019-04-08 19:15:12 -04:00
J. King
4ce371ece6 Tests and fixes for Fever item listing 2019-04-08 18:41:56 -04:00
J. King
e3d2215920 Style fixes 2019-04-05 11:03:15 -04:00
J. King
12f23ddc16 Updated tests for arbitrary sorting 2019-04-04 17:21:23 -04:00
J. King
f72c85c9f6 Hopefully working but maybe broken custom sorting 2019-04-04 11:22:50 -04:00
J. King
74fc39fca0 Implement multi-folder context option 2019-04-02 22:44:09 -04:00
J. King
cce1089e10 Handle edge case with folder 0
Folder 0 (the root folder) is a valid, though nonsensical selection:
using it as a positive option is the same as not using the option at
all, and using it as a negative option necessarily yields an empty set.

However, it can in some contexts be validly specified, and so it should
be handled consistently. It had not been previously, but is now.
2019-04-02 19:58:35 -04:00
J. King
98f6fca7e3 Enforce minimum array size (for now) 2019-04-02 18:37:46 -04:00
J. King
ef1b761f95 Implement most multiple-item context options
Selecting multiple folder trees will require further effort
2019-04-02 18:24:20 -04:00
J. King
ba32ad2f17 Add context options for multiple tags, labels, etc 2019-04-02 09:32:31 -04:00
J. King
77efaa7b41 CLI command for exporting OPML and sundry cleanup 2019-04-01 17:24:19 -04:00
J. King
deea294f8a Add export-to-file wrapper for OPML 2019-04-01 16:54:14 -04:00
J. King
35e79d53a9 OPML export fixes, with tests 2019-03-30 10:01:12 -04:00
J. King
de615c671a Tests and fixed for Fever feeds and groups 2019-03-27 15:09:04 -04:00
J. King
7faec3b0db Fever fixes
- Ensure the last refresh time is included in authenticated requests
- Use a partial mock in auth tests so that other processing does not
get in the way of results
- Make sure the group list includes unused groups
- Make sure the update time of subscriptions is correct
2019-03-27 11:54:47 -04:00
J. King
d8407330a0 Add a function to get when feeds were last updated
This is an optimization for Fever, which returns this information with
every API call.
2019-03-26 16:51:44 -04:00
J. King
9c61f967e3 Correct CLI password clearing 2019-03-25 17:07:28 -04:00
J. King
54be5997d1 CLI tests for password changing and clearing 2019-03-25 15:03:41 -04:00
J. King
a7fe879174 Fix CLI auth test 2019-03-25 14:24:58 -04:00
J. King
22c2629078 Partial tests for new CLI features 2019-03-25 10:45:05 -04:00
J. King
7d95e8fc09 Split Fever user management from protocol handler 2019-03-25 08:31:49 -04:00
J. King
1ce95ef4d9 Add means of testing Fever authentication 2019-03-24 15:05:21 -04:00
J. King
e45ba3f0ea Add means of unsetting a password in the backend 2019-03-24 14:42:23 -04:00
J. King
94314f3e6d Fix test errors when PostgreSQL or MySQL are not available 2019-03-21 15:51:26 -04:00
J. King
fe008d4343 A few more Fever authentication tests 2019-03-21 13:49:55 -04:00
J. King
3b28634447 Verify even in exceptional cases 2019-03-21 11:00:07 -04:00
J. King
07122b524a Rename Fever user functions for consistency 2019-03-21 10:19:30 -04:00
J. King
9ebaa20633 Tests for Fever password creation and removal 2019-03-20 22:24:35 -04:00
J. King
1e2d595992 Full set of authentication tests for Fever 2019-03-19 23:37:08 -04:00
J. King
d59223bbcb First authentication test for Fever 2019-03-18 22:49:47 -04:00
J. King
b02c910b1e Make token creation check that the user exists 2019-03-10 15:54:43 -04:00
J. King
38bdde1167 Add access tokens to the db, with relevant code
Tokens are similar to sessions in that they stand in for users, but the
protocol handlers will manage them; Fever login hashes are the
originating use case for them. These must never expire, for example,
and we need to specify their values.

This commit also performs a bit of database clean-up
2019-03-09 16:23:56 -05:00
J. King
5de1844f6d Add article selection by tag 2019-03-07 11:07:22 -05:00
J. King
e6f70527cf Simplify tag summary 2019-03-07 08:20:09 -05:00
J. King
ff0c9a3a55 Add functionality for interacting with subscription tags 2019-03-06 22:15:41 -05:00
J. King
4945f8baa3 Clarify various SQL queries 2019-03-05 19:22:01 -05:00
J. King
ed22090e49 Work around various SQLite-related problems
- WAL mode was not getting set properly
- Queries using the PDO driver could fail because PDO sucks
2019-03-04 11:05:46 -05:00
J. King
5efef2c2d0 Console command to refresh all feeds once; fixes #147 2019-03-02 14:59:44 -05:00
J. King
44366f48bf Remove arbitrary search term limits; fixes #150 2019-03-02 13:53:43 -05:00
J. King
21fdd66d37 Work around limit to SQL parameter placeholders for IN() clauses
Improves #150

LIKE-based matches also need to be similarly conservative
2019-03-01 22:36:25 -05:00
J. King
6857e8ec1b Merge branch 'search' 2019-03-01 12:26:08 -05:00
J. King
837f3c6dd6 Simplify SQL type handling
This is done in anticipation of dealing with SQL types in
places other than statements
2019-03-01 12:17:33 -05:00
J. King
3b8461b1ca Add searching to TTRSS handler 2019-02-28 16:22:04 -05:00
J. King
85307bc90a Add parser for TTRSS search strings 2019-02-28 15:31:33 -05:00
J. King
95de375e0b Handle folder and label exclusion
Consequently the way label data are retrieved was completely overhauled
2019-02-27 10:48:11 -05:00
J. King
677e33e518 Add text search exclusions 2019-02-26 11:39:19 -05:00
J. King
0dc82f64d5 Allow ranges in exclusion contexts 2019-02-26 11:11:42 -05:00
J. King
18d52ea402 Make exclusion contexts return their parent on change 2019-02-25 23:37:14 -05:00
J. King
b950ac066f Restrict options in not-context and hopefully make it easier to use 2019-02-25 22:41:12 -05:00
J. King
14c02d56ac Implement new context options other than not().
Context handling has also been re-organized to simplify later
implementation of the not() option
2019-02-25 16:26:38 -05:00
J. King
f4a74eec5d Add all the other context options allowed by the TTRSS search syntax 2019-02-25 10:46:43 -05:00
J. King
2df7c25b66 Add ability to search note text 2019-02-23 20:14:52 -05:00
J. King
bc3182a961 Basic substring searching 2019-02-22 18:50:39 -05:00
J. King
ace94e3ef8 Fix context, and context tests 2019-02-22 12:34:06 -05:00
J. King
500851f161 Style fixes 2019-01-23 16:34:54 -05:00
J. King
8ea1df920a Unify SQL timeouts
- Exec and lock timeouts now apply to MySQL
- Lock timeout now applies to PostgreSQL
- SQLite now uses a generic lock timeout setting which applies to all
2019-01-23 16:31:54 -05:00
J. King
5335d331f7 Fix configuration exporting 2019-01-21 09:55:25 -05:00
J. King
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
J. King
b0643de21c Add handling of DateInterval objects to ValueInfo 2019-01-17 16:29:42 -05:00
J. King
4670dfc849 Handle connection errors 2019-01-15 10:51:55 -05:00
J. King
e92bda5373 Various changes:
- Fix handling of binary data and long strings
- Simplify handling of socket connections
- Fix coverage
2019-01-15 08:58:11 -05:00
J. King
f3b0c791f8 Fix remaining tests 2019-01-14 09:51:00 -05:00
J. King
5d61ab0a57 Fixes for MySQL native interface
Three test failures remain, but these are minor and will be resolved
soon. Handling of binary data is also broken, but given that this works
fine with the PDO driver, there is presumably some correct method.
2019-01-13 23:17:19 -05:00
J. King
e501fbdc87 Remove the DatabaseInformation class in tests and use traits instead 2019-01-12 12:43:06 -05:00
J. King
81acba90dc Use strict equality when comparing strings 2019-01-11 10:38:06 -05:00
J. King
206cca35a9 Test tweaks 2018-12-21 17:51:49 -05:00
J. King
f0d30c2eee Make munging of queries a generic feature 2018-12-21 12:35:10 -05:00
J. King
24df564045 Mostly successful MySQL database function tests
Two failures remain, at least one requiring query munging.
2018-12-21 10:14:26 -05:00
J. King
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
J. King
29e7c1f154 Fix coverage 2018-12-13 19:56:07 -05:00
J. King
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
J. King
b52dadf345 Make existing PostgreSQL tests explicitly PDO tests 2018-12-12 12:42:40 -05:00
J. King
28f803dd28 Handle PostgreSQL connection errors 2018-12-12 11:15:07 -05:00
J. King
73729a6be8 Simplify database cleanup between tests 2018-12-10 13:17:04 -05:00
J. King
8dbf237626 Group PostgreSQL tests as slow 2018-12-10 12:39:09 -05:00
J. King
913cf71620 Fix incorrect annotations 2018-12-07 20:36:20 -05:00
J. King
f6966659a9 Use smarter coverage executer; properly suppress stderr during CLI tests 2018-12-07 20:25:48 -05:00
J. King
0513b606c2 Merge master 2018-12-07 19:21:44 -05:00
J. King
089f666de6 Fix PDO insert ID errors in PHP 7.1 2018-12-06 17:46:00 -05:00
J. King
cf896121b2 Style fixes 2018-12-05 17:28:11 -05:00
J. King
f2245861e3 Restore complete Database coverage
Also suppress PostgreSQL database function tests from normal coverage,
and add a "coverage:full" task to run them if needed.
2018-12-05 17:07:47 -05:00
J. King
51755a2ce6 Retire article field groups 2018-12-05 16:55:14 -05:00
J. King
0129965bbd Cover some missed code 2018-12-05 12:54:19 -05:00
J. King
22941f5ad1 Fix session tests
PostgreSQL now passes all tests. Connection and permission errors still
need to be accounted
for before the implementation is complete.
2018-12-05 12:07:45 -05:00
J. King
258be1d54e Fix most PostgreSQL test failures
Reasons for failures included an unhandled error code, erroneous sorting
assumptions, and a broken computation of the next insert ID in tests

Five failures remain.
2018-12-05 09:05:43 -05:00
J. King
8fc31cfc40 Rewrite various queries to work in PostgreSQL
This involved changes to the driver interface as well as the database
schemata. The most significantly altered queries were for article
selection and marking, which relied upon unusual features of SQLite.
Overall query efficiency should not be adversely affected (it may have
even imprved) in the common case, while very rare cases (not presently
triggered by any REST handlers) require more queries.

One notable benefit of these changes is that functions which query
articles can now have complete control over which columns are returned.
This has not, however, been implemented yet: symbolic column groups are
still used for now.

Note that PostgreSQL still fails many tests, but the test suite runs to
completion. Note also that one line of the Database class is not
covered; later changes will eventually make it easier to cover the line
in question.
2018-12-04 20:41:21 -05:00
J. King
527ecee393 Code coverage fixes 2018-11-29 13:56:15 -05:00
J. King
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
J. King
e68fcc0afa Manipulate only those sequences in the current PostgreSQL schema 2018-11-28 17:16:03 -05:00
J. King
4a2efd9987 Correct the state of PostgreSQL serial sequence during tests 2018-11-28 16:24:12 -05:00
J. King
dd4f22e04e Avoid use of reserved SQL word "user" 2018-11-28 14:21:36 -05:00
J. King
10b228224d Correct PostgreSQL data format and other tweaks 2018-11-28 12:12:49 -05:00
J. King
8dfedd30ef Test PostgreSQL schema upgrade
This was in fact buggy due to the schema version check causing an error
2018-11-28 10:46:23 -05:00
J. King
1414f8979c Fix savepoint handling and locking in PostgreSQL driver 2018-11-27 17:16:00 -05:00
J. King
8a49202036 Use common cleanup code for all database-related tests 2018-11-27 14:26:33 -05:00
J. King
a75fad53ca Adapt the rest of the test series 2018-11-25 00:03:56 -05:00
J. King
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
J. King
7340d65c0e Make data clearing in tests static 2018-11-23 10:01:17 -05:00
J. King
39110858b7 Move database function test series as first step in re-organization 2018-11-23 09:29:06 -05:00
J. King
8c20411359 Align statement tests with other database driver tests 2018-11-22 23:18:20 -05:00
J. King
f22e53fdc9 Align result tests with driver tests 2018-11-22 19:55:54 -05:00
J. King
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
J. King
736a8c9d0c Improved timeout handling for both SQlite and PostgreSQL 2018-11-22 13:30:13 -05:00
J. King
4e444fd86c Generic database interface creation in tests 2018-11-21 13:06:01 -05:00
J. King
c0c4810662 Nominally complete PostgreSQL driver
Connection error handling as well as uprade error handling still need
to be implemented.
2018-11-21 11:06:12 -05:00
J. King
84b4cb7465 Enable PostgreSQL statement testing
Tests involving binary data are skipped for now
2018-11-20 16:32:18 -05:00
J. King
b5733b070c Clean up statement tests
PostgreSQL tests are suppressed for now, but most pass.
2018-11-20 15:45:20 -05:00
J. King
976672de5b Test cleanup 2018-11-16 21:32:27 -05:00
J. King
edfae438fa Refine pg connection strings 2018-11-16 21:20:54 -05:00
J. King
c4ca9149a1 Move Statement tests 2018-11-09 15:01:46 -05:00
J. King
7e11019e83 Consolidate statement tests 2018-11-09 14:58:10 -05:00
J. King
ea6b4c951e Skip Result tests when necessary 2018-11-09 14:56:30 -05:00
J. King
a3dbb08da9 Remove obsolete test code 2018-11-08 16:29:46 -05:00
J. King
30d6f6db37 Consolidate Db result test series into single file 2018-11-08 14:50:58 -05:00
J. King
3b3b810f10 Replicate some unspecified NCNv1 behaviour, and document the rest
See #139 for list

Closes #139
Closes #140
Closes #141
2018-11-07 13:01:46 -05:00
J. King
63ae6fb703 Merge remote-tracking branch 'remotes/origin/user-rewrite' 2018-11-06 16:36:50 -05:00
J. King
3a4100576a Merge remote-tracking branch 'remotes/origin/cli-overhaul' 2018-11-06 16:36:35 -05:00
J. King
39134f5f7e Rest of CLI tests 2018-11-06 16:35:33 -05:00
J. King
4869559fb3 Test NCNv1 user query 2018-11-06 13:21:53 -05:00
J. King
2dd1b45d3e Cover the Query class with database tests for now 2018-11-06 12:51:34 -05:00
J. King
ba8e208d79 Partial CLI tests 2018-11-06 12:32:28 -05:00
J. King
a8cc9a4780 Tests for internal user driver; closes #50 2018-11-04 12:06:30 -05:00
J. King
d40243a84c Clean up configuration setting in tests 2018-11-04 09:16:34 -05:00
J. King
1ac85df46b Last set of tests for User class 2018-11-03 13:26:22 -04:00
J. King
b8f8a617fe Simply user test data providers
The user manager no longer differentiates between the internal driver
and other drivers, making the duplication unnecessary
2018-11-02 17:28:12 -04:00
J. King
a52b985826 Cover the Query class with database tests for now 2018-11-02 12:14:46 -04:00
J. King
5959c0672d Tests for most of the User class 2018-11-02 10:02:37 -04:00
J. King
11747c93fd Strip out unused user management functionality
Tests have been removed as well; new tests are forthcoming
2018-10-28 10:59:17 -04:00
J. King
0be9dcb5a8 Update dependencies 2018-10-26 16:27:18 -04:00
J. King
e08d82f855 Style fix 2018-10-26 14:58:36 -04:00
J. King
f64f0c6a22 Whitespace cleanup 2018-10-26 14:58:04 -04:00
J. King
1aa556cf12 Add HTTP authentication support to TTRSS; fixes #133
Also bump version to 0.4.0
2018-10-26 14:40:20 -04:00