kubelatte-ce
Форк от sbertech/kubelatte-ce
83 строки · 2.8 Кб
1package initmanager2
3import (4"context"5"errors"6"github.com/stretchr/testify/mock"7"gitverse.ru/ktrntrsv/kubelatte-ce/pkg/api/v1alpha1"8"gitverse.ru/ktrntrsv/kubelatte-ce/pkg/observability/logger/lib"9"gitverse.ru/ktrntrsv/kubelatte-ce/pkg/operator/controllers/clientset/mocks"10"gitverse.ru/ktrntrsv/kubelatte-ce/pkg/operator/utils"11"gitverse.ru/ktrntrsv/kubelatte-ce/pkg/util/env"12"go.uber.org/zap"13"testing"14"time"15)
16
17func TestInitManager_Start(t *testing.T) {18lib.ZapLogger = zap.NewNop()19env.KbltMutator = true20defer func() { env.KbltMutator = false }()21
22t.Parallel()23t.Run("All_resources_got_test", func(t *testing.T) {24clMock := mocks.NewV1Alpha1Interface(t)25
26scopeMock := mocks.NewScopeInterface(t)27triggerMock := mocks.NewTriggerInterface(t)28templateMock := mocks.NewTemplateInterface(t)29
30clMock.On("Scope", mock.Anything).Return(scopeMock).Maybe()31clMock.On("Trigger", mock.Anything).Return(triggerMock).Maybe()32clMock.On("Template", mock.Anything).Return(templateMock).Maybe()33
34scopeMock.On("List", mock.Anything, mock.Anything).Return(&v1alpha1.ScopeList{Items: []v1alpha1.Scope{{}}}, nil).Maybe()35triggerMock.On("List", mock.Anything, mock.Anything).Return(&v1alpha1.TriggerList{Items: []v1alpha1.Trigger{{}}}, nil).Maybe()36templateMock.On("List", mock.Anything, mock.Anything).Return(&v1alpha1.TemplateList{Items: []v1alpha1.Template{{}}}, nil).Maybe()37
38utils.Cl = clMock39
40m := NewInitManager(nil)41if m.DoesTriggersExist() || m.DoesScopesExist() || m.DoesTemplatesExist() {42t.Fatal("Wrong manager initialization")43}44
45ctx, cancel := context.WithCancel(context.Background())46go func() {47time.Sleep(4 * time.Second)48cancel()49}()50
51m.Start(ctx)52})53
54t.Run("context_exit", func(t *testing.T) {55clMock := mocks.NewV1Alpha1Interface(t)56
57scopeMock := mocks.NewScopeInterface(t)58triggerMock := mocks.NewTriggerInterface(t)59templateMock := mocks.NewTemplateInterface(t)60
61clMock.On("Scope", mock.Anything).Return(scopeMock).Maybe()62clMock.On("Trigger", mock.Anything).Return(triggerMock).Maybe()63clMock.On("Template", mock.Anything).Return(templateMock).Maybe()64
65scopeMock.On("List", mock.Anything, mock.Anything).Return(&v1alpha1.ScopeList{Items: []v1alpha1.Scope{{}}}, errors.New("")).Maybe()66triggerMock.On("List", mock.Anything, mock.Anything).Return(&v1alpha1.TriggerList{Items: []v1alpha1.Trigger{{}}}, errors.New("")).Maybe()67templateMock.On("List", mock.Anything, mock.Anything).Return(&v1alpha1.TemplateList{Items: []v1alpha1.Template{{}}}, errors.New("")).Maybe()68
69utils.Cl = clMock70
71m := NewInitManager(nil)72if m.DoesTriggersExist() || m.DoesScopesExist() || m.DoesTemplatesExist() {73t.Fatal("Wrong manager initialization")74}75
76ctx, cancel := context.WithCancel(context.Background())77go func() {78time.Sleep(4 * time.Second)79cancel()80}()81m.Start(ctx)82})83}
84