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

80 lines
1.8 KiB
Go

package main
import (
"fmt"
"log"
"os"
"git.vsu.ru/ai/cgpcli"
)
func main() {
// 1. Определяем сервер (local по умолчанию)
mode := "local"
if len(os.Args) > 1 {
mode = os.Args[1]
}
suffix := ""
defaultAccount := "testuser1@test.domain.name"
if mode == "ro" {
suffix = "_RO"
defaultAccount = "testadmin@domain.name"
fmt.Println(">>> MODE: READ-ONLY (PRODUCTION) <<<")
} else {
fmt.Println(">>> MODE: LOCAL TEST <<<")
}
// 2. Определяем целевой аккаунт
target := defaultAccount
if len(os.Args) > 2 {
target = os.Args[2]
}
// 3. Загружаем переменные
host := os.Getenv("CGPHOST" + suffix)
user := os.Getenv("CGPUSER" + suffix)
pass := os.Getenv("CGPPASS" + suffix)
if host == "" || user == "" || pass == "" {
log.Fatalf("Error: env vars for %s are not set", "CGP..."+suffix)
}
// 4. Подключаемся
cli, err := cgpcli.New(host, user, pass, cgpcli.APOP, false)
if err != nil {
log.Fatalf("Failed to connect to %s: %v", host, err)
}
defer cli.Close()
fmt.Printf("--- Inspecting: %s ---\n", target)
// Читаем настройки (Settings)
fmt.Println("\n[Account Settings]")
settings, err := cli.GetAccountSettings(target)
if err != nil {
log.Printf("Settings error: %v", err)
} else {
cgpcli.PrettyPrint(settings)
}
// Читаем настройки (Effective Settings)
fmt.Println("\n[Account Effective Settings]")
settings, err = cli.GetAccountSettings(target)
if err != nil {
log.Printf("Settings error: %v", err)
} else {
cgpcli.PrettyPrint(settings)
}
// Читаем состояние (Info)
fmt.Println("\n[Account Info]")
info, err := cli.GetAccountInfo(target, nil)
if err != nil {
log.Printf("Info error: %v", err)
} else {
cgpcli.PrettyPrint(info)
}
}