upleb.uk

Public git repos — served from a NIP-34 GRASP relay at git.upleb.uk

summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--grasp-audit/README.md8
-rw-r--r--grasp-audit/src/fixtures.rs29
-rw-r--r--grasp-audit/src/specs/grasp01/push_authorization.rs8
3 files changed, 22 insertions, 23 deletions
diff --git a/grasp-audit/README.md b/grasp-audit/README.md
index 2cc9247..936f10f 100644
--- a/grasp-audit/README.md
+++ b/grasp-audit/README.md
@@ -298,10 +298,10 @@ Fixtures use deterministic commit hashes for reproducible testing:
298 298
299| Constant | Hash | Used By | 299| Constant | Hash | Used By |
300| ------------------------------------------------ | ------------------------------------------ | ------------------------------------------------ | 300| ------------------------------------------------ | ------------------------------------------ | ------------------------------------------------ |
301| `DETERMINISTIC_COMMIT_HASH` | `64ea71d79a57a7acb334cd9651f8aec067c0ce5d` | Owner fixtures (RepoState, OwnerStateDataPushed) | 301| `DETERMINISTIC_COMMIT_HASH` | `d6e4b26ccf9c268d18d60e6d09804313cc850821` | Owner fixtures (RepoState, OwnerStateDataPushed) |
302| `MAINTAINER_DETERMINISTIC_COMMIT_HASH` | `1c2d472c9b71ed51968a66500281a3c4a6840464` | MaintainerStateDataPushed | 302| `MAINTAINER_DETERMINISTIC_COMMIT_HASH` | `d26703c007eff6d17fee3bb70ce8be5d1427d0e7` | MaintainerStateDataPushed |
303| `RECURSIVE_MAINTAINER_DETERMINISTIC_COMMIT_HASH` | `05939b82de66fbdb9c077d0a64fc68522f3cb8e0` | RecursiveMaintainerStateDataPushed | 303| `RECURSIVE_MAINTAINER_DETERMINISTIC_COMMIT_HASH` | `54a2b4b3cbc3373ad1438b8ffad1681d12bc6c4a` | RecursiveMaintainerStateDataPushed |
304| `PR_TEST_COMMIT_HASH` | `5d40fb1555a0c28bf4d650515a73aaa54d4d9bfb` | PR fixtures (PREvent, PREventGenerated) | 304| `PR_TEST_COMMIT_HASH` | `5a51b30e4615b572dcd5b9e487861b58605a5c21` | PR fixtures (PREvent, PREventGenerated) |
305 305
306#### Fixture Dependencies 306#### Fixture Dependencies
307 307
diff --git a/grasp-audit/src/fixtures.rs b/grasp-audit/src/fixtures.rs
index 2c53bf0..56d29ef 100644
--- a/grasp-audit/src/fixtures.rs
+++ b/grasp-audit/src/fixtures.rs
@@ -61,49 +61,47 @@ use std::sync::{Arc, Mutex};
61/// Deterministic commit hash used in RepoState fixtures (Owner variant) 61/// Deterministic commit hash used in RepoState fixtures (Owner variant)
62/// This is the hash produced by creating a commit with: 62/// This is the hash produced by creating a commit with:
63/// - Message: "Initial commit" 63/// - Message: "Initial commit"
64/// - File: test.txt containing "Initial commit" 64/// - File: test.txt containing "Initial commit\n" (with trailing newline)
65/// - Author date: 2024-01-01T00:00:00Z 65/// - Author date: 2024-01-01T00:00:00Z
66/// - Committer date: 2024-01-01T00:00:00Z 66/// - Committer date: 2024-01-01T00:00:00Z
67/// - GPG signing: disabled 67/// - GPG signing: disabled
68/// - User: "GRASP Audit Test <test@grasp-audit.local>" 68/// - User: "GRASP Audit Test <test@grasp-audit.local>"
69/// - Parent: Initial empty commit (09cc37de80f3434fa98864a86730b8d7777bd6ae) 69/// - Parent: none (root commit)
70pub const DETERMINISTIC_COMMIT_HASH: &str = "64ea71d79a57a7acb334cd9651f8aec067c0ce5d"; 70pub const DETERMINISTIC_COMMIT_HASH: &str = "d6e4b26ccf9c268d18d60e6d09804313cc850821";
71 71
72/// Deterministic commit hash for maintainer fixtures (Maintainer variant) 72/// Deterministic commit hash for maintainer fixtures (Maintainer variant)
73/// This is the hash produced by creating a commit with: 73/// This is the hash produced by creating a commit with:
74/// - Message: "Maintainer initial commit" 74/// - Message: "Maintainer initial commit"
75/// - File: test.txt containing "Maintainer initial commit" 75/// - File: test.txt containing "Maintainer initial commit\n" (with trailing newline)
76/// - Author date: 2024-01-01T00:00:00Z 76/// - Author date: 2024-01-01T00:00:00Z
77/// - Committer date: 2024-01-01T00:00:00Z 77/// - Committer date: 2024-01-01T00:00:00Z
78/// - GPG signing: disabled 78/// - GPG signing: disabled
79/// - User: "GRASP Audit Test <test@grasp-audit.local>" 79/// - User: "GRASP Audit Test <test@grasp-audit.local>"
80/// - Parent: none (root commit) 80/// - Parent: none (root commit)
81/// NOTE: This value is different from DETERMINISTIC_COMMIT_HASH due to different content 81pub const MAINTAINER_DETERMINISTIC_COMMIT_HASH: &str = "d26703c007eff6d17fee3bb70ce8be5d1427d0e7";
82pub const MAINTAINER_DETERMINISTIC_COMMIT_HASH: &str = "1c2d472c9b71ed51968a66500281a3c4a6840464";
83 82
84/// Deterministic commit hash for recursive maintainer fixtures (RecursiveMaintainer variant) 83/// Deterministic commit hash for recursive maintainer fixtures (RecursiveMaintainer variant)
85/// This is the hash produced by creating a commit with: 84/// This is the hash produced by creating a commit with:
86/// - Message: "Recursive maintainer initial commit" 85/// - Message: "Recursive maintainer initial commit"
87/// - File: test.txt containing "Recursive maintainer initial commit" 86/// - File: test.txt containing "Recursive maintainer initial commit\n" (with trailing newline)
88/// - Author date: 2024-01-01T00:00:00Z 87/// - Author date: 2024-01-01T00:00:00Z
89/// - Committer date: 2024-01-01T00:00:00Z 88/// - Committer date: 2024-01-01T00:00:00Z
90/// - GPG signing: disabled 89/// - GPG signing: disabled
91/// - User: "GRASP Audit Test <test@grasp-audit.local>" 90/// - User: "GRASP Audit Test <test@grasp-audit.local>"
92/// - Parent: none (root commit) 91/// - Parent: none (root commit)
93/// NOTE: This value is different from DETERMINISTIC_COMMIT_HASH due to different content
94pub const RECURSIVE_MAINTAINER_DETERMINISTIC_COMMIT_HASH: &str = 92pub const RECURSIVE_MAINTAINER_DETERMINISTIC_COMMIT_HASH: &str =
95 "05939b82de66fbdb9c077d0a64fc68522f3cb8e0"; 93 "54a2b4b3cbc3373ad1438b8ffad1681d12bc6c4a";
96 94
97/// Deterministic commit hash for PR test fixtures (PRTestCommit variant) 95/// Deterministic commit hash for PR test fixtures (PRTestCommit variant)
98/// This is the hash produced by creating a commit with: 96/// This is the hash produced by creating a commit with:
99/// - Message: "PR test deterministic commit" 97/// - Message: "PR test deterministic commit"
100/// - File: test.txt containing "PR test deterministic commit" 98/// - File: test.txt containing "PR test deterministic commit\n" (with trailing newline)
101/// - Author date: 2024-01-01T00:00:00Z 99/// - Author date: 2024-01-01T00:00:00Z
102/// - Committer date: 2024-01-01T00:00:00Z 100/// - Committer date: 2024-01-01T00:00:00Z
103/// - GPG signing: disabled 101/// - GPG signing: disabled
104/// - User: "GRASP Audit Test <test@grasp-audit.local>" 102/// - User: "GRASP Audit Test <test@grasp-audit.local>"
105/// - Parent: none (root commit) 103/// - Parent: none (root commit)
106pub const PR_TEST_COMMIT_HASH: &str = "5d40fb1555a0c28bf4d650515a73aaa54d4d9bfb"; 104pub const PR_TEST_COMMIT_HASH: &str = "5a51b30e4615b572dcd5b9e487861b58605a5c21";
107 105
108/// Types of test fixtures available 106/// Types of test fixtures available
109/// 107///
@@ -294,6 +292,7 @@ impl FixtureKind {
294 Self::PREventGenerated => vec![Self::ValidRepoSent], 292 Self::PREventGenerated => vec![Self::ValidRepoSent],
295 Self::PRWrongCommitPushedBeforeEvent => vec![Self::PREventGenerated], 293 Self::PRWrongCommitPushedBeforeEvent => vec![Self::PREventGenerated],
296 Self::PREventSentAfterWrongPush => vec![Self::PRWrongCommitPushedBeforeEvent], 294 Self::PREventSentAfterWrongPush => vec![Self::PRWrongCommitPushedBeforeEvent],
295
297 Self::OwnerStateDataPushed => vec![Self::ValidRepoSent], 296 Self::OwnerStateDataPushed => vec![Self::ValidRepoSent],
298 297
299 // Fixtures that depend on RepoWithIssue 298 // Fixtures that depend on RepoWithIssue
@@ -1874,10 +1873,10 @@ impl CommitVariant {
1874 /// Get the file content for this variant 1873 /// Get the file content for this variant
1875 pub fn file_content(&self) -> &'static str { 1874 pub fn file_content(&self) -> &'static str {
1876 match self { 1875 match self {
1877 CommitVariant::Owner => "Initial commit", 1876 CommitVariant::Owner => "Initial commit\n",
1878 CommitVariant::Maintainer => "Maintainer initial commit", 1877 CommitVariant::Maintainer => "Maintainer initial commit\n",
1879 CommitVariant::RecursiveMaintainer => "Recursive maintainer initial commit", 1878 CommitVariant::RecursiveMaintainer => "Recursive maintainer initial commit\n",
1880 CommitVariant::PRTestCommit => "PR test deterministic commit", 1879 CommitVariant::PRTestCommit => "PR test deterministic commit\n",
1881 } 1880 }
1882 } 1881 }
1883 1882
diff --git a/grasp-audit/src/specs/grasp01/push_authorization.rs b/grasp-audit/src/specs/grasp01/push_authorization.rs
index 78ef471..dc78b49 100644
--- a/grasp-audit/src/specs/grasp01/push_authorization.rs
+++ b/grasp-audit/src/specs/grasp01/push_authorization.rs
@@ -19,7 +19,7 @@
19/// Expected hash for PR test deterministic commit 19/// Expected hash for PR test deterministic commit
20/// 20///
21/// This hash is produced by creating a commit with: 21/// This hash is produced by creating a commit with:
22/// - File: test.txt containing "PR test deterministic commit" 22/// - File: test.txt containing "PR test deterministic commit\n" (with trailing newline)
23/// - Message: "PR test deterministic commit" 23/// - Message: "PR test deterministic commit"
24/// - Author: "GRASP Audit Test <test@grasp-audit.local>" 24/// - Author: "GRASP Audit Test <test@grasp-audit.local>"
25/// - Author date: 2024-01-01T00:00:00Z 25/// - Author date: 2024-01-01T00:00:00Z
@@ -29,7 +29,7 @@
29/// 29///
30/// Run `test_pr_test_commit_hash_discovery` to discover/verify this value. 30/// Run `test_pr_test_commit_hash_discovery` to discover/verify this value.
31#[allow(dead_code)] 31#[allow(dead_code)]
32const PR_TEST_COMMIT_HASH: &str = "5d40fb1555a0c28bf4d650515a73aaa54d4d9bfb"; 32const PR_TEST_COMMIT_HASH: &str = "5a51b30e4615b572dcd5b9e487861b58605a5c21";
33 33
34use crate::specs::grasp01::SpecRef; 34use crate::specs::grasp01::SpecRef;
35use crate::{ 35use crate::{
@@ -1722,9 +1722,9 @@ mod tests {
1722 .expect("git config name failed"); 1722 .expect("git config name failed");
1723 assert!(output.status.success(), "git config name failed"); 1723 assert!(output.status.success(), "git config name failed");
1724 1724
1725 // Create the deterministic file content 1725 // Create the deterministic file content (must match CommitVariant::PRTestCommit exactly)
1726 let test_file = path.join("test.txt"); 1726 let test_file = path.join("test.txt");
1727 fs::write(&test_file, "PR test deterministic commit").expect("Failed to write test file"); 1727 fs::write(&test_file, "PR test deterministic commit\n").expect("Failed to write test file");
1728 1728
1729 // Add the file 1729 // Add the file
1730 let output = Command::new("git") 1730 let output = Command::new("git")