From 1af8c0eb9b77c3d070c4ddef858fa0a181d1cec6 Mon Sep 17 00:00:00 2001 From: Voronsky Date: Sat, 8 Jun 2024 00:15:32 -0400 Subject: [PATCH] Added unit test for ChangePowerState --- pterogo_test.go | 32 +++++++++++++++++++++++++++++++- 1 file changed, 31 insertions(+), 1 deletion(-) diff --git a/pterogo_test.go b/pterogo_test.go index 07011a6..36cefb1 100644 --- a/pterogo_test.go +++ b/pterogo_test.go @@ -102,7 +102,11 @@ func TestServerDetails(t *testing.T) { s, err := client.ServerDetails("102248be") if err != nil { - log.Fatalf(`Error retrieving server details`) + log.Fatalf(`Error retrieving server details, wanted non-nil error`) + } + + if s.Name == "" && s.Description == "" { + log.Fatalf(`Pterodactly Response returned an empty response, wanted server name and desc`) } // Get detail about the server passed @@ -111,3 +115,29 @@ func TestServerDetails(t *testing.T) { logger.Info("TestServerDetails() complete") } + +func TestChangePowerState(t *testing.T) { + logger := slog.New(slog.NewJSONHandler(os.Stdout, nil)) + logger.Info("TestChangePowerState() 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}, + } + + success, err := client.ChangePowerState("102248be", "restart") + if err != nil { + log.Fatalf("Error trying to change power state") + } + + logger.Info("Change State succeeded", "SuccessCode", success) + logger.Info("TestChangePowerState() complete") +}