Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
gitpod-io
GitHub Repository: gitpod-io/gitpod
Path: blob/main/components/ide-service/pkg/ocitool/resolve_test.go
2506 views
1
// Copyright (c) 2022 Gitpod GmbH. All rights reserved.
2
// Licensed under the GNU Affero General Public License (AGPL).
3
// See License.AGPL.txt in the project root for license information.
4
5
package oci_tool
6
7
import (
8
"context"
9
"testing"
10
11
"github.com/containerd/containerd/remotes/docker"
12
)
13
14
func TestResolveIDEVersion(t *testing.T) {
15
type args struct {
16
ref string
17
}
18
tests := []struct {
19
name string
20
args args
21
want string
22
wantErr bool
23
}{
24
{
25
name: "happy path",
26
args: args{
27
ref: "eu.gcr.io/gitpod-core-dev/build/ide/goland:latest@sha256:06bf4d6fb7a55427f5e83e46ed9a2561930981ec044cf914276c0a92b45f5d30",
28
},
29
want: "2022.3",
30
wantErr: false,
31
},
32
{
33
name: "image for vscode desktop version not found",
34
args: args{
35
ref: "eu.gcr.io/gitpod-core-dev/build/ide/code-desktop:commit-00c77a9d85e85f210b0e564119f7e9889d75317e",
36
},
37
want: "",
38
wantErr: false,
39
},
40
}
41
for _, tt := range tests {
42
t.Run(tt.name, func(t *testing.T) {
43
44
got, err := ResolveIDEVersion(context.TODO(), docker.NewResolver(docker.ResolverOptions{}), tt.args.ref)
45
if (err != nil) != tt.wantErr {
46
t.Errorf("ResolveIDEVersion() error = %v, wantErr %v", err, tt.wantErr)
47
return
48
}
49
if got != tt.want {
50
t.Errorf("ResolveIDEVersion() = %v, want %v", got, tt.want)
51
}
52
})
53
}
54
}
55
56