Files
zeekayandHanzo Dev 1ab6e799c1 cd: the module is github.com/hanzoai/cd, where it is actually hosted
go.mod still declared `module github.com/hanzoai/deploy` after the repo was
renamed. A Go module path is not cosmetic — it is the resolvable location. So
`go get github.com/hanzoai/cd` could not work, and anything importing this
module had to spell a name that no longer exists at that address. The build log
of v3.6.0 is where it surfaced: the compiler was still emitting
github.com/hanzoai/deploy/cmd/cd/commands.

3541 import paths across 690 .go, 19 .proto, 4 .yaml, 3 .sh, 2 .mod, Procfile
and Makefile. Plus the 62 ghcr.io/hanzoai/deploy image references, moved to
ghcr.io/hanzoai/cd to match hanzo.yml's build target — a distinct string from
the module path, replaced separately so neither could clobber the other.

go mod tidy clean, CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build ./... clean.

Co-authored-by: Hanzo Dev <[email protected]>
2026-07-28 21:16:24 -07:00

82 lines
2.4 KiB
Go

package cache
import (
"testing"
"time"
"github.com/stretchr/testify/assert"
"k8s.io/client-go/rest"
"github.com/hanzoai/cd/gitops-engine/pkg/utils/kube/kubetest"
)
func TestSetSettings(t *testing.T) {
t.Parallel()
cache := NewClusterCache(&rest.Config{}, SetKubectl(&kubetest.MockKubectlCmd{}))
updatedHealth := &noopSettings{}
updatedFilter := &noopSettings{}
cache.Invalidate(SetSettings(Settings{ResourceHealthOverride: updatedHealth, ResourcesFilter: updatedFilter}))
assert.Equal(t, updatedFilter, cache.settings.ResourcesFilter)
assert.Equal(t, updatedHealth, cache.settings.ResourceHealthOverride)
}
func TestSetConfig(t *testing.T) {
t.Parallel()
cache := NewClusterCache(&rest.Config{}, SetKubectl(&kubetest.MockKubectlCmd{}))
updatedConfig := &rest.Config{Host: "http://newhost"}
cache.Invalidate(SetConfig(updatedConfig))
assert.Equal(t, updatedConfig, cache.config)
}
func TestSetNamespaces(t *testing.T) {
t.Parallel()
cache := NewClusterCache(&rest.Config{}, SetKubectl(&kubetest.MockKubectlCmd{}), SetNamespaces([]string{"default"}))
updatedNamespaces := []string{"updated"}
cache.Invalidate(SetNamespaces(updatedNamespaces))
assert.ElementsMatch(t, updatedNamespaces, cache.namespaces)
}
func TestSetResyncTimeout(t *testing.T) {
t.Parallel()
cache := NewClusterCache(&rest.Config{})
assert.Equal(t, defaultClusterResyncTimeout, cache.syncStatus.resyncTimeout)
timeout := 1 * time.Hour
cache.Invalidate(SetResyncTimeout(timeout))
assert.Equal(t, timeout, cache.syncStatus.resyncTimeout)
}
func TestSetWatchResyncTimeout(t *testing.T) {
t.Parallel()
cache := NewClusterCache(&rest.Config{})
assert.Equal(t, defaultWatchResyncTimeout, cache.watchResyncTimeout)
timeout := 30 * time.Minute
cache = NewClusterCache(&rest.Config{}, SetWatchResyncTimeout(timeout))
assert.Equal(t, timeout, cache.watchResyncTimeout)
}
func TestSetBatchEventsProcessing(t *testing.T) {
t.Parallel()
cache := NewClusterCache(&rest.Config{})
assert.False(t, cache.batchEventsProcessing)
cache.Invalidate(SetBatchEventsProcessing(true))
assert.True(t, cache.batchEventsProcessing)
}
func TestSetEventsProcessingInterval(t *testing.T) {
t.Parallel()
cache := NewClusterCache(&rest.Config{})
assert.Equal(t, defaultEventProcessingInterval, cache.eventProcessingInterval)
interval := 1 * time.Second
cache.Invalidate(SetEventProcessingInterval(interval))
assert.Equal(t, interval, cache.eventProcessingInterval)
}