Skip to content

Commit ce11b90

Browse files
committed
inventory: enforce deterministic default+custom toolset ordering (#2104)
1 parent bf64678 commit ce11b90

1 file changed

Lines changed: 21 additions & 0 deletions

File tree

pkg/inventory/registry_test.go

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -180,6 +180,27 @@ func TestWithToolsets(t *testing.T) {
180180
}
181181
}
182182

183+
func TestWithToolsets_DefaultAndCustomOrderIsDeterministic(t *testing.T) {
184+
tools := []ServerTool{
185+
mockToolWithDefault("tool-alpha", "alpha", true, true),
186+
mockToolWithDefault("tool-beta", "beta", true, true),
187+
mockToolWithDefault("tool-gamma", "gamma", true, false),
188+
}
189+
190+
reg := mustBuild(t, NewBuilder().
191+
SetTools(tools).
192+
WithToolsets([]string{"gamma", "default", "gamma"}))
193+
194+
enabledIDs := reg.EnabledToolsetIDs()
195+
require.Equal(t, []ToolsetID{"alpha", "beta", "gamma"}, enabledIDs)
196+
197+
available := reg.AvailableTools(context.Background())
198+
require.Len(t, available, 3)
199+
require.Equal(t, "tool-alpha", available[0].Tool.Name)
200+
require.Equal(t, "tool-beta", available[1].Tool.Name)
201+
require.Equal(t, "tool-gamma", available[2].Tool.Name)
202+
}
203+
183204
func TestWithToolsetsTrimsWhitespace(t *testing.T) {
184205
tools := []ServerTool{
185206
mockTool("tool1", "toolset1", true),

0 commit comments

Comments
 (0)