@@ -374,7 +374,7 @@ func TestMasterKey_loadIdentities(t *testing.T) {
374374 got , unusedLocations , errs := key .loadIdentities ()
375375 assert .Len (t , errs , 0 )
376376 assert .Len (t , got , 1 )
377- assert .Len (t , unusedLocations , 5 )
377+ assert .Len (t , unusedLocations , 6 )
378378 })
379379
380380 t .Run (SopsAgeKeyEnv + " multiple" , func (t * testing.T ) {
@@ -388,7 +388,7 @@ func TestMasterKey_loadIdentities(t *testing.T) {
388388 got , unusedLocations , errs := key .loadIdentities ()
389389 assert .Len (t , errs , 0 )
390390 assert .Len (t , got , 2 )
391- assert .Len (t , unusedLocations , 5 )
391+ assert .Len (t , unusedLocations , 6 )
392392 })
393393
394394 t .Run (SopsAgeKeyFileEnv , func (t * testing.T ) {
@@ -405,7 +405,7 @@ func TestMasterKey_loadIdentities(t *testing.T) {
405405 got , unusedLocations , errs := key .loadIdentities ()
406406 assert .Len (t , errs , 0 )
407407 assert .Len (t , got , 1 )
408- assert .Len (t , unusedLocations , 5 )
408+ assert .Len (t , unusedLocations , 6 )
409409 })
410410
411411 t .Run (SopsAgeKeyUserConfigPath , func (t * testing.T ) {
@@ -424,7 +424,7 @@ func TestMasterKey_loadIdentities(t *testing.T) {
424424 got , unusedLocations , errs := (& MasterKey {}).loadIdentities ()
425425 assert .Len (t , errs , 0 )
426426 assert .Len (t , got , 1 )
427- assert .Len (t , unusedLocations , 6 )
427+ assert .Len (t , unusedLocations , 7 )
428428 })
429429
430430 t .Run (SopsAgeSshPrivateKeyFileEnv , func (t * testing.T ) {
@@ -444,7 +444,7 @@ func TestMasterKey_loadIdentities(t *testing.T) {
444444 got , unusedLocations , errs := key .loadIdentities ()
445445 assert .Len (t , errs , 0 )
446446 assert .Len (t , got , 1 )
447- assert .Len (t , unusedLocations , 5 )
447+ assert .Len (t , unusedLocations , 6 )
448448 })
449449
450450 t .Run ("no identity" , func (t * testing.T ) {
@@ -454,7 +454,7 @@ func TestMasterKey_loadIdentities(t *testing.T) {
454454 got , unusedLocations , errs := (& MasterKey {}).loadIdentities ()
455455 assert .Len (t , errs , 0 )
456456 assert .Nil (t , got )
457- assert .Len (t , unusedLocations , 7 )
457+ assert .Len (t , unusedLocations , 8 )
458458 })
459459
460460 t .Run ("multiple identities" , func (t * testing.T ) {
@@ -477,7 +477,7 @@ func TestMasterKey_loadIdentities(t *testing.T) {
477477 got , unusedLocations , errs := (& MasterKey {}).loadIdentities ()
478478 assert .Len (t , errs , 0 )
479479 assert .Len (t , got , 2 )
480- assert .Len (t , unusedLocations , 5 )
480+ assert .Len (t , unusedLocations , 6 )
481481 })
482482
483483 t .Run ("parsing error" , func (t * testing.T ) {
@@ -493,7 +493,37 @@ func TestMasterKey_loadIdentities(t *testing.T) {
493493 assert .Error (t , errs [0 ])
494494 assert .ErrorContains (t , errs [0 ], fmt .Sprintf ("failed to parse '%s' age identities" , SopsAgeKeyEnv ))
495495 assert .Nil (t , got )
496- assert .Len (t , unusedLocations , 5 )
496+ assert .Len (t , unusedLocations , 6 )
497+ })
498+
499+ t .Run (SopsAgeSshPrivateKeyCmdEnv , func (t * testing.T ) {
500+ tmpDir := t .TempDir ()
501+ // Overwrite to ensure local config is not picked up by tests
502+ overwriteUserConfigDir (t , tmpDir )
503+
504+ t .Setenv (SopsAgeSshPrivateKeyCmdEnv , "echo '" + mockSshIdentity + "'" )
505+
506+ key := & MasterKey {}
507+ got , unusedLocations , errs := key .loadIdentities ()
508+ assert .Len (t , errs , 0 )
509+ assert .Len (t , got , 1 )
510+ assert .Len (t , unusedLocations , 6 )
511+ })
512+
513+ t .Run ("cmd error" , func (t * testing.T ) {
514+ tmpDir := t .TempDir ()
515+ // Overwrite to ensure local config is not picked up by tests
516+ overwriteUserConfigDir (t , tmpDir )
517+
518+ t .Setenv (SopsAgeSshPrivateKeyCmdEnv , "meow" )
519+
520+ key := & MasterKey {}
521+ got , unusedLocations , errs := key .loadIdentities ()
522+ assert .Len (t , errs , 1 )
523+ assert .Error (t , errs [0 ])
524+ assert .ErrorContains (t , errs [0 ], "failed to execute command meow" )
525+ assert .Nil (t , got )
526+ assert .Len (t , unusedLocations , 7 )
497527 })
498528
499529 t .Run (SopsAgeKeyCmdEnv , func (t * testing.T ) {
@@ -507,7 +537,7 @@ func TestMasterKey_loadIdentities(t *testing.T) {
507537 got , unusedLocations , errs := key .loadIdentities ()
508538 assert .Len (t , errs , 0 )
509539 assert .Len (t , got , 1 )
510- assert .Len (t , unusedLocations , 5 )
540+ assert .Len (t , unusedLocations , 6 )
511541 })
512542
513543 t .Run (SopsAgeRecipientEnv , func (t * testing.T ) {
@@ -521,13 +551,13 @@ func TestMasterKey_loadIdentities(t *testing.T) {
521551 got , unusedLocations , errs := key .loadIdentities ()
522552 assert .Len (t , errs , 0 )
523553 assert .Len (t , got , 1 )
524- assert .Len (t , unusedLocations , 5 )
554+ assert .Len (t , unusedLocations , 6 )
525555
526556 key = & MasterKey {Recipient : mockRecipient + "abc" }
527557 got , unusedLocations , errs = key .loadIdentities ()
528558 assert .Len (t , errs , 0 )
529559 assert .Len (t , got , 0 )
530- assert .Len (t , unusedLocations , 6 )
560+ assert .Len (t , unusedLocations , 7 )
531561 })
532562
533563 t .Run ("cmd error" , func (t * testing.T ) {
@@ -543,7 +573,7 @@ func TestMasterKey_loadIdentities(t *testing.T) {
543573 assert .Error (t , errs [0 ])
544574 assert .ErrorContains (t , errs [0 ], "failed to execute command meow" )
545575 assert .Nil (t , got )
546- assert .Len (t , unusedLocations , 6 )
576+ assert .Len (t , unusedLocations , 7 )
547577 })
548578}
549579
0 commit comments