Expect the WebhookIdentityProvider CRD to be installed.
Signed-off-by: Matt Moyer <moyerm@vmware.com>
This commit is contained in:
parent
557fd0df26
commit
3344b5b86a
@ -22,8 +22,12 @@ func TestGetAPIResourceList(t *testing.T) {
|
||||
groups, resources, err := client.Discovery().ServerGroupsAndResources()
|
||||
require.NoError(t, err)
|
||||
|
||||
t.Run("has group", func(t *testing.T) {
|
||||
require.Contains(t, groups, &metav1.APIGroup{
|
||||
tests := []struct {
|
||||
group metav1.APIGroup
|
||||
resourceByVersion map[string][]metav1.APIResource
|
||||
}{
|
||||
{
|
||||
group: metav1.APIGroup{
|
||||
Name: "pinniped.dev",
|
||||
Versions: []metav1.GroupVersionForDiscovery{
|
||||
{
|
||||
@ -35,11 +39,9 @@ func TestGetAPIResourceList(t *testing.T) {
|
||||
GroupVersion: "pinniped.dev/v1alpha1",
|
||||
Version: "v1alpha1",
|
||||
},
|
||||
})
|
||||
})
|
||||
|
||||
t.Run("has non-CRD APIs", func(t *testing.T) {
|
||||
expectResources(t, "pinniped.dev/v1alpha1", resources, []metav1.APIResource{
|
||||
},
|
||||
resourceByVersion: map[string][]metav1.APIResource{
|
||||
"pinniped.dev/v1alpha1": {
|
||||
{
|
||||
Name: "credentialrequests",
|
||||
Kind: "CredentialRequest",
|
||||
@ -51,11 +53,25 @@ func TestGetAPIResourceList(t *testing.T) {
|
||||
// to update in the future if there is a compelling reason to do so.
|
||||
SingularName: "",
|
||||
},
|
||||
})
|
||||
})
|
||||
|
||||
t.Run("has CRD APIs", func(t *testing.T) {
|
||||
expectResources(t, "crd.pinniped.dev/v1alpha1", resources, []metav1.APIResource{
|
||||
},
|
||||
},
|
||||
},
|
||||
{
|
||||
group: metav1.APIGroup{
|
||||
Name: "crd.pinniped.dev",
|
||||
Versions: []metav1.GroupVersionForDiscovery{
|
||||
{
|
||||
GroupVersion: "crd.pinniped.dev/v1alpha1",
|
||||
Version: "v1alpha1",
|
||||
},
|
||||
},
|
||||
PreferredVersion: metav1.GroupVersionForDiscovery{
|
||||
GroupVersion: "crd.pinniped.dev/v1alpha1",
|
||||
Version: "v1alpha1",
|
||||
},
|
||||
},
|
||||
resourceByVersion: map[string][]metav1.APIResource{
|
||||
"crd.pinniped.dev/v1alpha1": {
|
||||
{
|
||||
Name: "credentialissuerconfigs",
|
||||
SingularName: "credentialissuerconfig",
|
||||
@ -64,11 +80,46 @@ func TestGetAPIResourceList(t *testing.T) {
|
||||
Verbs: []string{"delete", "deletecollection", "get", "list", "patch", "create", "update", "watch"},
|
||||
ShortNames: []string{"cic"},
|
||||
},
|
||||
})
|
||||
})
|
||||
}
|
||||
},
|
||||
},
|
||||
},
|
||||
{
|
||||
group: metav1.APIGroup{
|
||||
Name: "idp.pinniped.dev",
|
||||
Versions: []metav1.GroupVersionForDiscovery{
|
||||
{
|
||||
GroupVersion: "idp.pinniped.dev/v1alpha1",
|
||||
Version: "v1alpha1",
|
||||
},
|
||||
},
|
||||
PreferredVersion: metav1.GroupVersionForDiscovery{
|
||||
GroupVersion: "idp.pinniped.dev/v1alpha1",
|
||||
Version: "v1alpha1",
|
||||
},
|
||||
},
|
||||
resourceByVersion: map[string][]metav1.APIResource{
|
||||
"idp.pinniped.dev/v1alpha1": {
|
||||
{
|
||||
Name: "webhookidentityproviders",
|
||||
SingularName: "webhookidentityprovider",
|
||||
Namespaced: true,
|
||||
Kind: "WebhookIdentityProvider",
|
||||
Verbs: []string{"delete", "deletecollection", "get", "list", "patch", "create", "update", "watch"},
|
||||
ShortNames: []string{"webhookidp", "webhookidps"},
|
||||
Categories: []string{"all", "idp", "idps"},
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
func expectResources(t *testing.T, groupVersion string, resources []*metav1.APIResourceList, expected []metav1.APIResource) {
|
||||
for _, tt := range tests {
|
||||
tt := tt
|
||||
t.Run(tt.group.Name, func(t *testing.T) {
|
||||
require.Contains(t, groups, &tt.group)
|
||||
|
||||
for groupVersion, expectedResources := range tt.resourceByVersion {
|
||||
// Find the actual resource list and make a copy.
|
||||
var actualResourceList *metav1.APIResourceList
|
||||
for _, resource := range resources {
|
||||
if resource.GroupVersion == groupVersion {
|
||||
@ -82,5 +133,8 @@ func expectResources(t *testing.T, groupVersion string, resources []*metav1.APIR
|
||||
for i := range actualResourceList.APIResources {
|
||||
actualResourceList.APIResources[i].StorageVersionHash = ""
|
||||
}
|
||||
require.EqualValues(t, expected, actualResourceList.APIResources, "unexpected API resources")
|
||||
require.EqualValues(t, expectedResources, actualResourceList.APIResources, "unexpected API resources")
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user