Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
gitpod-io
GitHub Repository: gitpod-io/gitpod
Path: blob/main/install/installer/pkg/components/database/init/render_test.go
2504 views
1
// Copyright (c) 2021 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 init
6
7
import (
8
"testing"
9
10
"github.com/stretchr/testify/require"
11
"k8s.io/utils/pointer"
12
13
"github.com/gitpod-io/gitpod/installer/pkg/common"
14
config "github.com/gitpod-io/gitpod/installer/pkg/config/v1"
15
"github.com/gitpod-io/gitpod/installer/pkg/config/v1/experimental"
16
"github.com/gitpod-io/gitpod/installer/pkg/config/versions"
17
)
18
19
func TestJob_IsNotRenderedWhenDisableMigrationIsTrue(t *testing.T) {
20
ctx := renderContextWithDisableMigration(t, true)
21
22
objects, err := job(ctx)
23
require.NoError(t, err)
24
25
require.Len(t, objects, 0, "must not render any objects")
26
}
27
28
func TestJob_IsRenderedWhenDisableMigrationIsFalse(t *testing.T) {
29
ctx := renderContextWithDisableMigration(t, false)
30
31
objects, err := job(ctx)
32
require.NoError(t, err)
33
34
require.Len(t, objects, 1, "must render one object")
35
}
36
37
func TestConfigmap_IsNotRenderedWhenDisableMigrationIsTrue(t *testing.T) {
38
ctx := renderContextWithDisableMigration(t, true)
39
40
objects, err := configmap(ctx)
41
require.NoError(t, err)
42
43
require.Len(t, objects, 0, "must not render any objects")
44
}
45
46
func TestConfigmap_IsRenderedWhenDisableMigrationIsFalse(t *testing.T) {
47
ctx := renderContextWithDisableMigration(t, false)
48
49
objects, err := configmap(ctx)
50
require.NoError(t, err)
51
52
require.Len(t, objects, 1, "must render one object")
53
}
54
55
func renderContextWithDisableMigration(t *testing.T, disableMigration bool) *common.RenderContext {
56
ctx, err := common.NewRenderContext(config.Config{
57
Database: config.Database{
58
InCluster: pointer.Bool(true),
59
},
60
Experimental: &experimental.Config{
61
WebApp: &experimental.WebAppConfig{
62
DisableMigration: disableMigration,
63
},
64
},
65
}, versions.Manifest{
66
Components: versions.Components{
67
ServiceWaiter: versions.Versioned{
68
Version: "arbitary",
69
},
70
},
71
}, "test-namespace")
72
require.NoError(t, err)
73
74
return ctx
75
}
76
77