package client import ( "testing" ) func TestConfigSave(t *testing.T) { c := GetConfig() err := c.SetMemPass("hideme") if err != nil { t.Fatalf("Failed to set password: %v", err) } c.IdentityFile = "test.id" c.Chunksize = 10000000 c.SavePassword = true c.SavedPassword = "stupid" c.Save("test.cfg") } 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)) } }