Commit graph

82 commits

Author SHA1 Message Date
85307bc90a Add parser for TTRSS search strings 2019-02-28 15:31:33 -05:00
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
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
b52dadf345 Make existing PostgreSQL tests explicitly PDO tests 2018-12-12 12:42:40 -05:00
0513b606c2 Merge master 2018-12-07 19:21:44 -05:00
089f666de6 Fix PDO insert ID errors in PHP 7.1 2018-12-06 17:46:00 -05:00
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
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
1414f8979c Fix savepoint handling and locking in PostgreSQL driver 2018-11-27 17:16:00 -05:00
39110858b7 Move database function test series as first step in re-organization 2018-11-23 09:29:06 -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
736a8c9d0c Improved timeout handling for both SQlite and PostgreSQL 2018-11-22 13:30:13 -05:00
edfae438fa Refine pg connection strings 2018-11-16 21:20:54 -05:00
c4ca9149a1 Move Statement tests 2018-11-09 15:01:46 -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
a8cc9a4780 Tests for internal user driver; closes #50 2018-11-04 12:06:30 -05:00
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
34b508171b Merge CORS branch 2018-01-12 09:41:13 -05:00
1a4989e1e0 Merge PDO branch 2018-01-12 09:28:58 -05:00
3fa2d38f31 Initial rewrite of REST class; needs more testing, but should be functional
- improves #53
- improves #66
2018-01-06 12:02:45 -05:00
9ad0b47201 Add Target class to manipulate request traget URL parts
The query part is not parsed for now because PSR-7 request objects/PHP take care of that parsing for us.
2018-01-04 14:06:45 -05:00
27caf147df Changes to Date helper class
- Changed 'transform' method to use ValueInfo throughout. This fixes a number of obscure bugs
- Changed the 'add' and 'sub' methods to default to "now" rather than null. This means null passes through rather than being interpreted as the current time, to be consistent with other date tools
- Also changed the 'add' and 'sub' methods so that they operate correctly with invalid date strings
- Added tests for the class; improves #66
- Modified TTRSS tests because the "iso8601" format string in ValueInfo is different from Date's older format
2018-01-02 16:53:38 -05:00
77793f95cb Controller fixes for PDO databases; fixes #72 2017-12-31 17:24:40 -05:00
a5318d1b12 Part 2 2017-12-22 11:45:24 -05:00
095fe10aec Reorganize PDO tests into namespaces 2017-12-22 11:41:54 -05:00
59fee52074 Reorganize tests into namespaces 2017-12-21 22:47:19 -05:00
4bada691e9 PDO tests and fixes; improves #72 2017-12-19 19:08:08 -05:00
ad6a09ffa1 Partially tested pdo_sqlite driver; improves #72 2017-12-19 17:15:05 -05:00
183718204d Grouped slow tests; improves #113 2017-12-16 20:03:04 -05:00
4bc3398157 Use Robo for programming task execution
The plan had originally been to use Bldr, but Bldr's features were not particularly compelling, and it has not been maintained recently. By contrast Robo has very useful features while still meeting my needs.

In addition to migrating the build process, the current Robo file also runs unit tests, with or without coverage reporting.

Fixes #116; improves #113
2017-12-08 14:37:49 -05:00
3adfe8742f Reorganize test cases 2017-12-07 15:46:49 -05:00
c669273792 Implement TTRSS operation getHeadlines; fixe #82 2017-11-22 20:18:16 -05:00
5d4ea6edc0 Add ResultEmpty class
This allows for the creation of synthetic empty result sets
2017-11-19 15:49:41 -05:00
ea08bbb87b Implement TTRSS feed icons; fixes #121
This introduces a data model function of unusual privilege: it can retrieve favicon URLs for any subscription, regardless of user ID. This is a single-purpose hack and its use should be avoided if at all possible.
2017-11-10 12:02:59 -05:00
6b1cd3816d Add warnings for slow tests in PHPUnit
This should help in fixing slow tests down the road.
2017-11-08 11:31:44 -05:00
42a5ccb96c Handle request splitting in data model rather than controllers
Queries for multiple specific articles are limited in size because of limits on  the number of bound query parameters.

Currently this limit is somewhat arbitrarily set at 50, but it may increase.

Historically controllers would be responsible for chunking input, but this will present problems when the expected output is a result set, and of course the maintenance burden increases as the number of controllers increases.

This commit transfers the burden to the data model, and consequently introduces a ResultAggregate class which collects chunked result sets (currently only for articleList).

In the course of making these changes the mock Result class was also largely rewritten, fixing many bugs with it.

This commit does not modify the controllers nor their tests; this will be done in a subsequent commit.
2017-11-06 23:32:29 -05:00
26f6922b25 Partially implement labels
- Backend functions for adding, listing, removing, and editing (renaming) labels currently implemented
- TTRSS functions for adding (fixes #96), removing (fixes #97), and renaming (fixes #98) labels currently implemented
2017-10-05 17:42:12 -04:00
97b0134e56 Merge master 2017-10-02 15:42:15 -04:00
5488b994f7 Merged master; CS fixes 2017-09-28 10:16:24 -04:00
8487a56a60 Tests for TTRSS session handling and version/level reporting
- Fixes #73
- Fixes #74
- Fixes #75
- Fixes #76
- Fixes #77
2017-09-25 10:08:37 -04:00
91432d4e16 Tests for sessions 2017-09-24 12:45:07 -04:00
52104fb647 Implement article cleanup; fixes #28 2017-08-17 22:36:15 -04:00
4066bba05e Full code coverage for Database class
- Fixes #49
2017-07-22 23:08:08 -04:00
da80a8ffa6 Complete tests for database driver
- Fixes #62
2017-07-22 15:29:12 -04:00
1b970cc7c5 Experimental forking service and accompanying CLI
- Improves #48, #57, and #61
2017-07-21 17:15:43 -04:00
cbdcacd1c3 Added basic code coverage annotations 2017-07-20 18:36:03 -04:00