2022-12-08 13:05:19 -03:00

52 lines
1.6 KiB
Go

// Copyright (c) 2022 Gitpod GmbH. All rights reserved.
/// Licensed under the GNU Affero General Public License (AGPL).
// See License.AGPL.txt in the project root for license information.
package toxiproxy
import (
"testing"
"github.com/gitpod-io/gitpod/installer/pkg/common"
"github.com/gitpod-io/gitpod/installer/pkg/config/v1"
"github.com/gitpod-io/gitpod/installer/pkg/config/v1/experimental"
"github.com/gitpod-io/gitpod/installer/pkg/config/versions"
"github.com/stretchr/testify/require"
)
func TestObjects_NotRenderedByDefault(t *testing.T) {
ctx, err := common.NewRenderContext(config.Config{}, versions.Manifest{}, "test-namespace")
require.NoError(t, err)
objects, err := Objects(ctx)
require.NoError(t, err)
require.Empty(t, objects, "no objects should be rendered with default config")
}
func TestObjects_RenderedWhenExperimentalConfigSet(t *testing.T) {
ctx := renderContextWithSlowDatabaseEnabled(t)
objects, err := Objects(ctx)
require.NoError(t, err)
require.NotEmpty(t, objects, "must render objects because experimental config is specified")
require.Len(t, objects, 4, "should render expected k8s objects")
}
func renderContextWithSlowDatabaseEnabled(t *testing.T) *common.RenderContext {
t.Helper()
ctx, err := common.NewRenderContext(config.Config{
Experimental: &experimental.Config{
WebApp: &experimental.WebAppConfig{
SlowDatabase: true,
},
},
}, versions.Manifest{
Version: "test",
Components: versions.Components{ToxicConfig: versions.Versioned{Version: "test"}},
}, "test-namespace")
require.NoError(t, err)
return ctx
}