From da1913d4b83e9a8d928672b8b7467e717703cbc9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Juho=20M=C3=A4kinen?= Date: Sat, 1 Feb 2025 13:21:01 +1100 Subject: [PATCH] chore: validate that the deployment key is always set on deployments (#4250) --- backend/schemaservice/controllerstate_test.go | 11 +++++++++-- common/schema/events.go | 4 ++++ 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/backend/schemaservice/controllerstate_test.go b/backend/schemaservice/controllerstate_test.go index e28ea88425..ea928afb30 100644 --- a/backend/schemaservice/controllerstate_test.go +++ b/backend/schemaservice/controllerstate_test.go @@ -23,8 +23,15 @@ func TestDeploymentState(t *testing.T) { deploymentKey := key.NewDeploymentKey("test-deployment") err = cs.Publish(ctx, &schema.DeploymentCreatedEvent{ - Key: deploymentKey, - Schema: &schema.Module{Name: "test"}, + Key: deploymentKey, + Schema: &schema.Module{ + Name: "test", + Runtime: &schema.ModuleRuntime{ + Deployment: &schema.ModuleRuntimeDeployment{ + DeploymentKey: deploymentKey, + }, + }, + }, }) assert.NoError(t, err) view, err = cs.View(ctx) diff --git a/common/schema/events.go b/common/schema/events.go index 37b5a29722..638b1c04d7 100644 --- a/common/schema/events.go +++ b/common/schema/events.go @@ -1,6 +1,7 @@ package schema import ( + "fmt" "time" "github.com/alecthomas/types/optional" @@ -40,6 +41,9 @@ type DeploymentCreatedEvent struct { func (r *DeploymentCreatedEvent) event() {} func (r *DeploymentCreatedEvent) Validate() error { + if r.Schema.GetRuntime().GetDeployment().GetDeploymentKey().IsZero() { + return fmt.Errorf("deployment key is required") + } return nil }