When we remove the client, we should ensure that access_token are also removed.
To ensure that, I created a test that generated an access_token. So when we remove the client, this association should be cascaded and shouldn’t generate an error.
Also I moved some Api related stuff to the ApiBundle (like the developer controler and ClientType form)
When the association between a tag and an entry is removed, if the tag doesn’t have other entries, we can remove it.
Also add more tests for that part and ensure TagControllerTest is isolated from the rest of the test suite (finally!)
When a user register itself AND the wallabag instance is configured to send a confirmation email, the user is disabled when the listener (which create the config) receive the event.
There were a check (don't know why) if the user is enabled we create the config. But the user is disabled when confirmation email is actived.
Using a listener, user config is now created when a user:
- is created from the command line
- register (with or without email confirmation)
- is created from the config panel
Instead of just say “Failed to save entry” we’ll save the entry at all cost and try to fetch content. If fetching content failed, the entry will still be saved at least, but without content.
- using javibravo/simpleue
- internal config value are now `import_with_redis` & `import_with_rabbit` which are more clear
- if both option are enable rabbit will be choosen
- services imports related to async are now splitted into 2 files: `redis.yml` & `rabbit.yml`
-
At the moment only Readability & wallabag v2 import allow created_at import.
Pocket removed `time_added` field from their API v2 to v3...
And wallabag v1 doesn't export that value.
Instead of queing real Entry to process, we queue all the item to import from Pocket in a raw format.
Then, the worker retrieve that information, find / create the entry and save it.
If the database isn't found when checking for the connection it means, we can connect to the server.
The InstallCommand will create the database later.
Also, when checking for the SQLite connection, Doctrine creates the file (so the database). That's why the test is skipped for SQLite.
Also, retrieve tag from the request instead of the query (which will be the same but it's more easy to test).
Moved down `deleteTagAction` because it conflicted with the new action:
api_delete_tag => /api/tags/{tag}.{_format}
api_delete_tags_label => /api/tags/label.{_format}
And finally, throw exception when a tag is not found before removing it.
graby will throw an Exception in some case (like a bad url, a restricted url or a secured pdf).
Import doesn't handle that case and break the whole import.
With that commit the import isn't stopped but the entry is just skipped.
Also, as a bonus, I've added extra test on WallabagImportV2 when the json is empty.
Ensure tests after the InstallCommand test will have a clean database.
Previous attempt failed because of a foreign key
Also, nightly on Travis seems to target PHP 7.2-dev, so I put 7.1 in requirement and moved nightly in allowed failures.
And it seems xdebug isn't shipped with PHP 7.1, so I added a workaround to avoid build to fail when trying to remove xdebug.ini file.
Instead of using a HTTP request we just login user like FOSUser does.
It allows us to mock service in container for functional tests.
Also, fix a bad config name in fos_user for firewall
And finally, add functional test to PocketImport