From 7e3a453baf7a0c185f1ae9054584dedf7d6bb249 Mon Sep 17 00:00:00 2001 From: Shreyas Goenka Date: Fri, 30 Aug 2024 11:40:04 +0200 Subject: [PATCH] fix test --- bundle/phases/deploy.go | 4 ++-- internal/bundle/deploy_test.go | 5 ++++- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/bundle/phases/deploy.go b/bundle/phases/deploy.go index 3dc477ca..1ce79983 100644 --- a/bundle/phases/deploy.go +++ b/bundle/phases/deploy.go @@ -81,7 +81,7 @@ func approvalForDeploy(ctx context.Context, b *bundle.Bundle) (bool, error) { // Recreating DLT pipeline leads to metadata loss and for a transient period // the underling tables will be unavailable. - return actions.Replace() + return actions.Replace() || actions.Delete() }) // We don't need to display any prompts in this case. @@ -99,7 +99,7 @@ func approvalForDeploy(ctx context.Context, b *bundle.Bundle) (bool, error) { // One or more DLT pipelines is being recreated. if len(dltActions) != 0 { - cmdio.LogString(ctx, "The following DLT pipelines will be recreated. This commonly happens when the `catalog` or the `storage` specified for aq DLT pipeline is changed. Underlying tables will be unavailable for a transient period until the newly recreated pipelines are run once successfully. History of previous pipeline update runs will be lost because of recreation:") + cmdio.LogString(ctx, "This action will result in the deletion or recreation of the following DLT Pipelines along with the Streaming Tables (STs) and Materialized Views (MVs) managed by them. Recreating the Pipelines will restore the defined STs and MVs through full refresh. Note that recreation is necessary when pipeline properties such as the `catalog` or `storage` are changed:") for _, action := range dltActions { cmdio.Log(ctx, action) } diff --git a/internal/bundle/deploy_test.go b/internal/bundle/deploy_test.go index 332962ea..635d7f6f 100644 --- a/internal/bundle/deploy_test.go +++ b/internal/bundle/deploy_test.go @@ -157,7 +157,10 @@ func TestAccBundlePipelineRecreateWithoutAutoApprove(t *testing.T) { stdout, stderr, err := c.Run() assert.EqualError(t, err, root.ErrAlreadyPrinted.Error()) - assert.Contains(t, stderr.String(), "The following DLT pipelines will be recreated. This commonly happens when the `catalog` or the `storage` specified for a DLT pipeline is changed. Underlying tables will be unavailable for a transient period until the newly recreated pipelines are run once successfully. History of previous pipeline update runs will be lost because of recreation:\n recreate pipeline foo") + + fmt.Println("expected: ", "This action will result in the deletion or recreation of the following DLT Pipelines along with the Streaming Tables (STs) and Materialized Views (MVs) managed by them. Recreating the Pipelines will restore the defined STs and MVs through full refresh. Note that recreation is necessary when pipeline properties such as the `catalog` or `storage` are changed::\n recreate pipeline foo") + fmt.Println("stderr: ", stderr.String()) + assert.Contains(t, stderr.String(), "This action will result in the deletion or recreation of the following DLT Pipelines along with the Streaming Tables (STs) and Materialized Views (MVs) managed by them. Recreating the Pipelines will restore the defined STs and MVs through full refresh. Note that recreation is necessary when pipeline properties such as the `catalog` or `storage` are changed:\n recreate pipeline foo") assert.Contains(t, stdout.String(), "the deployment requires destructive actions, but current console does not support prompting. Please specify --auto-approve if you would like to skip prompts and proceed") }