Commit Graph

48 Commits

Author SHA1 Message Date
Kiel Gillard
745b5d8cb8 Fetch article contents from Feedly by ids rather than paging through streams up until the last successful sync date. Issues #1453 #1398 #1408 #1429 2020-01-11 10:45:45 +11:00
Tim Ekl
44e920b18b Don't explicitly name error variables
Following the resolution of #1512, start using the implicit `error`
variable inside `catch` blocks instead of explicitly declaring `e`
everywhere.
2020-01-02 13:31:06 -08:00
Tim Ekl
5ac18b14a7 Add missing expectations to send statuses tests
f82be27666 flipped around calls to `selectPendingCount(_:)` so that it
respected the new async nature of the method; however, it neglected to
add enough XCTestExpectations to keep the test methods running through
the callbacks. Add those here.
2020-01-01 13:39:17 -08:00
Tim Ekl
e4c84bc501 Add two missing expectation fulfillments
It looks like two tests in FeedlySetStarredArticlesOperationTests
created but never referenced XCTestExpectation instances. Based on the
other nearby tests, add a call to `fulfill()` inside the associated
completion block after the rest of our test assertions are done.
2019-12-31 19:41:32 -06:00
Tim Ekl
6c10774c4a Fix build errors stemming from FeedlyTestSupport
There was one call to a throwing function inside
`checkArticles(in:correspondToStreamItemsIn:)` which was not
appropriately marked with `try`. Add that keyword, and then bubble out
the chain of errors through additional layers of helpers to the
enclosing test:

* This `checkArticles` variant was called by two others
* …one of which was used in `testAddNewFeedSuccess()`
* …another of which was used in various `verify` sync helpers
* …which were referenced from `testSyncing()`, a test case method

None of these involved any particular async hoops to jump through, and
since the top-level callers were all test functions, we can count on
XCTest to handle any errors thrown — no additional `catch` or handling
on our part is necessary.
2019-12-31 19:36:42 -06:00
Tim Ekl
711aca3d1b Fix build errors in Feedly test support
Two more cases of completion blocks taking Results, requiring a
do/catch/Result.get() to unwrap.

This commit deliberately leaves one build error for a more comprehensive
fix, since it occurs in a helper function that will have broader
fallout.
2019-12-31 19:29:44 -06:00
Tim Ekl
152b1f2b8a Fix errors in Feedly sync unread operations tests
Yet more completion blocks with Results; apply the usual
do/catch/Result.get() dance.
2019-12-31 19:27:47 -06:00
Tim Ekl
13b227a461 Fix errors in Feedly set starred operations tests
More of the same: completion blocks which take Results need
do/catch/Result.get().
2019-12-31 19:24:36 -06:00
Tim Ekl
f12e8b4a4a Fix errors in starred articles operations tests
Pull the same do/catch/Result.get() trick as previously for completion
blocks which now take Results. `try` a few throwing calls.
2019-12-31 19:11:37 -06:00
Tim Ekl
6a4f3fb11e Fix build errors in sync stream operations tests
Prefix two throwing calls with `try`. Label the enclosing test functions
with `throws` so the XCTest machinery helps us with error reporting.
2019-12-31 19:08:29 -06:00
Tim Ekl
6583688e38 Fix errors in Feedly unread operations tests
Most fetch completion blocks took a parameter that was expected to be
some result data type, but is now a Result. Rename these parameters;
wrap their existing bodies in do/catch blocks; and recreate the original
underlying variable using the result of `Result.get()`.

Prepend a few synchronous calls that started throwing with `try` along
the way.
2019-12-31 19:06:10 -06:00
Tim Ekl
ae1651fad1 Fix errors in Feedly update-feeds operation tests
Mark some throwing calls with `try`; mark the enclosing test functions
with `throws`, letting the XCTest framework handle error reporting for
us.
2019-12-31 15:55:59 -06:00
Tim Ekl
f82be27666 Resolve errors in Feedly statuses operation tests
Add `error` parameters to completion blocks which now pass them. Assert
these errors are always nil in the existing tests.

