55package db
66
77import (
8+ "context"
89 "testing"
910 "time"
1011)
@@ -28,9 +29,16 @@ func TestIsDirtyFlags(t *testing.T) {
2829 if err := UpdateAccountIsDirtyBun (bdb , a1 , false ); err != nil {
2930 t .Fatalf ("clear dirty a1 failed: %v" , err )
3031 }
32+ // Ensure fingerprint starts empty so subsequent operations deterministically mark dirty
33+ if _ , err := ExecRaw (context .Background (), bdb , "UPDATE accounts SET key_hash = NULL WHERE id = ?" , a1 ); err != nil {
34+ t .Fatalf ("clear key_hash a1 failed: %v" , err )
35+ }
3136 if err := UpdateAccountIsDirtyBun (bdb , a2 , false ); err != nil {
3237 t .Fatalf ("clear dirty a2 failed: %v" , err )
3338 }
39+ if _ , err := ExecRaw (context .Background (), bdb , "UPDATE accounts SET key_hash = NULL WHERE id = ?" , a2 ); err != nil {
40+ t .Fatalf ("clear key_hash a2 failed: %v" , err )
41+ }
3442
3543 // Add a public key (non-global) and assign to a1
3644 if err := AddPublicKeyBun (bdb , "ed25519" , "AAAAB3" , "k1" , false , time.Time {}); err != nil {
@@ -57,6 +65,9 @@ func TestIsDirtyFlags(t *testing.T) {
5765 if err := UpdateAccountIsDirtyBun (bdb , a1 , false ); err != nil {
5866 t .Fatalf ("clear dirty a1 failed: %v" , err )
5967 }
68+ if _ , err := ExecRaw (context .Background (), bdb , "UPDATE accounts SET key_hash = NULL WHERE id = ?" , a1 ); err != nil {
69+ t .Fatalf ("clear key_hash a1 failed: %v" , err )
70+ }
6071 if err := UnassignKeyFromAccountBun (bdb , pk .ID , a1 ); err != nil {
6172 t .Fatalf ("UnassignKeyFromAccountBun failed: %v" , err )
6273 }
@@ -72,6 +83,9 @@ func TestIsDirtyFlags(t *testing.T) {
7283 if err := UpdateAccountIsDirtyBun (bdb , a2 , false ); err != nil {
7384 t .Fatalf ("clear dirty a2 failed: %v" , err )
7485 }
86+ if _ , err := ExecRaw (context .Background (), bdb , "UPDATE accounts SET key_hash = NULL WHERE id = ?" , a2 ); err != nil {
87+ t .Fatalf ("clear key_hash a2 failed: %v" , err )
88+ }
7589 if err := AddPublicKeyBun (bdb , "ed25519" , "GGGG" , "gk" , true , time.Time {}); err != nil {
7690 t .Fatalf ("AddPublicKeyBun global failed: %v" , err )
7791 }
@@ -85,9 +99,15 @@ func TestIsDirtyFlags(t *testing.T) {
8599 if err := UpdateAccountIsDirtyBun (bdb , a1 , false ); err != nil {
86100 t .Fatalf ("clear dirty a1 failed: %v" , err )
87101 }
102+ if _ , err := ExecRaw (context .Background (), bdb , "UPDATE accounts SET key_hash = NULL WHERE id = ?" , a1 ); err != nil {
103+ t .Fatalf ("clear key_hash a1 failed: %v" , err )
104+ }
88105 if err := UpdateAccountIsDirtyBun (bdb , a2 , false ); err != nil {
89106 t .Fatalf ("clear dirty a2 failed: %v" , err )
90107 }
108+ if _ , err := ExecRaw (context .Background (), bdb , "UPDATE accounts SET key_hash = NULL WHERE id = ?" , a2 ); err != nil {
109+ t .Fatalf ("clear key_hash a2 failed: %v" , err )
110+ }
91111 // Create a non-global key then toggle it to global
92112 if err := AddPublicKeyBun (bdb , "ed25519" , "HHHH" , "tk" , false , time.Time {}); err != nil {
93113 t .Fatalf ("AddPublicKeyBun tk failed: %v" , err )
@@ -109,6 +129,9 @@ func TestIsDirtyFlags(t *testing.T) {
109129 if err := UpdateAccountIsDirtyBun (bdb , a1 , false ); err != nil {
110130 t .Fatalf ("clear dirty a1 failed: %v" , err )
111131 }
132+ if _ , err := ExecRaw (context .Background (), bdb , "UPDATE accounts SET key_hash = NULL WHERE id = ?" , a1 ); err != nil {
133+ t .Fatalf ("clear key_hash a1 failed: %v" , err )
134+ }
112135 if err := UpdateAccountIsDirtyBun (bdb , a2 , false ); err != nil {
113136 t .Fatalf ("clear dirty a2 failed: %v" , err )
114137 }
0 commit comments