diff --git a/consumer/src/database_writer/locking.rs b/consumer/src/database_writer/locking.rs index d9b21c82..bd982f5f 100644 --- a/consumer/src/database_writer/locking.rs +++ b/consumer/src/database_writer/locking.rs @@ -232,6 +232,7 @@ mod tests { use super::*; #[test] + #[allow(deprecated)] fn test_did_hash_stability() { let did = "did:plc:abcdef123456"; let hash1 = did_to_lock_id(did); @@ -240,13 +241,12 @@ mod tests { } #[test] + #[allow(deprecated)] fn test_did_hash_distribution() { - let dids = vec![ - "did:plc:abcdef123456", + let dids = ["did:plc:abcdef123456", "did:plc:abcdef123457", "did:plc:xyz789000000", - "did:web:example.com", - ]; + "did:web:example.com"]; let hashes: Vec = dids.iter().map(|d| did_to_lock_id(d)).collect(); @@ -260,6 +260,7 @@ mod tests { } #[test] + #[allow(deprecated)] fn test_different_dids_different_hashes() { let hash1 = did_to_lock_id("did:plc:alice"); let hash2 = did_to_lock_id("did:plc:bob"); diff --git a/consumer/tests/backfill_jobs_test.rs b/consumer/tests/backfill_jobs_test.rs index 7a9abfef..817d2489 100644 --- a/consumer/tests/backfill_jobs_test.rs +++ b/consumer/tests/backfill_jobs_test.rs @@ -417,10 +417,10 @@ async fn test_backfill_jobs_functions_compile() -> eyre::Result<()> { let test_did = format!("did:plc:test_compile_{}", Utc::now().timestamp_nanos_opt().unwrap()); // enqueue_job - let _ = backfill_jobs::enqueue_job(&pool, &test_did).await; + drop(backfill_jobs::enqueue_job(&pool, &test_did).await); // should_enqueue - let _ = backfill_jobs::should_enqueue(&pool, &test_did).await; + drop(backfill_jobs::should_enqueue(&pool, &test_did).await); // get_stats let stats_result = backfill_jobs::get_stats(&pool).await; diff --git a/consumer/tests/cleanup_worker_test.rs b/consumer/tests/cleanup_worker_test.rs index 02ee3f1e..e91cce45 100644 --- a/consumer/tests/cleanup_worker_test.rs +++ b/consumer/tests/cleanup_worker_test.rs @@ -395,7 +395,7 @@ async fn test_cleanup_preserves_posts_with_recent_replies() -> eyre::Result<()> created_at: Utc::now(), }; - let reply_uri = format!("at://did:plc:replier4/app.bsky.feed.post/{}", recent_tid); + let _reply_uri = format!("at://did:plc:replier4/app.bsky.feed.post/{}", recent_tid); let (replier_actor_id, _, _) = feed::get_actor_id(&tx, "did:plc:replier4").await?; feed::post_insert(&tx, replier_actor_id, &recent_tid, test_cid(), reply_post, EventSource::Jetstream).await?; diff --git a/consumer/tests/community_starterpack_operations_test.rs b/consumer/tests/community_starterpack_operations_test.rs index 5b6821b7..854c041c 100644 --- a/consumer/tests/community_starterpack_operations_test.rs +++ b/consumer/tests/community_starterpack_operations_test.rs @@ -18,7 +18,7 @@ use eyre::WrapErr; // Helper function to extract rkey from AT URI fn extract_rkey(uri: &str) -> String { - uri.split('/').last().unwrap_or("").to_string() + uri.split('/').next_back().unwrap_or("").to_string() } // ======================================== diff --git a/consumer/tests/cursor_manager_test.rs b/consumer/tests/cursor_manager_test.rs index 46b5eebc..996d4645 100644 --- a/consumer/tests/cursor_manager_test.rs +++ b/consumer/tests/cursor_manager_test.rs @@ -104,10 +104,10 @@ async fn test_cursor_multiple_partitions() -> eyre::Result<()> { let manager = PgCursorManager::new(pool); let partitions = vec![ - ("posts", 1111111111111111i64), - ("likes", 2222222222222222i64), - ("reposts", 3333333333333333i64), - ("social", 4444444444444444i64), + ("posts", 1111111111111111_i64), + ("likes", 2222222222222222_i64), + ("reposts", 3333333333333333_i64), + ("social", 4444444444444444_i64), ]; // Save cursors for multiple partitions diff --git a/consumer/tests/feed_operations_test.rs b/consumer/tests/feed_operations_test.rs index e4d33720..d5a65088 100644 --- a/consumer/tests/feed_operations_test.rs +++ b/consumer/tests/feed_operations_test.rs @@ -50,7 +50,7 @@ async fn test_post_insert_normal() -> eyre::Result<()> { tags: Some(vec!["test".to_string()]), created_at: Utc::now()}; - let at_uri = "at://did:plc:poster1/app.bsky.feed.post/3l7mkz4lmk234"; + let _at_uri = "at://did:plc:poster1/app.bsky.feed.post/3l7mkz4lmk234"; let rkey = "3l7mkz4lmk234"; let result = feed::post_insert(&tx, actor_id, @@ -150,7 +150,7 @@ async fn test_post_insert_with_reply() -> eyre::Result<()> { tags: None, created_at: Utc::now()}; - let at_uri = "at://did:plc:replier1/app.bsky.feed.post/3l7mkz4lmk236"; + let _at_uri = "at://did:plc:replier1/app.bsky.feed.post/3l7mkz4lmk236"; let result = feed::post_insert(&tx, replier_actor_id, "3l7mkz4lmk236", @@ -252,7 +252,7 @@ async fn test_post_insert_with_facets() -> eyre::Result<()> { created_at: Utc::now(), }; - let at_uri = "at://did:plc:postauthor/app.bsky.feed.post/3l7mkz4lmk25a"; + let _at_uri = "at://did:plc:postauthor/app.bsky.feed.post/3l7mkz4lmk25a"; let result = feed::post_insert(&tx, postauthor_actor_id, "3l7mkz4lmk25a", @@ -384,7 +384,7 @@ async fn test_post_delete() -> eyre::Result<()> { tags: None, created_at: Utc::now()}; - let at_uri = "at://did:plc:poster2/app.bsky.feed.post/3l7mkz4lmk237"; + let _at_uri = "at://did:plc:poster2/app.bsky.feed.post/3l7mkz4lmk237"; feed::post_insert(&tx, actor_id, "3l7mkz4lmk237", @@ -1072,7 +1072,7 @@ async fn test_postgate_upsert_insert() -> eyre::Result<()> { detached_embedding_uris: vec![], embedding_rules: vec![PostgateEmbeddingRules::Disable]}; - let at_uri = "at://did:plc:postgateowner1/app.bsky.feed.postgate/3l7mkz4lmk23j"; + let _at_uri = "at://did:plc:postgateowner1/app.bsky.feed.postgate/3l7mkz4lmk23j"; let result = feed::postgate_upsert(&tx, postgateowner1_actor_id, "3l7mkz4lmk23j", test_cid(), &postgate).await; assert!( @@ -1140,7 +1140,7 @@ async fn test_postgate_delete() -> eyre::Result<()> { detached_embedding_uris: vec![], embedding_rules: vec![]}; - let at_uri = "at://did:plc:postgateowner2/app.bsky.feed.postgate/3l7mkz4lmk23m"; + let _at_uri = "at://did:plc:postgateowner2/app.bsky.feed.postgate/3l7mkz4lmk23m"; feed::postgate_upsert(&tx, postgateowner2_actor_id, "3l7mkz4lmk23m", test_cid(), &postgate) .await .wrap_err("Failed to insert postgate")?; @@ -1218,7 +1218,7 @@ async fn test_threadgate_upsert_insert() -> eyre::Result<()> { allow: Some(vec![ThreadgateRule::Mention, ThreadgateRule::Following]), hidden_replies: vec![]}; - let at_uri = "at://did:plc:threadgateowner1/app.bsky.feed.threadgate/3l7mkz4lmk23p"; + let _at_uri = "at://did:plc:threadgateowner1/app.bsky.feed.threadgate/3l7mkz4lmk23p"; let result = feed::threadgate_upsert(&tx, threadgateowner1_actor_id, "3l7mkz4lmk23p", test_cid(), threadgate).await; assert!( @@ -1300,7 +1300,7 @@ async fn test_threadgate_delete() -> eyre::Result<()> { allow: Some(vec![ThreadgateRule::Follower]), hidden_replies: vec![]}; - let at_uri = "at://did:plc:threadgateowner2/app.bsky.feed.threadgate/3l7mkz4lmk23s"; + let _at_uri = "at://did:plc:threadgateowner2/app.bsky.feed.threadgate/3l7mkz4lmk23s"; feed::threadgate_upsert(&tx, threadgateowner2_actor_id, "3l7mkz4lmk23s", test_cid(), threadgate) .await .wrap_err("Failed to insert threadgate")?; diff --git a/consumer/tests/feedgen_labeler_operations_test.rs b/consumer/tests/feedgen_labeler_operations_test.rs index f1bdd735..0e1a45b7 100644 --- a/consumer/tests/feedgen_labeler_operations_test.rs +++ b/consumer/tests/feedgen_labeler_operations_test.rs @@ -53,7 +53,7 @@ async fn test_feedgen_upsert_insert() -> eyre::Result<()> { content_mode: Some("contentModeVideo".to_string()), created_at: Utc::now()}; - let at_uri = "at://did:plc:feedgenowner1/app.bsky.feed.generator/3k2a7abc123"; + let _at_uri = "at://did:plc:feedgenowner1/app.bsky.feed.generator/3k2a7abc123"; let (service_actor_id, _, _) = consumer::db::operations::feed::get_actor_id(&tx, "did:plc:feedservice1").await?; let (owner_actor_id, _, _) = consumer::db::operations::feed::get_actor_id(&tx, "did:plc:feedgenowner1").await?; @@ -124,7 +124,7 @@ async fn test_feedgen_upsert_update() -> eyre::Result<()> { .await .wrap_err("Failed to ensure service actor")?; - let at_uri = "at://did:plc:feedgenowner2/app.bsky.feed.generator/3k2a7def456"; + let _at_uri = "at://did:plc:feedgenowner2/app.bsky.feed.generator/3k2a7def456"; // Insert initial feedgen let feedgen1 = AppBskyFeedGenerator { diff --git a/consumer/tests/gates_queries_test.rs b/consumer/tests/gates_queries_test.rs index 68212eb3..932ce960 100644 --- a/consumer/tests/gates_queries_test.rs +++ b/consumer/tests/gates_queries_test.rs @@ -81,7 +81,7 @@ async fn test_maintain_postgates_query() -> eyre::Result<()> { // Test with non-existent post URI let detached = vec!["at://did:plc:test/app.bsky.feed.post/3m4fsspghex2n".to_string()]; - let result = queries::maintain_postgates( + let result = queries::maintain_postgates_cached( &conn, "at://did:plc:test/app.bsky.feed.post/3m4fsspghex2n", &detached, diff --git a/consumer/tests/threadgate_enforcement_test.rs b/consumer/tests/threadgate_enforcement_test.rs index 53057372..d20927d6 100644 --- a/consumer/tests/threadgate_enforcement_test.rs +++ b/consumer/tests/threadgate_enforcement_test.rs @@ -18,7 +18,7 @@ use eyre::WrapErr; // Helper function to extract rkey from AT URI fn extract_rkey(uri: &str) -> String { - uri.split('/').last().unwrap_or("").to_string() + uri.split('/').next_back().unwrap_or("").to_string() } // ============================================================================ diff --git a/consumer/tests/workers_test.rs b/consumer/tests/workers_test.rs index a4257548..6abc3f06 100644 --- a/consumer/tests/workers_test.rs +++ b/consumer/tests/workers_test.rs @@ -283,7 +283,7 @@ async fn test_get_pinned_post_uri_exists() -> eyre::Result<()> { // Insert a post using production function let post_uri = "at://did:plc:with_pinned/app.bsky.feed.post/3l7mkz4lmk235"; - let rkey = post_uri.split('/').last().unwrap_or(""); + let rkey = post_uri.split('/').next_back().unwrap_or(""); let post = AppBskyFeedPost { text: "test post".to_string(), facets: None, diff --git a/parakeet/tests/common/mod.rs b/parakeet/tests/common/mod.rs index 5147d8f2..285c4614 100644 --- a/parakeet/tests/common/mod.rs +++ b/parakeet/tests/common/mod.rs @@ -40,7 +40,6 @@ pub fn test_diesel_pool() -> Pool { /// /// Uses Diesel's internal migration tracking table pub async fn check_migrations_applied(pool: &Pool) -> bool { - use diesel::prelude::*; use diesel_async::RunQueryDsl; let mut conn = pool.get().await.expect("Failed to get connection"); diff --git a/parakeet/tests/db_bookmarks_test.rs b/parakeet/tests/db_bookmarks_test.rs index ed22999d..a6681f9b 100644 --- a/parakeet/tests/db_bookmarks_test.rs +++ b/parakeet/tests/db_bookmarks_test.rs @@ -6,7 +6,6 @@ mod common; -use diesel_async::RunQueryDsl; use eyre::WrapErr; // ============================================================================ diff --git a/parakeet/tests/loaders_test.rs b/parakeet/tests/loaders_test.rs index 78054af8..8b61050c 100644 --- a/parakeet/tests/loaders_test.rs +++ b/parakeet/tests/loaders_test.rs @@ -24,7 +24,7 @@ use eyre::WrapErr; async fn test_profile_loader_main_query_empty() -> eyre::Result<()> { common::ensure_test_db_ready().await; let pool = common::test_diesel_pool(); - let mut conn = pool.get().await.wrap_err("Failed to get connection")?; + let _conn = pool.get().await.wrap_err("Failed to get connection")?; // Simulate ProfileLoader's main query with empty DID list let dids: Vec = vec![]; @@ -45,7 +45,7 @@ async fn test_profile_loader_main_query_structure() -> eyre::Result<()> { let pool = common::test_diesel_pool(); let mut conn = pool.get().await.wrap_err("Failed to get connection")?; - let dids = vec!["did:plc:test1".to_string(), "did:plc:test2".to_string()]; + let dids = ["did:plc:test1".to_string(), "did:plc:test2".to_string()]; // Build the query using the actual ProfileLoader query builder (no SQL duplication!) let dids_refs: Vec<&str> = dids.iter().map(|s| s.as_str()).collect(); @@ -53,6 +53,8 @@ async fn test_profile_loader_main_query_structure() -> eyre::Result<()> { let query = parakeet::loaders::build_profiles_batch_query(); #[derive(diesel::QueryableByName)] + #[allow(dead_code)] + #[allow(dead_code)] struct ActorRow { #[diesel(sql_type = diesel::sql_types::Text)] did: String, @@ -103,13 +105,14 @@ async fn test_profile_loader_status_query_structure() -> eyre::Result<()> { let pool = common::test_diesel_pool(); let mut conn = pool.get().await.wrap_err("Failed to get connection")?; - let dids = vec!["did:plc:test1".to_string()]; + let dids = ["did:plc:test1".to_string()]; let dids_refs: Vec<&str> = dids.iter().map(|s| s.as_str()).collect(); // Use the actual status query builder from ProfileLoader (no SQL duplication!) let status_query = parakeet::loaders::build_statuses_batch_query(); #[derive(diesel::QueryableByName)] + #[allow(dead_code)] struct StatusRow { #[diesel(sql_type = diesel::sql_types::Integer)] actor_id: i32, @@ -155,9 +158,7 @@ async fn test_post_loader_main_query_structure() -> eyre::Result<()> { let pool = common::test_diesel_pool(); let mut conn = pool.get().await.wrap_err("Failed to get connection")?; - let uris = vec![ - "at://did:plc:test/app.bsky.feed.post/3ktpjpifdsr2d".to_string(), - ]; + let uris = ["at://did:plc:test/app.bsky.feed.post/3ktpjpifdsr2d".to_string()]; // Parse URIs to (did, rkey) pairs like the actual PostLoader does let parsed_uris: Vec<(String, i64)> = uris @@ -185,6 +186,7 @@ async fn test_post_loader_main_query_structure() -> eyre::Result<()> { let query = parakeet::loaders::build_posts_batch_query(); #[derive(diesel::QueryableByName)] + #[allow(dead_code)] struct PostWithComputed { #[diesel(sql_type = diesel::sql_types::BigInt)] id: i64, @@ -246,7 +248,7 @@ async fn test_post_loader_main_query_structure() -> eyre::Result<()> { async fn test_post_loader_threadgate_query_structure() -> eyre::Result<()> { common::ensure_test_db_ready().await; let pool = common::test_diesel_pool(); - let mut conn = pool.get().await.wrap_err("Failed to get connection")?; + let _conn = pool.get().await.wrap_err("Failed to get connection")?; // Simulate empty post_record_ids list let post_record_ids: Vec = vec![]; @@ -270,6 +272,7 @@ async fn test_post_loader_threadgate_query_with_data() -> eyre::Result<()> { let query = parakeet::loaders::build_threadgates_batch_query(); #[derive(diesel::QueryableByName)] + #[allow(dead_code)] struct ThreadgateWithUri { #[diesel(sql_type = diesel::sql_types::BigInt)] id: i64, diff --git a/parakeet/tests/sql/batch_loading_test.rs b/parakeet/tests/sql/batch_loading_test.rs index 31675a84..e8011fa2 100644 --- a/parakeet/tests/sql/batch_loading_test.rs +++ b/parakeet/tests/sql/batch_loading_test.rs @@ -10,7 +10,6 @@ #[path = "../common/mod.rs"] mod common; -use diesel::prelude::*; use diesel::sql_types::{Array, BigInt}; use eyre::WrapErr; @@ -322,6 +321,7 @@ async fn test_batch_loading_empty_array() -> eyre::Result<()> { let mut conn = pool.get().await.wrap_err("Failed to get connection")?; #[derive(diesel::QueryableByName)] + #[allow(dead_code)] struct PostRow { #[diesel(sql_type = BigInt)] id: i64, @@ -352,6 +352,7 @@ async fn test_batch_loading_single_item() -> eyre::Result<()> { let mut conn = pool.get().await.wrap_err("Failed to get connection")?; #[derive(diesel::QueryableByName)] + #[allow(dead_code)] struct PostRow { #[diesel(sql_type = BigInt)] id: i64, diff --git a/parakeet/tests/sql/db_module_test.rs b/parakeet/tests/sql/db_module_test.rs index 0e3c0105..ae02f302 100644 --- a/parakeet/tests/sql/db_module_test.rs +++ b/parakeet/tests/sql/db_module_test.rs @@ -6,6 +6,8 @@ //! //! Tests run against the parakeet_test database with minimal setup. +#![allow(unused_variables)] + #[path = "../common/mod.rs"] mod common; @@ -903,7 +905,7 @@ async fn test_get_timeline_posts_with_cursor() -> eyre::Result<()> { let future_cutoff = chrono::Utc::now() + chrono::Duration::minutes(1); // Query with cursor timestamp - let result = db::get_timeline_posts(&mut conn, &dids, Some(&cursor_time), &future_cutoff, 50) + let _result = db::get_timeline_posts(&mut conn, &dids, Some(&cursor_time), &future_cutoff, 50) .await .wrap_err("SQL query failed")?;