Also encrypt additional passwords in memory

This commit is contained in:
ycc
2026-02-02 18:28:24 +01:00
parent 7cf212fc76
commit 63a916d18a
2 changed files with 116 additions and 2 deletions

View File

@@ -21,3 +21,61 @@ func TestConfigLoad(t *testing.T) {
_ = GetConfig().Load("test.cfg")
println(GetConfig().Chunksize)
}
func TestAdditionalPasswords(t *testing.T) {
c := GetConfig()
c.ClearAdditionalPasswords()
// Test adding passwords
c.AddAdditionalPassword("password1")
c.AddAdditionalPassword("password2")
c.AddAdditionalPassword("password3")
// Test getting all passwords
passwords, err := c.GetAdditionalPasswords()
if err != nil {
t.Fatalf("Failed to get passwords: %v", err)
}
if len(passwords) != 3 {
t.Fatalf("Expected 3 passwords, got %d", len(passwords))
}
if passwords[0] != "password1" || passwords[1] != "password2" || passwords[2] != "password3" {
t.Fatalf("Password values don't match expected")
}
// Test getting password at index
pass, err := c.GetAdditionalPasswordAt(1)
if err != nil {
t.Fatalf("Failed to get password at index 1: %v", err)
}
if pass != "password2" {
t.Fatalf("Expected 'password2', got '%s'", pass)
}
// Test removing password at index
err = c.RemoveAdditionalPasswordAt(1)
if err != nil {
t.Fatalf("Failed to remove password: %v", err)
}
passwords, err = c.GetAdditionalPasswords()
if err != nil {
t.Fatalf("Failed to get passwords after removal: %v", err)
}
if len(passwords) != 2 {
t.Fatalf("Expected 2 passwords after removal, got %d", len(passwords))
}
if passwords[0] != "password1" || passwords[1] != "password3" {
t.Fatalf("Password values don't match expected after removal")
}
// Test clearing all passwords
c.ClearAdditionalPasswords()
passwords, err = c.GetAdditionalPasswords()
if err != nil {
t.Fatalf("Failed to get passwords after clear: %v", err)
}
if len(passwords) != 0 {
t.Fatalf("Expected 0 passwords after clear, got %d", len(passwords))
}
}