github.com/kyma-incubator/compass/components/director@v0.0.0-20230623144113-d764f56ff805/internal/domain/runtime/rtmtest/selfreg_manager.go (about) 1 package rtmtest 2 3 import ( 4 "errors" 5 6 "github.com/kyma-incubator/compass/components/director/pkg/resource" 7 8 "github.com/kyma-incubator/compass/components/director/internal/domain/runtime/automock" 9 "github.com/stretchr/testify/mock" 10 ) 11 12 const ( 13 // TestDistinguishLabel is a test distinguishing label key 14 TestDistinguishLabel = "test-distinguish-label" 15 // SelfRegErrorMsg is a test error message 16 SelfRegErrorMsg = "error during self-reg prep" 17 ) 18 19 // TestError is a testing error 20 var TestError = errors.New("test-error") 21 22 // NoopSelfRegManager missing godoc 23 func NoopSelfRegManager() *automock.SelfRegisterManager { 24 return &automock.SelfRegisterManager{} 25 } 26 27 // SelfRegManagerThatDoesPrepWithNoErrors missing godoc 28 func SelfRegManagerThatDoesPrepWithNoErrors(res map[string]interface{}) func() *automock.SelfRegisterManager { 29 return func() *automock.SelfRegisterManager { 30 srm := &automock.SelfRegisterManager{} 31 srm.On("PrepareForSelfRegistration", mock.Anything, resource.Runtime, mock.Anything, mock.AnythingOfType("string"), mock.Anything).Return(res, nil).Once() 32 return srm 33 } 34 } 35 36 // SelfRegManagerThatDoesPrepWithNoErrorsAndGetSelfRegDistinguishingLabelKey missing godoc 37 func SelfRegManagerThatDoesPrepWithNoErrorsAndGetSelfRegDistinguishingLabelKey(res map[string]interface{}) func() *automock.SelfRegisterManager { 38 return func() *automock.SelfRegisterManager { 39 srm := &automock.SelfRegisterManager{} 40 srm.On("PrepareForSelfRegistration", mock.Anything, resource.Runtime, mock.Anything, mock.AnythingOfType("string"), mock.Anything).Return(res, nil).Once() 41 srm.On("GetSelfRegDistinguishingLabelKey").Return(TestDistinguishLabel, nil).Once() 42 return srm 43 } 44 } 45 46 // SelfRegManagerThatReturnsErrorOnPrep missing godoc 47 func SelfRegManagerThatReturnsErrorOnPrep() *automock.SelfRegisterManager { 48 srm := &automock.SelfRegisterManager{} 49 labels := make(map[string]interface{}) 50 srm.On("PrepareForSelfRegistration", mock.Anything, resource.Runtime, mock.Anything, mock.AnythingOfType("string"), mock.Anything).Return(labels, errors.New(SelfRegErrorMsg)).Once() 51 return srm 52 } 53 54 // SelfRegManagerThatReturnsErrorOnPrepAndGetSelfRegDistinguishingLabelKey missing godoc 55 func SelfRegManagerThatReturnsErrorOnPrepAndGetSelfRegDistinguishingLabelKey() *automock.SelfRegisterManager { 56 srm := &automock.SelfRegisterManager{} 57 labels := make(map[string]interface{}) 58 srm.On("PrepareForSelfRegistration", mock.Anything, resource.Runtime, mock.Anything, mock.AnythingOfType("string"), mock.Anything).Return(labels, errors.New(SelfRegErrorMsg)).Once() 59 srm.On("GetSelfRegDistinguishingLabelKey").Return(TestDistinguishLabel, nil).Once() 60 return srm 61 } 62 63 // SelfRegManagerThatDoesCleanupWithNoErrors missing godoc 64 func SelfRegManagerThatDoesCleanupWithNoErrors() *automock.SelfRegisterManager { 65 srm := &automock.SelfRegisterManager{} 66 srm.On("GetSelfRegDistinguishingLabelKey").Return(TestDistinguishLabel).Once() 67 srm.On("CleanupSelfRegistration", mock.Anything, mock.AnythingOfType("string"), mock.AnythingOfType("string")).Return(nil).Once() 68 return srm 69 } 70 71 // SelfRegManagerThatDoesNotCleanup missing godoc 72 func SelfRegManagerThatDoesNotCleanup() *automock.SelfRegisterManager { 73 srm := &automock.SelfRegisterManager{} 74 srm.On("GetSelfRegDistinguishingLabelKey").Return(TestDistinguishLabel).Once() 75 return srm 76 } 77 78 // SelfRegManagerThatReturnsErrorOnCleanup missing godoc 79 func SelfRegManagerThatReturnsErrorOnCleanup() *automock.SelfRegisterManager { 80 srm := &automock.SelfRegisterManager{} 81 srm.On("GetSelfRegDistinguishingLabelKey").Return(TestDistinguishLabel).Once() 82 srm.On("CleanupSelfRegistration", mock.Anything, mock.AnythingOfType("string"), mock.AnythingOfType("string")).Return(errors.New(SelfRegErrorMsg)).Once() 83 return srm 84 } 85 86 // SelfRegManagerReturnsDistinguishingLabel missing godoc 87 func SelfRegManagerReturnsDistinguishingLabel() *automock.SelfRegisterManager { 88 srm := &automock.SelfRegisterManager{} 89 srm.On("GetSelfRegDistinguishingLabelKey").Return(TestDistinguishLabel).Once() 90 return srm 91 } 92 93 // SelfRegManagerThatReturnsNoErrors missing godoc 94 func SelfRegManagerThatReturnsNoErrors(res map[string]interface{}) func() *automock.SelfRegisterManager { 95 return func() *automock.SelfRegisterManager { 96 srm := SelfRegManagerThatDoesPrepWithNoErrors(res)() 97 srm.On("GetSelfRegDistinguishingLabelKey").Return(TestDistinguishLabel).Times(2) 98 srm.On("CleanupSelfRegistration", mock.Anything, mock.AnythingOfType("string"), mock.AnythingOfType("string")).Return(nil).Once() 99 return srm 100 } 101 } 102 103 // SelfRegManagerThatDoesNotCleanupFunc missing godoc 104 func SelfRegManagerThatDoesNotCleanupFunc(res map[string]interface{}) func() *automock.SelfRegisterManager { 105 return func() *automock.SelfRegisterManager { 106 srm := SelfRegManagerThatDoesPrepWithNoErrors(res)() 107 srm.On("GetSelfRegDistinguishingLabelKey").Return(TestDistinguishLabel).Once() 108 srm.On("GetSelfRegDistinguishingLabelKey").Return(TestDistinguishLabel, nil).Once() 109 return srm 110 } 111 } 112 113 // SelfRegManagerThatFailsOnCleanup missing godoc 114 func SelfRegManagerThatFailsOnCleanup(res map[string]interface{}) func() *automock.SelfRegisterManager { 115 return func() *automock.SelfRegisterManager { 116 srm := SelfRegManagerThatDoesPrepWithNoErrors(res)() 117 srm.On("GetSelfRegDistinguishingLabelKey").Return(TestDistinguishLabel).Times(2) 118 srm.On("CleanupSelfRegistration", mock.Anything, mock.AnythingOfType("string"), mock.AnythingOfType("string")).Return(TestError).Once() 119 return srm 120 } 121 }