omni/internal/backend/workloadproxy/reconciler_test.go
Artem Chernyshev 3e07a88a5d
Some checks are pending
default / default (push) Waiting to run
default / e2e-backups (push) Blocked by required conditions
default / e2e-forced-removal (push) Blocked by required conditions
default / e2e-scaling (push) Blocked by required conditions
default / e2e-short (push) Blocked by required conditions
default / e2e-short-secureboot (push) Blocked by required conditions
default / e2e-templates (push) Blocked by required conditions
default / e2e-upgrades (push) Blocked by required conditions
default / e2e-workload-proxy (push) Blocked by required conditions
fix: revert workload proxy LB refactoring
The new code has several instabilities that need to be addressed.

Fixes: https://github.com/siderolabs/omni/issues/1074

Signed-off-by: Artem Chernyshev <artem.chernyshev@talos-systems.com>
2025-04-10 21:46:10 +03:00

62 lines
1.2 KiB
Go

// Copyright (c) 2025 Sidero Labs, Inc.
//
// Use of this software is governed by the Business Source License
// included in the LICENSE file.
package workloadproxy_test
import (
"testing"
"github.com/stretchr/testify/require"
"go.uber.org/zap/zapcore"
"go.uber.org/zap/zaptest"
"github.com/siderolabs/omni/internal/backend/workloadproxy"
)
func TestReconciler(t *testing.T) {
t.Parallel()
reconciler := workloadproxy.NewReconciler(zaptest.NewLogger(t), zapcore.InfoLevel)
err := reconciler.Reconcile("cluster1", map[string][]string{
"alias1": {
"upstream1",
"upstream2",
},
"alias2": {
"upstream3",
"upstream4",
},
})
require.NoError(t, err)
proxy, id, err := reconciler.GetProxy("alias1")
require.NoError(t, err)
require.NotNil(t, proxy)
require.Equal(t, "cluster1", id)
proxy, id, err = reconciler.GetProxy("alias2")
require.NoError(t, err)
require.NotNil(t, proxy)
require.Equal(t, "cluster1", id)
err = reconciler.Reconcile("cluster2", nil)
require.NoError(t, err)
proxy, id, err = reconciler.GetProxy("alias1")
require.NoError(t, err)
require.NotNil(t, proxy)
require.Equal(t, "cluster1", id)
proxy, id, err = reconciler.GetProxy("alias3")
require.NoError(t, err)
require.Nil(t, proxy)
require.Zero(t, id)
}