Skip to content

Commit c2f8346

Browse files
committed
Add tests for alternative Mise backends
1 parent 3f4bd63 commit c2f8346

File tree

1 file changed

+57
-0
lines changed

1 file changed

+57
-0
lines changed
Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
package mise
2+
3+
import (
4+
"testing"
5+
6+
"github.com/bitrise-io/bitrise/v2/toolprovider/provider"
7+
"github.com/bitrise-io/bitrise/v2/toolprovider/mise"
8+
"github.com/stretchr/testify/require"
9+
)
10+
11+
func TestMiseInstallFromAlternateBackends(t *testing.T) {
12+
tests := []struct {
13+
name string
14+
toolName provider.ToolID
15+
strategy provider.ResolutionStrategy
16+
requestedVersion string
17+
expectedVersion string
18+
}{
19+
{
20+
name: "golangci-lint from ubi",
21+
strategy: provider.ResolutionStrategyStrict,
22+
toolName: "ubi:golangci/golangci-lint",
23+
requestedVersion: "2.2.2",
24+
expectedVersion: "2.2.2",
25+
},
26+
{
27+
name: "hadolint from aqua",
28+
strategy: provider.ResolutionStrategyLatestReleased,
29+
toolName: "aqua:hadolint/hadolint",
30+
requestedVersion: "2.11",
31+
expectedVersion: "2.11.0",
32+
},
33+
}
34+
35+
for _, tt := range tests {
36+
miseInstallDir := t.TempDir()
37+
miseDataDir := t.TempDir()
38+
miseProvider, err := mise.NewToolProvider(miseInstallDir, miseDataDir)
39+
require.NoError(t, err)
40+
41+
err = miseProvider.Bootstrap()
42+
require.NoError(t, err)
43+
44+
t.Run(tt.name, func(t *testing.T) {
45+
request := provider.ToolRequest{
46+
ToolName: tt.toolName,
47+
UnparsedVersion: tt.requestedVersion,
48+
ResolutionStrategy: tt.strategy,
49+
}
50+
result, err := miseProvider.InstallTool(request)
51+
require.NoError(t, err)
52+
require.Equal(t, tt.toolName, result.ToolName)
53+
require.Equal(t, tt.expectedVersion, result.ConcreteVersion)
54+
require.False(t, result.IsAlreadyInstalled)
55+
})
56+
}
57+
}

0 commit comments

Comments
 (0)