Files
meowlib/client/config_test.go

82 lines
2.0 KiB
Go

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))
}
}