Commit graph

8 commits

Author SHA1 Message Date
Vaidehi Joshi
3f6600541e
✂️ Remove the approvals gem ✂️ (#12978)
* Remove approvals fixtures

* Remove approvals initializer

* Remove approvals gem

* Remove approvals step from travis.yml

* Remove approvals from dockerignore and gitignore

* Remove references to approvals gem in docs

* Un-approvals spec/liquid_tags/codepen_tag_spec.rb

* Un-approvals spec/liquid_tags/dotnet_fiddle_tag_spec.rb

* Temporarily skip other approvals tests

We will still need to delete files in /spec/fixtures/approvals after this.

* Revert changes to dotnet_fiddle_tag_spec and codepen_tag_spec, skip those tests instead

* Temporarily skip more approvals based tests

* Attempt at moving html doc inline

* Comment out one more approvals spec

* Update dotnet fiddle and codepen liquid tag specs to not use Approvals

* Update liquid tag specs + system specs to not use Approvals

* Un-approval feed import, github issue, and tweet tag specs

* Re-add .approvals to gitignore and dockerignore

* Use Rspec compound expectations
2021-03-19 13:28:06 -07:00
Daniel Uber
195b202d85
Use normal db transactions around tests (#13035)
* Use normal db transactions around tests

An unrelated spec failure was observed when this was run before
another test expecting the seed data to be present. It looks like the
specific pain point in https://github.com/forem/forem/pull/8865 was
around an rss reader spec (which is no longer in use) and I'd like to
try reverting this truncation behavior here.

The minimal failing test case I had on master was this

```
 rspec ./spec/system/dashboards/user_sorts_dashboard_articles_spec.rb:44  ./spec/lib/data_update_scripts/fix_profile_field_edge_cases_spec.rb
```

The find_by(attribute:...) in the edge case spec returned nil (since
there was no such profile field, the table had been truncated). Tests
pass locally so this might be fine to just leave on the defaults (if
that's the case the truncation support added in #8865 can also be
removed, this is the last caller).

* Reenable transactional feeds imports

rhymes pointed out that a second test uses this db_strategy and that's
the successor to the rss_feed_spec.rb that was the initial issue.

Attempt removal of the truncation strategy, and reenable the
transactional tests, for the feeds import.

* Remove database cleaner

Having removed the last use of it (in the feeds import spec) we no
longer need this gem.

* remove spec support for database cleaner
2021-03-18 12:56:55 -05:00
rhymes
4aaeb3e955
Feeds::Import: only import feeds that haven't been recently updated (#12126)
* Add earlier_than to Feeds::Import

* Ignore feeds that have been imported in the last 4 hours

* Make earlier_than mandatory in Feeds::ImportArticlesWorker
2021-01-06 16:58:42 +01:00
rhymes
00247bed99
Log error message inline when Feeds::Import fails (#12012) 2020-12-22 20:02:07 +01:00
Michael Kohl
1ce8a762b7
Move HtmlCleaner from app/labor into service (#11609)
* Move HtmlCleaner from app/labor into service

* Move to Feeds:: namespace
2020-11-27 08:21:57 +07:00
rhymes
1741e52e83
Add missing features to new feed importer (#11501)
* Add explanatory comment to how RssReaderFetchUserWorker works

* Add Feeds::ImportWorker worker

* Enable Feeds::Import for single user feed fetching behind a feature flag

* Add Feeds::ValidateUrl service

* Add feature flag to user's validate feed URL feature

* Remove todo notices

* Add feature flag to fetch_all_rss task

* Add feature flag to RssReaderWorker

* Bring back short-circuit for Articles::RssReaderWorker
2020-11-24 18:11:13 +01:00
rhymes
47624ddfcd
Add users param to Feeds::Import (#11234)
* Add users param to Feeds::Import

* Fix init and specs

* Replace explicit nil check

Co-authored-by: Michael Kohl <me@citizen428.net>

Co-authored-by: Michael Kohl <me@citizen428.net>
2020-11-03 07:02:17 -06:00
rhymes
51a4a35448
Add Feeds::Import service class (#10998)
* Add the parallel gem

* Add prototype version of Feeds::Import with parallel URL fetching and parsing

* Tune Feeds::Import and add rake task for local tests

* Add rough measurer tool

* Add specs

* Apply suggestions by @citizen428

* Replace silence with silent

* No need for eager loading

* Add temporary Articles::DevFeedsImportWorker

* Remove temporary rake task

* Add basic error handling, copied from RssReader

* Fix error handling

* Remove temporary measuring rake task

* Remove logging added for development purposes

* Add info and error logging on error level
2020-10-30 15:01:44 +01:00