diff --git a/cmd/generate_changelog/incoming/1827.txt b/cmd/generate_changelog/incoming/1827.txt new file mode 100644 index 00000000..3b32505f --- /dev/null +++ b/cmd/generate_changelog/incoming/1827.txt @@ -0,0 +1,6 @@ +### PR [#1827](https://github.com/danielmiessler/Fabric/pull/1827) by [ksylvan](https://github.com/ksylvan): Make YouTube API key optional in setup + +- Make YouTube API key optional in setup process +- Change API key setup question to optional configuration +- Add test for optional API key behavior +- Ensure plugin configuration works without API key diff --git a/internal/tools/youtube/youtube.go b/internal/tools/youtube/youtube.go index 53dc47e4..9838ccfc 100644 --- a/internal/tools/youtube/youtube.go +++ b/internal/tools/youtube/youtube.go @@ -69,7 +69,7 @@ func NewYouTube() (ret *YouTube) { EnvNamePrefix: plugins.BuildEnvVariablePrefix(label), } - ret.ApiKey = ret.AddSetupQuestion("API key", true) + ret.ApiKey = ret.AddSetupQuestion("API key", false) return } diff --git a/internal/tools/youtube/youtube_optional_test.go b/internal/tools/youtube/youtube_optional_test.go new file mode 100644 index 00000000..3132b4cc --- /dev/null +++ b/internal/tools/youtube/youtube_optional_test.go @@ -0,0 +1,19 @@ +package youtube + +import "testing" + +func TestNewYouTubeApiKeyOptional(t *testing.T) { + yt := NewYouTube() + + if yt.ApiKey == nil { + t.Fatal("expected API key setup question to be initialized") + } + + if yt.ApiKey.Required { + t.Fatalf("expected YouTube API key to be optional, but it is marked as required") + } + + if !yt.IsConfigured() { + t.Fatalf("expected YouTube plugin to be considered configured without an API key") + } +}