@@ -13,7 +13,7 @@ setup() {
1313}
1414
1515@test " Skip ssh-keyscan when option provided" {
16- export BUILDKITE_PLUGIN_SPARSE_CHECKOUT_SKIP_SSH_KEYSCAN=' true'
16+ export BUILDKITE_PLUGIN_SPARSE_CHECKOUT_SKIP_SSH_KEYSCAN=" true"
1717
1818 stub git " clean \* : echo 'git clean'"
1919 stub git " fetch --depth 1 origin \* : echo 'git fetch'"
@@ -44,4 +44,39 @@ setup() {
4444
4545 unstub git
4646 unstub ssh-keyscan
47- }
47+ }
48+
49+ @test " Run ssh-keyscan when BUILDKITE_REPO_SSH_HOST is defined" {
50+ unset BUILDKITE_PLUGIN_SPARSE_CHECKOUT_SKIP_SSH_KEYSCAN
51+ export BUILDKITE_REPO_SSH_HOST=" github.com"
52+
53+ stub ssh-keyscan " \* : echo 'keyscan'"
54+ stub git " clean \* : echo 'git clean'"
55+ stub git " fetch --depth 1 origin \* : echo 'git fetch'"
56+ stub git " sparse-checkout set \* \* : echo 'git sparse-checkout'"
57+ stub git " checkout \* : echo 'checkout'"
58+
59+ run " $PWD " /hooks/checkout
60+
61+ assert_success
62+ assert_output --partial ' Scanning SSH keys for remote git repository'
63+
64+ unstub git
65+ unstub ssh-keyscan
66+ }
67+
68+ @test " Skip ssh-keyscan when BUILDKITE_REPO_SSH_HOST is unset" {
69+ unset BUILDKITE_REPO_SSH_HOST
70+
71+ stub git " clean \* : echo 'git clean'"
72+ stub git " fetch --depth 1 origin \* : echo 'git fetch'"
73+ stub git " sparse-checkout set \* \* : echo 'git sparse-checkout'"
74+ stub git " checkout \* : echo 'checkout'"
75+
76+ run " $PWD " /hooks/checkout
77+
78+ assert_success
79+ assert_output --partial ' Skipped SSH keyscan'
80+
81+ unstub git
82+ }
0 commit comments