Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 4 additions & 1 deletion api/gateway-operator/v1beta1/controlplane_conversion.go
Original file line number Diff line number Diff line change
Expand Up @@ -67,7 +67,10 @@ func (c *ControlPlane) ConvertTo(dstRaw conversion.Hub) error {

dst.ObjectMeta = c.ObjectMeta

if err := c.Spec.convertTo(&dst.Spec.ControlPlaneOptions, c.Spec.IngressClass); err != nil {
// Setting IngressClass wasn't required in v1beta1, but for v2beta1 it is,
// thus fill with a default value to make it work without hassle.
class := lo.FromPtrOr(c.Spec.IngressClass, "kong")
if err := c.Spec.convertTo(&dst.Spec.ControlPlaneOptions, &class); err != nil {
return err
}
dst.Spec.Extensions = c.Spec.Extensions
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@ func TestControlPlane_ConvertTo(t *testing.T) {
name string
spec operatorv1beta1.ControlPlaneSpec
expectsDataPlane bool
expectedIngressClass *string
expectedFeatureGates []operatorv2beta1.ControlPlaneFeatureGate
expectedControllers []operatorv2beta1.ControlPlaneController
expectedError error
Expand Down Expand Up @@ -76,9 +77,9 @@ func TestControlPlane_ConvertTo(t *testing.T) {
},
},
},
IngressClass: lo.ToPtr("kong"),
},
expectsDataPlane: true,
expectedIngressClass: lo.ToPtr("kong"),
expectsDataPlane: true,
expectedFeatureGates: []operatorv2beta1.ControlPlaneFeatureGate{
{Name: "GatewayAlpha", State: operatorv2beta1.FeatureGateStateEnabled},
{Name: "ExperimentalFeature", State: operatorv2beta1.FeatureGateStateDisabled},
Expand Down Expand Up @@ -190,9 +191,10 @@ func TestControlPlane_ConvertTo(t *testing.T) {
List: []string{"namespace1", "namespace2"},
},
},
IngressClass: lo.ToPtr("kong"),
IngressClass: lo.ToPtr("test"),
},
expectsDataPlane: false,
expectedIngressClass: lo.ToPtr("test"),
expectsDataPlane: false,
},
{
name: "With own namespace watching",
Expand All @@ -203,7 +205,8 @@ func TestControlPlane_ConvertTo(t *testing.T) {
},
},
},
expectsDataPlane: false,
expectedIngressClass: lo.ToPtr("kong"),
expectsDataPlane: false,
},
}

Expand Down Expand Up @@ -246,7 +249,7 @@ func TestControlPlane_ConvertTo(t *testing.T) {
require.Nil(t, dst.Spec.DataPlane.Ref)
}

require.Equal(t, tc.spec.IngressClass, dst.Spec.IngressClass)
require.Equal(t, tc.expectedIngressClass, dst.Spec.IngressClass)

if tc.spec.WatchNamespaces != nil {
require.NotNil(t, dst.Spec.WatchNamespaces)
Expand Down