X-Git-Url: https://ruderich.org/simon/gitweb/?a=blobdiff_plain;f=cmd%2Fsafcm%2Fsync_changes_test.go;h=dda48738063a1307efbb8260bb1151e557a6a2c3;hb=641203fda8f7da72c74562c9dc910ca108116f11;hp=76a016834b87d8a09d68547bcea26720511b13a4;hpb=f2f2bc47e8729548f3c10117f7f008b547c4afc5;p=safcm%2Fsafcm.git diff --git a/cmd/safcm/sync_changes_test.go b/cmd/safcm/sync_changes_test.go index 76a0168..dda4873 100644 --- a/cmd/safcm/sync_changes_test.go +++ b/cmd/safcm/sync_changes_test.go @@ -283,17 +283,18 @@ func TestFormatFileChanges(t *testing.T) { } for _, tc := range tests { - s := &Sync{ - config: &config.Config{ - DryRun: tc.dryRun, - }, - } + t.Run(tc.name, func(t *testing.T) { + s := &Sync{ + config: &config.Config{ + DryRun: tc.dryRun, + }, + } - res := s.formatFileChanges(tc.changes) - if tc.exp != res { - t.Errorf("%s: res: %s", tc.name, - cmp.Diff(tc.exp, res)) - } + res := s.formatFileChanges(tc.changes) + if tc.exp != res { + t.Errorf("res: %s", cmp.Diff(tc.exp, res)) + } + }) } } @@ -354,17 +355,18 @@ func TestFormatPackageChanges(t *testing.T) { } for _, tc := range tests { - s := &Sync{ - config: &config.Config{ - DryRun: tc.dryRun, - }, - } + t.Run(tc.name, func(t *testing.T) { + s := &Sync{ + config: &config.Config{ + DryRun: tc.dryRun, + }, + } - res := s.formatPackageChanges(tc.changes) - if tc.exp != res { - t.Errorf("%s: res: %s", tc.name, - cmp.Diff(tc.exp, res)) - } + res := s.formatPackageChanges(tc.changes) + if tc.exp != res { + t.Errorf("res: %s", cmp.Diff(tc.exp, res)) + } + }) } } @@ -447,17 +449,18 @@ func TestFormatServiceChanges(t *testing.T) { } for _, tc := range tests { - s := &Sync{ - config: &config.Config{ - DryRun: tc.dryRun, - }, - } + t.Run(tc.name, func(t *testing.T) { + s := &Sync{ + config: &config.Config{ + DryRun: tc.dryRun, + }, + } - res := s.formatServiceChanges(tc.changes) - if tc.exp != res { - t.Errorf("%s: res: %s", tc.name, - cmp.Diff(tc.exp, res)) - } + res := s.formatServiceChanges(tc.changes) + if tc.exp != res { + t.Errorf("res: %s", cmp.Diff(tc.exp, res)) + } + }) } } @@ -465,6 +468,7 @@ func TestFormatCommandChanges(t *testing.T) { tests := []struct { name string dryRun bool + quiet bool changes []safcm.CommandChange exp string }{ @@ -472,6 +476,7 @@ func TestFormatCommandChanges(t *testing.T) { { "regular", false, + false, []safcm.CommandChange{ { Command: "fake command", @@ -514,6 +519,7 @@ func TestFormatCommandChanges(t *testing.T) { { "dry-run", true, + false, []safcm.CommandChange{ { Command: "fake command", @@ -527,9 +533,116 @@ func TestFormatCommandChanges(t *testing.T) { `, }, + { + "quiet", + false, + true, + []safcm.CommandChange{ + { + Command: "fake command", + Output: "fake output", + }, + { + Command: "fake command with no output", + }, + { + Command: "fake command with newline", + Output: "fake output\n", + }, + { + Command: "fake command with more output", + Output: "fake out\nfake put\nfake\n", + }, + { + Command: "fake failed command", + Output: "fake output", + Error: "fake error", + }, + }, + `executed 5 command(s), 1 with no output: +"fake command": + > fake output + > \ No newline at end of file +"fake command with newline": + > fake output +"fake command with more output": + > fake out + > fake put + > fake +"fake failed command", failed: "fake error": + > fake output + > \ No newline at end of file +`, + }, + + { + "quiet (only quiet commands)", + false, + true, + []safcm.CommandChange{ + { + Command: "fake command with no output", + }, + { + Command: "fake command with no output", + }, + }, + `executed 2 command(s), 2 with no output +`, + }, + + { + "quiet (quiet with errors)", + false, + true, + []safcm.CommandChange{ + { + Command: "fake command with no output but error", + Error: "fake error", + }, + { + Command: "fake command with no output", + }, + }, + `executed 2 command(s), 1 with no output: +"fake command with no output but error", failed: "fake error" +`, + }, + + { + "quiet & dry-run", + true, + true, + []safcm.CommandChange{ + { + Command: "fake command", + }, + { + Command: "fake command with no output", + }, + { + Command: "fake command with newline", + }, + { + Command: "fake command with more output", + }, + { + Command: "fake failed command", + }, + }, + `executed 5 command(s): (dry-run) +"fake command" +"fake command with no output" +"fake command with newline" +"fake command with more output" +"fake failed command" +`, + }, + { "escaping", false, + false, []safcm.CommandChange{ { Command: "\x00", @@ -547,16 +660,18 @@ func TestFormatCommandChanges(t *testing.T) { } for _, tc := range tests { - s := &Sync{ - config: &config.Config{ - DryRun: tc.dryRun, - }, - } + t.Run(tc.name, func(t *testing.T) { + s := &Sync{ + config: &config.Config{ + DryRun: tc.dryRun, + Quiet: tc.quiet, + }, + } - res := s.formatCommandChanges(tc.changes) - if tc.exp != res { - t.Errorf("%s: res: %s", tc.name, - cmp.Diff(tc.exp, res)) - } + res := s.formatCommandChanges(tc.changes) + if tc.exp != res { + t.Errorf("res: %s", cmp.Diff(tc.exp, res)) + } + }) } }