diff options
| author | DanConwayDev <DanConwayDev@protonmail.com> | 2025-12-01 14:31:32 +0000 |
|---|---|---|
| committer | DanConwayDev <DanConwayDev@protonmail.com> | 2025-12-01 15:22:38 +0000 |
| commit | d2ac69816567f092fe0d4661723bc43778cb481b (patch) | |
| tree | e8b51b61a6a7b0ab1a214adebe4e237143b01f0b /grasp-audit/src/specs/grasp01/event_acceptance_policy.rs | |
| parent | 7a78815e29b01c83f3d0ec195ba717a2eba8cd37 (diff) | |
fix cargo clippy and fmt warnings
Diffstat (limited to 'grasp-audit/src/specs/grasp01/event_acceptance_policy.rs')
| -rw-r--r-- | grasp-audit/src/specs/grasp01/event_acceptance_policy.rs | 62 |
1 files changed, 23 insertions, 39 deletions
diff --git a/grasp-audit/src/specs/grasp01/event_acceptance_policy.rs b/grasp-audit/src/specs/grasp01/event_acceptance_policy.rs index 3a8f18d..1fc7f73 100644 --- a/grasp-audit/src/specs/grasp01/event_acceptance_policy.rs +++ b/grasp-audit/src/specs/grasp01/event_acceptance_policy.rs | |||
| @@ -247,7 +247,9 @@ impl EventAcceptancePolicyTests { | |||
| 247 | /// | 247 | /// |
| 248 | /// Spec: Line 5 of ../grasp/01.md | 248 | /// Spec: Line 5 of ../grasp/01.md |
| 249 | /// Requirement: MUST reject announcements not listing service (unless GRASP-05) | 249 | /// Requirement: MUST reject announcements not listing service (unless GRASP-05) |
| 250 | pub async fn test_reject_repo_announcement_missing_clone_tag(client: &AuditClient) -> TestResult { | 250 | pub async fn test_reject_repo_announcement_missing_clone_tag( |
| 251 | client: &AuditClient, | ||
| 252 | ) -> TestResult { | ||
| 251 | TestResult::new( | 253 | TestResult::new( |
| 252 | "reject_repo_announcement_missing_clone_tag", | 254 | "reject_repo_announcement_missing_clone_tag", |
| 253 | "GRASP-01:nostr-relay:5", | 255 | "GRASP-01:nostr-relay:5", |
| @@ -321,7 +323,9 @@ impl EventAcceptancePolicyTests { | |||
| 321 | /// | 323 | /// |
| 322 | /// Spec: Line 5 of ../grasp/01.md | 324 | /// Spec: Line 5 of ../grasp/01.md |
| 323 | /// Requirement: MUST reject announcements not listing service in relays | 325 | /// Requirement: MUST reject announcements not listing service in relays |
| 324 | pub async fn test_reject_repo_announcement_missing_relays_tag(client: &AuditClient) -> TestResult { | 326 | pub async fn test_reject_repo_announcement_missing_relays_tag( |
| 327 | client: &AuditClient, | ||
| 328 | ) -> TestResult { | ||
| 325 | TestResult::new( | 329 | TestResult::new( |
| 326 | "reject_repo_announcement_missing_relays_tag", | 330 | "reject_repo_announcement_missing_relays_tag", |
| 327 | "GRASP-01:nostr-relay:5", | 331 | "GRASP-01:nostr-relay:5", |
| @@ -546,8 +550,7 @@ impl EventAcceptancePolicyTests { | |||
| 546 | let issue = Self::create_issue_for_repo(client, &repo, "Test Issue 1")?; | 550 | let issue = Self::create_issue_for_repo(client, &repo, "Test Issue 1")?; |
| 547 | 551 | ||
| 548 | // 3. Send issue and verify it's accepted | 552 | // 3. Send issue and verify it's accepted |
| 549 | send_and_verify_accepted(client, issue, "issue referencing repo via 'a' tag") | 553 | send_and_verify_accepted(client, issue, "issue referencing repo via 'a' tag").await?; |
| 550 | .await?; | ||
| 551 | 554 | ||
| 552 | Ok(()) | 555 | Ok(()) |
| 553 | }) | 556 | }) |
| @@ -693,8 +696,7 @@ impl EventAcceptancePolicyTests { | |||
| 693 | .map_err(|e| format!("Failed to build issue B: {}", e))?; | 696 | .map_err(|e| format!("Failed to build issue B: {}", e))?; |
| 694 | 697 | ||
| 695 | // Send Issue B and verify it's ACCEPTED (via transitive quote to Issue A) | 698 | // Send Issue B and verify it's ACCEPTED (via transitive quote to Issue A) |
| 696 | send_and_verify_accepted(client, issue_b, "issue B quoting accepted issue A") | 699 | send_and_verify_accepted(client, issue_b, "issue B quoting accepted issue A").await?; |
| 697 | .await?; | ||
| 698 | 700 | ||
| 699 | Ok(()) | 701 | Ok(()) |
| 700 | }) | 702 | }) |
| @@ -772,8 +774,7 @@ impl EventAcceptancePolicyTests { | |||
| 772 | .build(client.keys()) | 774 | .build(client.keys()) |
| 773 | .map_err(|e| format!("Failed to build kind1 A: {}", e))?; | 775 | .map_err(|e| format!("Failed to build kind1 A: {}", e))?; |
| 774 | 776 | ||
| 775 | send_and_verify_accepted(client, kind1_a.clone(), "kind 1 A quoting repo") | 777 | send_and_verify_accepted(client, kind1_a.clone(), "kind 1 A quoting repo").await?; |
| 776 | .await?; | ||
| 777 | 778 | ||
| 778 | // Create Kind 1 B that replies to Kind 1 A via 'e' tag | 779 | // Create Kind 1 B that replies to Kind 1 A via 'e' tag |
| 779 | let kind1_b = client | 780 | let kind1_b = client |
| @@ -783,12 +784,8 @@ impl EventAcceptancePolicyTests { | |||
| 783 | .map_err(|e| format!("Failed to build kind1 B: {}", e))?; | 784 | .map_err(|e| format!("Failed to build kind1 B: {}", e))?; |
| 784 | 785 | ||
| 785 | // Send Kind 1 B and verify it's accepted (via 'e' tag to accepted kind 1 A) | 786 | // Send Kind 1 B and verify it's accepted (via 'e' tag to accepted kind 1 A) |
| 786 | send_and_verify_accepted( | 787 | send_and_verify_accepted(client, kind1_b, "kind 1 B replying to accepted kind 1 A") |
| 787 | client, | 788 | .await?; |
| 788 | kind1_b, | ||
| 789 | "kind 1 B replying to accepted kind 1 A", | ||
| 790 | ) | ||
| 791 | .await?; | ||
| 792 | 789 | ||
| 793 | Ok(()) | 790 | Ok(()) |
| 794 | }) | 791 | }) |
| @@ -828,17 +825,19 @@ impl EventAcceptancePolicyTests { | |||
| 828 | .kind(Kind::GitRepoAnnouncement) | 825 | .kind(Kind::GitRepoAnnouncement) |
| 829 | .author(repo.pubkey) | 826 | .author(repo.pubkey) |
| 830 | .identifier(repo_id); | 827 | .identifier(repo_id); |
| 831 | 828 | ||
| 832 | // Poll until repo is available (with timeout) | 829 | // Poll until repo is available (with timeout) |
| 833 | for _ in 0..10 { | 830 | for _ in 0..10 { |
| 834 | let events = client.query(verify_filter.clone()).await | 831 | let events = client |
| 832 | .query(verify_filter.clone()) | ||
| 833 | .await | ||
| 835 | .map_err(|e| format!("Failed to verify repo: {}", e))?; | 834 | .map_err(|e| format!("Failed to verify repo: {}", e))?; |
| 836 | if !events.is_empty() { | 835 | if !events.is_empty() { |
| 837 | break; | 836 | break; |
| 838 | } | 837 | } |
| 839 | tokio::time::sleep(Duration::from_millis(50)).await; | 838 | tokio::time::sleep(Duration::from_millis(50)).await; |
| 840 | } | 839 | } |
| 841 | 840 | ||
| 842 | // Extra delay to ensure relay's internal database is fully synchronized | 841 | // Extra delay to ensure relay's internal database is fully synchronized |
| 843 | tokio::time::sleep(Duration::from_millis(200)).await; | 842 | tokio::time::sleep(Duration::from_millis(200)).await; |
| 844 | 843 | ||
| @@ -907,12 +906,7 @@ impl EventAcceptancePolicyTests { | |||
| 907 | let issue = ctx | 906 | let issue = ctx |
| 908 | .get_fixture(FixtureKind::RepoWithIssue) | 907 | .get_fixture(FixtureKind::RepoWithIssue) |
| 909 | .await | 908 | .await |
| 910 | .map_err(|e| { | 909 | .map_err(|e| format!("Test setup failed: could not get issue fixture: {}", e))?; |
| 911 | format!( | ||
| 912 | "Test setup failed: could not get issue fixture: {}", | ||
| 913 | e | ||
| 914 | ) | ||
| 915 | })?; | ||
| 916 | 910 | ||
| 917 | // Create Comment A locally but DON'T send it yet | 911 | // Create Comment A locally but DON'T send it yet |
| 918 | let comment_a = Self::create_comment_for_event(client, &issue, "Comment A")?; | 912 | let comment_a = Self::create_comment_for_event(client, &issue, "Comment A")?; |
| @@ -997,16 +991,11 @@ impl EventAcceptancePolicyTests { | |||
| 997 | .build(client.keys()) | 991 | .build(client.keys()) |
| 998 | .map_err(|e| format!("Failed to build kind1 B: {}", e))?; | 992 | .map_err(|e| format!("Failed to build kind1 B: {}", e))?; |
| 999 | 993 | ||
| 1000 | send_and_verify_accepted(client, kind1_b, "kind1 B mentioning unsent kind1 A") | 994 | send_and_verify_accepted(client, kind1_b, "kind1 B mentioning unsent kind1 A").await?; |
| 1001 | .await?; | ||
| 1002 | 995 | ||
| 1003 | // NOW send Kind 1 A - should be accepted because accepted Kind 1 B mentions it | 996 | // NOW send Kind 1 A - should be accepted because accepted Kind 1 B mentions it |
| 1004 | send_and_verify_accepted( | 997 | send_and_verify_accepted(client, kind1_a, "kind1 A referenced by accepted kind1 B") |
| 1005 | client, | 998 | .await?; |
| 1006 | kind1_a, | ||
| 1007 | "kind1 A referenced by accepted kind1 B", | ||
| 1008 | ) | ||
| 1009 | .await?; | ||
| 1010 | 999 | ||
| 1011 | Ok(()) | 1000 | Ok(()) |
| 1012 | }) | 1001 | }) |
| @@ -1033,12 +1022,8 @@ impl EventAcceptancePolicyTests { | |||
| 1033 | Self::create_issue_for_repo(client, &unaccepted_repo, "Orphan Issue")?; | 1022 | Self::create_issue_for_repo(client, &unaccepted_repo, "Orphan Issue")?; |
| 1034 | 1023 | ||
| 1035 | // 3. Send issue and verify it's REJECTED | 1024 | // 3. Send issue and verify it's REJECTED |
| 1036 | send_and_verify_rejected( | 1025 | send_and_verify_rejected(client, orphan_issue, "issue referencing unaccepted repo") |
| 1037 | client, | 1026 | .await?; |
| 1038 | orphan_issue, | ||
| 1039 | "issue referencing unaccepted repo", | ||
| 1040 | ) | ||
| 1041 | .await?; | ||
| 1042 | 1027 | ||
| 1043 | Ok(()) | 1028 | Ok(()) |
| 1044 | }) | 1029 | }) |
| @@ -1060,8 +1045,7 @@ impl EventAcceptancePolicyTests { | |||
| 1060 | .map_err(|e| format!("Failed to build note: {}", e))?; | 1045 | .map_err(|e| format!("Failed to build note: {}", e))?; |
| 1061 | 1046 | ||
| 1062 | // 2. Send note and verify it's REJECTED | 1047 | // 2. Send note and verify it's REJECTED |
| 1063 | send_and_verify_rejected(client, orphan_note, "kind 1 with no repo references") | 1048 | send_and_verify_rejected(client, orphan_note, "kind 1 with no repo references").await?; |
| 1064 | .await?; | ||
| 1065 | 1049 | ||
| 1066 | Ok(()) | 1050 | Ok(()) |
| 1067 | }) | 1051 | }) |