package util import ( "testing" "github.com/stretchr/testify/require" ) var tests = []struct { name string expected bool resource string }{ { name: "ResourceFormatNamespaceObjects", expected: true, resource: "native:object/RootNamespace/*", }, { name: "ResourceFormatNamespaceContainerObjects", expected: true, resource: "native:object/RootNamespace/BzQw5HH3feoxFDD5tCT87Y1726qzgLfxEE7wgtoRzB3R/*", }, { name: "ResourceFormatNamespaceContainerObject", expected: true, resource: "native:object/RootNamespace/BzQw5HH3feoxFDD5tCT87Y1726qzgLfxEE7wgtoRzB3R/AeZa5HH3feoxFDD5tCT87Y1726qzgLfxEE7wgtoRzB4E", }, { name: "ResourceFormatRootObjects", expected: true, resource: "native:object//*", }, { name: "ResourceFormatRootContainerObjects", expected: true, resource: "native:object//BzQw5HH3feoxFDD5tCT87Y1726qzgLfxEE7wgtoRzB3R/*", }, { name: "ResourceFormatRootContainerObject", expected: true, resource: "native:object//BzQw5HH3feoxFDD5tCT87Y1726qzgLfxEE7wgtoRzB3R/AeZa5HH3feoxFDD5tCT87Y1726qzgLfxEE7wgtoRzB4E", }, { name: "ResourceFormatAllObjects", expected: true, resource: "native:object/*", }, { name: "ResourceFormatNamespaceContainer", expected: true, resource: "native:container/RootNamespace/BzQw5HH3feoxFDD5tCT87Y1726qzgLfxEE7wgtoRzB3R", }, { name: "ResourceFormatNamespaceContainers", expected: true, resource: "native:container/RootNamespace/*", }, { name: "ResourceFormatRootContainers", expected: true, resource: "native:container//*", }, { name: "ResourceFormatAllContainers", expected: true, resource: "native:container/*", }, { name: "Invalid resource 1", expected: false, resource: "native:::container/*", }, { name: "Invalid resource 2", expected: false, resource: "native:container/RootNamespace/w5HH3feoxFDD5tCTtoRzB3R/Bz726qzgLfxEE7wgtoRzB3R/RootNamespace", }, } func TestIsNativeResourceNameValid(t *testing.T) { for _, test := range tests { t.Run(test.name, func(t *testing.T) { require.Equal(t, test.expected, IsNativeResourceNameValid(test.resource)) }) } } func BenchmarkIsNativeResourceNameValid(b *testing.B) { for _, test := range tests { b.Run(test.name, func(b *testing.B) { for i := 0; i < b.N; i++ { _ = IsNativeResourceNameValid(test.resource) } }) } }