Revert "Unistore: Add validation for resource names" (#111408)
Revert "Unistore: Add validation for resource names (#110990)"
This reverts commit b63e3fd3ae.
This commit is contained in:
@@ -1,8 +1,6 @@
|
||||
package resource
|
||||
|
||||
import (
|
||||
"net/http"
|
||||
"strings"
|
||||
"testing"
|
||||
|
||||
"github.com/stretchr/testify/require"
|
||||
@@ -68,116 +66,3 @@ func TestSearchIDKeys(t *testing.T) {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
func TestVerifyRequestKey(t *testing.T) {
|
||||
validGroup := "group.grafana.app"
|
||||
validResource := "resource"
|
||||
validNamespace := "default"
|
||||
validName := "fdgsv37qslr0ga"
|
||||
validLegacyUID := "f8cc010c-ee72-4681-89d2-d46e1bd47d33"
|
||||
|
||||
invalidGroup := "group.~~~~~grafana.app"
|
||||
invalidResource := "##resource"
|
||||
invalidNamespace := "(((((default"
|
||||
invalidName := " " // only spaces
|
||||
|
||||
namespaceTooLong := strings.Repeat("a", MaxQualifiedNameLength+1)
|
||||
nameTooLong := strings.Repeat("a", 300)
|
||||
|
||||
tests := []struct {
|
||||
name string
|
||||
input *resourcepb.ResourceKey
|
||||
expectedCode int32
|
||||
}{
|
||||
{
|
||||
name: "no error when all fields are set and valid",
|
||||
input: &resourcepb.ResourceKey{
|
||||
Namespace: validNamespace,
|
||||
Group: validGroup,
|
||||
Resource: validResource,
|
||||
Name: validName,
|
||||
},
|
||||
},
|
||||
{
|
||||
name: "invalid namespace returns error",
|
||||
input: &resourcepb.ResourceKey{
|
||||
Namespace: invalidNamespace,
|
||||
Group: validGroup,
|
||||
Resource: validResource,
|
||||
Name: validName,
|
||||
},
|
||||
expectedCode: http.StatusBadRequest,
|
||||
},
|
||||
{
|
||||
name: "invalid group returns error",
|
||||
input: &resourcepb.ResourceKey{
|
||||
Namespace: validNamespace,
|
||||
Group: invalidGroup,
|
||||
Resource: validResource,
|
||||
Name: validName,
|
||||
},
|
||||
expectedCode: http.StatusBadRequest,
|
||||
},
|
||||
{
|
||||
name: "invalid resource returns error",
|
||||
input: &resourcepb.ResourceKey{
|
||||
Namespace: validNamespace,
|
||||
Group: validGroup,
|
||||
Resource: invalidResource,
|
||||
Name: validName,
|
||||
},
|
||||
expectedCode: http.StatusBadRequest,
|
||||
},
|
||||
{
|
||||
name: "invalid name returns error",
|
||||
input: &resourcepb.ResourceKey{
|
||||
Namespace: validNamespace,
|
||||
Group: validGroup,
|
||||
Resource: validResource,
|
||||
Name: invalidName,
|
||||
},
|
||||
expectedCode: http.StatusBadRequest,
|
||||
},
|
||||
{
|
||||
name: "valid legacy UID returns no error",
|
||||
input: &resourcepb.ResourceKey{
|
||||
Namespace: validNamespace,
|
||||
Group: validGroup,
|
||||
Resource: validResource,
|
||||
Name: validLegacyUID,
|
||||
},
|
||||
},
|
||||
{
|
||||
name: "namespace too long returns error",
|
||||
input: &resourcepb.ResourceKey{
|
||||
Namespace: namespaceTooLong,
|
||||
Group: validGroup,
|
||||
Resource: validResource,
|
||||
Name: validName,
|
||||
},
|
||||
expectedCode: http.StatusBadRequest,
|
||||
},
|
||||
{
|
||||
name: "name too long returns error",
|
||||
input: &resourcepb.ResourceKey{
|
||||
Namespace: namespaceTooLong,
|
||||
Group: validGroup,
|
||||
Resource: validResource,
|
||||
Name: nameTooLong,
|
||||
},
|
||||
expectedCode: http.StatusBadRequest,
|
||||
},
|
||||
}
|
||||
|
||||
for _, test := range tests {
|
||||
t.Run(test.name, func(t *testing.T) {
|
||||
err := verifyRequestKey(test.input)
|
||||
if test.expectedCode == 0 {
|
||||
require.Nil(t, err)
|
||||
return
|
||||
}
|
||||
|
||||
require.Equal(t, test.expectedCode, err.Code)
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user