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  }