Commit graph

111 commits

Author SHA1 Message Date
6bb129db2f Mock correct method of Lang 2017-03-28 19:58:20 -04:00
f902346b6c Eliminated passing of RuntimeData instances
- RuntimeData has now been replaced by a single static Data class
- The Data class has a load() method which fills the same role as the constructor of RuntimeData
- The static Lang class is now an instantiable class and is a member of Data
- All tests have been adjusted and pass
- The Exception tests no longer require convoluted workarounds: a simple mock  for Data::$l suffices; Lang tests also use a mock to prevent loops now instead of using a workaround
2017-03-28 18:50:00 -04:00
2b8aa75ee3 Row index is not a string 2017-03-28 10:31:49 -04:00
7236020b8b Changed "NewsSync" to "Arsse" 2017-03-27 23:12:12 -05:00
9d5dab249c Helper methods for testing Database class
May not actually work yet
2017-03-27 23:19:05 -04:00
b8f9b6070e Experimental method to remove a folder 2017-03-27 08:39:24 -04:00
ce0584e7f8 Added Feed Updating
• Started implementing feed updating (Database->updateFeeds())
• Moved hashing to the Feed object, now done when parsing
• Moved adding of articles to the database to its own method
(Database->articleAdd())
2017-03-26 15:16:15 -05:00
8c76c22d74 Implement retrieving folder list in Database 2017-03-24 22:39:18 -04:00
254ffe7b48 Don't enforce 100-character limit on folder names 2017-03-24 13:26:13 -04:00
8b50297e6d Complete tests for NCN version list
- Fixes #47
- Implemented an AbstractHandler class with a generic URL parser
2017-03-24 13:16:34 -04:00
25d9158171 Fix output of NCN version list
List is supposed to be contained in a JSON object, not a bare list
2017-03-19 21:54:28 -04:00
536fa5c4fd Implement NextCloud News version detection
- Improves #47
- Still needs wrapping to actually output to clients
2017-03-19 21:50:00 -04:00
20abd277eb Don't muck with test file for now 2017-03-18 22:32:16 -04:00
9a8def03c2 Fill in more of the REST handler.
Not yet functional.
2017-03-18 22:30:36 -04:00
3f61921b97 Added picoFeed wrapper
• Implemented a simple wrapper for picoFeed which fixes the id problems
and keeps error handling within its own class
• Updated Database.php to use the new class
• Replaced mentions of ownCloud with NextCloud in the schema
• Added hashes to schema for identification and change detection;
removed NextCloud hash and fingerprint; removed enclosure and category
hashes
2017-03-18 11:01:23 -05:00
b821d728e4 Add rest dependency; fix SQLite function def 2017-03-13 23:22:20 -04:00
6413d3a489 Re-order SQLite3 driver initialization
Should handle error reporting better
2017-03-13 19:13:06 -04:00
bb8af5a62c Added Custom Functions into Db/SQLite3/Driver
• Created Db/SQLite3/CustomFunctions to house the dateFormat custom
function and potentially others in the future.
• Fixed a typo in Db/SQLite3/Driver
2017-03-13 13:33:31 -05:00
8c268581fb Properly handle adding a folder
Also added test file for now
2017-03-09 22:41:11 -05:00
18c8076a0f Database update tests 2017-03-09 21:39:42 -05:00
6c16ba133c More database driver tests 2017-03-09 17:25:50 -05:00
689c1c77d0 Test for advisory locking 2017-03-09 17:14:26 -05:00
f0663e99c3 Add tests for transactions and savepoints
Existing code had subtle bugs; using increment and decrement operators actually makes things easier to understand (for once)
2017-03-09 16:36:33 -05:00
485400df2b Rename Result->get() to Result->getRow
It should be slightly clearer what it does
2017-03-09 15:01:18 -05:00
bdf3182305 Add result->lastId method; cleanup
- Result->lastId() added as MySQL and PostgreSQL have equivalent functionality
- Adjusted tests accordingly
- Cleaned up Database class to make use of this and getAll()
2017-03-09 14:48:42 -05:00
68f18e463c Use WITHOUT ROWID tables when useful
Slight optimization for SQLite for the 'settings' and 'users' tables
2017-03-09 10:15:28 -05:00
f0adf08b1e Add tests for type mismatches 2017-03-09 09:44:50 -05:00
95ee51563d First battery of SQLite driver tests 2017-03-08 22:16:35 -05:00
7f7d0cd1e7 All test for constraint violation exception 2017-03-08 13:59:20 -05:00
5ba38fc7aa Print ID in exception message 2017-03-08 12:31:45 -05:00
a3e2da1d36 Flesh out most database exceptions
- Fixes #46
- Some exception messages are tentative pending testing
2017-03-08 12:29:22 -05:00
7c1df71acd Make db throw specific exceptions
Needs testing and fleshing out; not all exception codes and messages have been defined
2017-03-08 09:55:16 -05:00
755c976aa4 Remove extraneous files 2017-03-08 08:21:48 -05:00
fa247b34f6 Reduce the number of database exception types 2017-03-08 08:19:42 -05:00
7687109132 Reorganize Db namespace; alter User ns to match 2017-03-07 18:01:13 -05:00
37dad63dee Impelemented Result->getAll()
- Fixes #45
- Renamed getSingle to getValue to avoid possible confusion
- Added test to ensure getValue() always returns the first datum of each row rather than going column-to-column
2017-03-06 16:34:38 -05:00
1dab15c20e Fix SQLite3 driver name 2017-03-04 20:03:41 -05:00
eeb1818bb5 Still more database changes
- Restructured tests
- Localized driver name for SQLite driver (fixes #37)
- Ensured that binding type definitions are required
2017-03-03 13:20:26 -05:00
2b7a236147 More database fixes
Now able to add feeds to the database
2017-03-02 22:43:59 -05:00
007e3747ef Various database fixes
Authentication appears to be broken with a real database
2017-03-02 20:47:00 -05:00
0c410fcf50 More binding tests and related changes
- Introduced abstract Statement class to hold common methods
- Common methods currently consist of a date formatter and type caster
- Moved binding tests to a trait for reuse with future drivers
2017-03-02 18:42:19 -05:00
1529fc367a Partial proper tests for parameter bindings
Null and (>0) integer tested so far

Many related changes to accomodate the necessary type juggling (required for databases other than SQLite).
2017-03-02 14:19:16 -05:00
337b2cf90c Remove last vestiges of PDO accomodation 2017-03-02 09:04:04 -05:00
f19f683e38 Make it possible to redefine Statement type binds 2017-03-01 23:12:42 -05:00
b4d178c33f Remove most PDO stuff
PDO will not be supported: the feature-set is less than any of the common native APIs, so why bother?
2017-03-01 22:47:51 -05:00
176247894d Tests for Db\ResultSQLite3 2017-03-01 19:00:14 -05:00
34c69fbf92 Be explicit about the loaded locale 2017-03-01 12:13:38 -05:00
104f646973 Code comments 2017-03-01 08:38:44 -05:00
13c17f5dd4 Small fixes to authorization exception tests 2017-02-28 14:04:14 -05:00
447fec993f Refector authorization exception tests 2017-02-28 13:10:04 -05:00