Files
cgpcli/cmd/test_utf8/main.go
2026-02-19 18:09:03 +03:00

59 lines
1.4 KiB
Go

package main
import (
"fmt"
"log"
"os"
"git.vsu.ru/ai/cgpcli"
)
func main() {
// 1. Настройка окружения
cgpuser := os.Getenv("CGPUSER")
cgppass := os.Getenv("CGPPASS")
if cgpuser == "" || cgppass == "" {
log.Fatal("Error: please set CGPUSER and CGPPASS environment variables")
}
// 2. Инициализация клиента
cli, err := cgpcli.New("127.0.0.1", cgpuser, cgppass, cgpcli.APOP, false)
if err != nil {
log.Fatalf("Failed to connect: %v", err)
}
defer cli.Close()
targetAccount := "testuser1@test.domain.name"
russianName := "Иван Иванов"
fmt.Printf("Updating RealName for %s to: %s\n", targetAccount, russianName)
// 1. Устанавливаем русское имя
err = cli.UpdateAccountSettings(targetAccount, map[string]any{
"RealName": russianName,
})
if err != nil {
log.Fatalf("Failed to update settings: %v", err)
}
fmt.Println("Update successful.")
// 2. Читаем обратно
settings, err := cli.GetAccountSettings(targetAccount)
if err != nil {
log.Fatalf("Failed to get settings: %v", err)
}
if val, ok := settings["RealName"]; ok {
fmt.Printf("Read from CGP RealName: %v (Type: %T)\n", val, val)
if val == russianName {
fmt.Println("MATCH: UTF-8 integrity preserved by the library!")
} else {
fmt.Printf("MISMATCH! Expected %s, got %v\n", russianName, val)
}
} else {
fmt.Println("RealName not found in settings.")
}
}