Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion pkg/config/config.go
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ const (
type StaticConfig struct {
DeniedResources []GroupVersionKind `toml:"denied_resources"`

LogLevel int `toml:"log_level,omitempty"`
LogLevel int `toml:"log_level,omitzero"`
Port string `toml:"port,omitempty"`
SSEBaseURL string `toml:"sse_base_url,omitempty"`
KubeConfig string `toml:"kubeconfig,omitempty"`
Expand Down
12 changes: 12 additions & 0 deletions pkg/config/config_default.go
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,18 @@ func Default() *StaticConfig {
return &mergedConfig
}

// HasDefaultOverrides indicates whether the internal defaultOverrides function
// provides any overrides or an empty StaticConfig.
func HasDefaultOverrides() bool {
overrides := defaultOverrides()
var buf bytes.Buffer
if err := toml.NewEncoder(&buf).Encode(overrides); err != nil {
// If marshaling fails, assume no overrides
return false
}
return len(bytes.TrimSpace(buf.Bytes())) > 0
}

// mergeConfig applies non-zero values from override to base using TOML serialization
// and returns the merged StaticConfig.
// In case of any error during marshalling or unmarshalling, it returns the base config unchanged.
Expand Down
12 changes: 12 additions & 0 deletions pkg/mcp/toolsets_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -65,6 +65,9 @@ func (s *ToolsetsSuite) TestNoToolsets() {
}

func (s *ToolsetsSuite) TestDefaultToolsetsTools() {
if configuration.HasDefaultOverrides() {
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I guess this is a good hook, for downstream.

s.T().Skip("Skipping test because default configuration overrides are present (this is a downstream fork)")
}
s.Run("Default configuration toolsets", func() {
s.InitMcpClient()
tools, err := s.ListTools(s.T().Context(), mcp.ListToolsRequest{})
Expand All @@ -82,6 +85,9 @@ func (s *ToolsetsSuite) TestDefaultToolsetsTools() {
}

func (s *ToolsetsSuite) TestDefaultToolsetsToolsInOpenShift() {
if configuration.HasDefaultOverrides() {
s.T().Skip("Skipping test because default configuration overrides are present (this is a downstream fork)")
}
s.Run("Default configuration toolsets in OpenShift", func() {
s.Handle(&test.InOpenShiftHandler{})
s.InitMcpClient()
Expand All @@ -100,6 +106,9 @@ func (s *ToolsetsSuite) TestDefaultToolsetsToolsInOpenShift() {
}

func (s *ToolsetsSuite) TestDefaultToolsetsToolsInMultiCluster() {
if configuration.HasDefaultOverrides() {
s.T().Skip("Skipping test because default configuration overrides are present (this is a downstream fork)")
}
s.Run("Default configuration toolsets in multi-cluster (with 11 clusters)", func() {
kubeconfig := s.Kubeconfig()
for i := 0; i < 10; i++ {
Expand All @@ -123,6 +132,9 @@ func (s *ToolsetsSuite) TestDefaultToolsetsToolsInMultiCluster() {
}

func (s *ToolsetsSuite) TestDefaultToolsetsToolsInMultiClusterEnum() {
if configuration.HasDefaultOverrides() {
s.T().Skip("Skipping test because default configuration overrides are present (this is a downstream fork)")
}
s.Run("Default configuration toolsets in multi-cluster (with 2 clusters)", func() {
kubeconfig := s.Kubeconfig()
// Add additional cluster to force multi-cluster behavior with enum parameter
Expand Down
Loading