Code
Hub
Workspaces
Following
Trending
Connect
MCP
copy
Create free account
hub
/
github.com/samuelclay/NewsBlur
/ functions
Functions
5,735 in github.com/samuelclay/NewsBlur
⨍
Functions
5,735
◇
Types & classes
765
↳
Endpoints
185
Method
tearDown
(self)
apps/reader/tests.py:88
Method
tearDown
(self)
apps/reader/tests.py:283
Method
tearDown
(self)
apps/reader/tests.py:383
Method
tearDown
(self)
apps/reader/tests.py:490
Method
tearDown
(self)
apps/reader/test_unread_counts.py:89
Method
tearDown
(self)
apps/reader/test_river_stories.py:129
Method
tearDown
(self)
apps/push/test_push.py:76
Method
tearDown
(self)
apps/rss_feeds/test_rss_feeds.py:86
Method
tearDown
(self)
apps/rss_feeds/test_rss_feeds.py:814
Method
tearDown
(self)
apps/briefing/tests.py:127
Method
tearDownClass
Clean up test index after all tests.
apps/search/tests.py:133
Method
teardown_databases
(self, old_config, **kwargs)
utils/testrunner.py:33
Method
test_401_clears_token_and_returns_none
(self, mock_get)
apps/rss_feeds/test_reddit_fetcher.py:234
Method
test_404
Various things sould return a 404: * invalid primary key in the URL * token doesn't start with 'subscribe' * subscri
apps/push/test_push.py:205
Method
test_429_flags_rate_limited
(self, mock_get)
apps/rss_feeds/test_reddit_fetcher.py:227
Method
test_absolute_url_passthrough
(self)
apps/webfeed/tests.py:178
Method
test_activate_android_archive_uses_product_id
(self, mock_activate_archive, mock_setup)
apps/profile/test_profile.py:549
Method
test_activate_android_pro_uses_product_id
(self, mock_activate_pro, mock_setup)
apps/profile/test_profile.py:568
Method
test_activate_archive_idempotent_for_paid_archive
(self)
apps/profile/test_profile.py:361
Method
test_activate_archive_passes_allow_skip_resync_to_premium_setup
activate_archive should pass allow_skip_resync=True to SchedulePremiumSetup so that sync_redis is skipped for large feeds during the concurren
apps/profile/test_profile.py:112
Method
test_activate_archive_schedules_archive_fetch
activate_archive should trigger the archive feed fetch.
apps/profile/test_profile.py:133
Method
test_activate_premium_does_not_clear_archive
A late-arriving customer.subscription.created event for the original premium plan must not strip archive/pro from a user who already u
apps/profile/test_profile.py:382
Method
test_activate_premium_does_not_clear_pro
(self)
apps/profile/test_profile.py:395
Method
test_activate_premium_does_not_downgrade_archive
(self, mock_email)
apps/profile/test_profile.py:49
Method
test_activate_premium_does_not_downgrade_pro
(self, mock_email)
apps/profile/test_profile.py:64
Method
test_activate_premium_does_not_pass_allow_skip_resync
activate_premium (non-archive) should NOT pass allow_skip_resync, because there is no concurrent archive fetch to conflict with.
apps/profile/test_profile.py:148
Method
test_activate_premium_idempotent_for_paid_premium
Stripe sometimes fires the same subscription event twice. The second activate_premium call must be a no-op: no email, no flag flips.
apps/profile/test_profile.py:349
Method
test_activate_premium_works_for_free_user
(self, mock_email)
apps/profile/test_profile.py:80
Method
test_activate_pro_idempotent_for_paid_pro
(self)
apps/profile/test_profile.py:370
Method
test_add_folder_case_insensitive
Creating a folder with different case should not create a duplicate.
apps/reader/test_reader.py:266
Method
test_add_url__missing_url_param
POST to add_url without 'url' should return error, not crash.
apps/reader/test_reader.py:316
Method
test_add_url__rejects_metadata_ip
POST to add_url should reject private/link-local addresses before fetching.
apps/reader/test_reader.py:325
Method
test_aggregator_title_clusters
The NYT/Techmeme case that motivated this fix.
apps/clustering/tests.py:85
Method
test_all_classifiers_separates_scoped_from_feed
The /reader/all_classifiers endpoint should put global classifiers in scoped_classifiers and feed-level classifiers in folders — neve
apps/analyzer/tests.py:1217
Method
test_all_feeds
(self)
apps/rss_feeds/test_rss_feeds.py:438
Method
test_allows_regular_articles
Regular article URLs should not be blocked.
apps/archive_extension/tests.py:309
Method
test_alphanumeric_tokens_kept
Tokens mixing letters and numbers should still be included.
apps/clustering/tests.py:530
Method
test_api_feeds
(self)
apps/reader/test_reader.py:48
Method
test_apply_classifier_author_regex_dislike
Test that regex author classifier with super-dislike score wins
apps/analyzer/tests.py:970
Method
test_apply_classifier_author_regex_match
Test that regex author classifier matches patterns
apps/analyzer/tests.py:926
Method
test_apply_classifier_author_regex_no_match
Test that regex author classifier returns 0 when pattern doesn't match
apps/analyzer/tests.py:948
Method
test_apply_classifier_authors
(self)
apps/analyzer/tests.py:246
Method
test_apply_classifier_authors_skips_regex
apply_classifier_authors should ignore regex classifiers (they're scored separately)
apps/analyzer/tests.py:992
Method
test_apply_classifier_authors_super_downvote
Super downvote author classifier returns -2.
apps/analyzer/tests.py:1426
Method
test_apply_classifier_tags
(self)
apps/analyzer/tests.py:263
Method
test_apply_classifier_tags_super_downvote
Super downvote tag classifier returns -2.
apps/analyzer/tests.py:1439
Method
test_apply_classifier_tags_super_downvote_beats_positive_tag
Super downvote tag (-2) wins even when another tag is positive (+1).
apps/analyzer/tests.py:1480
Method
test_apply_classifier_texts
(self)
apps/analyzer/tests.py:141
Method
test_apply_classifier_texts_case_insensitive
(self)
apps/analyzer/tests.py:200
Method
test_apply_classifier_texts_html_tags_stripped
Text classifiers should match visible text, ignoring inline HTML tags.
apps/analyzer/tests.py:221
Method
test_apply_classifier_texts_no_content
(self)
apps/analyzer/tests.py:183
Method
test_apply_classifier_texts_no_match
(self)
apps/analyzer/tests.py:162
Method
test_apply_classifier_titles
(self)
apps/analyzer/tests.py:107
Method
test_apply_classifier_titles_no_match
(self)
apps/analyzer/tests.py:124
Method
test_apply_classifier_titles_super_downvote
Super downvote title classifier returns -2.
apps/analyzer/tests.py:1413
Method
test_apply_classifier_url_regex_dislike
Test that regex URL classifier with negative score works
apps/analyzer/tests.py:762
Method
test_apply_classifier_url_regex_match
Test that regex URL classifier matches patterns
apps/analyzer/tests.py:718
Method
test_apply_classifier_url_regex_no_match
Test that regex URL classifier returns 0 when pattern doesn't match
apps/analyzer/tests.py:740
Method
test_apply_classifier_urls_case_insensitive
Test that exact URL classifier is case-insensitive
apps/analyzer/tests.py:673
Method
test_apply_classifier_urls_exact_match
Test that exact URL classifier matches as substring (case-insensitive)
apps/analyzer/tests.py:628
Method
test_apply_classifier_urls_exact_no_match
Test that exact URL classifier returns 0 when no match
apps/analyzer/tests.py:651
Method
test_apply_classifier_urls_requires_premium
Test that exact URL classifiers require Premium tier
apps/analyzer/tests.py:695
Method
test_archive_fetch_chunks_have_staggered_countdown
Each FetchArchiveFeedsChunk in the chord should have an increasing countdown delay.
apps/reader/tests.py:390
Method
test_archive_fetch_creates_chord_with_callback
The archive fetch should create a Celery chord with a FinishFetchArchiveFeeds callback.
apps/reader/tests.py:428
Method
test_archive_finish_callback_has_sufficient_time_limit
The FinishFetchArchiveFeeds callback should have a time_limit matching MAX_SECONDS_COMPLETE_ARCHIVE_FETCH so post-fetch sync_redis doesn't get
apps/reader/tests.py:448
Method
test_archive_page_creates_new
archive_page should create new archive.
apps/archive_extension/tests.py:495
Method
test_archive_page_longer_content_replaces
Longer content should replace shorter content.
apps/archive_extension/tests.py:530
Method
test_archive_page_shorter_content_preserved
Shorter content should not replace longer content.
apps/archive_extension/tests.py:550
Method
test_archive_page_undeletes
Revisiting soft-deleted archive should undelete it.
apps/archive_extension/tests.py:571
Method
test_archive_page_updates_existing
archive_page should update existing archive on revisit.
apps/archive_extension/tests.py:506
Method
test_archive_required_errors_return_tool_payload
(self, monkeypatch)
newsblur_mcp/tests/test_tool_errors.py:44
Method
test_archive_to_pro
(self)
apps/profile/test_profile.py:336
Method
test_async_verify
If the hub returns a 202 response, we should not assume the subscription is verified.
apps/push/test_push.py:118
Method
test_atom_url_is_feed
(self)
apps/webfeed/tests.py:411
Method
test_autocomplete_endpoint_accepts_filter_params
(self)
apps/discover/tests.py:109
Method
test_balanced_quotes_unchanged
Balanced quotes should pass through unchanged.
apps/search/tests.py:19
Method
test_basic
(self)
apps/clustering/tests.py:20
Method
test_basic_addition
Tests that 1 + 1 always equals 2.
apps/static/tests.py:12
Method
test_basic_addition
Tests that 1 + 1 always equals 2.
apps/api/tests.py:12
Method
test_basic_addition
Tests that 1 + 1 always equals 2.
apps/recommendations/tests.py:12
Method
test_basic_addition
Tests that 1 + 1 always equals 2.
apps/mobile/tests.py:12
Method
test_basic_addition
Tests that 1 + 1 always equals 2.
apps/categories/tests.py:12
Method
test_basic_html
(self)
newsblur_mcp/tests/test_transforms.py:13
Method
test_basic_transform
(self, sample_story)
newsblur_mcp/tests/test_transforms.py:49
Method
test_basic_transform
(self, sample_feed)
newsblur_mcp/tests/test_transforms.py:65
Method
test_basic_word_search
Basic word search should return matching stories.
apps/search/tests.py:211
Method
test_batch_ingest_invalid_json_error
Invalid JSON should return error.
apps/archive_extension/tests.py:843
Method
test_batch_ingest_max_100_limit
Batch ingest should reject >100 items.
apps/archive_extension/tests.py:833
Method
test_batch_ingest_missing_url_in_item
Missing URL in batch item should result in error for that item.
apps/archive_extension/tests.py:905
Method
test_batch_ingest_multiple_archives
Batch ingest should create multiple archives.
apps/archive_extension/tests.py:852
Method
test_batch_ingest_partial_failure
Batch ingest should handle partial failures.
apps/archive_extension/tests.py:870
Method
test_batch_ingest_requires_auth
Batch ingest should require authentication.
apps/archive_extension/tests.py:823
Method
test_batch_ingest_skips_blocked_urls
Blocked URLs should be skipped in batch.
apps/archive_extension/tests.py:887
Method
test_batch_ingest_then_stats
Batch ingest should update stats correctly.
apps/archive_extension/tests.py:1545
Method
test_begins
(self)
apps/clustering/tests.py:43
Method
test_blocks_banking_domains
Banking domains should be blocked.
apps/archive_extension/tests.py:237
Method
test_blocks_checkout_pages
Checkout and cart pages should be blocked.
apps/archive_extension/tests.py:289
Method
test_blocks_email_domains
Email domains should be blocked.
apps/archive_extension/tests.py:258
Method
test_blocks_localhost
Localhost URLs should be blocked.
apps/archive_extension/tests.py:299
Method
test_blocks_login_pages
Login pages should be blocked by pattern.
apps/archive_extension/tests.py:278
← previous
next →
4,801–4,900 of 5,735, ranked by callers