package main import ( "strings" "testing" ) func TestValidateJWT(t *testing.T) { // Case 1: Strong Secret err := ValidateJWT("12345678901234567890123456789012", "production") if err != nil { t.Errorf("Expected nil error for strong secret, got %v", err) } // Case 2: Weak Secret (Development) err = ValidateJWT("weak", "development") if err == nil { t.Error("Expected warning error for weak secret") } else if strings.HasPrefix(err.Error(), "FATAL") { t.Error("Did not expect FATAL error for weak secret in dev") } // Case 3: Weak Secret (Production) err = ValidateJWT("weak", "production") if err == nil { t.Error("Expected error for weak secret") } else if !strings.HasPrefix(err.Error(), "FATAL") { t.Error("Expected FATAL error for weak secret in production") } } func TestConfigureSwagger(t *testing.T) { // Case 1: HTTPS host, schemes := ConfigureSwagger("https://api.example.com") if host != "api.example.com" { t.Errorf("Expected api.example.com, got %s", host) } if len(schemes) != 1 || schemes[0] != "https" { t.Errorf("Expected [https], got %v", schemes) } // Case 2: HTTP host, schemes = ConfigureSwagger("http://localhost:8080") if host != "localhost:8080" { t.Errorf("Expected localhost:8080, got %s", host) } if len(schemes) != 1 || schemes[0] != "http" { t.Errorf("Expected [http], got %v", schemes) } // Case 3: No Scheme host, schemes = ConfigureSwagger("api.example.com") if host != "api.example.com" { t.Errorf("Expected api.example.com, got %s", host) } if len(schemes) != 2 { t.Errorf("Expected default schemes, got %v", schemes) } }