From 08d04efc10ee0660982777559c692f7586b34cc1 Mon Sep 17 00:00:00 2001 From: Simon Coffey Date: Sun, 5 Feb 2023 23:58:17 +0000 Subject: [PATCH] Use dynamically-created repo for signed commits test (#614) This replaces the test repo introduced in #610 with one created on the fly in the test. I've switched from GPG to SSH signing to minimise the likelihood that we'll need extra dependencies on CI or other contributors' machines. I've also removed some of the commit metadata assertions that didn't feel particularly necessary, and this allowed me to reduce the setup steps for clarity. Signed-off-by: Simon Coffey --- tests/files/signed_commits/dot_git/HEAD | 1 - tests/files/signed_commits/dot_git/config | 7 -- tests/files/signed_commits/dot_git/index | Bin 137 -> 0 bytes tests/files/signed_commits/dot_git/logs/HEAD | 1 - .../dot_git/logs/refs/heads/main | 1 - .../4a/7f2717e7c6b029dcadf62aac0e5e811332f39d | Bin 71 -> 0 bytes .../92/fd5b7c1aeb6a4e2602799f01608b3deebbad2d | Bin 54 -> 0 bytes .../a0/43c677c93d9f2b285771a29742cc73715e41ea | Bin 408 -> 0 bytes .../signed_commits/dot_git/refs/heads/main | 1 - tests/files/signed_commits/notes.txt | 1 - tests/units/test_signed_commits.rb | 66 ++++++------------ 11 files changed, 22 insertions(+), 56 deletions(-) delete mode 100644 tests/files/signed_commits/dot_git/HEAD delete mode 100644 tests/files/signed_commits/dot_git/config delete mode 100644 tests/files/signed_commits/dot_git/index delete mode 100644 tests/files/signed_commits/dot_git/logs/HEAD delete mode 100644 tests/files/signed_commits/dot_git/logs/refs/heads/main delete mode 100644 tests/files/signed_commits/dot_git/objects/4a/7f2717e7c6b029dcadf62aac0e5e811332f39d delete mode 100644 tests/files/signed_commits/dot_git/objects/92/fd5b7c1aeb6a4e2602799f01608b3deebbad2d delete mode 100644 tests/files/signed_commits/dot_git/objects/a0/43c677c93d9f2b285771a29742cc73715e41ea delete mode 100644 tests/files/signed_commits/dot_git/refs/heads/main delete mode 100644 tests/files/signed_commits/notes.txt diff --git a/tests/files/signed_commits/dot_git/HEAD b/tests/files/signed_commits/dot_git/HEAD deleted file mode 100644 index b870d826..00000000 --- a/tests/files/signed_commits/dot_git/HEAD +++ /dev/null @@ -1 +0,0 @@ -ref: refs/heads/main diff --git a/tests/files/signed_commits/dot_git/config b/tests/files/signed_commits/dot_git/config deleted file mode 100644 index 6c9406b7..00000000 --- a/tests/files/signed_commits/dot_git/config +++ /dev/null @@ -1,7 +0,0 @@ -[core] - repositoryformatversion = 0 - filemode = true - bare = false - logallrefupdates = true - ignorecase = true - precomposeunicode = true diff --git a/tests/files/signed_commits/dot_git/index b/tests/files/signed_commits/dot_git/index deleted file mode 100644 index 8ad0865841685ba837df95fe264c30863b3f3e58..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 137 zcmZ?q402{*U|<4b#^j?WPuOK_)nGIu1A`#b^gUA<7#f!VrN05yhybyTSG~IU^J5z{ z@2vf%wT3UQQP}A7Tn5g({F2mSy^@L&hL9jvSD-pc215k{u1SBRYouOh`Kd8g&Sy;M gwtcsIt!_=PWcB-B_io){y 1673868871 +0000 commit (initial): Signed commit diff --git a/tests/files/signed_commits/dot_git/logs/refs/heads/main b/tests/files/signed_commits/dot_git/logs/refs/heads/main deleted file mode 100644 index 130aef50..00000000 --- a/tests/files/signed_commits/dot_git/logs/refs/heads/main +++ /dev/null @@ -1 +0,0 @@ -0000000000000000000000000000000000000000 a043c677c93d9f2b285771a29742cc73715e41ea Simon Coffey 1673868871 +0000 commit (initial): Signed commit diff --git a/tests/files/signed_commits/dot_git/objects/4a/7f2717e7c6b029dcadf62aac0e5e811332f39d b/tests/files/signed_commits/dot_git/objects/4a/7f2717e7c6b029dcadf62aac0e5e811332f39d deleted file mode 100644 index 574632315854b3639844161447bf3b65c4b2ad28..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 71 zcmV-N0J#5n0ZYosPf{>5V8|>{$ShVUOD(EY$jmLsFDgmQD^V!PNGwrE&PdElPc2p` d$p`X*YSJ=uQWX-5QbCF{(=t<2xBxVj7#Q|k8&v=R diff --git a/tests/files/signed_commits/dot_git/objects/92/fd5b7c1aeb6a4e2602799f01608b3deebbad2d b/tests/files/signed_commits/dot_git/objects/92/fd5b7c1aeb6a4e2602799f01608b3deebbad2d deleted file mode 100644 index dedfeed897b03c35b2d2c3a49d2ec1487358f774..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 54 zcmV-60LlM&0V^p=O;s>9XD~D{Ff%bx$jdKDE!HckC}HrbR~LVNY=h>VwcoVX@WnL> M8-1P&08nQTO0hI{s}m|G91Y(5|)QnzZ7h5$sQZc=FQu>77C`G^FeitfoBzTN@lr<8FBE0S&m`NJg+cJ$8d>F86yN! ziz3{svh5%hb=yGL76lvNv%GcV{N8;ndewKVVz|3W^%pRmne95RJ2PQq=t5f6!xj5a z48L$GIDEQQ5XH+4Y~wAY%Xs7Ovt4x85g-tYEb@cnlOGt*%VbxJNKwxW&Lp_x{9p~? zYIJB;uMZ;0!lRp6IrpE!UHGnR0yz!-cH+{QwsZcxwt~~a4x5@0dN@U=eVC}ZmBiUV zR&rRCWqytPD|z+(SlP!#ks|2(^=9Fng_r)Iqla)YTDyrwx8JApNo8~Xh~Uxo_YHd6 zCfa=a*Dfd(ykQjH?uXF66cVnYssLA2dxe^TYC$onep`TIg@OH49nO`|ffYJBeX~Ch zIY!HmHPrYl8V;&t8X_g;`t2(vD$(4T`k#T+v1$ue@1DQNLZVB@B 1673868871 +0000', data['author']) - assert_equal('92fd5b7c1aeb6a4e2602799f01608b3deebbad2d', data['tree']) - assert_equal(<<~EOS.chomp, data['gpgsig']) - -----BEGIN PGP SIGNATURE----- + data = Git.open('.').lib.commit_data('HEAD') - iHUEABYKAB0WIQRmiEtd91BkbBpcgV2yCJ+VnJz/iQUCY8U2cgAKCRCyCJ+VnJz/ - ibjyAP48dGdoFgWL2BjV3CnmebdVjEjTCQtF2QGUybJsyJhhcwEAwbzAAGt3YHfS - uuLNH9ki9Sqd+/CH+L8Q2dPM5F4l3gg= - =3ATn - -----END PGP SIGNATURE----- - EOS - assert_equal(<<~EOS, data['message']) - Signed commit - - This will allow me to test commit data extraction for signed commits. - I'm making the message multiline to make sure that message extraction is - preserved. - EOS + assert_match(SSH_SIGNATURE_REGEXP, data['gpgsig']) + assert_equal("Signed, sealed, delivered\n", data['message']) + end end end