feat: Tests for instance v2 input validation (#9452)

This commit is contained in:
Marco Ardizzone
2025-04-28 11:01:38 +02:00
parent 8a21eed73f
commit 45ad238ecd
2 changed files with 38 additions and 4 deletions

View File

@@ -11,8 +11,8 @@ import (
func (s *Server) DeleteInstance(ctx context.Context, request *instance.DeleteInstanceRequest) (*instance.DeleteInstanceResponse, error) {
instanceID := strings.TrimSpace(request.GetInstanceId())
if instanceID == "" {
return nil, zerrors.ThrowInvalidArgument(nil, "instance_id", "instance id must not be empty")
if err := validateParam(instanceID, "instance_id"); err != nil {
return nil, err
}
obj, err := s.command.RemoveInstance(ctx, instanceID)
@@ -28,8 +28,8 @@ func (s *Server) DeleteInstance(ctx context.Context, request *instance.DeleteIns
func (s *Server) UpdateInstance(ctx context.Context, request *instance.UpdateInstanceRequest) (*instance.UpdateInstanceResponse, error) {
instanceName := strings.TrimSpace(request.GetInstanceName())
if instanceName == "" {
return nil, zerrors.ThrowInvalidArgument(nil, "instance_name", "instance name must not be empty")
if err := validateParam(instanceName, "instance_name"); err != nil {
return nil, err
}
obj, err := s.command.UpdateInstance(ctx, instanceName)
@@ -41,3 +41,10 @@ func (s *Server) UpdateInstance(ctx context.Context, request *instance.UpdateIns
Details: object.DomainToDetailsPb(obj),
}, nil
}
func validateParam(param string, paramName string) error {
if strings.TrimSpace(param) == "" {
return zerrors.ThrowInvalidArgument(nil, paramName, paramName+" must not be empty")
}
return nil
}

View File

@@ -0,0 +1,27 @@
package instance
import (
"testing"
"github.com/stretchr/testify/assert"
"github.com/zitadel/zitadel/internal/zerrors"
)
func TestValidateParam(t *testing.T) {
tt := []struct {
param string
paramName string
expectedErr error
}{
{"", "instance_id", zerrors.ThrowInvalidArgument(nil, "instance_id", "instance_id must not be empty")},
{" ", "instance_id", zerrors.ThrowInvalidArgument(nil, "instance_id", "instance_id must not be empty")},
{"valid_id", "instance_id", nil},
}
for _, tc := range tt {
t.Run(tc.param, func(t *testing.T) {
err := validateParam(tc.param, tc.paramName)
assert.Equal(t, tc.expectedErr, err)
})
}
}