MCPcopy Create free account

hub / github.com/samuelclay/NewsBlur / functions

Functions5,735 in github.com/samuelclay/NewsBlur

Methodtest_blocks_medical_domains
Medical domains should be blocked.
apps/archive_extension/tests.py:248
Methodtest_blocks_password_managers
Password manager domains should be blocked.
apps/archive_extension/tests.py:268
Methodtest_both_unparseable_returns_first
(self)
apps/webfeed/tests.py:264
Methodtest_briefing_generation_preference_is_bootstrapped_on_reload
(self)
apps/reader/tests.py:32
Methodtest_cache_key_consistency__feed_validation
Test that invalid feed IDs don't affect cache key generation. This verifies the fix where we now use validated feed_ids consistently
apps/reader/test_river_stories.py:997
Methodtest_cache_key_consistency__helper_method
Test that the get_river_cache_keys() helper method generates consistent cache keys regardless of feed list order. This is a
apps/reader/test_river_stories.py:925
Methodtest_cache_key_consistency__large_feed_lists_do_not_collide
Large river feed lists that only differ after the first few ids must not share the same cache key.
apps/reader/test_river_stories.py:962
Methodtest_cache_key_consistency__redis_pool
Test that feed_stories() and truncate_river() use the same Redis pool. This verifies the fix where we changed truncate_river() to us
apps/reader/test_river_stories.py:1035
Methodtest_caches_token_with_ttl
(self, mock_post)
apps/rss_feeds/test_reddit_fetcher.py:271
Methodtest_caps_at_max_comments
(self)
apps/rss_feeds/test_reddit_fetcher.py:374
Methodtest_categories_excludes_deleted
Categories should not count deleted archives.
apps/archive_extension/tests.py:1142
Methodtest_categories_requires_auth
Categories endpoint should require authentication.
apps/archive_extension/tests.py:1114
Methodtest_categories_returns_breakdown
Categories should return category counts.
apps/archive_extension/tests.py:1120
Methodtest_channel_feed_derives_uploads_playlist_without_channels_list
A UC channel id with a cached feed title needs no channels.list call.
apps/rss_feeds/test_rss_feeds.py:968
Methodtest_channel_feed_resolves_channel_when_no_cached_title
Without a stored feed title, fall back to the channels.list lookup.
apps/rss_feeds/test_rss_feeds.py:987
Methodtest_classifier_matches_feed
(self)
apps/briefing/tests.py:888
Methodtest_classifier_matches_multiple
(self)
apps/briefing/tests.py:902
Methodtest_classifier_weights_all_positive
(self)
apps/briefing/tests.py:1381
Methodtest_classifier_weights_title_highest
(self)
apps/briefing/tests.py:1376
Methodtest_cohort_dry_run_selects_only_grandfathered
(self)
apps/profile/test_profile.py:913
Methodtest_collapses_newlines
(self)
newsblur_mcp/tests/test_transforms.py:30
Methodtest_collect_statistics_sites_loaded_uses_latest_minute
last_1_min_time_taken should reflect the latest complete minute, not the oldest.
apps/statistics/tests.py:62
Methodtest_comments_429_flags_rate_limited
(self, mock_get)
apps/rss_feeds/test_reddit_fetcher.py:401
Methodtest_compact_user_subscription_folders
(self)
apps/reader/test_reader.py:218
Methodtest_compact_user_subscription_folders2
(self)
apps/reader/test_reader.py:229
Methodtest_compute_story_score_parity_across_scopes
compute_story_score returns identical results whether the caller passes flat classifier lists or ScopedClassifiers indexes.
apps/analyzer/tests.py:1676
Methodtest_compute_story_score_positive_beats_regular_negative
Positive (+1) still beats regular negative (-1).
apps/analyzer/tests.py:1504
Methodtest_compute_story_score_super_downvote_beats_positive
Super downvote (-2) beats any positive classifier (+1).
apps/analyzer/tests.py:1452
Methodtest_compute_story_score_text_beats_title
(self)
apps/analyzer/tests.py:370
Methodtest_compute_story_score_uses_author_regex_for_pro
compute_story_score should include author_regex score for Pro users
apps/analyzer/tests.py:1102
Methodtest_compute_story_score_with_negative_author
(self)
apps/analyzer/tests.py:340
Methodtest_compute_story_score_with_text
(self)
apps/analyzer/tests.py:310
Methodtest_compute_story_score_with_title
(self)
apps/analyzer/tests.py:280
Methodtest_concurrent_trial_to_premium_only_emails_once
Two Stripe webhooks fire activate_premium in parallel for the same trial→paid conversion. Only one should send the new-premium email and
apps/profile/test_profile.py:407
Methodtest_connection_error_returns_empty
ES connection error should return empty list.
apps/search/tests.py:415
Methodtest_contains_match_is_robust_to_reorder
(self)
apps/webfeed/tests.py:165
Methodtest_content_compression_empty
Empty content should be handled gracefully.
apps/archive_extension/tests.py:444
Methodtest_content_compression_roundtrip
Content should survive compression/decompression roundtrip.
apps/archive_extension/tests.py:431
Methodtest_content_compression_unicode
Unicode content should survive compression.
apps/archive_extension/tests.py:453
Methodtest_conversation_isolation
Conversations should be isolated per user.
apps/archive_assistant/tests.py:188
Methodtest_conversations_requires_authentication
Conversations list should require authentication.
apps/archive_assistant/tests.py:157
Methodtest_create_account
(self)
apps/profile/test_profile.py:23
Methodtest_create_and_retrieve
(self)
apps/briefing/tests.py:1418
Methodtest_create_classifier_author
(self)
apps/analyzer/tests.py:83
Methodtest_create_classifier_author_exact
Test creating an exact author classifier (is_regex=False)
apps/analyzer/tests.py:897
Methodtest_create_classifier_author_regex
Test creating a regex author classifier (is_regex=True)
apps/analyzer/tests.py:912
Methodtest_create_classifier_tag
(self)
apps/analyzer/tests.py:95
Methodtest_create_classifier_text
(self)
apps/analyzer/tests.py:69
Methodtest_create_classifier_title
(self)
apps/analyzer/tests.py:55
Methodtest_create_classifier_url_exact
Test creating an exact URL classifier (is_regex=False)
apps/analyzer/tests.py:596
Methodtest_create_classifier_url_regex
Test creating a regex URL classifier (is_regex=True)
apps/analyzer/tests.py:613
Methodtest_create_conversation
Should be able to create a new conversation.
apps/archive_assistant/tests.py:176
Methodtest_creates_new_feed
(self, mock_redis_cls)
apps/briefing/tests.py:1484
Methodtest_creates_new_story_and_briefing
(self, mock_redis_cls, mock_notif, mock_queue)
apps/briefing/tests.py:1523
Methodtest_creates_subscription
(self, mock_redis_cls)
apps/briefing/tests.py:1502
Methodtest_css_background_image_double_quoted
(self)
apps/webfeed/tests.py:189
Methodtest_css_background_image_single_quoted
(self)
apps/webfeed/tests.py:185
Methodtest_css_background_image_unquoted
(self)
apps/webfeed/tests.py:181
Methodtest_custom_section_es_phrase_match
Custom section should use ES phrase search when available.
apps/briefing/tests.py:1257
Methodtest_custom_section_es_reassigns_existing
ES match already in top N should get its category reassigned to custom_X.
apps/briefing/tests.py:1335
Methodtest_custom_section_es_unavailable_fallback
Custom section should fall back to keyword matching when ES not indexed.
apps/briefing/tests.py:1298
Methodtest_daily_briefing_email_subject_uses_story_title_without_feed_prefix
(self)
apps/notifications/tests.py:74
Methodtest_daily_briefing_preference_defaults_true_in_reader_bootstrap
(self)
apps/reader/tests.py:26
Methodtest_daily_totals
Daily totals return subscription counts per day.
apps/statistics/tests.py:242
Methodtest_data_uri
(self)
apps/webfeed/tests.py:199
Methodtest_date_stories_not_falsely_matched
Stories sharing only a date should not cluster.
apps/clustering/tests.py:539
Methodtest_default_blocked_domains_count
Verify we have a reasonable number of default blocked domains.
apps/archive_extension/tests.py:321
Methodtest_default_blocked_patterns_count
Verify we have blocked patterns for common sensitive pages.
apps/archive_extension/tests.py:325
Methodtest_default_sections_values
(self)
apps/briefing/tests.py:1400
Methodtest_default_values
(self)
apps/briefing/tests.py:1475
Methodtest_defaults_to_new
(self)
apps/rss_feeds/test_reddit_fetcher.py:331
Methodtest_delete_feed
(self)
apps/reader/test_reader.py:59
Methodtest_delete_feed__multiple_folders
(self)
apps/reader/test_reader.py:118
Methodtest_delete_feed_substring_folder
Deleting a feed from 'Tech' should not affect 'Deep Tech'.
apps/reader/test_reader.py:288
Methodtest_delete_last_tag_on_story
Story remains saved with empty user_tags list.
apps/reader/tests.py:352
Methodtest_delete_multiple_archives
Delete should handle multiple archives.
apps/archive_extension/tests.py:1299
Methodtest_delete_nonexistent_archive
Delete should handle nonexistent archive gracefully.
apps/archive_extension/tests.py:1312
Methodtest_delete_other_users_archive
Delete should not delete other user's archives.
apps/archive_extension/tests.py:1323
Methodtest_delete_requires_auth
Delete endpoint should require authentication.
apps/archive_extension/tests.py:1272
Methodtest_delete_single_archive
Delete should soft-delete a single archive.
apps/archive_extension/tests.py:1281
Methodtest_delete_tag_empty_name_fails
Validation: can't delete empty tag name.
apps/reader/tests.py:343
Methodtest_delete_tag_removes_count
MStarredStoryCounts entry deleted.
apps/reader/tests.py:319
Methodtest_delete_tag_removes_from_all_stories
Tag removed from user_tags list.
apps/reader/tests.py:287
Methodtest_delete_tag_requires_auth
Ensure endpoint requires login.
apps/reader/tests.py:333
Methodtest_delete_tag_stories_remain_saved
Stories still exist as starred, just without the tag.
apps/reader/tests.py:306
Methodtest_detailed_metrics
Detailed metrics include weighted score and raw counts.
apps/statistics/tests.py:218
Methodtest_direct_image_post
(self)
apps/rss_feeds/test_reddit_fetcher.py:449
Methodtest_does_not_store_when_shorter
Should not store when extension content is shorter.
apps/archive_extension/tests.py:410
Methodtest_domain_extraction_various_formats
Domain extraction should handle various URL formats.
apps/archive_extension/tests.py:484
Methodtest_domains_includes_last_visit
Domains should include last_visit timestamp.
apps/archive_extension/tests.py:1196
Methodtest_domains_requires_auth
Domains endpoint should require authentication.
apps/archive_extension/tests.py:1164
Methodtest_domains_respects_limit
Domains should respect limit parameter.
apps/archive_extension/tests.py:1186
Methodtest_domains_returns_top_domains
Domains should return domain list with counts.
apps/archive_extension/tests.py:1170
Methodtest_double_s_preserved
(self)
apps/clustering/tests.py:51
Methodtest_dry_run_makes_no_writes_or_switch
(self, mock_switch)
apps/profile/test_profile.py:972
Methodtest_duplicate_feeds
(self)
apps/feed_import/test_feed_import.py:173
Methodtest_embed_briefing_icons_adds_newsblur_and_original_links
(self)
apps/briefing/tests.py:755
Methodtest_embed_none_html
(self)
apps/briefing/tests.py:679
Methodtest_empty
(self)
apps/clustering/tests.py:23
Methodtest_empty_feed_ids_returns_empty
Empty feed_ids should return empty list without calling ES.
apps/search/tests.py:392
← previousnext →4,901–5,000 of 5,735, ranked by callers