Flip calls to `selectPendingCount()` so they are async, with a
completion block that asserts about the results instead of asserting
about the return value. Since the closure takes a Result, unwrap it in a
do/catch block at each site; `XCTAssertNoThrow` doesn't help us bubble a
value out from `Result.get()`, and I'd rather not use `try!` here. There
might be a stylistic discussion to be had about this unwrapping, though.
2019-12-31 15:52:54 -06:00
Maurice Parker
43bf65b7a6 Rename occurrences of completionHandler to completion. 2019-12-14 17:14:55 -07:00
Kiel Gillard
2401b0be1b Fix compilation issues with tests after Account API changes. 2019-12-09 18:54:29 +11:00
Brent Simmons
66c9d287bb Merge pull request #1403 from kielgillard/feedly-report-crawled
Feedly articles report the crawled and recrawled date…
2019-12-05 21:52:43 -08:00
Kiel Gillard
d9a2ca8e7e Adds unit tests for adding a new feed with Feedly. #1300 2019-12-05 19:02:40 +11:00
Kiel Gillard
7563d1b2c6 Search Feedly for the best feed (and its identifier) for the URL entered when adding a new feed. #1300 2019-12-05 19:02:40 +11:00
Kiel Gillard
fcd6d15b4c Feedly articles report the crawled and recrawled date for the date published and updated values. 2019-12-05 18:55:28 +11:00
Kiel Gillard
757c469e00 Improves the test coverage of syncing and progress reporting, identifying and fixing a bug when cancelling. #1328 2019-11-30 08:00:46 +11:00
Kiel Gillard
52d2121553 Fixes race conditions in FeedlyOperation progress reporting unit tests. 2019-11-29 18:33:32 +11:00
Maurice Parker
991ecf2a71 Merge pull request #1363 from kielgillard/1326-missing-data
Adds public logging of the Feedly errors…
2019-11-27 09:55:22 -06:00
Kiel Gillard
1891523d0d Adds public logging of the Feedly errors to help identify the missing key in #1326. 2019-11-27 19:04:55 +11:00
Kiel Gillard
2f96e8b8a6 Feedly operations can optionally report their progress. #1328 2019-11-27 18:32:18 +11:00
Kiel Gillard
55faf550d7 Implements logout for Feedly accounts. 2019-11-15 19:09:14 +11:00
Maurice Parker
afd9783711 Merge branch 'master' of https://github.com/brentsimmons/NetNewsWire 2019-11-14 20:11:50 -06:00
Maurice Parker
06bd5b3a6f Renamed Feed and related classes/instances to WebFeed 2019-11-14 20:11:41 -06:00
Kiel Gillard
b317a99594 Fix failing Feedly tests. 2019-11-15 09:32:02 +11:00
Kiel Gillard
39c7bdb5e2 Give this test a bit more time to execute on a stressed system. 2019-11-09 21:44:13 +11:00
Maurice Parker
9846428071 Update Feedbin tests to match latest functionality. 2019-11-07 19:36:31 -06:00
Kiel Gillard
6bef313937 Feedly accounts now refresh their access tokens on initialisation. 2019-11-07 18:55:05 +11:00
Maurice Parker
c6e3ed6692 Cancel network activity when told to shutdown by the OS. Issue #1232 2019-11-04 20:24:21 -06:00
Kiel Gillard
4f70cb6040 Improves test coverage in Feedly. Adds callbacks to SyncDatabase. Content is paged from Feedly. Unread status is set before articles are ingested. 2019-11-02 10:29:34 +11:00
Maurice Parker
acbbee870e Rename Feedbin specific tests to reflect the specificity and move them to a Feedbin folder 2019-10-16 08:36:21 -05:00
Maurice Parker
f17a278349 Fix randomly failing Feedbin test 2019-10-16 08:30:37 -05:00
Kiel Gillard
2b0413224a Fixes failing Feedly tests and improves debugging mock network responses. 2019-10-16 09:37:35 +11:00
Kiel Gillard
39d3999a0d 2019-10-06 13:22:36 +11:00
Kiel Gillard
56a92e7938 Adds unit testing and implements fixes for unread counts, icons, missing metadata and more. 2019-10-03 18:06:49 +10:00
Kiel Gillard
8f53916a79 Make Account framework tests compile and pass. 2019-09-30 17:17:58 +10:00
Maurice Parker
52e5e43d10 Add download feed to folder relationships syncing 2019-05-07 17:41:32 -05:00
Maurice Parker
7f9055fe78 Add download subscriptions and faviconURLs 2019-05-07 10:51:41 -05:00
Maurice Parker
d6ae740305 Added folder (tag) delete for Feedbin 2019-05-06 17:34:41 -05:00
Maurice Parker
b7e2df1a68 Add Folder rename for Feedbin 2019-05-06 10:53:20 -05:00
Maurice Parker
15a0ba89d7 Add folder syncing for Feedbin account 2019-05-05 15:41:20 -05:00
Maurice Parker
fc7b6f2c6b refactor how Credentials work 2019-05-05 03:25:21 -05:00
Maurice Parker
aaa4342494 Add encrypted credential storage 2019-05-04 15:14:49 -05:00
Maurice Parker
595db517a7 change func signitures to use Credentials protocol from RSWeb instead of username/password 2019-05-04 11:48:48 -05:00
Brent Simmons
6a4fd38056 Continue mess-making. Start Account framework. 2017-09-07 20:41:25 -07:00