@@ -792,21 +792,33 @@ func TestDeleteUserPreservesOtherUsersPreAuthKeys(t *testing.T) {
792792 _ , err = headscale .CreateAuthKey (user2 .GetId (), true , false )
793793 require .NoError (t , err )
794794
795- // Verify 3 keys exist
795+ // Count keys per user before deletion
796796 keysBefore , err := headscale .ListPreAuthKeys ()
797797 require .NoError (t , err )
798- assert .Len (t , keysBefore , 3 , "should have 3 keys before deletion" )
798+
799+ var user1KeysBefore , user2KeysBefore int
800+ for _ , k := range keysBefore {
801+ switch k .GetUser ().GetName () {
802+ case "user1" :
803+ user1KeysBefore ++
804+ case "user2" :
805+ user2KeysBefore ++
806+ }
807+ }
808+ t .Logf ("Before deletion: user1 has %d keys, user2 has %d keys" , user1KeysBefore , user2KeysBefore )
809+ require .Greater (t , user1KeysBefore , 0 , "user1 should have keys" )
810+ require .Greater (t , user2KeysBefore , 0 , "user2 should have keys" )
799811
800812 // Delete user2
801813 err = headscale .DeleteUser (user2 .GetId ())
802814 require .NoError (t , err )
803815
804- // Verify only user1's 2 keys remain
816+ // Verify only user1's keys remain — user2's keys should be gone
805817 keysAfter , err := headscale .ListPreAuthKeys ()
806818 require .NoError (t , err )
807- assert .Len (t , keysAfter , 2 ,
808- "expected 2 keys for user1 after deleting user2, but got %d — DestroyUser should only delete the target user's keys (issue #3154)" ,
809- len (keysAfter ))
819+ assert .Len (t , keysAfter , user1KeysBefore ,
820+ "expected %d keys for user1 after deleting user2, but got %d — DestroyUser should only delete the target user's keys (issue #3154)" ,
821+ user1KeysBefore , len (keysAfter ))
810822
811823 for _ , key := range keysAfter {
812824 assert .Equal (t , user1 .GetName (), key .GetUser ().GetName (),
0 commit comments