mirror of
https://github.com/Voronsky/pterogo.git
synced 2025-12-12 16:46:34 -05:00
114 lines
2.6 KiB
Go
114 lines
2.6 KiB
Go
package pterogo
|
|
|
|
import (
|
|
"log"
|
|
"log/slog"
|
|
"os"
|
|
"testing"
|
|
|
|
"github.com/joho/godotenv"
|
|
)
|
|
|
|
func TestListServers(t *testing.T) {
|
|
|
|
logger := slog.New(slog.NewJSONHandler(os.Stdout, nil))
|
|
// Parse the env file
|
|
err := godotenv.Load()
|
|
if err != nil {
|
|
log.Fatalf(`No env file found`)
|
|
}
|
|
bearer_auth_token := os.Getenv("PTERO_API_KEY")
|
|
base_url := os.Getenv("BASE_URL")
|
|
|
|
// Test method
|
|
client := PterodactylClient{
|
|
Request: PteroRequestHeaders{bearer_auth_token, base_url},
|
|
}
|
|
|
|
s, err := client.ListServers()
|
|
if err != nil {
|
|
log.Fatalf(`ListServers() = %q, %v, want nil, error`, s, err)
|
|
}
|
|
logger.Info("Servers queried", "Servers", s)
|
|
}
|
|
|
|
func TestListServersBadUrl_neg(t *testing.T) {
|
|
logger := slog.New(slog.NewJSONHandler(os.Stdout, nil))
|
|
logger.Info("ListServersBadUrl negative test")
|
|
|
|
// Parse env file
|
|
err := godotenv.Load()
|
|
if err != nil {
|
|
log.Fatalf(`No env file found`)
|
|
}
|
|
|
|
bearer_auth_token := os.Getenv("PTERO_API_KEY")
|
|
|
|
// Test the bad route
|
|
client := PterodactylClient{
|
|
Request: PteroRequestHeaders{bearer_auth_token, "https://example.com"},
|
|
}
|
|
|
|
s, err := client.ListServers()
|
|
if s != nil {
|
|
log.Fatalf("Function returned a map, when it should have failed.")
|
|
}
|
|
if err == nil {
|
|
logger.Info("Received an error with server variable set to nil.")
|
|
}
|
|
logger.Info("ListServersBadUrl negative test complete")
|
|
|
|
}
|
|
|
|
func TestListServersBadAuth_neg(t *testing.T) {
|
|
logger := slog.New(slog.NewJSONHandler(os.Stdout, nil))
|
|
logger.Info("ListServersBadAuth negative test")
|
|
err := godotenv.Load()
|
|
if err != nil {
|
|
log.Fatalf(`No env file found`)
|
|
}
|
|
|
|
// Test with bad auth
|
|
bearer_auth_token := "example"
|
|
base_url := os.Getenv("BASE_URL")
|
|
|
|
client := PterodactylClient{
|
|
Request: PteroRequestHeaders{bearer_auth_token, base_url},
|
|
}
|
|
s, err := client.ListServers()
|
|
if s != nil {
|
|
log.Fatalf("Function returned a map, when it should have failed.")
|
|
}
|
|
logger.Info("Received an error with server variable set to nil.", "Error", err)
|
|
logger.Info("ListServersBadAuth negative test complete")
|
|
|
|
}
|
|
|
|
func TestServerDetails(t *testing.T) {
|
|
logger := slog.New(slog.NewJSONHandler(os.Stdout, nil))
|
|
logger.Info("TestServerDetails() begin")
|
|
|
|
// Parse env file
|
|
err := godotenv.Load()
|
|
bearer_auth_token := os.Getenv("PTERO_API_KEY")
|
|
base_url := os.Getenv("BASE_URL")
|
|
if err != nil {
|
|
log.Fatalf(`No env file found`)
|
|
}
|
|
|
|
client := PterodactylClient{
|
|
Request: PteroRequestHeaders{bearer_auth_token, base_url},
|
|
}
|
|
|
|
s, err := client.ServerDetails("102248be")
|
|
if err != nil {
|
|
log.Fatalf(`Error retrieving server details`)
|
|
}
|
|
|
|
// Get detail about the server passed
|
|
|
|
logger.Info("Server info received", "Server Info", s)
|
|
logger.Info("TestServerDetails() complete")
|
|
|
|
}
|