diff options
| -rw-r--r-- | grasp-audit/README.md | 8 | ||||
| -rw-r--r-- | grasp-audit/src/fixtures.rs | 29 | ||||
| -rw-r--r-- | grasp-audit/src/specs/grasp01/push_authorization.rs | 8 |
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) |
| 70 | pub const DETERMINISTIC_COMMIT_HASH: &str = "64ea71d79a57a7acb334cd9651f8aec067c0ce5d"; | 70 | pub 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 | 81 | pub const MAINTAINER_DETERMINISTIC_COMMIT_HASH: &str = "d26703c007eff6d17fee3bb70ce8be5d1427d0e7"; |
| 82 | pub 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 | ||
| 94 | pub const RECURSIVE_MAINTAINER_DETERMINISTIC_COMMIT_HASH: &str = | 92 | pub 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) |
| 106 | pub const PR_TEST_COMMIT_HASH: &str = "5d40fb1555a0c28bf4d650515a73aaa54d4d9bfb"; | 104 | pub 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)] |
| 32 | const PR_TEST_COMMIT_HASH: &str = "5d40fb1555a0c28bf4d650515a73aaa54d4d9bfb"; | 32 | const PR_TEST_COMMIT_HASH: &str = "5a51b30e4615b572dcd5b9e487861b58605a5c21"; |
| 33 | 33 | ||
| 34 | use crate::specs::grasp01::SpecRef; | 34 | use crate::specs::grasp01::SpecRef; |
| 35 | use crate::{ | 35 | use 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") |