package resolver import ( "context" "testing" "github.com/golang/mock/gomock" "github.com/stretchr/testify/assert" "edge-infra.dev/pkg/edge/api/graph/model" "edge-infra.dev/pkg/edge/api/mocks" ) const ( expireTime = "4320h" owner = "f1509671-ba57-42c6-a68e-c72bf7256cd7" ) func TestCreateProviderSettings(t *testing.T) { mock := gomock.NewController(t) iamSettingsService := mocks.NewMockIAMSettingsService(mock) iamSettingsService.EXPECT().CreateSettings(context.Background(), owner, gomock.Any()). Return(&model.Provider{}, nil).Times(1) providerInput := createProv() response, err := iamSettingsService.CreateSettings(context.Background(), owner, providerInput) assert.NotNil(t, response) assert.NoError(t, err) } func TestUpdateProviderSettings(t *testing.T) { mock := gomock.NewController(t) iamSettingsService := mocks.NewMockIAMSettingsService(mock) iamSettingsService.EXPECT().UpdateSettings(context.Background(), owner, gomock.Any()). Return(&model.Provider{}, nil).Times(1) providerInput := createProv() pinHist := 9 providerInput.PinHistory = &pinHist response, err := iamSettingsService.UpdateSettings(context.Background(), owner, providerInput) assert.NotNil(t, response) assert.NoError(t, err) } func TestDeleteProviderSettings(t *testing.T) { mock := gomock.NewController(t) iamSettingsService := mocks.NewMockIAMSettingsService(mock) iamSettingsService.EXPECT().DeleteSettings(context.Background(), owner). Return(&model.Provider{}, nil).Times(1) response, err := iamSettingsService.DeleteSettings(context.Background(), owner) assert.NotNil(t, response) assert.NoError(t, err) } func TestGetProviderSettings(t *testing.T) { mock := gomock.NewController(t) iamSettingsService := mocks.NewMockIAMSettingsService(mock) iamSettingsService.EXPECT().GetSettings(context.Background(), owner). Return(&model.Provider{}, nil).Times(1) response, err := iamSettingsService.GetSettings(context.Background(), owner) assert.NotNil(t, response) assert.NoError(t, err) } func createProv() model.ProviderInput { pinAttempts := 6 pinExpire := expireTime pinHistory := 6 pinLength := 6 barcodeExpire := expireTime barcodePrefix := "temp" barcodeLength := 12 bcryptCost := 5 profileExpire := expireTime providerInput := model.ProviderInput{ PinAttempts: &pinAttempts, PinExpire: &pinExpire, PinHistory: &pinHistory, PinLength: &pinLength, BarcodeExpire: &barcodeExpire, BarcodePrefix: &barcodePrefix, BarcodeLength: &barcodeLength, BcryptCost: &bcryptCost, ProfileExpire: &profileExpire, } return providerInput }