diff --git a/internal/interactor/validator.go b/internal/interactor/validator.go index 1cbb7574..dfb303c7 100644 --- a/internal/interactor/validator.go +++ b/internal/interactor/validator.go @@ -176,6 +176,10 @@ type DynamicPayloadValidator struct { } func (v *DynamicPayloadValidator) Validate(d *ent.Deployment) error { + if d.IsRollback { + return nil + } + if !v.Env.IsDynamicPayloadEnabled() { return nil } diff --git a/internal/interactor/validator_test.go b/internal/interactor/validator_test.go index a168c8cd..baaba76f 100644 --- a/internal/interactor/validator_test.go +++ b/internal/interactor/validator_test.go @@ -138,3 +138,13 @@ func TestSerializationValidator_Validate(t *testing.T) { } }) } + +func TestDynamicPayloadValidator_Validate(t *testing.T) { + t.Run("Returns nil if it is rollback.", func(t *testing.T) { + v := &i.DynamicPayloadValidator{Env: &extent.Env{}} + + if err := v.Validate(&ent.Deployment{IsRollback: true}); err != nil { + t.Fatalf("Validate returns an error: %s", err) + } + }) +}