diff --git a/pkg/setup/collection_test.go b/pkg/setup/collection_test.go
index a88dad0a29cee06f6cfd116a204038ccefda5595..f62ba3b42a752f5b0b43680966d42037b5d56378 100644
--- a/pkg/setup/collection_test.go
+++ b/pkg/setup/collection_test.go
@@ -202,3 +202,42 @@ func TestSetup_InstallCollections(t *testing.T) {
 		})
 	}
 }
+
+func Test_isMetadataExtensionEqual(t *testing.T) {
+	tests := []struct {
+		name string
+		s1   *schema.Schema
+		s2   *schema.Schema
+		want bool
+	}{
+		{
+			"Not equal #1 (no metadata)",
+			schema.New("name", field.String()).WithMetadata(extension.ExtensionMetadataKey, "test"),
+			schema.New("name", field.String()),
+			false,
+		},
+		{
+			"Not equal #2 (different metadata)",
+			schema.New("name", field.String()).WithMetadata(extension.ExtensionMetadataKey, "test"),
+			schema.New("name", field.String()).WithMetadata("test", "test"),
+			false,
+		},
+		{
+			"Equal #1 (no metadata)",
+			schema.New("name", field.String()),
+			schema.New("name", field.String()),
+			true,
+		},
+		{
+			"Equal #2 (equal metadata)",
+			schema.New("name", field.String()).WithMetadata(extension.ExtensionMetadataKey, "test"),
+			schema.New("name", field.String()).WithMetadata(extension.ExtensionMetadataKey, "test"),
+			true,
+		},
+	}
+	for _, tt := range tests {
+		t.Run(tt.name, func(t *testing.T) {
+			assert.Equalf(t, tt.want, isMetadataExtensionEqual(tt.s1, tt.s2), "isMetadataExtensionEqual(%v, %v)", tt.s1, tt.s2)
+		})
+	}
+}